From 3b0701e003c4a56b3a1c7755fa65809efb9c31f7 Mon Sep 17 00:00:00 2001 From: kozistr Date: Tue, 24 Dec 2024 23:36:19 +0900 Subject: [PATCH 01/14] feature: ModernBert --- backends/candle/src/layers/layer_norm.rs | 16 +- backends/candle/src/lib.rs | 31 +- .../candle/src/models/flash_modernbert.rs | 496 +++++++++++ backends/candle/src/models/mod.rs | 10 + backends/candle/src/models/modernbert.rs | 804 ++++++++++++++++++ 5 files changed, 1350 insertions(+), 7 deletions(-) create mode 100644 backends/candle/src/models/flash_modernbert.rs create mode 100644 backends/candle/src/models/modernbert.rs diff --git a/backends/candle/src/layers/layer_norm.rs b/backends/candle/src/layers/layer_norm.rs index 0c360572..c67b12dd 100644 --- a/backends/candle/src/layers/layer_norm.rs +++ b/backends/candle/src/layers/layer_norm.rs @@ -4,7 +4,7 @@ use candle_nn::VarBuilder; #[derive(Debug)] pub struct LayerNorm { weight: Tensor, - bias: Tensor, + bias: Option, epsilon: f32, span: tracing::Span, } @@ -17,7 +17,8 @@ impl LayerNorm { .or_else(|_| vb.get(hidden_size, "gamma"))?, bias: vb .get(hidden_size, "bias") - .or_else(|_| vb.get(hidden_size, "beta"))?, + .or_else(|_| vb.get(hidden_size, "beta")) + .ok(), epsilon, span: tracing::span!(tracing::Level::TRACE, "layer-norm"), }) @@ -49,7 +50,12 @@ impl LayerNorm { let hidden_states = hidden_states_normed .to_dtype(hidden_states_dtype)? .broadcast_mul(&self.weight)?; - hidden_states.broadcast_add(&self.bias) + + if let Some(bias) = &self.bias { + hidden_states.broadcast_add(bias) + } else { + Ok(hidden_states) + } } Device::Cuda(_) => { #[cfg(feature = "cuda")] @@ -66,12 +72,12 @@ impl LayerNorm { &hidden_states, &residual, &self.weight, - Some(&self.bias), + &self.bias, self.epsilon, )?; Ok(result) } else { - layer_norm(&hidden_states, &self.weight, Some(&self.bias), self.epsilon) + layer_norm(&hidden_states, &self.weight, &self.bias, self.epsilon) }?; result.reshape(original_shape) } diff --git a/backends/candle/src/lib.rs b/backends/candle/src/lib.rs index 8bf68f39..d3c8f831 100644 --- a/backends/candle/src/lib.rs +++ b/backends/candle/src/lib.rs @@ -12,8 +12,8 @@ use crate::compute_cap::{ }; use crate::models::{ BertConfig, BertModel, DistilBertConfig, DistilBertModel, GTEConfig, GTEModel, JinaBertModel, - JinaCodeBertModel, MPNetConfig, MPNetModel, MistralConfig, Model, NomicBertModel, NomicConfig, - Qwen2Config, + JinaCodeBertModel, MPNetConfig, MPNetModel, MistralConfig, Model, ModernBertConfig, + ModernBertModel, NomicBertModel, NomicConfig, Qwen2Config, }; #[cfg(feature = "cuda")] use crate::models::{ @@ -63,6 +63,8 @@ enum Config { Qwen2(Qwen2Config), #[serde(rename = "mpnet")] MPNet(MPNetConfig), + #[serde(rename(deserialize = "modernbert"))] + ModernBert(ModernBertConfig), } pub struct CandleBackend { @@ -233,6 +235,12 @@ impl CandleBackend { tracing::info!("Starting MPNet model on {:?}", device); Ok(Box::new(MPNetModel::load(vb, &config, model_type).s()?)) } + (Config::ModernBert(config), _) => { + tracing::info!("Starting ModernBert model on {:?}", device); + Ok(Box::new( + ModernBertModel::load(vb, &config, model_type).s()?, + )) + } #[cfg(feature = "cuda")] (Config::Bert(config), Device::Cuda(_)) => { if cfg!(any(feature = "flash-attn", feature = "flash-attn-v1")) @@ -375,6 +383,25 @@ impl CandleBackend { FlashQwen2Model::load(vb, &config, model_type).s()?, )) } + #[cfg(feature = "cuda")] + (Config::ModernBert(config), Device::Cuda(_)) => { + if cfg!(feature = "flash-attn") + && dtype == DType::F16 + && &std::env::var("USE_FLASH_ATTENTION") + .unwrap_or("True".to_string()) + .to_lowercase() + == "true" + { + return Err(BackendError::Start( + "ModernBert does not support flash attention".to_string(), + )); + } + + tracing::info!("Starting ModernBert model on {:?}", device); + Ok(Box::new( + ModernBERTModel::load(vb, &config, model_type).s()?, + )) + } }; Ok(Self { diff --git a/backends/candle/src/models/flash_modernbert.rs b/backends/candle/src/models/flash_modernbert.rs new file mode 100644 index 00000000..9f15a3ed --- /dev/null +++ b/backends/candle/src/models/flash_modernbert.rs @@ -0,0 +1,496 @@ +use crate::flash_attn::flash_attn_varlen; +use crate::layers::{LayerNorm, Linear}; +use crate::models::modernbert::{ + ClassificationHead, ModernBertClassificationHead, ModernBertConfig, ModernBertEmbeddings, +}; +use crate::models::Model; +use candle::{DType, Device, IndexOp, Result, Tensor}; +use candle_nn::VarBuilder; +use text_embeddings_backend_core::{Batch, ModelType, Pool}; + +struct ModernBertAttention { + wqkv: Linear, + wo: Linear, + + local_attention: (i64, i64), + cos: Tensor, + sin: Tensor, + + num_attention_heads: usize, + attention_head_size: usize, + softmax_scale: f64, + + span: tracing::Span, +} + +impl ModernBertAttention { + pub fn load(vb: VarBuilder, config: &BertConfig) -> Result { + let wi_weight = vb + .pp("Wi") + .get((config.hidden_size, config.intermediate_size * 2), "weight")?; + let wi_bias = vb + .pp("Wi") + .get((config.intermediate_size * 2,), "bias") + .ok(); + let wi = Linear::new(wi_weight, wi_bias, None); + + let wo_weight = vb + .pp("Wo") + .get((config.intermediate_size * 2, config.hidden_size), "weight")?; + let wo_bias = vb.pp("Wo").get((config.hidden_size,), "bias").ok(); + + let wo = Linear::new(wo_weight, wo_bias, None); + + let activation = Some(config.hidden_activation.clone()); + + Ok(Self { + wi, + wo, + activation, + intermediate_size: config.intermediate_size, + span: tracing::span!(tracing::Level::TRACE, "mlp"), + }) + } + + pub fn forward( + &self, + hidden_states: &Tensor, + cu_seqlens: &Tensor, + max_s: usize, + ) -> Result { + let _enter = self.span.enter(); + + let qkv = self.wqkv.forward(hidden_states)?; + + let mut new_qkv_shape = qkv.dims().to_vec(); + new_qkv_shape.pop(); + new_qkv_shape.push(self.num_attention_heads * 3); + new_qkv_shape.push(self.attention_head_size); + let qkv = qkv.reshape(new_qkv_shape.as_slice())?.transpose(1, 2)?; + + let qkv = qkv.chunk(3, 1)?; + let query_layer = &qkv[0].contiguous()?; + let key_layer = &qkv[1].contiguous()?; + let value_layer = &qkv[2]; + + let query_layer = + apply_rotary(query_layer, &self.cos, &self.sin, self.attention_head_size)?; + let key_layer = apply_rotary(key_layer, &self.cos, &self.sin, self.attention_head_size)?; + + let attention = flash_attn_varlen( + &query_layer, + &key_layer, + &value_layer, + None, + cu_seqlens, + cu_seqlens, + max_s, + max_s, + self.softmax_scale, + false, + self.local_attention[0], + self.local_attention[1], + )?; + let attention = attention.flatten_from(candle::D::Minus2)?; + + let hidden_states = self.wo.forward(&attention)?; + + Ok(hidden_states) + } +} + +struct ModernBertEncoderLayer { + attn_norm: Option, + attn: ModernBertAttention, + mlp_norm: LayerNorm, + mlp: ModernBertMLP, + + span: tracing::Span, +} + +impl ModernBertEncoderLayer { + pub fn load(vb: VarBuilder, index: usize, config: &ModernBertConfig) -> Result { + let attn_norm = if index > 0 { + Some(LayerNorm::load( + vb.pp("attn_norm"), + config.hidden_size, + config.norm_eps as f32, + )?) + } else { + None + }; + + let attn = ModernBertAttention::load(vb.pp("attn"), index, config)?; + + let mlp_norm = LayerNorm::load( + vb.pp("mlp_norm"), + config.hidden_size, + config.norm_eps as f32, + )?; + let mlp = ModernBertMLP::load(vb.pp("mlp"), config)?; + + let span = tracing::span!(tracing::Level::TRACE, "layer"); + + Ok(ModernBertEncoderLayer { + attn_norm, + attn, + mlp_norm, + mlp, + span, + }) + } + + fn forward( + &self, + hidden_states: &Tensor, + attention_mask: &Tensor, + silding_attention_mask: &Tensor, + ) -> Result { + let _enter = self.span.enter(); + + let mut hidden_states = hidden_states.clone(); + + if let Some(attn_norm) = &self.attn_norm { + hidden_states = attn_norm.forward(&hidden_states, None)?; + } + + let hidden_states = + self.attn + .forward(&hidden_states, attention_mask, silding_attention_mask)?; + let mlp_output = self + .mlp + .forward(&self.mlp_norm.forward(&hidden_states, None)?)?; + + hidden_states.broadcast_add(&mlp_output) + } +} + +struct ModernBertEncoder { + layers: Vec, + span: tracing::Span, +} + +impl ModernBertEncoder { + pub fn load(vb: VarBuilder, config: &ModernBertConfig) -> Result { + let layers = (0..config.num_hidden_layers) + .map(|index| ModernBertEncoderLayer::load(vb.pp(format!("{index}")), index, config)) + .collect::>>()?; + + let span = tracing::span!(tracing::Level::TRACE, "encoder"); + + Ok(ModernBertEncoder { layers, span }) + } + + fn forward( + &self, + hidden_states: &Tensor, + attention_mask: &Tensor, + silding_attention_mask: &Tensor, + ) -> Result { + let _enter = self.span.enter(); + + let mut hidden_states = hidden_states.clone(); + + for layer in self.layers.iter() { + hidden_states = + layer.forward(&hidden_states, attention_mask, silding_attention_mask)?; + } + + Ok(hidden_states) + } +} + +pub struct FlashModernBertModel { + embeddings: ModernBertEmbeddings, + encoder: ModernBertEncoder, + final_norm: LayerNorm, + pool: Pool, + classifier: Option>, + + local_attention: usize, + + device: Device, + dtype: DType, + + span: tracing::Span, +} + +impl FlashModernBertModel { + pub fn load(vb: VarBuilder, config: &BertConfig, model_type: ModelType) -> Result { + match vb.device() { + Device::Cuda(_) => {} + _ => candle::bail!("FlashModernBert requires Cuda"), + } + + if vb.dtype() != DType::F16 { + candle::bail!("FlashModernBert requires DType::F16") + } + + let (pool, classifier) = match model_type { + ModelType::Classifier => { + let pool = Pool::Cls; + + let classifier: Box = + Box::new(ModernBertClassificationHead::load(vb.clone(), config)?); + + (pool, Some(classifier)) + } + ModelType::Embedding(pool) => { + if pool == Pool::Splade { + candle::bail!("`splade` is not supported for ModernBert") + } + + if pool == Pool::LastToken { + candle::bail!("`last_token` is not supported for ModernBert"); + } + + (pool, None) + } + }; + + let embeddings = ModernBertEmbeddings::load(vb.pp("model.embeddings"), config)?; + let encoder = ModernBertEncoder::load(vb.pp("model.layers"), config)?; + let final_norm = LayerNorm::load( + vb.pp("final_norm"), + config.hidden_size, + config.norm_eps as f32, + )?; + + Ok(Self { + embeddings, + encoder, + final_norm, + pool, + classifier, + local_attention: config.local_attention, + device: vb.device().clone(), + dtype: vb.dtype(), + span: tracing::span!(tracing::Level::TRACE, "model"), + }) + } + + fn get_global_attention_mask( + &self, + attention_mask: Option<&Tensor>, + input_shape: &Shape, + ) -> Result { + let extended_attention_mask = if let Some(attention_mask) = attention_mask { + attention_mask.squeeze(2)? + } else { + Tensor::ones(input_shape, DType::F32, &self.device)? + } + .unsqueeze(1)? + .unsqueeze(1)? + .to_dtype(self.dtype)?; + + let min_value = match self.dtype { + DType::F32 => f32::MIN as f64, + _ => -65504.0_f64, // f16 minumum value + }; + + let extended_attention_mask = ((1.0 - extended_attention_mask)? * min_value)?; + + let (bs, seq_len) = input_shape.dims2()?; + let extended_attention_mask = + extended_attention_mask.broadcast_as((bs, 1, seq_len, seq_len))?; + + Ok(extended_attention_mask) + } + + fn get_silding_window_mask( + &self, + attention_mask: &Tensor, + local_attention: usize, + ) -> Result { + let mask_shape = attention_mask.shape(); + let (_, _, seq_len, _) = mask_shape.dims4()?; + + let rows = Tensor::arange(0, seq_len as i64, attention_mask.device())?.unsqueeze(0)?; + let distance = (&rows - &rows.t()?)?.abs()?; + + let window_size = local_attention / 2; + let window_mask = distance + .le(window_size as i64)? + .unsqueeze(0)? + .unsqueeze(0)?; + + let dtype = attention_mask.dtype(); + let min_value = match dtype { + DType::F32 => f32::MIN as f64, + _ => -65504.0, // f16 minimum value + }; + + let inverted_window_mask = window_mask.eq(0_i64)?; + let min_value_tensor = Tensor::full(min_value, mask_shape, attention_mask.device())?; + let sliding_window_mask = + attention_mask.where_cond(&inverted_window_mask, &min_value_tensor)?; + + Ok(sliding_window_mask) + } + + pub fn forward(&self, batch: Batch) -> Result<(Option, Option)> { + let _enter = self.span.enter(); + + let batch_size = batch.len(); + let shape = batch.input_ids.len(); + + let input_ids = Tensor::from_vec(batch.input_ids, shape, &self.device)?; + let cu_seqlens = Tensor::from_vec( + batch.cumulative_seq_lengths.clone(), + batch_size + 1, + &self.device, + )?; + + let global_attention_mask = + self.get_global_attention_mask(attention_mask.as_ref(), input_ids.shape())?; + let silding_attention_mask = + self.get_silding_window_mask(&global_attention_mask, self.local_attention)?; + + let hidden_states = self.embeddings.forward(&input_ids)?; + let hidden_states = self.encoder.forward( + &hidden_states, + &global_attention_mask, + &silding_attention_mask, + )?; + let outputs = self.final_norm.forward(&hidden_states, None)?; + + let has_pooling_requests = !batch.pooled_indices.is_empty(); + let has_raw_requests = !batch.raw_indices.is_empty(); + + let pooled_embeddings = if has_pooling_requests { + match self.pool { + Pool::Cls | Pool::LastToken => { + if batch_size > 1 { + let mut indices = match self.pool { + Pool::Cls => cu_seqlens.narrow(0, 0, batch_size)?, + Pool::LastToken => { + let end = cu_seqlens.narrow(0, 1, batch_size)?; + (&end - &end.ones_like()?)? + } + _ => unreachable!(), + }; + + if has_raw_requests { + let pooled_indices = Tensor::from_vec( + batch.pooled_indices.clone(), + batch.pooled_indices.len(), + &self.device, + )?; + + indices = indices.index_select(&pooled_indices, 0)? + } + + Some(outputs.index_select(&indices, 0)?) + } else { + Some( + match self.pool { + Pool::Cls => outputs.i(0)?, + Pool::LastToken => { + outputs.i(batch.cumulative_seq_lengths[1] as usize - 1)? + } + _ => unreachable!(), + } + .unsqueeze(0)?, + ) + } + } + Pool::Mean => { + if batch_size > 1 { + let results: Result> = batch + .pooled_indices + .into_iter() + .map(|i| { + let i = i as usize; + let start = batch.cumulative_seq_lengths[i]; + let len = batch.cumulative_seq_lengths[i + 1] - start; + + // Mean + let embeddings = outputs.narrow(0, start as usize, len as usize)?; + embeddings.sum_keepdim(0)? / (len as f64) + }) + .collect(); + + Some(Tensor::cat(&results?, 0)?) + } else { + Some((outputs.sum_keepdim(0)? / (batch.max_length as f64))?) + } + } + Pool::Splade => { + let splade_head = self.splade.as_ref().unwrap(); + let relu_log = splade_head.forward(&outputs)?; + + if batch_size > 1 { + let results: Result> = batch + .pooled_indices + .into_iter() + .map(|i| { + let i = i as usize; + let start = batch.cumulative_seq_lengths[i]; + let len = batch.cumulative_seq_lengths[i + 1] - start; + + relu_log + .narrow(0, start as usize, len as usize)? + .max_keepdim(0) + }) + .collect(); + + Some(Tensor::cat(&results?, 0)?) + } else { + Some(relu_log.max_keepdim(0)?) + } + } + } + } else { + None + }; + + let raw_embeddings = if has_raw_requests { + if batch_size > 1 && has_pooling_requests { + let mut final_indices: Vec = Vec::with_capacity(shape); + for i in batch.raw_indices.into_iter() { + let i = i as usize; + let start = batch.cumulative_seq_lengths[i]; + let end = batch.cumulative_seq_lengths[i + 1]; + + for j in start..end { + final_indices.push(j); + } + } + + let final_indices_length = final_indices.len(); + let final_indices = + Tensor::from_vec(final_indices, final_indices_length, &self.device)?; + + Some(outputs.index_select(&final_indices, 0)?) + } else { + Some(outputs) + } + } else { + None + }; + + Ok((pooled_embeddings, raw_embeddings)) + } +} + +impl Model for FlashModernBertModel { + fn is_padded(&self) -> bool { + false + } + + fn embed(&self, batch: Batch) -> Result<(Option, Option)> { + self.forward(batch) + } + + fn predict(&self, batch: Batch) -> Result { + match &self.classifier { + None => candle::bail!("`predict` is not implemented for this model"), + Some(classifier) => { + let (pooled_embeddings, _raw_embeddings) = self.forward(batch)?; + let pooled_embeddings = + pooled_embeddings.expect("pooled_embeddings is empty. This is a bug."); + classifier.forward(&pooled_embeddings) + } + } + } +} diff --git a/backends/candle/src/models/mod.rs b/backends/candle/src/models/mod.rs index 9c67ae8b..b4e3b090 100644 --- a/backends/candle/src/models/mod.rs +++ b/backends/candle/src/models/mod.rs @@ -9,6 +9,7 @@ mod distilbert; mod jina; mod jina_code; mod mistral; +mod modernbert; mod nomic; #[cfg(feature = "cuda")] @@ -28,11 +29,16 @@ mod flash_distilbert; #[cfg(feature = "cuda")] mod flash_gte; + #[cfg(feature = "cuda")] mod flash_mistral; #[cfg(feature = "cuda")] mod flash_qwen2; + +#[cfg(feature = "cuda")] +mod flash_modernbert; + mod gte; mod mpnet; mod qwen2; @@ -45,6 +51,7 @@ pub use gte::{GTEClassificationHead, GTEConfig, GTEModel, GTEMLP}; pub use jina::JinaBertModel; pub use jina_code::JinaCodeBertModel; pub use mistral::MistralConfig; +pub use modernbert::{ModernBertConfig, ModernBertModel}; pub use mpnet::{MPNetConfig, MPNetModel}; pub use nomic::{NomicBertModel, NomicConfig}; pub use qwen2::Qwen2Config; @@ -74,6 +81,9 @@ pub use flash_gte::FlashGTEModel; #[cfg(feature = "cuda")] pub use flash_qwen2::FlashQwen2Model; +#[cfg(feature = "cuda")] +pub use flash_modernbert::FlashModernBertModel; + pub(crate) trait Model { fn is_padded(&self) -> bool; diff --git a/backends/candle/src/models/modernbert.rs b/backends/candle/src/models/modernbert.rs new file mode 100644 index 00000000..9e1a1f74 --- /dev/null +++ b/backends/candle/src/models/modernbert.rs @@ -0,0 +1,804 @@ +use std::collections::HashMap; + +use crate::layers::{ + apply_rotary, get_cos_sin, get_cublas_lt_wrapper, get_inv_freqs, HiddenAct, LayerNorm, Linear, +}; +use crate::models::Model; +use candle::{DType, Device, IndexOp, Module, Result, Shape, Tensor, D}; +use candle_nn::{Embedding, VarBuilder}; +use serde::Deserialize; +use text_embeddings_backend_core::{Batch, ModelType, Pool}; + +// https://github.com/huggingface/transformers/blob/main/src/transformers/models/modernbert/configuration_modernbert.py +#[derive(Debug, Clone, PartialEq, Deserialize)] +pub struct ModernBertConfig { + pub vocab_size: usize, + pub hidden_size: usize, + pub intermediate_size: usize, + pub num_hidden_layers: usize, + pub num_attention_heads: usize, + pub hidden_activation: HiddenAct, + pub max_position_embeddings: usize, + pub initializer_range: f64, + pub initializer_cutoff_factor: f64, + pub norm_eps: f64, + pub norm_bias: bool, + pub pad_token_id: usize, + pub eos_token_id: usize, + pub bos_token_id: usize, + pub cls_token_id: usize, + pub sep_token_id: usize, + pub global_rope_theta: f64, + pub attention_bias: bool, + pub attention_dropout: f64, + pub global_attn_every_n_layers: usize, + pub local_attention: usize, + pub local_rope_theta: f64, + pub embedding_dropout: Option, + pub mlp_bias: Option, + pub mlp_dropout: Option, + pub decoder_bias: Option, + pub classifier_pooling: Option, + pub classifier_dropout: Option, + pub classifier_bias: Option, + pub classifier_activation: HiddenAct, + pub deterministic_flash_attn: Option, + pub sparse_prediction: Option, + pub sparse_pred_ignore_index: Option, + pub reference_compile: Option, + pub num_labels: Option, +} + +#[derive(Debug)] +pub struct ModernBertEmbeddings { + tok_embeddings: Embedding, + norm: LayerNorm, + span: tracing::Span, +} + +impl ModernBertEmbeddings { + pub fn load(vb: VarBuilder, config: &ModernBertConfig) -> Result { + Ok(Self { + tok_embeddings: Embedding::new( + vb.pp("tok_embeddings") + .get((config.vocab_size, config.hidden_size), "weight")?, + config.hidden_size, + ), + norm: LayerNorm::load(vb.pp("norm"), config.hidden_size, config.norm_eps as f32)?, + span: tracing::span!(tracing::Level::TRACE, "embeddings"), + }) + } + + pub fn forward(&self, input_ids: &Tensor) -> Result { + let _enter = self.span.enter(); + + self.norm + .forward(&self.tok_embeddings.forward(input_ids)?, None) + } +} + +struct ModernBertMLP { + wi: Linear, + wo: Linear, + activation: Option, + intermediate_size: usize, + span: tracing::Span, +} + +impl ModernBertMLP { + pub fn load(vb: VarBuilder, config: &ModernBertConfig) -> Result { + let wi_weight = vb + .pp("Wi") + .get((config.intermediate_size * 2, config.hidden_size), "weight")?; + let wi_bias = vb.pp("Wi").get(config.intermediate_size * 2, "bias").ok(); + let wi = Linear::new(wi_weight, wi_bias, None); + + let wo_weight = vb + .pp("Wo") + .get((config.hidden_size, config.intermediate_size), "weight")?; + let wo_bias = vb.pp("Wo").get(config.hidden_size, "bias").ok(); + + let wo = Linear::new(wo_weight, wo_bias, None); + + let activation = Some(config.hidden_activation.clone()); + + Ok(Self { + wi, + wo, + activation, + intermediate_size: config.intermediate_size, + span: tracing::span!(tracing::Level::TRACE, "mlp"), + }) + } + + pub fn forward(&self, hidden_states: &Tensor) -> Result { + let _enter = self.span.enter(); + + let hidden_states = self.wi.forward(hidden_states)?; + + let input = hidden_states.narrow(D::Minus1, 0, self.intermediate_size)?; + let gate = + hidden_states.narrow(D::Minus1, self.intermediate_size, self.intermediate_size)?; + + let input = if let Some(activation) = &self.activation { + match activation { + HiddenAct::Gelu => input.gelu(), + HiddenAct::Relu => input.relu(), + HiddenAct::Swiglu => input.silu(), + } + } else { + Ok(input) + }; + + let hidden_states = self.wo.forward(&(input * gate)?)?; + + Ok(hidden_states) + } +} + +struct ModernBertAttention { + wqkv: Linear, + wo: Linear, + + num_attention_heads: usize, + attention_head_size: usize, + softmax_scale: f64, + + span: tracing::Span, +} + +impl ModernBertAttention { + pub fn load(vb: VarBuilder, config: &ModernBertConfig) -> Result { + let attention_head_size = config.hidden_size / config.num_attention_heads; + let hidden_size = config.hidden_size; + + let wqkv_weight = vb + .pp("Wqkv") + .get((hidden_size * 3, hidden_size), "weight")?; + let wqkv_bias = if config.attention_bias { + vb.pp("Wqkv").get(hidden_size * 3, "bias").ok() + } else { + None + }; + let wqkv: Linear = Linear::new(wqkv_weight, wqkv_bias, None); + + let wo_weight = vb.pp("Wo").get((hidden_size, hidden_size), "weight")?; + let wo_bias = if config.attention_bias { + vb.pp("Wo").get(hidden_size, "bias").ok() + } else { + None + }; + let wo = Linear::new(wo_weight, wo_bias, None); + + let softmax_scale = 1. / (attention_head_size as f64).sqrt(); + + Ok(Self { + wqkv, + wo, + num_attention_heads: config.num_attention_heads, + attention_head_size, + softmax_scale, + span: tracing::span!(tracing::Level::TRACE, "attention"), + }) + } + + fn forward( + &self, + hidden_states: &Tensor, + attention_mask: &Tensor, + cos: &Tensor, + sin: &Tensor, + ) -> Result { + let _enter = self.span.enter(); + let device = hidden_states.device(); + + let qkv = self.wqkv.forward(hidden_states)?; + + let mut new_qkv_shape = qkv.dims().to_vec(); + new_qkv_shape.pop(); + new_qkv_shape.push(self.num_attention_heads * 3); + new_qkv_shape.push(self.attention_head_size); + let qkv = qkv.reshape(new_qkv_shape.as_slice())?.transpose(1, 2)?; + + let qkv = qkv.chunk(3, 1)?; + let query_layer = &qkv[0].contiguous()?; + let key_layer = &qkv[1].contiguous()?; + let value_layer = &qkv[2]; + + let query_layer = apply_rotary(query_layer, cos, sin, self.attention_head_size)?; + let key_layer = apply_rotary(key_layer, cos, sin, self.attention_head_size)?; + + #[allow(unused_variables)] + let context_layer = + if let (Device::Cuda(_), Some(cublaslt)) = (device, get_cublas_lt_wrapper()) { + #[cfg(feature = "cuda")] + { + let (batch_size, _, seq_len, _) = key_layer.shape().dims4()?; + let key_layer = key_layer.flatten(0, 1)?; + let query_layer = query_layer.flatten(0, 1)?; + let value_layer = value_layer.flatten(0, 1)?; + let attention_mask = attention_mask.flatten(0, 1)?; + + let attention_scores = cublaslt.batch_matmul( + &key_layer, + &query_layer, + Some(attention_mask.as_ref()), + Some(self.softmax_scale as f32), + None, + None, + None, + )?; + let attention_probs = candle_nn::ops::softmax_last_dim(&attention_scores)?; + + let context_layer = cublaslt.batch_matmul( + &value_layer.t()?.contiguous()?, + &attention_probs, + Some(&query_layer), + None, + None, + None, + None, + )?; + + context_layer.reshape(( + batch_size, + self.num_attention_heads, + seq_len, + self.attention_head_size, + )) + } + #[cfg(not(feature = "cuda"))] + { + candle::bail!("`cuda` feature is not enabled") + } + } else { + let attn_weights = query_layer.matmul(&key_layer.t()?)?; + let attn_weights = (attn_weights * self.softmax_scale)?; + let attn_weights = attn_weights.add(attention_mask)?; + + let attn_weights = candle_nn::ops::softmax_last_dim(&attn_weights)?; + attn_weights.matmul(&value_layer.contiguous()?) + }?; + + let hidden_states = context_layer.transpose(1, 2)?.flatten_from(D::Minus2)?; + + self.wo.forward(&hidden_states) + } +} + +struct ModernBertEncoderLayer { + attn_norm: Option, + attn: ModernBertAttention, + mlp_norm: LayerNorm, + mlp: ModernBertMLP, + + span: tracing::Span, +} + +impl ModernBertEncoderLayer { + pub fn load(vb: VarBuilder, index: usize, config: &ModernBertConfig) -> Result { + let attn_norm = if index > 0 { + Some(LayerNorm::load( + vb.pp("attn_norm"), + config.hidden_size, + config.norm_eps as f32, + )?) + } else { + None + }; + + let attn = ModernBertAttention::load(vb.pp("attn"), config)?; + + let mlp_norm = LayerNorm::load( + vb.pp("mlp_norm"), + config.hidden_size, + config.norm_eps as f32, + )?; + let mlp = ModernBertMLP::load(vb.pp("mlp"), config)?; + + let span = tracing::span!(tracing::Level::TRACE, "layer"); + + Ok(ModernBertEncoderLayer { + attn_norm, + attn, + mlp_norm, + mlp, + span, + }) + } + + fn forward( + &self, + hidden_states: &Tensor, + attention_mask: &Tensor, + cos: &Tensor, + sin: &Tensor, + ) -> Result { + let _enter = self.span.enter(); + + let mut hidden_states = hidden_states.clone(); + + if let Some(attn_norm) = &self.attn_norm { + hidden_states = attn_norm.forward(&hidden_states, None)?; + } + + let hidden_states = self + .attn + .forward(&hidden_states, attention_mask, cos, sin)?; + let mlp_output = self + .mlp + .forward(&self.mlp_norm.forward(&hidden_states, None)?)?; + + hidden_states.broadcast_add(&mlp_output) + } +} + +struct ModernBertEncoder { + layers: Vec, + + global_attn_every_n_layers: usize, + + span: tracing::Span, +} + +impl ModernBertEncoder { + pub fn load(vb: VarBuilder, config: &ModernBertConfig) -> Result { + let layers = (0..config.num_hidden_layers) + .map(|index| ModernBertEncoderLayer::load(vb.pp(format!("{index}")), index, config)) + .collect::>>()?; + + let span = tracing::span!(tracing::Level::TRACE, "encoder"); + + Ok(ModernBertEncoder { + layers, + global_attn_every_n_layers: config.global_attn_every_n_layers, + span, + }) + } + + fn forward( + &self, + hidden_states: &Tensor, + attention_mask: &Tensor, + silding_attention_mask: &Tensor, + rotary_cache: &HashMap, + ) -> Result { + let _enter = self.span.enter(); + + let mut hidden_states = hidden_states.clone(); + + for (index, layer) in self.layers.iter().enumerate() { + let use_local_attention = index % self.global_attn_every_n_layers != 0; + let (cos, sin) = &rotary_cache[&use_local_attention]; + let attention_mask = if use_local_attention { + silding_attention_mask + } else { + attention_mask + }; + + hidden_states = layer.forward(&hidden_states, attention_mask, cos, sin)?; + } + + Ok(hidden_states) + } +} + +pub trait ClassificationHead { + fn forward(&self, hidden_states: &Tensor) -> Result; +} + +pub struct ModernBertClassificationHead { + dense: Linear, + norm: LayerNorm, + classifier: Linear, + span: tracing::Span, +} + +impl ModernBertClassificationHead { + pub(crate) fn load(vb: VarBuilder, config: &ModernBertConfig) -> Result { + let dense_weight = vb + .pp("dense") + .get((config.hidden_size, config.hidden_size), "weight")?; + let dense_bias = vb.pp("dense").get(config.hidden_size, "bias").ok(); + let dense = Linear::new( + dense_weight, + dense_bias, + Some(config.classifier_activation.clone()), + ); + + let norm = LayerNorm::load(vb.pp("norm"), config.hidden_size, config.norm_eps as f32)?; + + let classifier_weight = vb.pp("dense").get( + (config.num_labels.unwrap_or(1), config.hidden_size), + "weight", + )?; + let classifier_bias = vb + .pp("dense") + .get(config.num_labels.unwrap_or(1), "bias") + .ok(); + let classifier = Linear::new(classifier_weight, classifier_bias, None); + + Ok(Self { + dense, + norm, + classifier, + span: tracing::span!(tracing::Level::TRACE, "classifier"), + }) + } +} + +impl ClassificationHead for ModernBertClassificationHead { + fn forward(&self, hidden_states: &Tensor) -> Result { + let _enter = self.span.enter(); + + let hidden_states = hidden_states.unsqueeze(1)?; + + let hidden_states = self.dense.forward(&hidden_states)?; + let hidden_states = self.norm.forward(&hidden_states, None)?; + let hidden_states = self.classifier.forward(&hidden_states)?; + + let hidden_states = hidden_states.squeeze(1)?; + + Ok(hidden_states) + } +} + +pub struct ModernBertModel { + embeddings: ModernBertEmbeddings, + encoder: ModernBertEncoder, + final_norm: LayerNorm, + pool: Pool, + classifier: Option>, + + local_attention: usize, + rotary_dim: usize, + rotary_cache: HashMap, + pad_token_id: u32, + num_attention_heads: usize, + + device: Device, + dtype: DType, + + span: tracing::Span, +} + +impl ModernBertModel { + pub fn load(vb: VarBuilder, config: &ModernBertConfig, model_type: ModelType) -> Result { + let (pool, classifier) = match model_type { + ModelType::Classifier => { + let pool = Pool::Cls; + + let classifier: Box = + Box::new(ModernBertClassificationHead::load(vb.clone(), config)?); + + (pool, Some(classifier)) + } + ModelType::Embedding(pool) => { + if pool == Pool::Splade { + candle::bail!("`splade` is not supported for ModernBert") + } + + if pool == Pool::LastToken { + candle::bail!("`last_token` is not supported for ModernBert"); + } + + (pool, None) + } + }; + + let embeddings = ModernBertEmbeddings::load(vb.pp("model.embeddings"), config)?; + let encoder = ModernBertEncoder::load(vb.pp("model.layers"), config)?; + let final_norm = LayerNorm::load( + vb.pp("model.final_norm"), + config.hidden_size, + config.norm_eps as f32, + )?; + + let rotary_dim = config.hidden_size / config.num_attention_heads; + let mut rotary_cache: HashMap = HashMap::new(); + + for use_local_attention in [true, false] { + let rope_theta = if use_local_attention { + config.local_rope_theta + } else { + config.global_rope_theta + }; + + let max_position_embeddings = if use_local_attention { + config.max_position_embeddings + } else { + config.local_attention + }; + + let inv_freqs = get_inv_freqs(rotary_dim, rope_theta as f32, vb.device(), None)?; + + let (cos, sin) = get_cos_sin(max_position_embeddings, &inv_freqs, vb.dtype(), true)?; + + rotary_cache.insert(use_local_attention, (cos, sin)); + } + + Ok(Self { + embeddings, + encoder, + final_norm, + pool, + classifier, + local_attention: config.local_attention, + rotary_dim, + rotary_cache, + pad_token_id: config.pad_token_id as u32, + num_attention_heads: config.num_attention_heads, + device: vb.device().clone(), + dtype: vb.dtype(), + span: tracing::span!(tracing::Level::TRACE, "model"), + }) + } + + fn get_global_attention_mask( + &self, + attention_mask: Option<&Tensor>, + input_shape: &Shape, + num_attention_heads: usize, + ) -> Result { + let extended_attention_mask = if let Some(attention_mask) = attention_mask { + attention_mask.squeeze(2)? + } else { + Tensor::ones(input_shape, DType::F32, &self.device)? + } + .unsqueeze(1)? + .unsqueeze(1)? + .to_dtype(self.dtype)?; + + let (bs, seq_len) = input_shape.dims2()?; + let extended_attention_mask = + extended_attention_mask.broadcast_as((bs, num_attention_heads, seq_len, seq_len))?; + + Ok(extended_attention_mask) + } + + fn get_silding_window_mask( + &self, + attention_mask: &Tensor, + local_attention: usize, + ) -> Result { + let attention_mask = attention_mask.to_dtype(DType::U8)?; + let mask_shape = attention_mask.shape(); + let (_, _, seq_len, _) = mask_shape.dims4()?; + + let rows = Tensor::arange(0, seq_len as i64, attention_mask.device())?.unsqueeze(0)?; + let rows = rows.broadcast_as((seq_len, seq_len))?; + + let distance = (&rows - &rows.t()?)?.abs()?; + + let window_size = local_attention / 2; + let window_mask = distance + .le(window_size as i64)? + .unsqueeze(0)? + .unsqueeze(0)? + .broadcast_as(mask_shape)?; + + let zero_tensor = Tensor::zeros_like(&attention_mask)?; + let sliding_window_mask = attention_mask.where_cond(&window_mask, &zero_tensor)?; + + Ok(sliding_window_mask) + } + + fn forward(&self, batch: Batch) -> Result<(Option, Option)> { + let _enter = self.span.enter(); + + let batch_size = batch.len(); + let max_length = batch.max_length as usize; + + let shape = (batch_size, max_length); + + let (input_ids, input_lengths, position_ids, attention_mask) = if batch_size > 1 { + let elems = batch_size * max_length; + + let mut input_ids = Vec::with_capacity(elems); + let mut position_ids = Vec::with_capacity(elems); + let mut attention_mask = Vec::with_capacity(elems); + let mut input_lengths = Vec::with_capacity(batch_size); + + let mut masking = false; + + for i in 0..batch_size { + let start = batch.cumulative_seq_lengths[i] as usize; + let end = batch.cumulative_seq_lengths[i + 1] as usize; + let seq_length = (end - start) as u32; + input_lengths.push(seq_length as f32); + + for j in start..end { + input_ids.push(batch.input_ids[j]); + position_ids.push(batch.position_ids[j]); + attention_mask.push(1.0_f32); + } + + let padding = batch.max_length - seq_length; + if padding > 0 { + masking = true; + for _ in 0..padding { + input_ids.push(self.pad_token_id); + position_ids.push(0); + attention_mask.push(0.0_f32); + } + } + } + + let attention_mask = match masking { + true => { + let attention_mask = Tensor::from_vec( + attention_mask, + (batch_size, max_length, 1), + &self.device, + )? + .to_dtype(self.dtype)?; + + Some(attention_mask) + } + false => None, + }; + + (input_ids, input_lengths, position_ids, attention_mask) + } else { + ( + batch.input_ids, + vec![batch.max_length as f32], + batch.position_ids, + None, + ) + }; + + let input_ids = Tensor::from_vec(input_ids, shape, &self.device)?; + let position_ids = Tensor::from_vec(position_ids, batch_size * max_length, &self.device)?; + let mut input_lengths = + Tensor::from_vec(input_lengths, (batch_size, 1), &self.device)?.to_dtype(self.dtype)?; + + let global_attention_mask = self + .get_global_attention_mask( + attention_mask.as_ref(), + input_ids.shape(), + self.num_attention_heads, + )? + .to_dtype(self.dtype)?; + let silding_attention_mask = self + .get_silding_window_mask(&global_attention_mask, self.local_attention)? + .to_dtype(self.dtype)?; + + let min_value = match self.dtype { + DType::F32 => f32::MIN as f64, + _ => -65504.0, // f16 minimum value + }; + + let global_attention_mask = ((1.0 - global_attention_mask)? * min_value)?; + let silding_attention_mask = ((1.0 - silding_attention_mask)? * min_value)?; + + let mut rotary_cache: HashMap = HashMap::new(); + for use_local_attention in [true, false] { + let (cos, sin) = &self.rotary_cache[&use_local_attention]; + + let cos = cos.index_select(&position_ids, 0)?; + let sin = sin.index_select(&position_ids, 0)?; + + let cos = cos.reshape((batch_size, 1, max_length, self.rotary_dim))?; + let sin = sin.reshape((batch_size, 1, max_length, self.rotary_dim))?; + + rotary_cache.insert(use_local_attention, (cos, sin)); + } + + let hidden_states = self.embeddings.forward(&input_ids)?; + let hidden_states = self.encoder.forward( + &hidden_states, + &global_attention_mask, + &silding_attention_mask, + &rotary_cache, + )?; + let outputs = self.final_norm.forward(&hidden_states, None)?; + + let has_pooling_requests = !batch.pooled_indices.is_empty(); + let has_raw_requests = !batch.raw_indices.is_empty(); + + let pooled_embeddings = if has_pooling_requests { + let pooled_indices_length = batch.pooled_indices.len(); + let mut outputs = outputs.clone(); + + // Only use pooled_indices if at least one member of the batch ask for raw embeddings + let pooled_indices = if has_raw_requests { + let pooled_indices = + Tensor::from_vec(batch.pooled_indices, pooled_indices_length, &self.device)?; + + // Select values in the batch + outputs = outputs.index_select(&pooled_indices, 0)?; + Some(pooled_indices) + } else { + None + }; + + let pooled_embeddings = match self.pool { + // CLS pooling + Pool::Cls => outputs.i((.., 0))?, + // Last token pooling is not supported for this model + Pool::LastToken | Pool::Splade => unreachable!(), + // Mean pooling + Pool::Mean => { + if let Some(ref attention_mask) = attention_mask { + let mut attention_mask = attention_mask.clone(); + + if let Some(pooled_indices) = pooled_indices { + // Select values in the batch + attention_mask = attention_mask.index_select(&pooled_indices, 0)?; + input_lengths = input_lengths.index_select(&pooled_indices, 0)?; + }; + + // Mask padded values + outputs = outputs.broadcast_mul(&attention_mask)?; + } + + (outputs.sum(1)?.broadcast_div(&input_lengths))? + } + }; + Some(pooled_embeddings) + } else { + None + }; + + let raw_embeddings = if has_raw_requests { + // Reshape outputs + let (b, l, h) = outputs.shape().dims3()?; + let outputs = outputs.reshape((b * l, h))?; + + // We need to remove the padding tokens only if batch_size > 1 and there are some + // member of the batch that require pooling + // or if batch_size > 1 and the members of the batch have different lengths + if (attention_mask.is_some() || has_pooling_requests) && batch_size > 1 { + let mut final_indices: Vec = Vec::with_capacity(batch_size * max_length); + + for i in batch.raw_indices.into_iter() { + let start = i * batch.max_length; + let i = i as usize; + let length = + batch.cumulative_seq_lengths[i + 1] - batch.cumulative_seq_lengths[i]; + + for j in start..start + length { + // Add indices for the tokens of this specific member of the batch + final_indices.push(j); + } + } + + let final_indices_length = final_indices.len(); + let final_indices = + Tensor::from_vec(final_indices, final_indices_length, &self.device)?; + + // Select the tokens with final indices + Some(outputs.index_select(&final_indices, 0)?) + } else { + Some(outputs) + } + } else { + None + }; + + Ok((pooled_embeddings, raw_embeddings)) + } +} + +impl Model for ModernBertModel { + fn is_padded(&self) -> bool { + true + } + + fn embed(&self, batch: Batch) -> Result<(Option, Option)> { + self.forward(batch) + } + + fn predict(&self, batch: Batch) -> Result { + match &self.classifier { + None => candle::bail!("`predict` is not implemented for this model"), + Some(classifier) => { + let (pooled_embeddings, _raw_embeddings) = self.forward(batch)?; + let pooled_embeddings = + pooled_embeddings.expect("pooled_embeddings is empty. This is a bug."); + classifier.forward(&pooled_embeddings) + } + } + } +} From ad258328b4e2ab650a43ba751446e3b03ea227ba Mon Sep 17 00:00:00 2001 From: kozistr Date: Wed, 25 Dec 2024 16:25:53 +0900 Subject: [PATCH 02/14] fix: modernbert --- Cargo.lock | 4 +- Cargo.toml | 2 +- backends/candle/src/lib.rs | 19 - backends/candle/src/models/modernbert.rs | 28 +- backends/candle/tests/common.rs | 6 +- .../test_modernbert__mini_batch.snap | 2308 +++++++++++++++++ .../test_modernbert__mini_single.snap | 772 ++++++ backends/candle/tests/test_modernbert.rs | 137 + router/src/lib.rs | 4 +- 9 files changed, 3237 insertions(+), 43 deletions(-) create mode 100644 backends/candle/tests/snapshots/test_modernbert__mini_batch.snap create mode 100644 backends/candle/tests/snapshots/test_modernbert__mini_single.snap create mode 100644 backends/candle/tests/test_modernbert.rs diff --git a/Cargo.lock b/Cargo.lock index 22ad1ee7..feac1f6a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4481,9 +4481,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokenizers" -version = "0.19.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e500fad1dd3af3d626327e6a3fe5050e664a6eaa4708b8ca92f1794aaf73e6fd" +checksum = "9ecededfed68a69bc657e486510089e255e53c3d38cc7d4d59c8742668ca2cae" dependencies = [ "aho-corasick", "derive_builder", diff --git a/Cargo.toml b/Cargo.toml index 8c4a4726..84e581c9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,7 +24,7 @@ hf-hub = { version = "0.3.2", features = ["tokio", "online"], default-features = metrics = "0.23" nohash-hasher = "0.2" num_cpus = "1.16.0" -tokenizers = { version = "0.19.1", default-features = false, features = ["onig", "esaxx_fast"] } +tokenizers = { version = "0.21.0", default-features = false, features = ["onig", "esaxx_fast"] } tokio = { version = "1.25", features = ["rt", "rt-multi-thread", "parking_lot", "sync", "signal"] } tracing = "0.1" serde = { version = "1.0", features = ["serde_derive"] } diff --git a/backends/candle/src/lib.rs b/backends/candle/src/lib.rs index d3c8f831..44566fdb 100644 --- a/backends/candle/src/lib.rs +++ b/backends/candle/src/lib.rs @@ -383,25 +383,6 @@ impl CandleBackend { FlashQwen2Model::load(vb, &config, model_type).s()?, )) } - #[cfg(feature = "cuda")] - (Config::ModernBert(config), Device::Cuda(_)) => { - if cfg!(feature = "flash-attn") - && dtype == DType::F16 - && &std::env::var("USE_FLASH_ATTENTION") - .unwrap_or("True".to_string()) - .to_lowercase() - == "true" - { - return Err(BackendError::Start( - "ModernBert does not support flash attention".to_string(), - )); - } - - tracing::info!("Starting ModernBert model on {:?}", device); - Ok(Box::new( - ModernBERTModel::load(vb, &config, model_type).s()?, - )) - } }; Ok(Self { diff --git a/backends/candle/src/models/modernbert.rs b/backends/candle/src/models/modernbert.rs index 9e1a1f74..afdef81f 100644 --- a/backends/candle/src/models/modernbert.rs +++ b/backends/candle/src/models/modernbert.rs @@ -255,7 +255,6 @@ impl ModernBertAttention { let attn_weights = query_layer.matmul(&key_layer.t()?)?; let attn_weights = (attn_weights * self.softmax_scale)?; let attn_weights = attn_weights.add(attention_mask)?; - let attn_weights = candle_nn::ops::softmax_last_dim(&attn_weights)?; attn_weights.matmul(&value_layer.contiguous()?) }?; @@ -277,7 +276,7 @@ struct ModernBertEncoderLayer { impl ModernBertEncoderLayer { pub fn load(vb: VarBuilder, index: usize, config: &ModernBertConfig) -> Result { - let attn_norm = if index > 0 { + let attn_norm = if index != 0 { Some(LayerNorm::load( vb.pp("attn_norm"), config.hidden_size, @@ -316,20 +315,23 @@ impl ModernBertEncoderLayer { ) -> Result { let _enter = self.span.enter(); - let mut hidden_states = hidden_states.clone(); + let residual = hidden_states.clone(); - if let Some(attn_norm) = &self.attn_norm { - hidden_states = attn_norm.forward(&hidden_states, None)?; - } + let attn_norm = if let Some(attn_norm) = &self.attn_norm { + attn_norm.forward(hidden_states, None)? + } else { + hidden_states.clone() + }; + + let attn_outputs = self.attn.forward(&attn_norm, attention_mask, cos, sin)?; + + let hidden_states = residual.add(&attn_outputs)?; - let hidden_states = self - .attn - .forward(&hidden_states, attention_mask, cos, sin)?; let mlp_output = self .mlp .forward(&self.mlp_norm.forward(&hidden_states, None)?)?; - hidden_states.broadcast_add(&mlp_output) + hidden_states.add(&mlp_output) } } @@ -714,22 +716,17 @@ impl ModernBertModel { }; let pooled_embeddings = match self.pool { - // CLS pooling Pool::Cls => outputs.i((.., 0))?, - // Last token pooling is not supported for this model Pool::LastToken | Pool::Splade => unreachable!(), - // Mean pooling Pool::Mean => { if let Some(ref attention_mask) = attention_mask { let mut attention_mask = attention_mask.clone(); if let Some(pooled_indices) = pooled_indices { - // Select values in the batch attention_mask = attention_mask.index_select(&pooled_indices, 0)?; input_lengths = input_lengths.index_select(&pooled_indices, 0)?; }; - // Mask padded values outputs = outputs.broadcast_mul(&attention_mask)?; } @@ -742,7 +739,6 @@ impl ModernBertModel { }; let raw_embeddings = if has_raw_requests { - // Reshape outputs let (b, l, h) = outputs.shape().dims3()?; let outputs = outputs.reshape((b * l, h))?; diff --git a/backends/candle/tests/common.rs b/backends/candle/tests/common.rs index 0c069a47..71cfdc8b 100644 --- a/backends/candle/tests/common.rs +++ b/backends/candle/tests/common.rs @@ -197,7 +197,7 @@ pub fn load_tokenizer(model_root: &Path) -> Result { // We are forced to clone since `Tokenizer` does not have a `get_mut` for `pre_tokenizer` let mut m = m.clone(); m.set_prepend_scheme(PrependScheme::First); - tokenizer.with_pre_tokenizer(PreTokenizerWrapper::Metaspace(m)); + tokenizer.with_pre_tokenizer(Some(PreTokenizerWrapper::Metaspace(m))); } else if let PreTokenizerWrapper::Sequence(s) = pre_tokenizer { let pre_tokenizers = s.get_pre_tokenizers(); // Check if we have a Metaspace pre tokenizer in the sequence @@ -222,9 +222,9 @@ pub fn load_tokenizer(model_root: &Path) -> Result { } new_pre_tokenizers.push(pre_tokenizer); } - tokenizer.with_pre_tokenizer(PreTokenizerWrapper::Sequence(Sequence::new( + tokenizer.with_pre_tokenizer(Some(PreTokenizerWrapper::Sequence(Sequence::new( new_pre_tokenizers, - ))); + )))); } } } diff --git a/backends/candle/tests/snapshots/test_modernbert__mini_batch.snap b/backends/candle/tests/snapshots/test_modernbert__mini_batch.snap new file mode 100644 index 00000000..2c902545 --- /dev/null +++ b/backends/candle/tests/snapshots/test_modernbert__mini_batch.snap @@ -0,0 +1,2308 @@ +--- +source: backends/candle/tests/test_modernbert.rs +expression: embeddings_batch +--- +- - 0.34938118 + - -0.5106107 + - -0.33724675 + - -0.14377546 + - 0.42295066 + - 0.080605514 + - -0.05870054 + - -0.2533736 + - 0.096805826 + - 0.47147986 + - -0.30220082 + - -0.062287323 + - -0.5335452 + - -0.5569252 + - 0.1152873 + - 0.26499018 + - -0.20333672 + - 0.62200534 + - 0.37650678 + - 0.2355279 + - 0.48994657 + - -0.19641218 + - 0.3926499 + - 0.040974297 + - 0.048504103 + - 0.068754695 + - 0.074077256 + - 0.15591288 + - 0.43299398 + - 0.30289072 + - -0.11739186 + - -1.0685385 + - 0.34381604 + - -0.36778787 + - 0.42416957 + - 0.21277274 + - 0.0031650837 + - 0.03980493 + - -0.2533254 + - 0.08461736 + - 0.093675025 + - -0.11324662 + - 0.06692725 + - 0.55893296 + - -0.22641857 + - 0.022615153 + - 0.15392722 + - 0.5755415 + - 0.011407013 + - 0.35980564 + - 0.21974306 + - -0.09297501 + - 0.4367113 + - -0.23573515 + - 0.07124809 + - 0.15220049 + - 0.15272522 + - -0.17033264 + - -0.2917622 + - -0.4142479 + - -0.1133723 + - 0.058007933 + - 0.18934783 + - -0.25798455 + - -0.28384382 + - -0.21307266 + - -0.18793856 + - 10.099517 + - -0.29333264 + - 0.19593938 + - 0.10462643 + - -0.43937737 + - -0.35579664 + - -0.37670797 + - -0.39402208 + - 0.24991584 + - -0.49762017 + - 0.34469578 + - -0.31670693 + - 0.47948128 + - 0.41520944 + - -0.11301625 + - 0.46423402 + - 0.16219251 + - 0.3933815 + - 0.051284872 + - 0.05781566 + - 0.8832664 + - -0.05080145 + - 0.26123673 + - 0.11678625 + - -0.28066295 + - 0.76156986 + - 0.066791944 + - 0.83562666 + - -0.11197571 + - 0.13488016 + - 0.20096767 + - -0.20980704 + - -0.45928773 + - 0.14732412 + - 0.12771715 + - -0.017773882 + - 0.16395174 + - -0.123419054 + - 0.33333564 + - -0.42703536 + - 0.29838392 + - 0.18779437 + - -0.24272417 + - -0.6565218 + - -0.14446557 + - -0.3998034 + - -0.50993735 + - -0.15560421 + - 0.25184003 + - -0.24832739 + - -0.33523795 + - -0.09398137 + - 0.19548438 + - 0.2580461 + - 0.4457145 + - -0.64801246 + - 0.16456437 + - -0.105191424 + - 0.60747784 + - 0.5990834 + - 0.38340846 + - -0.27597246 + - 0.22335605 + - -0.30548355 + - 0.16201425 + - 0.5177926 + - -0.63812023 + - -0.22941475 + - 0.412911 + - -0.081063874 + - 0.44422537 + - 0.24877977 + - 0.5251326 + - -0.07089625 + - -0.0057357675 + - -1.6791223 + - 0.23042658 + - -0.060608152 + - -0.50519955 + - 0.82898474 + - 0.19553086 + - 0.23088019 + - 0.7794116 + - -0.01638585 + - 0.53862965 + - 0.36200878 + - 0.031350262 + - 0.07245593 + - -0.4799439 + - -0.08725797 + - -0.57107514 + - -0.11494186 + - 0.32031873 + - 0.17155556 + - -0.8416546 + - 1.0503348 + - 0.02812561 + - -0.32251388 + - 0.049411137 + - -0.47582775 + - 0.32229686 + - -0.40941733 + - -0.57846916 + - -0.6903145 + - 0.041375764 + - -0.5212008 + - -0.27806613 + - 0.36441654 + - -0.049604047 + - -0.042339463 + - -0.81961316 + - 0.8854657 + - 0.511798 + - 0.55741614 + - -0.059459846 + - -0.3761615 + - 0.12013974 + - 0.01033246 + - -0.28388098 + - 0.7159401 + - 0.11651326 + - -0.5440888 + - 0.42004067 + - -0.63942534 + - 0.030498711 + - 0.41637993 + - 0.6324795 + - 0.05462823 + - 0.36627182 + - 0.28641716 + - 0.08365602 + - 0.19796936 + - 0.4155474 + - -0.24675235 + - -0.34165946 + - -1.1408305 + - 0.5459657 + - -0.051777266 + - 0.49809122 + - -0.5024681 + - 0.12991397 + - -0.30030754 + - -0.32993302 + - -0.5474323 + - 0.06226304 + - -0.6110137 + - -0.27040514 + - 0.40687135 + - 0.59104645 + - 0.02262819 + - 0.052973587 + - 0.21853103 + - 0.17413764 + - 0.06969698 + - 0.42451033 + - -0.60262376 + - 0.15928052 + - 0.2658704 + - 0.018795839 + - 0.42409608 + - -0.1471951 + - -0.30924115 + - -0.10039016 + - -0.002060557 + - 0.03218183 + - 0.5488419 + - 0.77144593 + - -0.11896841 + - 0.43488654 + - -0.13616154 + - 0.47219867 + - -0.114221156 + - -0.010816251 + - -0.08561314 + - -0.30524844 + - 0.5766301 + - -0.0795128 + - 0.3022596 + - 0.06640264 + - -0.013633816 + - -0.06624731 + - -0.47374073 + - 0.1852819 + - 0.6147972 + - -19.987226 + - 0.25636458 + - -0.7807092 + - -3.5846238 + - -0.05432132 + - -0.10887172 + - -0.3565953 + - -0.21821423 + - 0.77597064 + - -0.17449293 + - -0.3181409 + - 0.27188843 + - 0.12619732 + - 0.5856776 + - -0.53822726 + - -0.13398394 + - 0.17988329 + - -0.22255743 + - 0.42219836 + - 0.24212098 + - -0.44121695 + - -0.4024343 + - 0.7991975 + - -0.038545858 + - 0.0052575087 + - 0.42510065 + - 0.014138841 + - -0.14127852 + - -0.1700249 + - 0.04692119 + - 0.10953789 + - -0.21354803 + - 0.23680206 + - 1.2736107 + - -0.28618956 + - -0.29065016 + - -0.17273872 + - 0.2213783 + - -0.11583165 + - -0.5023595 + - -0.70143414 + - 0.081365995 + - 0.22351064 + - -0.017807793 + - -0.22193705 + - 0.09707199 + - 0.2992851 + - 0.18385038 + - -0.3605939 + - 0.33943543 + - 0.09549754 + - 0.37160823 + - 0.6825976 + - -0.20985527 + - 0.6604706 + - 0.84790426 + - 0.10527216 + - -0.03634956 + - -0.40128633 + - 0.2502716 + - -0.15873171 + - -0.14339831 + - 0.21397479 + - -0.6543829 + - 0.53866136 + - -0.3407975 + - -0.050420683 + - 0.30681756 + - -0.29824996 + - -1.1542789 + - -0.06620971 + - 0.6504389 + - -0.042165253 + - -0.06484562 + - -0.18415153 + - 0.46008238 + - -0.20507146 + - 0.12504397 + - -0.7476157 + - -0.42810655 + - -0.3773162 + - 0.3906973 + - 0.6155185 + - 0.017193332 + - 0.10570256 + - -0.060152177 + - -0.399036 + - 0.79904413 + - 0.28697103 + - 0.9091821 + - -0.59921926 + - -0.1628232 + - -0.90001625 + - -0.35896045 + - 0.27016965 + - 0.103808485 + - 0.6945471 + - 0.2763342 + - -0.1702973 + - 0.44257897 + - -0.36725363 + - 0.03673076 + - -0.07697398 + - 0.09624869 + - -0.4460207 + - 0.8887666 + - 0.1781566 + - -0.17791858 + - -0.39802054 + - 0.5213422 + - -0.19000591 + - 0.35985014 + - -0.17268452 + - 0.29003906 + - -0.08455206 + - 0.29131046 + - 0.24830084 + - 0.5528632 + - 0.05864036 + - -0.7710372 + - 0.3871754 + - 0.53768647 + - -0.25420925 + - -0.34708565 + - 0.057481296 + - -0.13863796 + - -0.33311394 + - -0.06961799 + - 0.51188266 + - -0.12305512 + - 0.02045538 + - -0.59610873 + - -0.30176467 + - -0.30907938 + - -0.40012246 + - 0.6048357 + - 0.19509454 + - 0.086044766 + - 0.04933169 + - 0.2678667 + - -0.14196004 + - 0.3076284 + - 0.6012508 + - -0.421004 + - 0.24541153 + - 0.11258123 + - -0.2125083 + - -0.28483692 + - 0.397754 + - -0.312757 + - 0.38831547 + - -0.09692918 + - 0.75706464 + - 0.36085218 + - 0.23455128 + - 0.5113683 + - -0.06894269 + - -0.01600678 + - 0.7843088 + - 0.09861731 + - -0.25969028 + - 0.0784015 + - -0.35604534 + - -0.13135941 + - 0.13479428 + - -0.124181546 + - -0.71676505 + - 0.18386984 + - 0.19870673 + - 0.2431886 + - 0.13963757 + - 1.0274862 + - -0.23380627 + - 0.5574316 + - -0.74570954 + - 0.8761148 + - -0.7103084 + - 0.3010035 + - 0.40494823 + - -0.15995708 + - 0.18163946 + - -0.13157432 + - -0.13064203 + - -0.047061127 + - -0.42138317 + - -0.013677754 + - 0.30052662 + - -0.22256099 + - -0.57224023 + - -0.010003452 + - 0.28350672 + - 0.5432472 + - 0.5652908 + - -0.81954294 + - -0.021392252 + - -0.13306251 + - -0.19206128 + - 0.34139967 + - 0.444823 + - -0.042298786 + - 0.38794398 + - 0.2673128 + - 0.42635554 + - 0.67965275 + - 0.4300317 + - 0.62833786 + - -0.14469333 + - 0.13309358 + - 0.06059465 + - 0.44551829 + - 0.45627326 + - -0.5199569 + - 0.40342784 + - -0.31848982 + - 0.044651292 + - -0.42732924 + - 0.28373045 + - 0.21714142 + - 0.1448094 + - -0.14638571 + - 0.50290275 + - -0.3438672 + - 0.5840459 + - 0.2601524 + - -0.67418784 + - 0.5373621 + - -0.12545066 + - 1.0906112 + - 0.26692218 + - -0.22478184 + - 0.36817026 + - -0.40673804 + - -0.7309609 + - -0.30309418 + - 0.32768196 + - 0.13767713 + - 0.56073487 + - 0.25593626 + - -0.4209361 + - 0.607189 + - -0.52357334 + - -0.15401863 + - 0.20606396 + - 0.1645447 + - 0.62253225 + - 0.0630601 + - -0.01758799 + - 0.55806553 + - -0.14755407 + - 0.54959476 + - 0.14670031 + - 0.4439455 + - 0.4675572 + - 0.05646679 + - -0.0555495 + - -0.041453514 + - -0.10492195 + - -0.15854429 + - -0.5101398 + - 0.3669673 + - 0.54906726 + - 0.30321106 + - 0.11542117 + - 0.12380533 + - 0.26437837 + - -0.29162103 + - 0.32325092 + - -0.16665533 + - 0.5909973 + - 0.04250509 + - 0.36164066 + - -0.13114546 + - -0.025212262 + - -0.4790531 + - 0.5293778 + - -0.37834212 + - 0.028871285 + - -0.21952064 + - 0.10989284 + - -0.3234742 + - -0.026089933 + - 0.14740874 + - -0.06485848 + - -0.71096295 + - -1.4654349 + - -0.13158312 + - 0.49152407 + - 0.009623888 + - 0.15454943 + - 0.15690231 + - -0.3366948 + - -0.092332944 + - -0.2195935 + - 0.025355592 + - -0.14270267 + - -0.123893835 + - 0.009550363 + - 0.49335307 + - 0.13307992 + - 0.48906693 + - 0.28351146 + - -0.2493592 + - -0.17562775 + - 0.13916744 + - 0.16789684 + - 0.18733343 + - -0.17947194 + - 0.52397245 + - 0.27225366 + - 0.09387612 + - 0.90985477 + - 0.15488343 + - 1.0374448 + - 0.28939614 + - -0.37948802 + - 0.14916803 + - -0.6460858 + - -0.2171144 + - -0.10297281 + - -0.07652064 + - 0.11816683 + - -0.06397329 + - -0.28507218 + - 0.494763 + - 0.2032562 + - -0.09985637 + - -0.6599787 + - -0.1663313 + - -0.439354 + - 0.19193758 + - -0.102282785 + - -0.13468574 + - 0.22745156 + - -0.27961227 + - 0.17719606 + - 0.25270763 + - -0.043502476 + - 0.3512094 + - -0.22702739 + - 0.16744027 + - 0.7090984 + - 0.34810296 + - 0.13033624 + - -0.2028989 + - 0.34289747 + - 0.52960044 + - -0.5264291 + - 0.75653404 + - 0.7847978 + - 0.6126623 + - 0.067826666 + - -0.3428157 + - 0.15940502 + - -0.06764568 + - -0.07195717 + - 0.13306312 + - 0.67086315 + - 0.08180193 + - -0.2720733 + - -0.14427172 + - 0.25154665 + - -0.29464656 + - 0.03424729 + - -0.25294217 + - 0.18158443 + - 0.038542885 + - -0.24986313 + - 0.24797918 + - -0.022259245 + - -0.24221401 + - 0.28994456 + - -0.10076807 + - -0.5543355 + - -0.37688842 + - 0.28897327 + - 0.23776725 + - 0.14170568 + - -0.7512676 + - -0.24916433 + - -0.226486 + - -0.17375162 + - 0.43958607 + - 0.8655924 + - 0.2313802 + - 0.26408678 + - -0.49011254 + - -0.06094396 + - -0.15544629 + - 0.22629511 + - -0.027327746 + - 0.19819821 + - 0.21669795 + - -0.23975836 + - -0.5517177 + - -0.048841305 + - 0.4485917 + - 0.38722828 + - -0.23369716 + - -0.5196006 + - -0.6068903 + - -0.19575705 + - 0.44828698 + - -0.36015075 + - -0.1423914 + - -0.17693207 + - -0.5619168 + - 0.31862172 + - -0.3411282 + - 0.15691637 + - 0.93998814 + - 0.30482954 + - -0.3488545 + - 0.31866828 + - 0.42269877 + - 0.7052697 + - 0.17411038 + - -0.19266228 + - 0.023301067 + - 0.25516593 + - 0.086428 + - -0.60372275 + - 0.05167707 + - 0.01207489 + - 0.76991165 + - 0.50486207 + - 0.13814177 + - -0.15061566 + - -0.35813192 + - 0.27007708 + - 0.45613584 + - -0.045845747 + - 0.39350173 + - -0.1895876 + - -0.03330286 + - 0.18303333 + - -0.28471044 + - 0.056851167 + - 0.23755535 + - -0.22600965 + - 0.3703503 + - -0.15900794 + - 0.18936087 + - -0.07516175 + - 0.3205244 + - 0.14041503 + - -0.77208143 + - 0.547323 + - 0.32161283 + - -0.026504159 + - 0.40092152 + - -0.23700473 + - 0.14004576 + - -0.12637398 + - 0.2154273 + - 0.011353775 + - 0.2538325 + - 0.036679156 + - -0.48862785 + - 0.09410244 + - 0.11608916 + - -0.021461133 + - 0.23351462 + - 0.03785808 + - -0.29443693 + - -0.8383231 + - 0.10595101 + - 0.12326203 + - -0.20413648 + - 0.17045371 + - 0.29786333 + - -0.2519147 + - -0.02092876 + - 0.5629991 + - 0.851184 + - 0.3025756 + - -0.0044959327 + - 0.5584672 + - -0.18084967 + - 0.030940142 + - -0.2331576 + - -0.08313205 + - 0.09860725 + - 0.053446822 + - 0.024625655 + - 0.5226554 + - -0.47625294 + - -0.45393154 + - 0.07795901 + - -0.25724998 + - 0.3787623 + - -0.10943724 + - -0.03690427 + - -0.08656395 + - 0.4076857 + - -0.4381267 + - -0.22672419 + - -0.3695102 + - -0.8890651 + - 0.42467332 + - -0.004685886 + - 0.6506019 + - -0.033665918 + - -0.5856341 + - -0.69820684 + - 0.05872496 + - -0.24768828 + - 0.378814 + - 0.02949277 + - 0.35528043 + - -0.2552964 + - 0.009759119 + - 0.1499362 + - 0.34912968 + - 0.55290455 + - -0.40279657 + - -0.07886551 + - -0.25116703 +- - 0.71351844 + - -0.69304115 + - -0.31468543 + - -0.7612197 + - 0.43930057 + - -0.13514744 + - 0.09391131 + - -0.34735927 + - 0.13186659 + - 0.27708164 + - -0.13273019 + - 0.007706137 + - -0.6495313 + - -0.50645226 + - 0.4597361 + - -0.06806728 + - -0.05166502 + - 0.9077733 + - 0.11433124 + - -0.045912873 + - 0.48912784 + - -0.14133538 + - 0.55322737 + - -0.121039666 + - -0.15763085 + - 0.35974053 + - -0.19700159 + - -0.06719497 + - 0.6052721 + - 0.25276622 + - -0.26644203 + - -2.650609 + - -0.019673198 + - -0.12041715 + - 0.52139574 + - 0.27505162 + - 0.48144963 + - -0.11475588 + - -0.55609876 + - -0.080949105 + - -0.18097354 + - -0.22725171 + - -0.21089934 + - 0.16628061 + - -0.20038296 + - 0.40386447 + - 0.09632001 + - 0.14634904 + - -0.02437059 + - 0.0012526183 + - 0.086132266 + - 0.017713025 + - 0.39896515 + - -0.4845759 + - 0.3474718 + - -0.14015059 + - 0.04850618 + - 0.12094253 + - -0.3518659 + - -0.08193331 + - -0.3047304 + - -0.008040354 + - 0.26541537 + - -0.09144109 + - -0.39703 + - -0.5028992 + - -0.3269808 + - 15.677628 + - 0.28717425 + - 0.58528787 + - -0.0992733 + - -0.67269295 + - 0.2845046 + - -0.2043225 + - -0.32609546 + - 0.06746444 + - 0.06292321 + - -0.1033267 + - -0.10848286 + - 0.8744282 + - 0.2438343 + - -0.2040418 + - 0.62538725 + - 0.30883226 + - 0.8182797 + - 0.10082903 + - 0.23247717 + - 0.9186136 + - -0.27310434 + - 0.4975057 + - 0.5450943 + - -0.20661674 + - 0.55713075 + - 0.44453755 + - 1.1531564 + - 0.6554408 + - 0.62162393 + - 0.19482087 + - 0.45680723 + - -0.6347166 + - -0.30447853 + - -0.009398483 + - 0.23002376 + - 0.34668794 + - -0.3120696 + - 0.4090447 + - -0.11244849 + - 0.17869401 + - 0.058369875 + - -0.30224112 + - -0.44849667 + - -0.17855193 + - -0.48387432 + - -0.5845068 + - -0.09446901 + - 0.32802042 + - 0.04170017 + - -0.15649885 + - 0.0016240539 + - 0.50110596 + - 0.21835554 + - -0.22627728 + - -0.13336144 + - 0.17118059 + - -0.40952995 + - 1.0066745 + - 0.72344774 + - 0.1516942 + - -0.12696464 + - -0.13416165 + - -0.5829673 + - -0.065901175 + - 0.36547938 + - -0.6357002 + - -0.12789585 + - 0.41313592 + - -0.23401867 + - 1.0890821 + - 0.25266048 + - 0.7669018 + - 0.14823343 + - -0.3512553 + - -1.8668109 + - 0.44939947 + - -0.7617731 + - -0.87793875 + - 0.9509797 + - 0.5010424 + - 0.17533255 + - 0.13362281 + - -0.024618505 + - -0.31524357 + - -0.26698902 + - -0.5847171 + - 0.098704986 + - -0.5768069 + - -0.021686709 + - -0.5580101 + - 0.09486651 + - -0.179991 + - -0.08441803 + - -0.5233908 + - 0.9365441 + - 0.30052328 + - -0.85758585 + - -0.09130981 + - -0.48547783 + - 0.0043881037 + - -0.34966478 + - -0.7766502 + - -0.51610106 + - -0.5946461 + - -0.68835837 + - -0.2733182 + - 0.27626097 + - -0.2547351 + - 0.14203985 + - -0.7197657 + - 1.2841367 + - -0.3224014 + - 0.05253217 + - 0.0665517 + - -0.5559856 + - 0.112273596 + - 0.23854773 + - 0.29203215 + - 0.81058604 + - -0.18834348 + - 0.1110814 + - 0.21076106 + - -0.39298496 + - 0.2533862 + - -0.07492665 + - 0.7967424 + - -0.28071997 + - -0.4761205 + - 0.43185022 + - 0.00926564 + - 0.08587354 + - 0.58763963 + - -0.5766639 + - -0.47389355 + - -1.046585 + - 0.20793235 + - -0.27121845 + - 0.8003407 + - -0.16847974 + - 0.048996445 + - -0.16758156 + - -0.21268739 + - -0.72926116 + - 0.2637316 + - -0.45574638 + - -0.14424898 + - 0.5697029 + - 0.42640528 + - -0.38626492 + - -0.087628335 + - 0.16698237 + - -0.035957433 + - 0.00023155163 + - 0.85386056 + - 0.114727534 + - 0.1739171 + - 0.10989932 + - 0.3936261 + - 0.67762464 + - -0.43546113 + - -0.32330918 + - 0.06272247 + - -0.21055706 + - -0.1371548 + - -0.024954325 + - 1.1247648 + - -0.13677414 + - 0.026328566 + - -0.02193023 + - 0.5203397 + - -0.64204544 + - -0.13665932 + - -0.0691131 + - -0.2528467 + - 0.32341173 + - -0.22322379 + - 0.6456209 + - 0.3848218 + - 0.2010305 + - -0.27567893 + - -0.5789784 + - 0.4117541 + - 0.7906248 + - -18.831327 + - 0.15310767 + - -1.0905211 + - -4.9811997 + - 0.3232752 + - -0.36785623 + - -0.47898793 + - -0.3121476 + - 0.791006 + - 0.32002038 + - -0.3773683 + - 0.6285607 + - 0.57842517 + - 0.40512848 + - -0.8620057 + - -0.053921964 + - 0.22399081 + - -0.14458364 + - 1.0589441 + - 0.17771919 + - -0.21706562 + - -0.26365718 + - 1.2838757 + - -0.0539636 + - 0.43068132 + - 0.6894179 + - 0.7211862 + - 0.0056900284 + - -0.8914307 + - 0.31011498 + - -0.038413186 + - -0.29940113 + - 0.15184447 + - 1.3774391 + - -0.6641254 + - -0.25427857 + - -0.14947917 + - 0.3885207 + - 0.2853719 + - -0.5031522 + - -0.7453196 + - -0.27583084 + - 0.49491772 + - 0.77335864 + - -0.64982367 + - 0.2007134 + - 0.5162396 + - 0.15380965 + - -0.53285944 + - 0.44713154 + - -0.52313066 + - 0.61034566 + - 0.6182596 + - -0.029159077 + - 0.52524346 + - 0.8644974 + - 0.01930125 + - 0.183365 + - -0.66278464 + - 0.33494225 + - -0.38698485 + - -0.21994591 + - 0.07645505 + - -0.4974343 + - 0.17904027 + - -0.6437731 + - -0.08809555 + - 0.21026896 + - -0.37988266 + - -2.0028062 + - -0.6206382 + - 0.6981122 + - 0.13488232 + - 0.23916604 + - 0.07322533 + - 0.5014197 + - -0.12511261 + - -0.15900849 + - -1.1383964 + - -0.29455408 + - -0.3659265 + - 0.13819067 + - 0.5165025 + - -0.062155485 + - -0.5635331 + - 0.08555543 + - -0.62499166 + - 0.7289136 + - 0.4134582 + - 0.46754006 + - -0.3894069 + - 0.20206062 + - -0.32964137 + - -0.5358896 + - 0.48837554 + - 0.5603907 + - 1.1617662 + - 0.452639 + - 0.28694376 + - 0.8295381 + - -0.8101724 + - -0.06310008 + - 0.43729344 + - -0.14474325 + - -0.51660544 + - 0.94608134 + - 0.35836384 + - 0.24006481 + - -0.017788768 + - 0.20631148 + - -0.05340987 + - 0.5433422 + - -0.30088422 + - 0.16558595 + - -0.019188736 + - 0.15138857 + - 0.24704401 + - 0.49822935 + - -0.07538187 + - -0.47637406 + - 0.62095475 + - 0.04476859 + - -0.6783643 + - -0.17248851 + - 0.5526289 + - -0.021573832 + - -0.7528395 + - -0.11989141 + - 0.77906775 + - -0.41257775 + - 0.027793622 + - -0.67316794 + - -0.39661404 + - -0.5592558 + - 0.24878687 + - 0.802394 + - 0.49536428 + - 0.2256391 + - -0.26455942 + - 0.06443867 + - -0.15795904 + - 0.18102641 + - 0.6787179 + - -0.74329567 + - 0.00905232 + - 0.13074018 + - -0.005488751 + - -0.4086573 + - 0.112835325 + - -0.76820093 + - 0.4948655 + - -0.78887075 + - 0.8698425 + - 0.29768342 + - -0.04925186 + - -0.05411619 + - 0.7189281 + - 0.007642263 + - 0.7499702 + - 0.2507107 + - -0.4169223 + - -0.037549645 + - -0.9240675 + - -0.39048874 + - 0.35492206 + - -0.3348581 + - -0.3023803 + - -0.2460704 + - -0.14495951 + - 0.22017723 + - 0.47609842 + - 1.1461776 + - 0.13192092 + - 0.102362275 + - 0.14648235 + - 0.9542461 + - -1.3053986 + - 0.2282873 + - 0.45962977 + - -0.4608564 + - -0.08666416 + - -0.24090521 + - -0.31126007 + - -0.7096245 + - 0.05143531 + - 0.17339851 + - 0.15162379 + - -0.11454413 + - -0.4441428 + - 0.02370247 + - 0.4803201 + - 1.5090966 + - 0.5262069 + - -0.9411523 + - -0.092901476 + - -0.54422385 + - -0.28948084 + - 0.28257814 + - 1.0069424 + - -0.039038446 + - 0.17197941 + - 0.504329 + - 0.5346368 + - 0.51059425 + - 0.62896365 + - 0.7387376 + - 0.101329215 + - 0.37479064 + - -0.005106931 + - 0.1447384 + - 0.17245929 + - -0.3163921 + - 0.9703956 + - -0.3958124 + - -0.07213475 + - -0.5965734 + - 0.4028102 + - -0.04238488 + - -0.066139184 + - -0.17901082 + - 0.35739028 + - -0.54254127 + - 0.36888206 + - 0.15519144 + - -0.02506481 + - 0.35025752 + - 0.39333978 + - 1.3588821 + - 0.08483086 + - -0.46402308 + - 0.30829218 + - -0.06829961 + - -0.57901937 + - -0.7164209 + - 0.7434039 + - 0.5356177 + - 0.23473597 + - 0.42909178 + - -0.10936105 + - 0.71036655 + - -0.48575488 + - -0.33966812 + - 0.14878602 + - 0.45460346 + - 0.6654695 + - -0.0020481274 + - -0.26248905 + - 0.49655905 + - -0.02760216 + - 1.2962581 + - 0.15690054 + - 0.034341987 + - 0.5105134 + - 0.52867794 + - 0.31858492 + - -0.44781616 + - 0.24801606 + - -0.0033498306 + - -1.1528525 + - 0.2923728 + - 0.27728897 + - 0.45451936 + - 0.5871751 + - 0.10299409 + - 0.16434965 + - -0.14512388 + - -0.11215654 + - 0.39989552 + - 0.73189497 + - 0.27775887 + - 0.6060371 + - 0.16069742 + - -0.44091097 + - -0.8093562 + - 0.6608481 + - -0.05905122 + - -0.61749715 + - 0.20272714 + - 0.23991299 + - -0.4656125 + - -0.22473483 + - 0.6431083 + - 0.36523136 + - -0.701739 + - -1.2782115 + - -0.1456533 + - 0.9019539 + - 0.26986632 + - 0.24989243 + - 0.12236828 + - -0.61430305 + - -0.3137084 + - -0.6135048 + - 0.6377084 + - 0.008216458 + - -0.15024975 + - 0.42674693 + - 0.3510684 + - -0.29719603 + - 0.4152486 + - 0.18718334 + - -0.5660748 + - -0.45607832 + - 0.358332 + - 0.06742443 + - 0.5221704 + - -0.2873063 + - 0.44024062 + - 0.09714395 + - -0.31825516 + - 0.91384345 + - 0.26681617 + - 0.7110219 + - 0.31536126 + - -0.106210165 + - 0.21036787 + - -0.34387422 + - 0.08028897 + - -0.19421513 + - -0.39791143 + - 0.36117068 + - 0.048434127 + - -0.70501703 + - 0.3751658 + - 0.43117273 + - -0.23656349 + - -1.4066228 + - 0.3698136 + - -0.24832475 + - -0.44506982 + - -0.5751241 + - -0.22781463 + - -0.14320828 + - -0.393761 + - 0.21295702 + - -0.06982907 + - -0.03311387 + - 0.27374798 + - 0.02306599 + - -0.052146062 + - 0.8156562 + - 0.23609062 + - 0.020813847 + - -0.16842896 + - 0.54956764 + - 0.64070034 + - -0.51843536 + - 0.24302232 + - 0.9338536 + - 0.2976511 + - 0.14120528 + - -0.7582829 + - 0.39452055 + - -0.32086477 + - 0.24796665 + - -1.5737561 + - 0.30900484 + - 0.41392446 + - -0.1256241 + - 0.06961077 + - 0.04328716 + - -0.2391494 + - -0.011993309 + - 0.20346223 + - 0.2648768 + - 0.29546383 + - -0.021340163 + - 0.5644713 + - 0.17081712 + - -0.34108683 + - -0.05625518 + - 0.28664628 + - -0.52188367 + - -0.43027413 + - 0.67670864 + - 0.3247466 + - 0.25369948 + - -0.43089402 + - 0.119791485 + - 0.04703635 + - -0.18134695 + - 0.8464158 + - 0.47651017 + - 0.21205844 + - -0.07272791 + - -0.4885453 + - -0.23951046 + - -0.07143624 + - 0.50961137 + - 0.20536388 + - 0.13979307 + - 0.06669537 + - -0.26866308 + - -0.6863248 + - 0.45134982 + - 0.286019 + - 0.57926464 + - -0.38616276 + - -0.10044405 + - -0.3710921 + - 0.005546987 + - 0.5246766 + - -0.45918 + - -0.009210679 + - -0.29775384 + - -0.75135875 + - 0.2639352 + - -1.001977 + - 0.12345695 + - 0.7257471 + - 0.12250935 + - -0.16891116 + - 0.532328 + - 0.3213653 + - 0.06402653 + - -0.1646221 + - -0.58244056 + - 0.15293328 + - 0.32998145 + - 0.6886838 + - -1.0841194 + - 0.32080582 + - 0.48642683 + - -0.15814428 + - 0.18272297 + - 0.5359017 + - -0.11470451 + - -0.5349036 + - 0.31611574 + - 0.8356983 + - -0.04342453 + - 0.70769405 + - -0.3260235 + - -0.08231852 + - 0.3378211 + - -0.5986436 + - -0.12646718 + - -0.32781872 + - -0.10595077 + - 0.14412642 + - 0.0073183286 + - 0.37300435 + - -0.0933379 + - 0.076334395 + - 0.18921326 + - -0.78336173 + - 0.35516262 + - 0.19864644 + - 0.32511666 + - 0.33997038 + - -0.048473094 + - 0.4049115 + - -0.2668064 + - 0.31510764 + - 0.10422307 + - 0.05899781 + - 0.029617228 + - -0.37098244 + - -0.10036389 + - -0.28689668 + - 0.104000114 + - 0.22811621 + - 0.43467832 + - -0.2898691 + - -1.1797757 + - 0.12164108 + - 0.028120235 + - 0.1531489 + - -0.12351632 + - 0.21482968 + - -0.31962943 + - -0.36818275 + - 0.5100445 + - 0.8780865 + - 0.13454668 + - 0.15648971 + - 0.3774084 + - 0.036748175 + - 0.13718756 + - 0.0910249 + - -0.26597062 + - -0.3220383 + - 0.18494509 + - 0.057167713 + - 0.60963386 + - -0.17712252 + - -0.61140114 + - 0.027101919 + - -0.7007988 + - 0.28416857 + - -0.5284049 + - -0.2854854 + - -0.52368826 + - -0.2776362 + - -0.28421322 + - 0.21072458 + - -0.2990034 + - -1.1549343 + - 0.7430124 + - 0.42349735 + - 0.39669904 + - 0.20978172 + - -0.3973565 + - -0.67204934 + - 0.17520116 + - -0.7985479 + - 0.15287898 + - -0.2220524 + - 0.878087 + - -0.25449196 + - -0.39145458 + - -0.011332832 + - 0.38514617 + - 0.4915339 + - -0.85784084 + - 0.29650143 + - -0.46230838 +- - 0.34938118 + - -0.5106107 + - -0.33724675 + - -0.14377546 + - 0.42295066 + - 0.080605514 + - -0.05870054 + - -0.2533736 + - 0.096805826 + - 0.47147986 + - -0.30220082 + - -0.062287323 + - -0.5335452 + - -0.5569252 + - 0.1152873 + - 0.26499018 + - -0.20333672 + - 0.62200534 + - 0.37650678 + - 0.2355279 + - 0.48994657 + - -0.19641218 + - 0.3926499 + - 0.040974297 + - 0.048504103 + - 0.068754695 + - 0.074077256 + - 0.15591288 + - 0.43299398 + - 0.30289072 + - -0.11739186 + - -1.0685385 + - 0.34381604 + - -0.36778787 + - 0.42416957 + - 0.21277274 + - 0.0031650837 + - 0.03980493 + - -0.2533254 + - 0.08461736 + - 0.093675025 + - -0.11324662 + - 0.06692725 + - 0.55893296 + - -0.22641857 + - 0.022615153 + - 0.15392722 + - 0.5755415 + - 0.011407013 + - 0.35980564 + - 0.21974306 + - -0.09297501 + - 0.4367113 + - -0.23573515 + - 0.07124809 + - 0.15220049 + - 0.15272522 + - -0.17033264 + - -0.2917622 + - -0.4142479 + - -0.1133723 + - 0.058007933 + - 0.18934783 + - -0.25798455 + - -0.28384382 + - -0.21307266 + - -0.18793856 + - 10.099517 + - -0.29333264 + - 0.19593938 + - 0.10462643 + - -0.43937737 + - -0.35579664 + - -0.37670797 + - -0.39402208 + - 0.24991584 + - -0.49762017 + - 0.34469578 + - -0.31670693 + - 0.47948128 + - 0.41520944 + - -0.11301625 + - 0.46423402 + - 0.16219251 + - 0.3933815 + - 0.051284872 + - 0.05781566 + - 0.8832664 + - -0.05080145 + - 0.26123673 + - 0.11678625 + - -0.28066295 + - 0.76156986 + - 0.066791944 + - 0.83562666 + - -0.11197571 + - 0.13488016 + - 0.20096767 + - -0.20980704 + - -0.45928773 + - 0.14732412 + - 0.12771715 + - -0.017773882 + - 0.16395174 + - -0.123419054 + - 0.33333564 + - -0.42703536 + - 0.29838392 + - 0.18779437 + - -0.24272417 + - -0.6565218 + - -0.14446557 + - -0.3998034 + - -0.50993735 + - -0.15560421 + - 0.25184003 + - -0.24832739 + - -0.33523795 + - -0.09398137 + - 0.19548438 + - 0.2580461 + - 0.4457145 + - -0.64801246 + - 0.16456437 + - -0.105191424 + - 0.60747784 + - 0.5990834 + - 0.38340846 + - -0.27597246 + - 0.22335605 + - -0.30548355 + - 0.16201425 + - 0.5177926 + - -0.63812023 + - -0.22941475 + - 0.412911 + - -0.081063874 + - 0.44422537 + - 0.24877977 + - 0.5251326 + - -0.07089625 + - -0.0057357675 + - -1.6791223 + - 0.23042658 + - -0.060608152 + - -0.50519955 + - 0.82898474 + - 0.19553086 + - 0.23088019 + - 0.7794116 + - -0.01638585 + - 0.53862965 + - 0.36200878 + - 0.031350262 + - 0.07245593 + - -0.4799439 + - -0.08725797 + - -0.57107514 + - -0.11494186 + - 0.32031873 + - 0.17155556 + - -0.8416546 + - 1.0503348 + - 0.02812561 + - -0.32251388 + - 0.049411137 + - -0.47582775 + - 0.32229686 + - -0.40941733 + - -0.57846916 + - -0.6903145 + - 0.041375764 + - -0.5212008 + - -0.27806613 + - 0.36441654 + - -0.049604047 + - -0.042339463 + - -0.81961316 + - 0.8854657 + - 0.511798 + - 0.55741614 + - -0.059459846 + - -0.3761615 + - 0.12013974 + - 0.01033246 + - -0.28388098 + - 0.7159401 + - 0.11651326 + - -0.5440888 + - 0.42004067 + - -0.63942534 + - 0.030498711 + - 0.41637993 + - 0.6324795 + - 0.05462823 + - 0.36627182 + - 0.28641716 + - 0.08365602 + - 0.19796936 + - 0.4155474 + - -0.24675235 + - -0.34165946 + - -1.1408305 + - 0.5459657 + - -0.051777266 + - 0.49809122 + - -0.5024681 + - 0.12991397 + - -0.30030754 + - -0.32993302 + - -0.5474323 + - 0.06226304 + - -0.6110137 + - -0.27040514 + - 0.40687135 + - 0.59104645 + - 0.02262819 + - 0.052973587 + - 0.21853103 + - 0.17413764 + - 0.06969698 + - 0.42451033 + - -0.60262376 + - 0.15928052 + - 0.2658704 + - 0.018795839 + - 0.42409608 + - -0.1471951 + - -0.30924115 + - -0.10039016 + - -0.002060557 + - 0.03218183 + - 0.5488419 + - 0.77144593 + - -0.11896841 + - 0.43488654 + - -0.13616154 + - 0.47219867 + - -0.114221156 + - -0.010816251 + - -0.08561314 + - -0.30524844 + - 0.5766301 + - -0.0795128 + - 0.3022596 + - 0.06640264 + - -0.013633816 + - -0.06624731 + - -0.47374073 + - 0.1852819 + - 0.6147972 + - -19.987226 + - 0.25636458 + - -0.7807092 + - -3.5846238 + - -0.05432132 + - -0.10887172 + - -0.3565953 + - -0.21821423 + - 0.77597064 + - -0.17449293 + - -0.3181409 + - 0.27188843 + - 0.12619732 + - 0.5856776 + - -0.53822726 + - -0.13398394 + - 0.17988329 + - -0.22255743 + - 0.42219836 + - 0.24212098 + - -0.44121695 + - -0.4024343 + - 0.7991975 + - -0.038545858 + - 0.0052575087 + - 0.42510065 + - 0.014138841 + - -0.14127852 + - -0.1700249 + - 0.04692119 + - 0.10953789 + - -0.21354803 + - 0.23680206 + - 1.2736107 + - -0.28618956 + - -0.29065016 + - -0.17273872 + - 0.2213783 + - -0.11583165 + - -0.5023595 + - -0.70143414 + - 0.081365995 + - 0.22351064 + - -0.017807793 + - -0.22193705 + - 0.09707199 + - 0.2992851 + - 0.18385038 + - -0.3605939 + - 0.33943543 + - 0.09549754 + - 0.37160823 + - 0.6825976 + - -0.20985527 + - 0.6604706 + - 0.84790426 + - 0.10527216 + - -0.03634956 + - -0.40128633 + - 0.2502716 + - -0.15873171 + - -0.14339831 + - 0.21397479 + - -0.6543829 + - 0.53866136 + - -0.3407975 + - -0.050420683 + - 0.30681756 + - -0.29824996 + - -1.1542789 + - -0.06620971 + - 0.6504389 + - -0.042165253 + - -0.06484562 + - -0.18415153 + - 0.46008238 + - -0.20507146 + - 0.12504397 + - -0.7476157 + - -0.42810655 + - -0.3773162 + - 0.3906973 + - 0.6155185 + - 0.017193332 + - 0.10570256 + - -0.060152177 + - -0.399036 + - 0.79904413 + - 0.28697103 + - 0.9091821 + - -0.59921926 + - -0.1628232 + - -0.90001625 + - -0.35896045 + - 0.27016965 + - 0.103808485 + - 0.6945471 + - 0.2763342 + - -0.1702973 + - 0.44257897 + - -0.36725363 + - 0.03673076 + - -0.07697398 + - 0.09624869 + - -0.4460207 + - 0.8887666 + - 0.1781566 + - -0.17791858 + - -0.39802054 + - 0.5213422 + - -0.19000591 + - 0.35985014 + - -0.17268452 + - 0.29003906 + - -0.08455206 + - 0.29131046 + - 0.24830084 + - 0.5528632 + - 0.05864036 + - -0.7710372 + - 0.3871754 + - 0.53768647 + - -0.25420925 + - -0.34708565 + - 0.057481296 + - -0.13863796 + - -0.33311394 + - -0.06961799 + - 0.51188266 + - -0.12305512 + - 0.02045538 + - -0.59610873 + - -0.30176467 + - -0.30907938 + - -0.40012246 + - 0.6048357 + - 0.19509454 + - 0.086044766 + - 0.04933169 + - 0.2678667 + - -0.14196004 + - 0.3076284 + - 0.6012508 + - -0.421004 + - 0.24541153 + - 0.11258123 + - -0.2125083 + - -0.28483692 + - 0.397754 + - -0.312757 + - 0.38831547 + - -0.09692918 + - 0.75706464 + - 0.36085218 + - 0.23455128 + - 0.5113683 + - -0.06894269 + - -0.01600678 + - 0.7843088 + - 0.09861731 + - -0.25969028 + - 0.0784015 + - -0.35604534 + - -0.13135941 + - 0.13479428 + - -0.124181546 + - -0.71676505 + - 0.18386984 + - 0.19870673 + - 0.2431886 + - 0.13963757 + - 1.0274862 + - -0.23380627 + - 0.5574316 + - -0.74570954 + - 0.8761148 + - -0.7103084 + - 0.3010035 + - 0.40494823 + - -0.15995708 + - 0.18163946 + - -0.13157432 + - -0.13064203 + - -0.047061127 + - -0.42138317 + - -0.013677754 + - 0.30052662 + - -0.22256099 + - -0.57224023 + - -0.010003452 + - 0.28350672 + - 0.5432472 + - 0.5652908 + - -0.81954294 + - -0.021392252 + - -0.13306251 + - -0.19206128 + - 0.34139967 + - 0.444823 + - -0.042298786 + - 0.38794398 + - 0.2673128 + - 0.42635554 + - 0.67965275 + - 0.4300317 + - 0.62833786 + - -0.14469333 + - 0.13309358 + - 0.06059465 + - 0.44551829 + - 0.45627326 + - -0.5199569 + - 0.40342784 + - -0.31848982 + - 0.044651292 + - -0.42732924 + - 0.28373045 + - 0.21714142 + - 0.1448094 + - -0.14638571 + - 0.50290275 + - -0.3438672 + - 0.5840459 + - 0.2601524 + - -0.67418784 + - 0.5373621 + - -0.12545066 + - 1.0906112 + - 0.26692218 + - -0.22478184 + - 0.36817026 + - -0.40673804 + - -0.7309609 + - -0.30309418 + - 0.32768196 + - 0.13767713 + - 0.56073487 + - 0.25593626 + - -0.4209361 + - 0.607189 + - -0.52357334 + - -0.15401863 + - 0.20606396 + - 0.1645447 + - 0.62253225 + - 0.0630601 + - -0.01758799 + - 0.55806553 + - -0.14755407 + - 0.54959476 + - 0.14670031 + - 0.4439455 + - 0.4675572 + - 0.05646679 + - -0.0555495 + - -0.041453514 + - -0.10492195 + - -0.15854429 + - -0.5101398 + - 0.3669673 + - 0.54906726 + - 0.30321106 + - 0.11542117 + - 0.12380533 + - 0.26437837 + - -0.29162103 + - 0.32325092 + - -0.16665533 + - 0.5909973 + - 0.04250509 + - 0.36164066 + - -0.13114546 + - -0.025212262 + - -0.4790531 + - 0.5293778 + - -0.37834212 + - 0.028871285 + - -0.21952064 + - 0.10989284 + - -0.3234742 + - -0.026089933 + - 0.14740874 + - -0.06485848 + - -0.71096295 + - -1.4654349 + - -0.13158312 + - 0.49152407 + - 0.009623888 + - 0.15454943 + - 0.15690231 + - -0.3366948 + - -0.092332944 + - -0.2195935 + - 0.025355592 + - -0.14270267 + - -0.123893835 + - 0.009550363 + - 0.49335307 + - 0.13307992 + - 0.48906693 + - 0.28351146 + - -0.2493592 + - -0.17562775 + - 0.13916744 + - 0.16789684 + - 0.18733343 + - -0.17947194 + - 0.52397245 + - 0.27225366 + - 0.09387612 + - 0.90985477 + - 0.15488343 + - 1.0374448 + - 0.28939614 + - -0.37948802 + - 0.14916803 + - -0.6460858 + - -0.2171144 + - -0.10297281 + - -0.07652064 + - 0.11816683 + - -0.06397329 + - -0.28507218 + - 0.494763 + - 0.2032562 + - -0.09985637 + - -0.6599787 + - -0.1663313 + - -0.439354 + - 0.19193758 + - -0.102282785 + - -0.13468574 + - 0.22745156 + - -0.27961227 + - 0.17719606 + - 0.25270763 + - -0.043502476 + - 0.3512094 + - -0.22702739 + - 0.16744027 + - 0.7090984 + - 0.34810296 + - 0.13033624 + - -0.2028989 + - 0.34289747 + - 0.52960044 + - -0.5264291 + - 0.75653404 + - 0.7847978 + - 0.6126623 + - 0.067826666 + - -0.3428157 + - 0.15940502 + - -0.06764568 + - -0.07195717 + - 0.13306312 + - 0.67086315 + - 0.08180193 + - -0.2720733 + - -0.14427172 + - 0.25154665 + - -0.29464656 + - 0.03424729 + - -0.25294217 + - 0.18158443 + - 0.038542885 + - -0.24986313 + - 0.24797918 + - -0.022259245 + - -0.24221401 + - 0.28994456 + - -0.10076807 + - -0.5543355 + - -0.37688842 + - 0.28897327 + - 0.23776725 + - 0.14170568 + - -0.7512676 + - -0.24916433 + - -0.226486 + - -0.17375162 + - 0.43958607 + - 0.8655924 + - 0.2313802 + - 0.26408678 + - -0.49011254 + - -0.06094396 + - -0.15544629 + - 0.22629511 + - -0.027327746 + - 0.19819821 + - 0.21669795 + - -0.23975836 + - -0.5517177 + - -0.048841305 + - 0.4485917 + - 0.38722828 + - -0.23369716 + - -0.5196006 + - -0.6068903 + - -0.19575705 + - 0.44828698 + - -0.36015075 + - -0.1423914 + - -0.17693207 + - -0.5619168 + - 0.31862172 + - -0.3411282 + - 0.15691637 + - 0.93998814 + - 0.30482954 + - -0.3488545 + - 0.31866828 + - 0.42269877 + - 0.7052697 + - 0.17411038 + - -0.19266228 + - 0.023301067 + - 0.25516593 + - 0.086428 + - -0.60372275 + - 0.05167707 + - 0.01207489 + - 0.76991165 + - 0.50486207 + - 0.13814177 + - -0.15061566 + - -0.35813192 + - 0.27007708 + - 0.45613584 + - -0.045845747 + - 0.39350173 + - -0.1895876 + - -0.03330286 + - 0.18303333 + - -0.28471044 + - 0.056851167 + - 0.23755535 + - -0.22600965 + - 0.3703503 + - -0.15900794 + - 0.18936087 + - -0.07516175 + - 0.3205244 + - 0.14041503 + - -0.77208143 + - 0.547323 + - 0.32161283 + - -0.026504159 + - 0.40092152 + - -0.23700473 + - 0.14004576 + - -0.12637398 + - 0.2154273 + - 0.011353775 + - 0.2538325 + - 0.036679156 + - -0.48862785 + - 0.09410244 + - 0.11608916 + - -0.021461133 + - 0.23351462 + - 0.03785808 + - -0.29443693 + - -0.8383231 + - 0.10595101 + - 0.12326203 + - -0.20413648 + - 0.17045371 + - 0.29786333 + - -0.2519147 + - -0.02092876 + - 0.5629991 + - 0.851184 + - 0.3025756 + - -0.0044959327 + - 0.5584672 + - -0.18084967 + - 0.030940142 + - -0.2331576 + - -0.08313205 + - 0.09860725 + - 0.053446822 + - 0.024625655 + - 0.5226554 + - -0.47625294 + - -0.45393154 + - 0.07795901 + - -0.25724998 + - 0.3787623 + - -0.10943724 + - -0.03690427 + - -0.08656395 + - 0.4076857 + - -0.4381267 + - -0.22672419 + - -0.3695102 + - -0.8890651 + - 0.42467332 + - -0.004685886 + - 0.6506019 + - -0.033665918 + - -0.5856341 + - -0.69820684 + - 0.05872496 + - -0.24768828 + - 0.378814 + - 0.02949277 + - 0.35528043 + - -0.2552964 + - 0.009759119 + - 0.1499362 + - 0.34912968 + - 0.55290455 + - -0.40279657 + - -0.07886551 + - -0.25116703 diff --git a/backends/candle/tests/snapshots/test_modernbert__mini_single.snap b/backends/candle/tests/snapshots/test_modernbert__mini_single.snap new file mode 100644 index 00000000..6cce986f --- /dev/null +++ b/backends/candle/tests/snapshots/test_modernbert__mini_single.snap @@ -0,0 +1,772 @@ +--- +source: backends/candle/tests/test_modernbert.rs +expression: embeddings_single +--- +- - 0.34938118 + - -0.5106107 + - -0.33724675 + - -0.14377546 + - 0.42295066 + - 0.080605514 + - -0.05870054 + - -0.2533736 + - 0.096805826 + - 0.47147986 + - -0.30220082 + - -0.062287323 + - -0.5335452 + - -0.5569252 + - 0.1152873 + - 0.26499018 + - -0.20333672 + - 0.62200534 + - 0.37650678 + - 0.2355279 + - 0.48994657 + - -0.19641218 + - 0.3926499 + - 0.040974297 + - 0.048504103 + - 0.068754695 + - 0.074077256 + - 0.15591288 + - 0.43299398 + - 0.30289072 + - -0.11739186 + - -1.0685385 + - 0.34381604 + - -0.36778787 + - 0.42416957 + - 0.21277274 + - 0.0031650837 + - 0.03980493 + - -0.2533254 + - 0.08461736 + - 0.093675025 + - -0.11324662 + - 0.06692725 + - 0.55893296 + - -0.22641857 + - 0.022615153 + - 0.15392722 + - 0.5755415 + - 0.011407013 + - 0.35980564 + - 0.21974306 + - -0.09297501 + - 0.4367113 + - -0.23573515 + - 0.07124809 + - 0.15220049 + - 0.15272522 + - -0.17033264 + - -0.2917622 + - -0.4142479 + - -0.1133723 + - 0.058007933 + - 0.18934783 + - -0.25798455 + - -0.28384382 + - -0.21307266 + - -0.18793856 + - 10.099517 + - -0.29333264 + - 0.19593938 + - 0.10462643 + - -0.43937737 + - -0.35579664 + - -0.37670797 + - -0.39402208 + - 0.24991584 + - -0.49762017 + - 0.34469578 + - -0.31670693 + - 0.47948128 + - 0.41520944 + - -0.11301625 + - 0.46423402 + - 0.16219251 + - 0.3933815 + - 0.051284872 + - 0.05781566 + - 0.8832664 + - -0.05080145 + - 0.26123673 + - 0.11678625 + - -0.28066295 + - 0.76156986 + - 0.066791944 + - 0.83562666 + - -0.11197571 + - 0.13488016 + - 0.20096767 + - -0.20980704 + - -0.45928773 + - 0.14732412 + - 0.12771715 + - -0.017773882 + - 0.16395174 + - -0.123419054 + - 0.33333564 + - -0.42703536 + - 0.29838392 + - 0.18779437 + - -0.24272417 + - -0.6565218 + - -0.14446557 + - -0.3998034 + - -0.50993735 + - -0.15560421 + - 0.25184003 + - -0.24832739 + - -0.33523795 + - -0.09398137 + - 0.19548438 + - 0.2580461 + - 0.4457145 + - -0.64801246 + - 0.16456437 + - -0.105191424 + - 0.60747784 + - 0.5990834 + - 0.38340846 + - -0.27597246 + - 0.22335605 + - -0.30548355 + - 0.16201425 + - 0.5177926 + - -0.63812023 + - -0.22941475 + - 0.412911 + - -0.081063874 + - 0.44422537 + - 0.24877977 + - 0.5251326 + - -0.07089625 + - -0.0057357675 + - -1.6791223 + - 0.23042658 + - -0.060608152 + - -0.50519955 + - 0.82898474 + - 0.19553086 + - 0.23088019 + - 0.7794116 + - -0.01638585 + - 0.53862965 + - 0.36200878 + - 0.031350262 + - 0.07245593 + - -0.4799439 + - -0.08725797 + - -0.57107514 + - -0.11494186 + - 0.32031873 + - 0.17155556 + - -0.8416546 + - 1.0503348 + - 0.02812561 + - -0.32251388 + - 0.049411137 + - -0.47582775 + - 0.32229686 + - -0.40941733 + - -0.57846916 + - -0.6903145 + - 0.041375764 + - -0.5212008 + - -0.27806613 + - 0.36441654 + - -0.049604047 + - -0.042339463 + - -0.81961316 + - 0.8854657 + - 0.511798 + - 0.55741614 + - -0.059459846 + - -0.3761615 + - 0.12013974 + - 0.01033246 + - -0.28388098 + - 0.7159401 + - 0.11651326 + - -0.5440888 + - 0.42004067 + - -0.63942534 + - 0.030498711 + - 0.41637993 + - 0.6324795 + - 0.05462823 + - 0.36627182 + - 0.28641716 + - 0.08365602 + - 0.19796936 + - 0.4155474 + - -0.24675235 + - -0.34165946 + - -1.1408305 + - 0.5459657 + - -0.051777266 + - 0.49809122 + - -0.5024681 + - 0.12991397 + - -0.30030754 + - -0.32993302 + - -0.5474323 + - 0.06226304 + - -0.6110137 + - -0.27040514 + - 0.40687135 + - 0.59104645 + - 0.02262819 + - 0.052973587 + - 0.21853103 + - 0.17413764 + - 0.06969698 + - 0.42451033 + - -0.60262376 + - 0.15928052 + - 0.2658704 + - 0.018795839 + - 0.42409608 + - -0.1471951 + - -0.30924115 + - -0.10039016 + - -0.002060557 + - 0.03218183 + - 0.5488419 + - 0.77144593 + - -0.11896841 + - 0.43488654 + - -0.13616154 + - 0.47219867 + - -0.114221156 + - -0.010816251 + - -0.08561314 + - -0.30524844 + - 0.5766301 + - -0.0795128 + - 0.3022596 + - 0.06640264 + - -0.013633816 + - -0.06624731 + - -0.47374073 + - 0.1852819 + - 0.6147972 + - -19.987226 + - 0.25636458 + - -0.7807092 + - -3.5846238 + - -0.05432132 + - -0.10887172 + - -0.3565953 + - -0.21821423 + - 0.77597064 + - -0.17449293 + - -0.3181409 + - 0.27188843 + - 0.12619732 + - 0.5856776 + - -0.53822726 + - -0.13398394 + - 0.17988329 + - -0.22255743 + - 0.42219836 + - 0.24212098 + - -0.44121695 + - -0.4024343 + - 0.7991975 + - -0.038545858 + - 0.0052575087 + - 0.42510065 + - 0.014138841 + - -0.14127852 + - -0.1700249 + - 0.04692119 + - 0.10953789 + - -0.21354803 + - 0.23680206 + - 1.2736107 + - -0.28618956 + - -0.29065016 + - -0.17273872 + - 0.2213783 + - -0.11583165 + - -0.5023595 + - -0.70143414 + - 0.081365995 + - 0.22351064 + - -0.017807793 + - -0.22193705 + - 0.09707199 + - 0.2992851 + - 0.18385038 + - -0.3605939 + - 0.33943543 + - 0.09549754 + - 0.37160823 + - 0.6825976 + - -0.20985527 + - 0.6604706 + - 0.84790426 + - 0.10527216 + - -0.03634956 + - -0.40128633 + - 0.2502716 + - -0.15873171 + - -0.14339831 + - 0.21397479 + - -0.6543829 + - 0.53866136 + - -0.3407975 + - -0.050420683 + - 0.30681756 + - -0.29824996 + - -1.1542789 + - -0.06620971 + - 0.6504389 + - -0.042165253 + - -0.06484562 + - -0.18415153 + - 0.46008238 + - -0.20507146 + - 0.12504397 + - -0.7476157 + - -0.42810655 + - -0.3773162 + - 0.3906973 + - 0.6155185 + - 0.017193332 + - 0.10570256 + - -0.060152177 + - -0.399036 + - 0.79904413 + - 0.28697103 + - 0.9091821 + - -0.59921926 + - -0.1628232 + - -0.90001625 + - -0.35896045 + - 0.27016965 + - 0.103808485 + - 0.6945471 + - 0.2763342 + - -0.1702973 + - 0.44257897 + - -0.36725363 + - 0.03673076 + - -0.07697398 + - 0.09624869 + - -0.4460207 + - 0.8887666 + - 0.1781566 + - -0.17791858 + - -0.39802054 + - 0.5213422 + - -0.19000591 + - 0.35985014 + - -0.17268452 + - 0.29003906 + - -0.08455206 + - 0.29131046 + - 0.24830084 + - 0.5528632 + - 0.05864036 + - -0.7710372 + - 0.3871754 + - 0.53768647 + - -0.25420925 + - -0.34708565 + - 0.057481296 + - -0.13863796 + - -0.33311394 + - -0.06961799 + - 0.51188266 + - -0.12305512 + - 0.02045538 + - -0.59610873 + - -0.30176467 + - -0.30907938 + - -0.40012246 + - 0.6048357 + - 0.19509454 + - 0.086044766 + - 0.04933169 + - 0.2678667 + - -0.14196004 + - 0.3076284 + - 0.6012508 + - -0.421004 + - 0.24541153 + - 0.11258123 + - -0.2125083 + - -0.28483692 + - 0.397754 + - -0.312757 + - 0.38831547 + - -0.09692918 + - 0.75706464 + - 0.36085218 + - 0.23455128 + - 0.5113683 + - -0.06894269 + - -0.01600678 + - 0.7843088 + - 0.09861731 + - -0.25969028 + - 0.0784015 + - -0.35604534 + - -0.13135941 + - 0.13479428 + - -0.124181546 + - -0.71676505 + - 0.18386984 + - 0.19870673 + - 0.2431886 + - 0.13963757 + - 1.0274862 + - -0.23380627 + - 0.5574316 + - -0.74570954 + - 0.8761148 + - -0.7103084 + - 0.3010035 + - 0.40494823 + - -0.15995708 + - 0.18163946 + - -0.13157432 + - -0.13064203 + - -0.047061127 + - -0.42138317 + - -0.013677754 + - 0.30052662 + - -0.22256099 + - -0.57224023 + - -0.010003452 + - 0.28350672 + - 0.5432472 + - 0.5652908 + - -0.81954294 + - -0.021392252 + - -0.13306251 + - -0.19206128 + - 0.34139967 + - 0.444823 + - -0.042298786 + - 0.38794398 + - 0.2673128 + - 0.42635554 + - 0.67965275 + - 0.4300317 + - 0.62833786 + - -0.14469333 + - 0.13309358 + - 0.06059465 + - 0.44551829 + - 0.45627326 + - -0.5199569 + - 0.40342784 + - -0.31848982 + - 0.044651292 + - -0.42732924 + - 0.28373045 + - 0.21714142 + - 0.1448094 + - -0.14638571 + - 0.50290275 + - -0.3438672 + - 0.5840459 + - 0.2601524 + - -0.67418784 + - 0.5373621 + - -0.12545066 + - 1.0906112 + - 0.26692218 + - -0.22478184 + - 0.36817026 + - -0.40673804 + - -0.7309609 + - -0.30309418 + - 0.32768196 + - 0.13767713 + - 0.56073487 + - 0.25593626 + - -0.4209361 + - 0.607189 + - -0.52357334 + - -0.15401863 + - 0.20606396 + - 0.1645447 + - 0.62253225 + - 0.0630601 + - -0.01758799 + - 0.55806553 + - -0.14755407 + - 0.54959476 + - 0.14670031 + - 0.4439455 + - 0.4675572 + - 0.05646679 + - -0.0555495 + - -0.041453514 + - -0.10492195 + - -0.15854429 + - -0.5101398 + - 0.3669673 + - 0.54906726 + - 0.30321106 + - 0.11542117 + - 0.12380533 + - 0.26437837 + - -0.29162103 + - 0.32325092 + - -0.16665533 + - 0.5909973 + - 0.04250509 + - 0.36164066 + - -0.13114546 + - -0.025212262 + - -0.4790531 + - 0.5293778 + - -0.37834212 + - 0.028871285 + - -0.21952064 + - 0.10989284 + - -0.3234742 + - -0.026089933 + - 0.14740874 + - -0.06485848 + - -0.71096295 + - -1.4654349 + - -0.13158312 + - 0.49152407 + - 0.009623888 + - 0.15454943 + - 0.15690231 + - -0.3366948 + - -0.092332944 + - -0.2195935 + - 0.025355592 + - -0.14270267 + - -0.123893835 + - 0.009550363 + - 0.49335307 + - 0.13307992 + - 0.48906693 + - 0.28351146 + - -0.2493592 + - -0.17562775 + - 0.13916744 + - 0.16789684 + - 0.18733343 + - -0.17947194 + - 0.52397245 + - 0.27225366 + - 0.09387612 + - 0.90985477 + - 0.15488343 + - 1.0374448 + - 0.28939614 + - -0.37948802 + - 0.14916803 + - -0.6460858 + - -0.2171144 + - -0.10297281 + - -0.07652064 + - 0.11816683 + - -0.06397329 + - -0.28507218 + - 0.494763 + - 0.2032562 + - -0.09985637 + - -0.6599787 + - -0.1663313 + - -0.439354 + - 0.19193758 + - -0.102282785 + - -0.13468574 + - 0.22745156 + - -0.27961227 + - 0.17719606 + - 0.25270763 + - -0.043502476 + - 0.3512094 + - -0.22702739 + - 0.16744027 + - 0.7090984 + - 0.34810296 + - 0.13033624 + - -0.2028989 + - 0.34289747 + - 0.52960044 + - -0.5264291 + - 0.75653404 + - 0.7847978 + - 0.6126623 + - 0.067826666 + - -0.3428157 + - 0.15940502 + - -0.06764568 + - -0.07195717 + - 0.13306312 + - 0.67086315 + - 0.08180193 + - -0.2720733 + - -0.14427172 + - 0.25154665 + - -0.29464656 + - 0.03424729 + - -0.25294217 + - 0.18158443 + - 0.038542885 + - -0.24986313 + - 0.24797918 + - -0.022259245 + - -0.24221401 + - 0.28994456 + - -0.10076807 + - -0.5543355 + - -0.37688842 + - 0.28897327 + - 0.23776725 + - 0.14170568 + - -0.7512676 + - -0.24916433 + - -0.226486 + - -0.17375162 + - 0.43958607 + - 0.8655924 + - 0.2313802 + - 0.26408678 + - -0.49011254 + - -0.06094396 + - -0.15544629 + - 0.22629511 + - -0.027327746 + - 0.19819821 + - 0.21669795 + - -0.23975836 + - -0.5517177 + - -0.048841305 + - 0.4485917 + - 0.38722828 + - -0.23369716 + - -0.5196006 + - -0.6068903 + - -0.19575705 + - 0.44828698 + - -0.36015075 + - -0.1423914 + - -0.17693207 + - -0.5619168 + - 0.31862172 + - -0.3411282 + - 0.15691637 + - 0.93998814 + - 0.30482954 + - -0.3488545 + - 0.31866828 + - 0.42269877 + - 0.7052697 + - 0.17411038 + - -0.19266228 + - 0.023301067 + - 0.25516593 + - 0.086428 + - -0.60372275 + - 0.05167707 + - 0.01207489 + - 0.76991165 + - 0.50486207 + - 0.13814177 + - -0.15061566 + - -0.35813192 + - 0.27007708 + - 0.45613584 + - -0.045845747 + - 0.39350173 + - -0.1895876 + - -0.03330286 + - 0.18303333 + - -0.28471044 + - 0.056851167 + - 0.23755535 + - -0.22600965 + - 0.3703503 + - -0.15900794 + - 0.18936087 + - -0.07516175 + - 0.3205244 + - 0.14041503 + - -0.77208143 + - 0.547323 + - 0.32161283 + - -0.026504159 + - 0.40092152 + - -0.23700473 + - 0.14004576 + - -0.12637398 + - 0.2154273 + - 0.011353775 + - 0.2538325 + - 0.036679156 + - -0.48862785 + - 0.09410244 + - 0.11608916 + - -0.021461133 + - 0.23351462 + - 0.03785808 + - -0.29443693 + - -0.8383231 + - 0.10595101 + - 0.12326203 + - -0.20413648 + - 0.17045371 + - 0.29786333 + - -0.2519147 + - -0.02092876 + - 0.5629991 + - 0.851184 + - 0.3025756 + - -0.0044959327 + - 0.5584672 + - -0.18084967 + - 0.030940142 + - -0.2331576 + - -0.08313205 + - 0.09860725 + - 0.053446822 + - 0.024625655 + - 0.5226554 + - -0.47625294 + - -0.45393154 + - 0.07795901 + - -0.25724998 + - 0.3787623 + - -0.10943724 + - -0.03690427 + - -0.08656395 + - 0.4076857 + - -0.4381267 + - -0.22672419 + - -0.3695102 + - -0.8890651 + - 0.42467332 + - -0.004685886 + - 0.6506019 + - -0.033665918 + - -0.5856341 + - -0.69820684 + - 0.05872496 + - -0.24768828 + - 0.378814 + - 0.02949277 + - 0.35528043 + - -0.2552964 + - 0.009759119 + - 0.1499362 + - 0.34912968 + - 0.55290455 + - -0.40279657 + - -0.07886551 + - -0.25116703 diff --git a/backends/candle/tests/test_modernbert.rs b/backends/candle/tests/test_modernbert.rs new file mode 100644 index 00000000..e87796a9 --- /dev/null +++ b/backends/candle/tests/test_modernbert.rs @@ -0,0 +1,137 @@ +mod common; + +use crate::common::{sort_embeddings, SnapshotEmbeddings}; +use anyhow::Result; +use common::{batch, cosine_matcher, download_artifacts, load_tokenizer}; +use text_embeddings_backend_candle::CandleBackend; +use text_embeddings_backend_core::{Backend, ModelType, Pool}; + +#[test] +#[serial_test::serial] +fn test_mini() -> Result<()> { + let model_root = download_artifacts("answerdotai/ModernBERT-base", None)?; + let tokenizer = load_tokenizer(&model_root)?; + + let backend = CandleBackend::new( + &model_root, + "float32".to_string(), + ModelType::Embedding(Pool::Mean), + )?; + + let input_batch = batch( + vec![ + tokenizer.encode("What is Deep Learning?", true).unwrap(), + tokenizer.encode("Deep Learning is...", true).unwrap(), + tokenizer.encode("What is Deep Learning?", true).unwrap(), + ], + [0, 1, 2].to_vec(), + vec![], + ); + + let matcher = cosine_matcher(); + + let (pooled_embeddings, _) = sort_embeddings(backend.embed(input_batch)?); + let embeddings_batch = SnapshotEmbeddings::from(pooled_embeddings); + insta::assert_yaml_snapshot!("mini_batch", embeddings_batch, &matcher); + + let input_single = batch( + vec![tokenizer.encode("What is Deep Learning?", true).unwrap()], + [0].to_vec(), + vec![], + ); + + let (pooled_embeddings, _) = sort_embeddings(backend.embed(input_single)?); + let embeddings_single = SnapshotEmbeddings::from(pooled_embeddings); + + insta::assert_yaml_snapshot!("mini_single", embeddings_single, &matcher); + assert_eq!(embeddings_batch[0], embeddings_single[0]); + assert_eq!(embeddings_batch[2], embeddings_single[0]); + + let input_batch = batch( + vec![ + tokenizer.encode("What is Deep Learning?", true).unwrap(), + tokenizer.encode("Deep Learning is...", true).unwrap(), + ], + [0].to_vec(), + [1].to_vec(), + ); + + let (pooled_embeddings, raw_embeddings) = sort_embeddings(backend.embed(input_batch)?); + let pooled_embeddings = SnapshotEmbeddings::from(pooled_embeddings); + let raw_embeddings = SnapshotEmbeddings::from(raw_embeddings); + + assert_eq!(embeddings_batch[0], pooled_embeddings[0]); + assert_eq!(raw_embeddings.len(), 6); + + Ok(()) +} + +#[test] +#[serial_test::serial] +fn test_mini_pooled_raw() -> Result<()> { + let model_root = download_artifacts("sentence-transformers/all-mpnet-base-v2", None)?; + let tokenizer = load_tokenizer(&model_root)?; + + let backend = CandleBackend::new( + &model_root, + "float32".to_string(), + ModelType::Embedding(Pool::Cls), + )?; + + let input_batch = batch( + vec![ + tokenizer.encode("What is Deep Learning?", true).unwrap(), + tokenizer.encode("What is Deep Learning?", true).unwrap(), + tokenizer.encode("Deep Learning is...", true).unwrap(), + tokenizer.encode("What is Deep Learning?", true).unwrap(), + tokenizer.encode("Deep Learning is...", true).unwrap(), + tokenizer.encode("What is Deep Learning?", true).unwrap(), + ], + [0, 2, 3].to_vec(), + [1, 4, 5].to_vec(), + ); + + let matcher = cosine_matcher(); + + let (pooled_embeddings, raw_embeddings) = sort_embeddings(backend.embed(input_batch)?); + let pooled_embeddings_batch = SnapshotEmbeddings::from(pooled_embeddings); + insta::assert_yaml_snapshot!("mini_batch_pooled", pooled_embeddings_batch, &matcher); + + let raw_embeddings_batch = SnapshotEmbeddings::from(raw_embeddings); + insta::assert_yaml_snapshot!("mini_batch_raw", raw_embeddings_batch, &matcher); + + // Check that the first token of each raw embeddings member is the same as the cls pooling ones + assert_eq!(pooled_embeddings_batch[0], raw_embeddings_batch[0]); + assert_eq!(pooled_embeddings_batch[1], raw_embeddings_batch[7]); + assert_eq!(pooled_embeddings_batch[2], raw_embeddings_batch[15]); + assert_eq!(raw_embeddings_batch.len(), 22); + + let input_single = batch( + vec![tokenizer.encode("What is Deep Learning?", true).unwrap()], + [0].to_vec(), + vec![], + ); + + let (pooled_embeddings, _) = sort_embeddings(backend.embed(input_single)?); + let embeddings_single = SnapshotEmbeddings::from(pooled_embeddings); + insta::assert_yaml_snapshot!("mini_single_pooled", embeddings_single, &matcher); + + assert_eq!(pooled_embeddings_batch[0], embeddings_single[0]); + assert_eq!(pooled_embeddings_batch[2], embeddings_single[0]); + + let input_single = batch( + vec![tokenizer.encode("What is Deep Learning?", true).unwrap()], + vec![], + [0].to_vec(), + ); + + let (_, raw_embeddings) = sort_embeddings(backend.embed(input_single)?); + let embeddings_single = SnapshotEmbeddings::from(raw_embeddings); + insta::assert_yaml_snapshot!("mini_single_raw", embeddings_single, &matcher); + + assert_eq!(raw_embeddings_batch[0], embeddings_single[0]); + assert_eq!(raw_embeddings_batch[15], embeddings_single[0]); + assert_eq!(embeddings_single.len(), 7); + + Ok(()) +} diff --git a/router/src/lib.rs b/router/src/lib.rs index e01ede28..488e78b1 100644 --- a/router/src/lib.rs +++ b/router/src/lib.rs @@ -147,13 +147,13 @@ pub async fn run( .build() .unwrap(); match tokenizer.get_post_processor() { - None => tokenizer.with_post_processor(template), + None => tokenizer.with_post_processor(Some(template)), Some(post_processor) => { let post_processor = Sequence::new(vec![ post_processor.clone(), PostProcessorWrapper::Template(template), ]); - tokenizer.with_post_processor(post_processor) + tokenizer.with_post_processor(Some(post_processor)) } }; } From ddac4144ec4c3fa712d94a7d1511062c51b18298 Mon Sep 17 00:00:00 2001 From: kozistr Date: Wed, 25 Dec 2024 16:41:27 +0900 Subject: [PATCH 03/14] update: tests --- .../test_modernbert__mini_batch_pooled.snap | 2308 +++ .../test_modernbert__mini_batch_raw.snap | 16900 ++++++++++++++++ .../test_modernbert__mini_single_pooled.snap | 772 + .../test_modernbert__mini_single_raw.snap | 5380 +++++ 4 files changed, 25360 insertions(+) create mode 100644 backends/candle/tests/snapshots/test_modernbert__mini_batch_pooled.snap create mode 100644 backends/candle/tests/snapshots/test_modernbert__mini_batch_raw.snap create mode 100644 backends/candle/tests/snapshots/test_modernbert__mini_single_pooled.snap create mode 100644 backends/candle/tests/snapshots/test_modernbert__mini_single_raw.snap diff --git a/backends/candle/tests/snapshots/test_modernbert__mini_batch_pooled.snap b/backends/candle/tests/snapshots/test_modernbert__mini_batch_pooled.snap new file mode 100644 index 00000000..3d0b7bdf --- /dev/null +++ b/backends/candle/tests/snapshots/test_modernbert__mini_batch_pooled.snap @@ -0,0 +1,2308 @@ +--- +source: backends/candle/tests/test_modernbert.rs +expression: pooled_embeddings_batch +--- +- - -0.021286005 + - -0.09353113 + - -0.14283837 + - 0.022934273 + - -0.028500587 + - 0.095609024 + - 0.00070146006 + - -0.110255316 + - 0.018443955 + - -0.0016491897 + - 0.18205285 + - -0.011736637 + - -0.116643414 + - 0.051004447 + - 0.15961954 + - 0.00902732 + - 0.13890456 + - -0.20026925 + - 0.066651404 + - -0.21122459 + - -0.14654595 + - -0.10961836 + - -0.023710817 + - 0.0034521054 + - 0.032206915 + - -0.16804647 + - -0.039991993 + - 0.0050881165 + - -0.23678355 + - -0.016211245 + - 0.06819264 + - -0.10674894 + - 0.097781934 + - 0.17925738 + - 0.0000061699134 + - -0.000022031367 + - 0.027469918 + - 0.004492916 + - -0.07869914 + - 0.019858934 + - -0.022118207 + - 0.15933776 + - -0.010839479 + - 0.03285962 + - -0.12126929 + - -0.25177756 + - 0.18791425 + - -0.020878278 + - -0.10295729 + - 0.09713832 + - 0.08511384 + - -0.26531634 + - 0.16451019 + - -0.15096757 + - 0.08414576 + - -0.14594111 + - 0.121605 + - 0.0589075 + - -0.069887206 + - -0.23495322 + - -0.08404344 + - 0.015921988 + - 0.04337343 + - -0.06004811 + - 0.07862546 + - -0.15011525 + - 0.07629426 + - -0.15861504 + - 0.07275523 + - 0.11175991 + - -0.1547071 + - 0.08795724 + - -0.061846744 + - 0.09983074 + - -0.105798446 + - -0.13760231 + - -0.018956253 + - 0.036056407 + - -0.017589573 + - -0.029680556 + - -0.06165267 + - -0.082435064 + - 0.14047071 + - 0.070780694 + - -0.051195834 + - -0.036292512 + - -0.11652742 + - -0.015289275 + - -0.06483871 + - -0.062037848 + - 0.12067972 + - -0.1014583 + - 0.12839948 + - 0.045939863 + - -0.08560161 + - 0.021248523 + - 0.1014214 + - -0.10141803 + - 0.0039834883 + - -0.032768667 + - -0.036861196 + - -0.15774737 + - -0.085186735 + - 0.012612204 + - -0.11755192 + - 0.13497034 + - -0.1697908 + - 0.08263815 + - -0.005661605 + - 0.09637846 + - -0.015788943 + - 0.0082601495 + - -0.037435263 + - 0.13614725 + - -0.15649034 + - -0.11848718 + - -0.006977251 + - 0.026885144 + - -0.11100542 + - -0.12409858 + - -0.104232304 + - 0.11753994 + - -0.123132326 + - 0.20530993 + - -0.15986635 + - 0.07967101 + - -0.08922962 + - 0.021127652 + - 0.11097858 + - 0.050263427 + - 0.070297666 + - -0.036078252 + - 0.001828949 + - 0.06652341 + - 0.07133193 + - 0.3071608 + - 0.04794929 + - 0.01387159 + - -0.20555131 + - -0.10883626 + - 0.06829371 + - -0.08012298 + - 0.020684214 + - -0.1476777 + - -0.02026328 + - -0.15341398 + - 0.14166863 + - -0.17306574 + - -0.07518389 + - -0.05826451 + - -0.050747756 + - 0.12625204 + - -0.15811773 + - -0.17011085 + - 0.25079814 + - 0.023179978 + - 0.11567086 + - 0.025122583 + - -0.104654774 + - 0.02684424 + - 0.051277623 + - 0.040597327 + - -0.051028114 + - -0.12442267 + - 0.036383837 + - -0.013471827 + - -0.10104215 + - -0.077168696 + - -0.11463488 + - 0.049370315 + - 0.04123476 + - 0.09355912 + - -0.055695474 + - 0.22378837 + - 0.26443803 + - 0.20048366 + - 0.099607274 + - 0.33051196 + - -0.10999335 + - -0.036271837 + - 0.07223277 + - -0.21923426 + - 0.010018221 + - 0.11703321 + - 0.08101828 + - -0.020999635 + - 0.13941291 + - 0.1638137 + - -0.13259926 + - -0.23363002 + - 0.101515405 + - -0.16785255 + - -0.012223834 + - -0.06303589 + - 0.11525367 + - -0.056009784 + - 0.0014734752 + - -0.19678445 + - -0.07512191 + - 0.13514483 + - -0.007063318 + - -0.19929421 + - -0.0003462718 + - 0.06295859 + - -0.08025368 + - -0.047088623 + - -0.06558345 + - -0.124427184 + - -0.036886703 + - -0.05048355 + - -0.038227446 + - 0.17467767 + - 0.012105241 + - 0.0886784 + - -0.0870392 + - -0.057629738 + - -0.010228584 + - 0.26593143 + - -0.16990624 + - -0.025660947 + - -0.039400633 + - -0.000031347387 + - -0.14527811 + - -0.11384389 + - -0.041437384 + - -0.16524856 + - 0.08730654 + - 0.010587539 + - 0.03518397 + - 0.12400702 + - 0.06930591 + - 0.049184605 + - 0.12816969 + - 0.010197577 + - -0.119073145 + - -0.025085267 + - 0.020842101 + - 0.15660563 + - 0.010166347 + - -0.2995258 + - 0.027060825 + - 0.20220216 + - 0.06545743 + - -0.13572058 + - 0.18707879 + - -0.06493996 + - -0.06912038 + - -0.12442277 + - -0.0071104183 + - -0.11454419 + - -0.07027994 + - -0.120579526 + - 0.20172916 + - 0.111913644 + - -0.06086434 + - 0.06994457 + - -0.03437047 + - 0.022748508 + - -0.052424535 + - -0.099889174 + - 0.1353283 + - -0.045956574 + - 0.026334343 + - 0.008227743 + - 0.15061125 + - 0.07368924 + - 0.1370508 + - -0.061466247 + - -0.024662904 + - -0.07258794 + - -0.039483383 + - 0.020429837 + - 0.012978649 + - 0.051124875 + - -0.10268914 + - -0.06806872 + - -0.013326201 + - -0.0107948035 + - -0.11619416 + - 0.10441078 + - 0.05182627 + - 0.008643372 + - -0.13383776 + - -0.09508872 + - 0.025273172 + - 0.11172622 + - 0.045063447 + - 0.16364515 + - -0.14580683 + - -0.121438906 + - 0.056660756 + - 0.14708476 + - 0.008135857 + - -0.1423482 + - -0.0709633 + - -0.038865663 + - -0.094005264 + - 0.046196625 + - -0.017066326 + - 0.012266853 + - 0.06863892 + - 0.10873689 + - 0.08574479 + - 0.039133765 + - -0.061704252 + - -0.08447483 + - 0.0038604531 + - 0.05060428 + - -0.14420089 + - 0.22836605 + - 0.09856494 + - -0.05784092 + - 0.0028312558 + - 0.10861235 + - 0.020231735 + - -0.13886198 + - 0.0066937413 + - -0.08942287 + - 0.019107707 + - 0.09280068 + - -0.06584206 + - -0.07449731 + - 0.24811861 + - 0.16751038 + - 0.056337126 + - -0.109274596 + - -0.10531018 + - 0.111291416 + - -0.14254245 + - 0.09784064 + - 0.07792227 + - -0.048798252 + - -0.11677484 + - 0.050697654 + - 0.03657412 + - -0.096183755 + - -0.08533624 + - 0.07464685 + - -0.082104735 + - -0.044737462 + - 0.012801208 + - 0.15800047 + - -0.08163997 + - 0.090234734 + - -0.04411688 + - -0.029195867 + - 0.12715207 + - -0.06509439 + - 0.026989982 + - -0.044863697 + - 0.015146686 + - 0.2287582 + - 0.0972649 + - -0.082741454 + - -0.107868254 + - -0.04140619 + - -0.065613225 + - -0.054583795 + - 0.0942094 + - -0.020386912 + - 0.1864616 + - 0.08645886 + - 0.08776363 + - 0.17444423 + - -0.30419284 + - 0.07807863 + - -0.013314357 + - 0.10092609 + - -0.0386813 + - -0.021286832 + - -0.10348201 + - -0.102628425 + - -0.1759432 + - 0.047177814 + - -0.115672894 + - -0.1578263 + - -0.032192603 + - 0.047057837 + - 0.047033932 + - 0.087896585 + - 0.1339316 + - 0.0066813882 + - -0.17498805 + - -0.038625065 + - -0.034559388 + - 0.03193552 + - -0.09421365 + - 0.1826392 + - 0.045434255 + - -0.11970099 + - -0.011512394 + - -0.122810625 + - -0.0902882 + - 0.18097341 + - -0.009285144 + - -0.06553249 + - 0.052696116 + - -0.14893506 + - 0.06796728 + - -0.067091055 + - 0.10008227 + - -0.045937214 + - -0.08400361 + - 0.11672326 + - -0.11677434 + - 0.079716004 + - 0.35084334 + - 0.048799276 + - -0.16989109 + - -0.011462104 + - 0.08980483 + - 0.00027390942 + - 0.25579864 + - 0.036189966 + - 0.20290478 + - -0.122604504 + - -0.09952138 + - 0.0296987 + - 0.21140371 + - -0.0523534 + - 0.062172342 + - 0.06799643 + - 0.1400754 + - -0.1367437 + - 0.20295642 + - 0.050522596 + - -0.13727006 + - 0.050066087 + - 0.020576857 + - -0.009721967 + - -0.09927418 + - -0.047586143 + - -0.112697765 + - 0.26976404 + - -0.0060093664 + - -0.096334964 + - -0.0051859412 + - 0.017683033 + - 0.05344224 + - -0.01970025 + - 0.11347701 + - 0.039314777 + - -0.06101013 + - 0.21138941 + - -0.005871149 + - 0.13937798 + - 0.031191826 + - -0.09684922 + - 0.09726688 + - 0.067632586 + - 0.027945787 + - -0.1979164 + - -0.14930849 + - -0.05493075 + - 0.06859496 + - 0.025391456 + - -0.09389238 + - -0.1776669 + - 0.072998375 + - 0.049020536 + - 0.13884094 + - 0.051849917 + - 0.08761824 + - -0.025452714 + - -0.1500796 + - 0.15440176 + - 0.07377041 + - 0.006271843 + - -0.020704255 + - 0.0441538 + - -0.15200455 + - 0.027797233 + - 0.001906984 + - -0.10233444 + - 0.0064852023 + - -0.11335297 + - -0.030850738 + - -0.04967273 + - -0.0835121 + - 0.072547026 + - -0.03955799 + - 0.21482448 + - 0.12972209 + - -0.121007904 + - 0.008031391 + - 0.025938021 + - 0.1547097 + - 0.13702025 + - -0.04779707 + - -0.15704034 + - 0.19171137 + - 0.063959695 + - 0.20358919 + - -0.08180566 + - 0.22717547 + - -0.04435998 + - -0.0784547 + - 0.1360732 + - 0.113286674 + - 0.045137722 + - -0.1047666 + - 0.10293155 + - 0.030258894 + - 0.111827895 + - -0.21169265 + - -0.052805293 + - 0.061786152 + - 0.055572722 + - -0.020860624 + - -0.016213097 + - -0.106458746 + - -0.05973799 + - -0.12208966 + - -0.24769877 + - 0.010554878 + - 0.33344516 + - 0.03433567 + - -0.088951044 + - -0.0780464 + - -0.03499785 + - -0.010789723 + - -0.018758427 + - -0.046739697 + - -0.06028159 + - 0.06284259 + - -0.056325145 + - 0.06357287 + - 0.13851047 + - 0.08679873 + - 0.19173492 + - 0.07690314 + - 0.13646808 + - 0.013759797 + - 0.13002038 + - -0.07580398 + - 0.16067527 + - 0.267882 + - 0.16588518 + - -0.1043766 + - -0.012628926 + - 0.12552014 + - -0.06861135 + - -0.039927725 + - 0.08390288 + - 0.12778099 + - -0.1994678 + - -0.013932912 + - 0.30645263 + - -0.006143924 + - 0.048365362 + - -0.06356606 + - 0.1688525 + - -0.0038595817 + - -0.041709162 + - 0.1806381 + - -0.000000000000000000000000000000024049101 + - 0.022060793 + - -0.060794167 + - -0.030683143 + - 0.10279894 + - -0.104777396 + - 0.04823611 + - 0.10916777 + - -0.15225092 + - -0.05883651 + - -0.010068244 + - 0.07793821 + - -0.04937675 + - 0.009976443 + - 0.116992705 + - 0.037898887 + - -0.13908756 + - -0.028773144 + - -0.007468741 + - 0.14892142 + - 0.10542132 + - -0.09524685 + - 0.085902825 + - -0.1021221 + - 0.08584438 + - 0.091078535 + - -0.014611665 + - -0.0042890604 + - -0.11245585 + - -0.060356893 + - -0.048356462 + - -0.039173886 + - -0.0021140815 + - -0.12935787 + - -0.1858942 + - -0.201709 + - 0.27759838 + - -0.16941327 + - -0.0734453 + - -0.08963395 + - 0.03300313 + - -0.18054774 + - -0.1025957 + - 0.18146382 + - -0.05036661 + - 0.018079646 + - 0.105768025 + - 0.08434043 + - -0.10067575 + - -0.12087558 + - -0.17231174 + - 0.018338919 + - 0.025704455 + - -0.27712747 + - -0.035254255 + - 0.010975186 + - 0.088232785 + - -0.14958385 + - 0.042220738 + - -0.075080425 + - 0.052082133 + - 0.16107184 + - -0.06350653 + - 0.005081064 + - 0.15192324 + - 0.0915509 + - 0.16088492 + - 0.23190181 + - -0.068185315 + - 0.12534665 + - -0.047030732 + - 0.005394183 + - 0.06836183 + - -0.05017802 + - 0.1612981 + - 0.1313195 + - 0.011767067 + - -0.2075366 + - 0.020853855 + - 0.013580145 + - 0.079470664 + - -0.09936569 + - 0.051926974 + - 0.047761686 + - 0.006339544 + - -0.009931402 + - -0.2736529 + - 0.01729016 + - -0.025119497 + - -0.041767035 + - -0.032105204 + - -0.118425265 + - 0.11605405 + - -0.091470584 + - -0.15410557 + - 0.14109369 + - 0.022076948 + - 0.12135679 + - 0.05122818 + - 0.019721588 + - 0.060555436 + - 0.019142073 + - -0.18846163 + - -0.21826693 + - 0.004335913 + - 0.16360843 + - -0.00945457 + - -0.07354968 + - 0.1403266 + - -0.06471707 + - -0.10407997 + - -0.037646595 + - -0.07592744 + - 0.06551249 + - -0.026983354 + - 0.05229394 + - -0.18709515 + - 0.08922802 + - -0.023758607 + - 0.03811175 + - 0.09198303 + - -0.09545379 + - -0.09647493 + - -0.08636732 + - 0.08638685 + - -0.061500255 + - -0.1676376 + - -0.20153067 + - -0.12655146 + - 0.0641327 + - -0.28437486 + - -0.004598747 + - 0.05340211 + - 0.00000071753277 + - -0.27538404 + - 0.15874086 + - 0.106200576 + - -0.16849892 + - 0.13539805 + - 0.18196909 + - -0.030740643 + - 0.0006044898 + - 0.21632569 + - -0.07012258 + - -0.017851865 + - 0.0952996 + - -0.12344618 + - 0.07441077 + - -0.04441322 + - -0.16081078 + - -0.11733122 + - 0.108105786 + - -0.011564154 + - 0.09380542 + - 0.0047498643 + - 0.14824612 + - 0.09713331 + - -0.068531655 + - 0.07961212 + - -0.2899495 + - 0.08600544 + - 0.1552742 + - 0.16438082 + - -0.18579735 + - 0.08106161 + - -0.059087016 + - 0.10469083 + - 0.035717748 + - 0.0013548724 + - -0.060897753 + - -0.13236442 + - 0.15563112 + - 0.033512086 + - 0.038318053 + - 0.03859649 + - -0.0013922509 + - 0.029156066 + - 0.00510542 + - 0.1768889 + - -0.19464372 + - 0.017885657 + - -0.06648297 + - -0.0044882065 + - -0.07049193 + - -0.010706077 + - -0.027052598 + - 0.091704376 + - -0.039604824 + - -0.061533634 + - -0.08838352 + - 0.10873712 + - -0.0062628984 + - 0.093532085 + - 0.094248876 + - -0.12494585 + - 0.043461982 + - -0.10461615 + - -0.06674005 + - 0.09323681 + - 0.18452352 + - 0.036188047 + - -0.000000000000000000000000000000000044937904 + - 0.0041475534 + - 0.05032192 + - 0.04162151 + - -0.081405364 + - -0.08249737 + - -0.096325405 + - 0.02365276 + - -0.005443423 + - -0.009432625 + - 0.021280486 + - -0.10069692 +- - -0.07404602 + - 0.10844974 + - -0.16750811 + - 0.14655052 + - 0.011354324 + - 0.027440958 + - 0.16556323 + - -0.09665824 + - 0.039549388 + - 0.016632145 + - 0.12995204 + - 0.041539166 + - 0.01251435 + - 0.05936815 + - 0.12267017 + - 0.008652257 + - 0.09789169 + - -0.06755672 + - -0.015956372 + - -0.027121672 + - 0.06446777 + - -0.07170952 + - -0.11327913 + - 0.022222375 + - 0.0379018 + - -0.05973953 + - 0.018796034 + - -0.09091643 + - 0.06258402 + - 0.07246553 + - 0.10516999 + - -0.1531809 + - -0.030478522 + - 0.22793633 + - 0.0000064498518 + - 0.025214134 + - 0.10349136 + - 0.0062804725 + - -0.14521837 + - 0.08586821 + - 0.01781304 + - 0.07045272 + - -0.05759236 + - -0.09185456 + - -0.22598965 + - -0.04724876 + - 0.2595364 + - 0.075245015 + - 0.06701596 + - 0.06288394 + - 0.062262807 + - -0.1256713 + - 0.1689164 + - 0.0097316895 + - 0.038178302 + - -0.029072918 + - 0.03618211 + - 0.011953839 + - 0.094382286 + - 0.03027074 + - -0.059664395 + - 0.10409628 + - 0.042628102 + - -0.008161359 + - 0.17037132 + - -0.003256832 + - 0.08728868 + - -0.16628568 + - -0.0066372007 + - 0.16707356 + - -0.10127324 + - 0.15817091 + - -0.0051331203 + - 0.042040445 + - -0.13535275 + - -0.21025664 + - -0.06401153 + - 0.14993067 + - -0.04843245 + - -0.012542559 + - -0.1252428 + - -0.006520811 + - 0.22874774 + - -0.086529836 + - -0.0875278 + - 0.03341686 + - -0.08102202 + - -0.058262803 + - -0.083703294 + - -0.022656228 + - 0.059630524 + - -0.019097915 + - -0.017251117 + - -0.2007639 + - -0.06474093 + - -0.08846656 + - 0.03358322 + - -0.02613856 + - 0.027862944 + - -0.03559453 + - 0.069609165 + - -0.12913787 + - -0.107431285 + - 0.031469863 + - -0.095057115 + - -0.06556355 + - -0.07363029 + - 0.11566274 + - -0.03586057 + - 0.118154615 + - -0.11981653 + - -0.005190653 + - 0.03029555 + - 0.084107965 + - -0.0043219477 + - -0.118851125 + - -0.16941997 + - 0.020861737 + - -0.16696964 + - -0.03437589 + - -0.09130232 + - 0.1790859 + - -0.069917105 + - 0.16814454 + - -0.011390718 + - 0.07007682 + - -0.07314417 + - 0.11785791 + - 0.11662886 + - 0.06689379 + - 0.16769451 + - 0.062285036 + - 0.012929968 + - 0.13727736 + - -0.019561358 + - 0.12156364 + - 0.00018930435 + - -0.09165391 + - -0.02040906 + - -0.0037748627 + - -0.020840531 + - -0.15103732 + - 0.08842884 + - -0.059568934 + - -0.015686903 + - -0.08537611 + - 0.02527288 + - -0.091192566 + - 0.04418064 + - -0.05308161 + - 0.010163123 + - 0.3392946 + - -0.02394357 + - -0.12553547 + - 0.14389469 + - 0.11150776 + - 0.07072848 + - -0.060434647 + - 0.019774657 + - 0.013107727 + - 0.02318809 + - 0.0016660406 + - 0.045667924 + - -0.0118230665 + - 0.057573073 + - 0.04239046 + - 0.037734184 + - -0.15104161 + - -0.02976471 + - 0.083996564 + - 0.06656054 + - 0.07839475 + - -0.055004448 + - 0.14148219 + - 0.21793114 + - 0.18766624 + - 0.060566206 + - 0.3511875 + - 0.04581926 + - -0.040742666 + - -0.07823417 + - -0.015444977 + - -0.014088357 + - 0.001986807 + - 0.042830665 + - 0.09970346 + - 0.09708729 + - 0.091792926 + - -0.056474064 + - -0.1062007 + - 0.022173926 + - -0.12977245 + - -0.0115851145 + - 0.011761986 + - 0.11145055 + - -0.16722503 + - -0.07832001 + - -0.14122699 + - 0.028468776 + - 0.01182347 + - -0.07572397 + - -0.1483547 + - 0.10051087 + - -0.04312646 + - -0.089660145 + - -0.13925867 + - -0.057845045 + - -0.24050897 + - 0.01822218 + - 0.08795351 + - 0.11626563 + - 0.03247328 + - 0.13017383 + - -0.12696317 + - -0.0039814925 + - -0.1930559 + - 0.09740794 + - 0.10976046 + - -0.06546289 + - -0.101701625 + - -0.06398601 + - 0.015322447 + - -0.06778948 + - -0.093387835 + - -0.019732568 + - -0.11736613 + - 0.11917555 + - 0.06633759 + - 0.06399515 + - 0.099886745 + - 0.05403622 + - -0.01011006 + - 0.12851006 + - -0.091512665 + - -0.035695013 + - -0.0717708 + - 0.005652087 + - 0.025470667 + - -0.01662971 + - -0.17417085 + - -0.15018152 + - 0.18001361 + - -0.0183596 + - 0.0321236 + - 0.22557487 + - 0.056806028 + - 0.06330186 + - -0.034852568 + - 0.032701164 + - -0.017870193 + - 0.0012741126 + - -0.1391988 + - 0.028085591 + - 0.039793417 + - 0.012364661 + - 0.0266806 + - 0.028619898 + - 0.058570873 + - 0.09241773 + - -0.04211253 + - -0.018154481 + - 0.04002387 + - 0.05517587 + - -0.00026988797 + - 0.069361895 + - 0.07130115 + - 0.1942376 + - -0.18568456 + - -0.06586702 + - -0.121151105 + - -0.12720077 + - -0.16126391 + - 0.10318253 + - 0.061230786 + - -0.06674522 + - 0.001905282 + - 0.07568641 + - -0.056141414 + - -0.044098515 + - 0.15743992 + - 0.05362075 + - 0.22201362 + - -0.084504366 + - -0.22036307 + - -0.007821038 + - 0.06489832 + - 0.011364528 + - -0.077442884 + - -0.056198142 + - -0.020869479 + - -0.08158104 + - 0.09972509 + - 0.05741689 + - -0.061961085 + - 0.067618124 + - -0.17168011 + - -0.112365186 + - 0.06136725 + - -0.02368937 + - -0.04622245 + - -0.093830734 + - 0.21896538 + - 0.16018139 + - 0.08671613 + - -0.03530838 + - 0.05211163 + - 0.047707018 + - 0.06041007 + - -0.11761616 + - -0.04925111 + - 0.10350886 + - -0.030207891 + - 0.07771034 + - 0.13920408 + - -0.015903834 + - -0.14039558 + - -0.33892825 + - -0.019558312 + - -0.022446238 + - -0.056282267 + - 0.09718395 + - -0.21911982 + - 0.31660968 + - 0.106994376 + - -0.09097667 + - -0.008679803 + - -0.20861232 + - 0.046069764 + - -0.05965735 + - 0.00030386262 + - 0.09802061 + - 0.059840646 + - -0.09473057 + - 0.025036748 + - 0.035103414 + - -0.03206512 + - -0.004370017 + - 0.15423632 + - -0.033931576 + - -0.05313434 + - -0.061092485 + - -0.11646094 + - -0.10525623 + - 0.08883878 + - 0.005027 + - -0.0054327613 + - -0.010282941 + - -0.08147679 + - -0.05767395 + - -0.040414754 + - 0.08306138 + - 0.08052814 + - -0.02031212 + - -0.18193723 + - -0.08654064 + - 0.11021494 + - -0.06341097 + - -0.026454693 + - 0.116147324 + - 0.05651342 + - 0.14947706 + - -0.101447284 + - 0.06756507 + - 0.08207144 + - -0.29958498 + - 0.18161523 + - -0.08839386 + - 0.014453979 + - -0.053589307 + - -0.058089286 + - -0.067049585 + - -0.16523358 + - -0.15672216 + - 0.018267442 + - -0.043266837 + - -0.13489082 + - 0.0142100565 + - 0.14540768 + - -0.04813273 + - -0.040039204 + - -0.03623586 + - -0.12636569 + - -0.09727913 + - 0.025029305 + - -0.057168987 + - -0.000884993 + - -0.034312844 + - -0.030773655 + - -0.0048863664 + - 0.065954044 + - 0.04357039 + - -0.09222742 + - -0.0056800735 + - -0.046491593 + - -0.080263086 + - -0.025926135 + - 0.14947782 + - 0.044056647 + - -0.062668465 + - -0.05329486 + - 0.004601836 + - -0.119423404 + - -0.03662169 + - 0.016595915 + - 0.015796836 + - -0.0041764444 + - 0.2515803 + - -0.007840533 + - -0.016797828 + - -0.07102916 + - 0.06666433 + - 0.16970204 + - 0.090086386 + - -0.02887259 + - 0.17697416 + - -0.008403843 + - -0.18631794 + - -0.015398511 + - 0.07617463 + - -0.05473582 + - 0.06505801 + - -0.05399122 + - 0.31436387 + - -0.19827266 + - 0.025586482 + - 0.0713616 + - -0.11803666 + - 0.09069356 + - -0.11958828 + - 0.0012657167 + - -0.09176221 + - -0.18587597 + - -0.11694257 + - 0.0399239 + - -0.054336924 + - -0.19120325 + - 0.054997884 + - 0.006319953 + - -0.042353354 + - -0.08101217 + - -0.16063564 + - -0.05451332 + - 0.22103325 + - 0.01973281 + - 0.004070256 + - 0.08193926 + - -0.009178469 + - -0.20421468 + - 0.0019428879 + - 0.25475273 + - 0.030068703 + - -0.25290474 + - -0.04490944 + - 0.09140691 + - 0.07493805 + - 0.0031270254 + - -0.008910343 + - -0.02910389 + - -0.03485167 + - -0.051917568 + - 0.12774326 + - 0.0016763434 + - -0.02140442 + - 0.00061419234 + - -0.13176736 + - -0.04311972 + - 0.11527829 + - -0.057596922 + - -0.06605833 + - -0.02064635 + - -0.1771148 + - 0.009914097 + - 0.035630636 + - -0.12554468 + - 0.092248276 + - 0.02470227 + - -0.04128851 + - -0.10538293 + - -0.055949703 + - 0.078099556 + - 0.10367952 + - 0.15139315 + - -0.007905655 + - -0.039347608 + - -0.015227141 + - 0.10111139 + - 0.21058665 + - -0.001869671 + - -0.065319255 + - -0.13951162 + - 0.10477558 + - 0.084265225 + - 0.1241221 + - 0.07966881 + - 0.2941351 + - 0.025676494 + - -0.057934284 + - 0.1505537 + - 0.0037865434 + - 0.10739722 + - -0.013443012 + - 0.05517394 + - -0.134141 + - 0.019119907 + - -0.05768552 + - 0.03919234 + - 0.039966635 + - 0.084911466 + - -0.13863797 + - -0.0027019568 + - -0.05556466 + - 0.07237649 + - -0.153218 + - -0.28278434 + - -0.0102026425 + - 0.24976672 + - 0.0263107 + - -0.06758663 + - 0.01754658 + - -0.16869536 + - 0.013305249 + - -0.06753793 + - 0.0067503694 + - -0.019143647 + - 0.034627657 + - 0.018805137 + - 0.015388511 + - 0.03608439 + - 0.052416988 + - -0.010718577 + - 0.09155323 + - 0.05282534 + - -0.076707095 + - 0.044533405 + - -0.10561743 + - -0.021845177 + - 0.13695936 + - 0.09675501 + - -0.13902648 + - 0.0018746955 + - -0.018331787 + - -0.085901 + - -0.0046138186 + - 0.078736186 + - 0.09343292 + - -0.24481574 + - 0.017443825 + - 0.094419554 + - 0.10499851 + - -0.018981118 + - -0.13088197 + - 0.18749805 + - -0.07423704 + - -0.06914088 + - 0.034047738 + - -0.000000000000000000000000000000025293894 + - 0.015575117 + - 0.051767237 + - -0.025550561 + - -0.10355715 + - -0.07696016 + - 0.09121093 + - -0.030400144 + - 0.024270972 + - -0.00923281 + - -0.00901864 + - -0.0044714105 + - 0.049817804 + - 0.036020286 + - 0.14127973 + - 0.09030431 + - -0.10713578 + - 0.08617236 + - -0.038785655 + - 0.09198585 + - -0.02056577 + - -0.029370546 + - 0.050587587 + - 0.06973953 + - -0.18947202 + - -0.055889584 + - 0.0905626 + - 0.096553825 + - -0.33612126 + - -0.001989482 + - -0.07657319 + - -0.04013277 + - 0.19262896 + - -0.094625324 + - -0.122168794 + - -0.10510532 + - 0.072783336 + - 0.05037416 + - -0.071608245 + - -0.030304668 + - -0.012475668 + - -0.258919 + - -0.09522846 + - 0.16412273 + - -0.05670488 + - 0.013884622 + - 0.016464297 + - 0.07754504 + - 0.00898858 + - 0.014148805 + - -0.12718064 + - -0.04895435 + - 0.053642664 + - -0.17658892 + - 0.003660174 + - 0.15929656 + - -0.0007789731 + - -0.2363672 + - 0.09134392 + - -0.17819646 + - 0.05006848 + - 0.14545938 + - 0.054848984 + - 0.19812003 + - 0.049036697 + - 0.08753146 + - 0.23029725 + - 0.29449907 + - -0.028203417 + - 0.016950686 + - 0.032290734 + - 0.05704901 + - 0.27092147 + - 0.094354555 + - 0.09123003 + - 0.12950096 + - -0.02059583 + - -0.22323337 + - 0.024649272 + - -0.025642343 + - -0.08665797 + - -0.11528643 + - 0.075114064 + - -0.085415855 + - 0.026242798 + - 0.16528372 + - -0.11670698 + - -0.02680844 + - -0.018210035 + - 0.13079615 + - -0.10314204 + - 0.01057989 + - 0.2791221 + - -0.1557248 + - -0.1867911 + - 0.040381785 + - 0.041665677 + - 0.05225778 + - 0.077380985 + - 0.02771267 + - 0.03411131 + - -0.09072063 + - 0.025944185 + - -0.13134016 + - 0.08180958 + - 0.17298806 + - -0.0069429455 + - -0.035436906 + - 0.11683625 + - -0.07992057 + - 0.022399714 + - 0.04695573 + - 0.0139185265 + - 0.085813254 + - -0.026843853 + - 0.049647637 + - -0.1819032 + - 0.09400506 + - 0.020565402 + - -0.052678112 + - 0.0072895293 + - -0.036859084 + - 0.07440427 + - -0.038916223 + - 0.11915376 + - -0.052567057 + - -0.0726657 + - -0.15906633 + - 0.13952163 + - -0.049001224 + - -0.3989893 + - 0.0294016 + - -0.042086806 + - 0.0000007559307 + - -0.19602227 + - 0.09926514 + - 0.23008935 + - -0.055351365 + - 0.038661897 + - 0.13472414 + - 0.03357781 + - -0.055139437 + - 0.013933688 + - 0.122024946 + - -0.06355797 + - -0.05179979 + - -0.016827162 + - 0.08363155 + - 0.004067678 + - -0.11772749 + - -0.08062728 + - -0.016297773 + - -0.20172903 + - 0.016743993 + - 0.04697939 + - 0.15513474 + - 0.11069079 + - 0.016480496 + - 0.078785375 + - -0.25888407 + - 0.13845065 + - 0.10098033 + - 0.229035 + - -0.08540168 + - 0.09038469 + - 0.0065558837 + - 0.01738553 + - -0.02731653 + - -0.12163815 + - -0.05593433 + - -0.03070564 + - 0.061283678 + - 0.06268173 + - -0.22671857 + - -0.06934679 + - -0.18124372 + - 0.099631965 + - 0.0661947 + - 0.13842537 + - -0.15912354 + - -0.09832423 + - -0.020629771 + - -0.04227158 + - 0.04732649 + - 0.12939149 + - -0.015066371 + - -0.00472023 + - -0.12629777 + - -0.047885787 + - -0.29116955 + - 0.1926812 + - -0.12533598 + - 0.123545945 + - 0.13314234 + - -0.04641634 + - 0.10563865 + - -0.09593485 + - -0.064474344 + - 0.1440965 + - 0.14207815 + - 0.0436861 + - 0.00000000000000000000000000000000010410173 + - 0.04716066 + - 0.041869454 + - 0.069818184 + - -0.005989315 + - -0.22235608 + - -0.113203526 + - -0.12172501 + - -0.06866634 + - -0.06521244 + - -0.0040906174 + - -0.1834937 +- - -0.021286005 + - -0.09353113 + - -0.14283837 + - 0.022934273 + - -0.028500587 + - 0.095609024 + - 0.00070146006 + - -0.110255316 + - 0.018443955 + - -0.0016491897 + - 0.18205285 + - -0.011736637 + - -0.116643414 + - 0.051004447 + - 0.15961954 + - 0.00902732 + - 0.13890456 + - -0.20026925 + - 0.066651404 + - -0.21122459 + - -0.14654595 + - -0.10961836 + - -0.023710817 + - 0.0034521054 + - 0.032206915 + - -0.16804647 + - -0.039991993 + - 0.0050881165 + - -0.23678355 + - -0.016211245 + - 0.06819264 + - -0.10674894 + - 0.097781934 + - 0.17925738 + - 0.0000061699134 + - -0.000022031367 + - 0.027469918 + - 0.004492916 + - -0.07869914 + - 0.019858934 + - -0.022118207 + - 0.15933776 + - -0.010839479 + - 0.03285962 + - -0.12126929 + - -0.25177756 + - 0.18791425 + - -0.020878278 + - -0.10295729 + - 0.09713832 + - 0.08511384 + - -0.26531634 + - 0.16451019 + - -0.15096757 + - 0.08414576 + - -0.14594111 + - 0.121605 + - 0.0589075 + - -0.069887206 + - -0.23495322 + - -0.08404344 + - 0.015921988 + - 0.04337343 + - -0.06004811 + - 0.07862546 + - -0.15011525 + - 0.07629426 + - -0.15861504 + - 0.07275523 + - 0.11175991 + - -0.1547071 + - 0.08795724 + - -0.061846744 + - 0.09983074 + - -0.105798446 + - -0.13760231 + - -0.018956253 + - 0.036056407 + - -0.017589573 + - -0.029680556 + - -0.06165267 + - -0.082435064 + - 0.14047071 + - 0.070780694 + - -0.051195834 + - -0.036292512 + - -0.11652742 + - -0.015289275 + - -0.06483871 + - -0.062037848 + - 0.12067972 + - -0.1014583 + - 0.12839948 + - 0.045939863 + - -0.08560161 + - 0.021248523 + - 0.1014214 + - -0.10141803 + - 0.0039834883 + - -0.032768667 + - -0.036861196 + - -0.15774737 + - -0.085186735 + - 0.012612204 + - -0.11755192 + - 0.13497034 + - -0.1697908 + - 0.08263815 + - -0.005661605 + - 0.09637846 + - -0.015788943 + - 0.0082601495 + - -0.037435263 + - 0.13614725 + - -0.15649034 + - -0.11848718 + - -0.006977251 + - 0.026885144 + - -0.11100542 + - -0.12409858 + - -0.104232304 + - 0.11753994 + - -0.123132326 + - 0.20530993 + - -0.15986635 + - 0.07967101 + - -0.08922962 + - 0.021127652 + - 0.11097858 + - 0.050263427 + - 0.070297666 + - -0.036078252 + - 0.001828949 + - 0.06652341 + - 0.07133193 + - 0.3071608 + - 0.04794929 + - 0.01387159 + - -0.20555131 + - -0.10883626 + - 0.06829371 + - -0.08012298 + - 0.020684214 + - -0.1476777 + - -0.02026328 + - -0.15341398 + - 0.14166863 + - -0.17306574 + - -0.07518389 + - -0.05826451 + - -0.050747756 + - 0.12625204 + - -0.15811773 + - -0.17011085 + - 0.25079814 + - 0.023179978 + - 0.11567086 + - 0.025122583 + - -0.104654774 + - 0.02684424 + - 0.051277623 + - 0.040597327 + - -0.051028114 + - -0.12442267 + - 0.036383837 + - -0.013471827 + - -0.10104215 + - -0.077168696 + - -0.11463488 + - 0.049370315 + - 0.04123476 + - 0.09355912 + - -0.055695474 + - 0.22378837 + - 0.26443803 + - 0.20048366 + - 0.099607274 + - 0.33051196 + - -0.10999335 + - -0.036271837 + - 0.07223277 + - -0.21923426 + - 0.010018221 + - 0.11703321 + - 0.08101828 + - -0.020999635 + - 0.13941291 + - 0.1638137 + - -0.13259926 + - -0.23363002 + - 0.101515405 + - -0.16785255 + - -0.012223834 + - -0.06303589 + - 0.11525367 + - -0.056009784 + - 0.0014734752 + - -0.19678445 + - -0.07512191 + - 0.13514483 + - -0.007063318 + - -0.19929421 + - -0.0003462718 + - 0.06295859 + - -0.08025368 + - -0.047088623 + - -0.06558345 + - -0.124427184 + - -0.036886703 + - -0.05048355 + - -0.038227446 + - 0.17467767 + - 0.012105241 + - 0.0886784 + - -0.0870392 + - -0.057629738 + - -0.010228584 + - 0.26593143 + - -0.16990624 + - -0.025660947 + - -0.039400633 + - -0.000031347387 + - -0.14527811 + - -0.11384389 + - -0.041437384 + - -0.16524856 + - 0.08730654 + - 0.010587539 + - 0.03518397 + - 0.12400702 + - 0.06930591 + - 0.049184605 + - 0.12816969 + - 0.010197577 + - -0.119073145 + - -0.025085267 + - 0.020842101 + - 0.15660563 + - 0.010166347 + - -0.2995258 + - 0.027060825 + - 0.20220216 + - 0.06545743 + - -0.13572058 + - 0.18707879 + - -0.06493996 + - -0.06912038 + - -0.12442277 + - -0.0071104183 + - -0.11454419 + - -0.07027994 + - -0.120579526 + - 0.20172916 + - 0.111913644 + - -0.06086434 + - 0.06994457 + - -0.03437047 + - 0.022748508 + - -0.052424535 + - -0.099889174 + - 0.1353283 + - -0.045956574 + - 0.026334343 + - 0.008227743 + - 0.15061125 + - 0.07368924 + - 0.1370508 + - -0.061466247 + - -0.024662904 + - -0.07258794 + - -0.039483383 + - 0.020429837 + - 0.012978649 + - 0.051124875 + - -0.10268914 + - -0.06806872 + - -0.013326201 + - -0.0107948035 + - -0.11619416 + - 0.10441078 + - 0.05182627 + - 0.008643372 + - -0.13383776 + - -0.09508872 + - 0.025273172 + - 0.11172622 + - 0.045063447 + - 0.16364515 + - -0.14580683 + - -0.121438906 + - 0.056660756 + - 0.14708476 + - 0.008135857 + - -0.1423482 + - -0.0709633 + - -0.038865663 + - -0.094005264 + - 0.046196625 + - -0.017066326 + - 0.012266853 + - 0.06863892 + - 0.10873689 + - 0.08574479 + - 0.039133765 + - -0.061704252 + - -0.08447483 + - 0.0038604531 + - 0.05060428 + - -0.14420089 + - 0.22836605 + - 0.09856494 + - -0.05784092 + - 0.0028312558 + - 0.10861235 + - 0.020231735 + - -0.13886198 + - 0.0066937413 + - -0.08942287 + - 0.019107707 + - 0.09280068 + - -0.06584206 + - -0.07449731 + - 0.24811861 + - 0.16751038 + - 0.056337126 + - -0.109274596 + - -0.10531018 + - 0.111291416 + - -0.14254245 + - 0.09784064 + - 0.07792227 + - -0.048798252 + - -0.11677484 + - 0.050697654 + - 0.03657412 + - -0.096183755 + - -0.08533624 + - 0.07464685 + - -0.082104735 + - -0.044737462 + - 0.012801208 + - 0.15800047 + - -0.08163997 + - 0.090234734 + - -0.04411688 + - -0.029195867 + - 0.12715207 + - -0.06509439 + - 0.026989982 + - -0.044863697 + - 0.015146686 + - 0.2287582 + - 0.0972649 + - -0.082741454 + - -0.107868254 + - -0.04140619 + - -0.065613225 + - -0.054583795 + - 0.0942094 + - -0.020386912 + - 0.1864616 + - 0.08645886 + - 0.08776363 + - 0.17444423 + - -0.30419284 + - 0.07807863 + - -0.013314357 + - 0.10092609 + - -0.0386813 + - -0.021286832 + - -0.10348201 + - -0.102628425 + - -0.1759432 + - 0.047177814 + - -0.115672894 + - -0.1578263 + - -0.032192603 + - 0.047057837 + - 0.047033932 + - 0.087896585 + - 0.1339316 + - 0.0066813882 + - -0.17498805 + - -0.038625065 + - -0.034559388 + - 0.03193552 + - -0.09421365 + - 0.1826392 + - 0.045434255 + - -0.11970099 + - -0.011512394 + - -0.122810625 + - -0.0902882 + - 0.18097341 + - -0.009285144 + - -0.06553249 + - 0.052696116 + - -0.14893506 + - 0.06796728 + - -0.067091055 + - 0.10008227 + - -0.045937214 + - -0.08400361 + - 0.11672326 + - -0.11677434 + - 0.079716004 + - 0.35084334 + - 0.048799276 + - -0.16989109 + - -0.011462104 + - 0.08980483 + - 0.00027390942 + - 0.25579864 + - 0.036189966 + - 0.20290478 + - -0.122604504 + - -0.09952138 + - 0.0296987 + - 0.21140371 + - -0.0523534 + - 0.062172342 + - 0.06799643 + - 0.1400754 + - -0.1367437 + - 0.20295642 + - 0.050522596 + - -0.13727006 + - 0.050066087 + - 0.020576857 + - -0.009721967 + - -0.09927418 + - -0.047586143 + - -0.112697765 + - 0.26976404 + - -0.0060093664 + - -0.096334964 + - -0.0051859412 + - 0.017683033 + - 0.05344224 + - -0.01970025 + - 0.11347701 + - 0.039314777 + - -0.06101013 + - 0.21138941 + - -0.005871149 + - 0.13937798 + - 0.031191826 + - -0.09684922 + - 0.09726688 + - 0.067632586 + - 0.027945787 + - -0.1979164 + - -0.14930849 + - -0.05493075 + - 0.06859496 + - 0.025391456 + - -0.09389238 + - -0.1776669 + - 0.072998375 + - 0.049020536 + - 0.13884094 + - 0.051849917 + - 0.08761824 + - -0.025452714 + - -0.1500796 + - 0.15440176 + - 0.07377041 + - 0.006271843 + - -0.020704255 + - 0.0441538 + - -0.15200455 + - 0.027797233 + - 0.001906984 + - -0.10233444 + - 0.0064852023 + - -0.11335297 + - -0.030850738 + - -0.04967273 + - -0.0835121 + - 0.072547026 + - -0.03955799 + - 0.21482448 + - 0.12972209 + - -0.121007904 + - 0.008031391 + - 0.025938021 + - 0.1547097 + - 0.13702025 + - -0.04779707 + - -0.15704034 + - 0.19171137 + - 0.063959695 + - 0.20358919 + - -0.08180566 + - 0.22717547 + - -0.04435998 + - -0.0784547 + - 0.1360732 + - 0.113286674 + - 0.045137722 + - -0.1047666 + - 0.10293155 + - 0.030258894 + - 0.111827895 + - -0.21169265 + - -0.052805293 + - 0.061786152 + - 0.055572722 + - -0.020860624 + - -0.016213097 + - -0.106458746 + - -0.05973799 + - -0.12208966 + - -0.24769877 + - 0.010554878 + - 0.33344516 + - 0.03433567 + - -0.088951044 + - -0.0780464 + - -0.03499785 + - -0.010789723 + - -0.018758427 + - -0.046739697 + - -0.06028159 + - 0.06284259 + - -0.056325145 + - 0.06357287 + - 0.13851047 + - 0.08679873 + - 0.19173492 + - 0.07690314 + - 0.13646808 + - 0.013759797 + - 0.13002038 + - -0.07580398 + - 0.16067527 + - 0.267882 + - 0.16588518 + - -0.1043766 + - -0.012628926 + - 0.12552014 + - -0.06861135 + - -0.039927725 + - 0.08390288 + - 0.12778099 + - -0.1994678 + - -0.013932912 + - 0.30645263 + - -0.006143924 + - 0.048365362 + - -0.06356606 + - 0.1688525 + - -0.0038595817 + - -0.041709162 + - 0.1806381 + - -0.000000000000000000000000000000024049101 + - 0.022060793 + - -0.060794167 + - -0.030683143 + - 0.10279894 + - -0.104777396 + - 0.04823611 + - 0.10916777 + - -0.15225092 + - -0.05883651 + - -0.010068244 + - 0.07793821 + - -0.04937675 + - 0.009976443 + - 0.116992705 + - 0.037898887 + - -0.13908756 + - -0.028773144 + - -0.007468741 + - 0.14892142 + - 0.10542132 + - -0.09524685 + - 0.085902825 + - -0.1021221 + - 0.08584438 + - 0.091078535 + - -0.014611665 + - -0.0042890604 + - -0.11245585 + - -0.060356893 + - -0.048356462 + - -0.039173886 + - -0.0021140815 + - -0.12935787 + - -0.1858942 + - -0.201709 + - 0.27759838 + - -0.16941327 + - -0.0734453 + - -0.08963395 + - 0.03300313 + - -0.18054774 + - -0.1025957 + - 0.18146382 + - -0.05036661 + - 0.018079646 + - 0.105768025 + - 0.08434043 + - -0.10067575 + - -0.12087558 + - -0.17231174 + - 0.018338919 + - 0.025704455 + - -0.27712747 + - -0.035254255 + - 0.010975186 + - 0.088232785 + - -0.14958385 + - 0.042220738 + - -0.075080425 + - 0.052082133 + - 0.16107184 + - -0.06350653 + - 0.005081064 + - 0.15192324 + - 0.0915509 + - 0.16088492 + - 0.23190181 + - -0.068185315 + - 0.12534665 + - -0.047030732 + - 0.005394183 + - 0.06836183 + - -0.05017802 + - 0.1612981 + - 0.1313195 + - 0.011767067 + - -0.2075366 + - 0.020853855 + - 0.013580145 + - 0.079470664 + - -0.09936569 + - 0.051926974 + - 0.047761686 + - 0.006339544 + - -0.009931402 + - -0.2736529 + - 0.01729016 + - -0.025119497 + - -0.041767035 + - -0.032105204 + - -0.118425265 + - 0.11605405 + - -0.091470584 + - -0.15410557 + - 0.14109369 + - 0.022076948 + - 0.12135679 + - 0.05122818 + - 0.019721588 + - 0.060555436 + - 0.019142073 + - -0.18846163 + - -0.21826693 + - 0.004335913 + - 0.16360843 + - -0.00945457 + - -0.07354968 + - 0.1403266 + - -0.06471707 + - -0.10407997 + - -0.037646595 + - -0.07592744 + - 0.06551249 + - -0.026983354 + - 0.05229394 + - -0.18709515 + - 0.08922802 + - -0.023758607 + - 0.03811175 + - 0.09198303 + - -0.09545379 + - -0.09647493 + - -0.08636732 + - 0.08638685 + - -0.061500255 + - -0.1676376 + - -0.20153067 + - -0.12655146 + - 0.0641327 + - -0.28437486 + - -0.004598747 + - 0.05340211 + - 0.00000071753277 + - -0.27538404 + - 0.15874086 + - 0.106200576 + - -0.16849892 + - 0.13539805 + - 0.18196909 + - -0.030740643 + - 0.0006044898 + - 0.21632569 + - -0.07012258 + - -0.017851865 + - 0.0952996 + - -0.12344618 + - 0.07441077 + - -0.04441322 + - -0.16081078 + - -0.11733122 + - 0.108105786 + - -0.011564154 + - 0.09380542 + - 0.0047498643 + - 0.14824612 + - 0.09713331 + - -0.068531655 + - 0.07961212 + - -0.2899495 + - 0.08600544 + - 0.1552742 + - 0.16438082 + - -0.18579735 + - 0.08106161 + - -0.059087016 + - 0.10469083 + - 0.035717748 + - 0.0013548724 + - -0.060897753 + - -0.13236442 + - 0.15563112 + - 0.033512086 + - 0.038318053 + - 0.03859649 + - -0.0013922509 + - 0.029156066 + - 0.00510542 + - 0.1768889 + - -0.19464372 + - 0.017885657 + - -0.06648297 + - -0.0044882065 + - -0.07049193 + - -0.010706077 + - -0.027052598 + - 0.091704376 + - -0.039604824 + - -0.061533634 + - -0.08838352 + - 0.10873712 + - -0.0062628984 + - 0.093532085 + - 0.094248876 + - -0.12494585 + - 0.043461982 + - -0.10461615 + - -0.06674005 + - 0.09323681 + - 0.18452352 + - 0.036188047 + - -0.000000000000000000000000000000000044937904 + - 0.0041475534 + - 0.05032192 + - 0.04162151 + - -0.081405364 + - -0.08249737 + - -0.096325405 + - 0.02365276 + - -0.005443423 + - -0.009432625 + - 0.021280486 + - -0.10069692 diff --git a/backends/candle/tests/snapshots/test_modernbert__mini_batch_raw.snap b/backends/candle/tests/snapshots/test_modernbert__mini_batch_raw.snap new file mode 100644 index 00000000..e234e3fb --- /dev/null +++ b/backends/candle/tests/snapshots/test_modernbert__mini_batch_raw.snap @@ -0,0 +1,16900 @@ +--- +source: backends/candle/tests/test_modernbert.rs +expression: raw_embeddings_batch +--- +- - -0.021286005 + - -0.09353113 + - -0.14283837 + - 0.022934273 + - -0.028500587 + - 0.095609024 + - 0.00070146006 + - -0.110255316 + - 0.018443955 + - -0.0016491897 + - 0.18205285 + - -0.011736637 + - -0.116643414 + - 0.051004447 + - 0.15961954 + - 0.00902732 + - 0.13890456 + - -0.20026925 + - 0.066651404 + - -0.21122459 + - -0.14654595 + - -0.10961836 + - -0.023710817 + - 0.0034521054 + - 0.032206915 + - -0.16804647 + - -0.039991993 + - 0.0050881165 + - -0.23678355 + - -0.016211245 + - 0.06819264 + - -0.10674894 + - 0.097781934 + - 0.17925738 + - 0.0000061699134 + - -0.000022031367 + - 0.027469918 + - 0.004492916 + - -0.07869914 + - 0.019858934 + - -0.022118207 + - 0.15933776 + - -0.010839479 + - 0.03285962 + - -0.12126929 + - -0.25177756 + - 0.18791425 + - -0.020878278 + - -0.10295729 + - 0.09713832 + - 0.08511384 + - -0.26531634 + - 0.16451019 + - -0.15096757 + - 0.08414576 + - -0.14594111 + - 0.121605 + - 0.0589075 + - -0.069887206 + - -0.23495322 + - -0.08404344 + - 0.015921988 + - 0.04337343 + - -0.06004811 + - 0.07862546 + - -0.15011525 + - 0.07629426 + - -0.15861504 + - 0.07275523 + - 0.11175991 + - -0.1547071 + - 0.08795724 + - -0.061846744 + - 0.09983074 + - -0.105798446 + - -0.13760231 + - -0.018956253 + - 0.036056407 + - -0.017589573 + - -0.029680556 + - -0.06165267 + - -0.082435064 + - 0.14047071 + - 0.070780694 + - -0.051195834 + - -0.036292512 + - -0.11652742 + - -0.015289275 + - -0.06483871 + - -0.062037848 + - 0.12067972 + - -0.1014583 + - 0.12839948 + - 0.045939863 + - -0.08560161 + - 0.021248523 + - 0.1014214 + - -0.10141803 + - 0.0039834883 + - -0.032768667 + - -0.036861196 + - -0.15774737 + - -0.085186735 + - 0.012612204 + - -0.11755192 + - 0.13497034 + - -0.1697908 + - 0.08263815 + - -0.005661605 + - 0.09637846 + - -0.015788943 + - 0.0082601495 + - -0.037435263 + - 0.13614725 + - -0.15649034 + - -0.11848718 + - -0.006977251 + - 0.026885144 + - -0.11100542 + - -0.12409858 + - -0.104232304 + - 0.11753994 + - -0.123132326 + - 0.20530993 + - -0.15986635 + - 0.07967101 + - -0.08922962 + - 0.021127652 + - 0.11097858 + - 0.050263427 + - 0.070297666 + - -0.036078252 + - 0.001828949 + - 0.06652341 + - 0.07133193 + - 0.3071608 + - 0.04794929 + - 0.01387159 + - -0.20555131 + - -0.10883626 + - 0.06829371 + - -0.08012298 + - 0.020684214 + - -0.1476777 + - -0.02026328 + - -0.15341398 + - 0.14166863 + - -0.17306574 + - -0.07518389 + - -0.05826451 + - -0.050747756 + - 0.12625204 + - -0.15811773 + - -0.17011085 + - 0.25079814 + - 0.023179978 + - 0.11567086 + - 0.025122583 + - -0.104654774 + - 0.02684424 + - 0.051277623 + - 0.040597327 + - -0.051028114 + - -0.12442267 + - 0.036383837 + - -0.013471827 + - -0.10104215 + - -0.077168696 + - -0.11463488 + - 0.049370315 + - 0.04123476 + - 0.09355912 + - -0.055695474 + - 0.22378837 + - 0.26443803 + - 0.20048366 + - 0.099607274 + - 0.33051196 + - -0.10999335 + - -0.036271837 + - 0.07223277 + - -0.21923426 + - 0.010018221 + - 0.11703321 + - 0.08101828 + - -0.020999635 + - 0.13941291 + - 0.1638137 + - -0.13259926 + - -0.23363002 + - 0.101515405 + - -0.16785255 + - -0.012223834 + - -0.06303589 + - 0.11525367 + - -0.056009784 + - 0.0014734752 + - -0.19678445 + - -0.07512191 + - 0.13514483 + - -0.007063318 + - -0.19929421 + - -0.0003462718 + - 0.06295859 + - -0.08025368 + - -0.047088623 + - -0.06558345 + - -0.124427184 + - -0.036886703 + - -0.05048355 + - -0.038227446 + - 0.17467767 + - 0.012105241 + - 0.0886784 + - -0.0870392 + - -0.057629738 + - -0.010228584 + - 0.26593143 + - -0.16990624 + - -0.025660947 + - -0.039400633 + - -0.000031347387 + - -0.14527811 + - -0.11384389 + - -0.041437384 + - -0.16524856 + - 0.08730654 + - 0.010587539 + - 0.03518397 + - 0.12400702 + - 0.06930591 + - 0.049184605 + - 0.12816969 + - 0.010197577 + - -0.119073145 + - -0.025085267 + - 0.020842101 + - 0.15660563 + - 0.010166347 + - -0.2995258 + - 0.027060825 + - 0.20220216 + - 0.06545743 + - -0.13572058 + - 0.18707879 + - -0.06493996 + - -0.06912038 + - -0.12442277 + - -0.0071104183 + - -0.11454419 + - -0.07027994 + - -0.120579526 + - 0.20172916 + - 0.111913644 + - -0.06086434 + - 0.06994457 + - -0.03437047 + - 0.022748508 + - -0.052424535 + - -0.099889174 + - 0.1353283 + - -0.045956574 + - 0.026334343 + - 0.008227743 + - 0.15061125 + - 0.07368924 + - 0.1370508 + - -0.061466247 + - -0.024662904 + - -0.07258794 + - -0.039483383 + - 0.020429837 + - 0.012978649 + - 0.051124875 + - -0.10268914 + - -0.06806872 + - -0.013326201 + - -0.0107948035 + - -0.11619416 + - 0.10441078 + - 0.05182627 + - 0.008643372 + - -0.13383776 + - -0.09508872 + - 0.025273172 + - 0.11172622 + - 0.045063447 + - 0.16364515 + - -0.14580683 + - -0.121438906 + - 0.056660756 + - 0.14708476 + - 0.008135857 + - -0.1423482 + - -0.0709633 + - -0.038865663 + - -0.094005264 + - 0.046196625 + - -0.017066326 + - 0.012266853 + - 0.06863892 + - 0.10873689 + - 0.08574479 + - 0.039133765 + - -0.061704252 + - -0.08447483 + - 0.0038604531 + - 0.05060428 + - -0.14420089 + - 0.22836605 + - 0.09856494 + - -0.05784092 + - 0.0028312558 + - 0.10861235 + - 0.020231735 + - -0.13886198 + - 0.0066937413 + - -0.08942287 + - 0.019107707 + - 0.09280068 + - -0.06584206 + - -0.07449731 + - 0.24811861 + - 0.16751038 + - 0.056337126 + - -0.109274596 + - -0.10531018 + - 0.111291416 + - -0.14254245 + - 0.09784064 + - 0.07792227 + - -0.048798252 + - -0.11677484 + - 0.050697654 + - 0.03657412 + - -0.096183755 + - -0.08533624 + - 0.07464685 + - -0.082104735 + - -0.044737462 + - 0.012801208 + - 0.15800047 + - -0.08163997 + - 0.090234734 + - -0.04411688 + - -0.029195867 + - 0.12715207 + - -0.06509439 + - 0.026989982 + - -0.044863697 + - 0.015146686 + - 0.2287582 + - 0.0972649 + - -0.082741454 + - -0.107868254 + - -0.04140619 + - -0.065613225 + - -0.054583795 + - 0.0942094 + - -0.020386912 + - 0.1864616 + - 0.08645886 + - 0.08776363 + - 0.17444423 + - -0.30419284 + - 0.07807863 + - -0.013314357 + - 0.10092609 + - -0.0386813 + - -0.021286832 + - -0.10348201 + - -0.102628425 + - -0.1759432 + - 0.047177814 + - -0.115672894 + - -0.1578263 + - -0.032192603 + - 0.047057837 + - 0.047033932 + - 0.087896585 + - 0.1339316 + - 0.0066813882 + - -0.17498805 + - -0.038625065 + - -0.034559388 + - 0.03193552 + - -0.09421365 + - 0.1826392 + - 0.045434255 + - -0.11970099 + - -0.011512394 + - -0.122810625 + - -0.0902882 + - 0.18097341 + - -0.009285144 + - -0.06553249 + - 0.052696116 + - -0.14893506 + - 0.06796728 + - -0.067091055 + - 0.10008227 + - -0.045937214 + - -0.08400361 + - 0.11672326 + - -0.11677434 + - 0.079716004 + - 0.35084334 + - 0.048799276 + - -0.16989109 + - -0.011462104 + - 0.08980483 + - 0.00027390942 + - 0.25579864 + - 0.036189966 + - 0.20290478 + - -0.122604504 + - -0.09952138 + - 0.0296987 + - 0.21140371 + - -0.0523534 + - 0.062172342 + - 0.06799643 + - 0.1400754 + - -0.1367437 + - 0.20295642 + - 0.050522596 + - -0.13727006 + - 0.050066087 + - 0.020576857 + - -0.009721967 + - -0.09927418 + - -0.047586143 + - -0.112697765 + - 0.26976404 + - -0.0060093664 + - -0.096334964 + - -0.0051859412 + - 0.017683033 + - 0.05344224 + - -0.01970025 + - 0.11347701 + - 0.039314777 + - -0.06101013 + - 0.21138941 + - -0.005871149 + - 0.13937798 + - 0.031191826 + - -0.09684922 + - 0.09726688 + - 0.067632586 + - 0.027945787 + - -0.1979164 + - -0.14930849 + - -0.05493075 + - 0.06859496 + - 0.025391456 + - -0.09389238 + - -0.1776669 + - 0.072998375 + - 0.049020536 + - 0.13884094 + - 0.051849917 + - 0.08761824 + - -0.025452714 + - -0.1500796 + - 0.15440176 + - 0.07377041 + - 0.006271843 + - -0.020704255 + - 0.0441538 + - -0.15200455 + - 0.027797233 + - 0.001906984 + - -0.10233444 + - 0.0064852023 + - -0.11335297 + - -0.030850738 + - -0.04967273 + - -0.0835121 + - 0.072547026 + - -0.03955799 + - 0.21482448 + - 0.12972209 + - -0.121007904 + - 0.008031391 + - 0.025938021 + - 0.1547097 + - 0.13702025 + - -0.04779707 + - -0.15704034 + - 0.19171137 + - 0.063959695 + - 0.20358919 + - -0.08180566 + - 0.22717547 + - -0.04435998 + - -0.0784547 + - 0.1360732 + - 0.113286674 + - 0.045137722 + - -0.1047666 + - 0.10293155 + - 0.030258894 + - 0.111827895 + - -0.21169265 + - -0.052805293 + - 0.061786152 + - 0.055572722 + - -0.020860624 + - -0.016213097 + - -0.106458746 + - -0.05973799 + - -0.12208966 + - -0.24769877 + - 0.010554878 + - 0.33344516 + - 0.03433567 + - -0.088951044 + - -0.0780464 + - -0.03499785 + - -0.010789723 + - -0.018758427 + - -0.046739697 + - -0.06028159 + - 0.06284259 + - -0.056325145 + - 0.06357287 + - 0.13851047 + - 0.08679873 + - 0.19173492 + - 0.07690314 + - 0.13646808 + - 0.013759797 + - 0.13002038 + - -0.07580398 + - 0.16067527 + - 0.267882 + - 0.16588518 + - -0.1043766 + - -0.012628926 + - 0.12552014 + - -0.06861135 + - -0.039927725 + - 0.08390288 + - 0.12778099 + - -0.1994678 + - -0.013932912 + - 0.30645263 + - -0.006143924 + - 0.048365362 + - -0.06356606 + - 0.1688525 + - -0.0038595817 + - -0.041709162 + - 0.1806381 + - -0.000000000000000000000000000000024049101 + - 0.022060793 + - -0.060794167 + - -0.030683143 + - 0.10279894 + - -0.104777396 + - 0.04823611 + - 0.10916777 + - -0.15225092 + - -0.05883651 + - -0.010068244 + - 0.07793821 + - -0.04937675 + - 0.009976443 + - 0.116992705 + - 0.037898887 + - -0.13908756 + - -0.028773144 + - -0.007468741 + - 0.14892142 + - 0.10542132 + - -0.09524685 + - 0.085902825 + - -0.1021221 + - 0.08584438 + - 0.091078535 + - -0.014611665 + - -0.0042890604 + - -0.11245585 + - -0.060356893 + - -0.048356462 + - -0.039173886 + - -0.0021140815 + - -0.12935787 + - -0.1858942 + - -0.201709 + - 0.27759838 + - -0.16941327 + - -0.0734453 + - -0.08963395 + - 0.03300313 + - -0.18054774 + - -0.1025957 + - 0.18146382 + - -0.05036661 + - 0.018079646 + - 0.105768025 + - 0.08434043 + - -0.10067575 + - -0.12087558 + - -0.17231174 + - 0.018338919 + - 0.025704455 + - -0.27712747 + - -0.035254255 + - 0.010975186 + - 0.088232785 + - -0.14958385 + - 0.042220738 + - -0.075080425 + - 0.052082133 + - 0.16107184 + - -0.06350653 + - 0.005081064 + - 0.15192324 + - 0.0915509 + - 0.16088492 + - 0.23190181 + - -0.068185315 + - 0.12534665 + - -0.047030732 + - 0.005394183 + - 0.06836183 + - -0.05017802 + - 0.1612981 + - 0.1313195 + - 0.011767067 + - -0.2075366 + - 0.020853855 + - 0.013580145 + - 0.079470664 + - -0.09936569 + - 0.051926974 + - 0.047761686 + - 0.006339544 + - -0.009931402 + - -0.2736529 + - 0.01729016 + - -0.025119497 + - -0.041767035 + - -0.032105204 + - -0.118425265 + - 0.11605405 + - -0.091470584 + - -0.15410557 + - 0.14109369 + - 0.022076948 + - 0.12135679 + - 0.05122818 + - 0.019721588 + - 0.060555436 + - 0.019142073 + - -0.18846163 + - -0.21826693 + - 0.004335913 + - 0.16360843 + - -0.00945457 + - -0.07354968 + - 0.1403266 + - -0.06471707 + - -0.10407997 + - -0.037646595 + - -0.07592744 + - 0.06551249 + - -0.026983354 + - 0.05229394 + - -0.18709515 + - 0.08922802 + - -0.023758607 + - 0.03811175 + - 0.09198303 + - -0.09545379 + - -0.09647493 + - -0.08636732 + - 0.08638685 + - -0.061500255 + - -0.1676376 + - -0.20153067 + - -0.12655146 + - 0.0641327 + - -0.28437486 + - -0.004598747 + - 0.05340211 + - 0.00000071753277 + - -0.27538404 + - 0.15874086 + - 0.106200576 + - -0.16849892 + - 0.13539805 + - 0.18196909 + - -0.030740643 + - 0.0006044898 + - 0.21632569 + - -0.07012258 + - -0.017851865 + - 0.0952996 + - -0.12344618 + - 0.07441077 + - -0.04441322 + - -0.16081078 + - -0.11733122 + - 0.108105786 + - -0.011564154 + - 0.09380542 + - 0.0047498643 + - 0.14824612 + - 0.09713331 + - -0.068531655 + - 0.07961212 + - -0.2899495 + - 0.08600544 + - 0.1552742 + - 0.16438082 + - -0.18579735 + - 0.08106161 + - -0.059087016 + - 0.10469083 + - 0.035717748 + - 0.0013548724 + - -0.060897753 + - -0.13236442 + - 0.15563112 + - 0.033512086 + - 0.038318053 + - 0.03859649 + - -0.0013922509 + - 0.029156066 + - 0.00510542 + - 0.1768889 + - -0.19464372 + - 0.017885657 + - -0.06648297 + - -0.0044882065 + - -0.07049193 + - -0.010706077 + - -0.027052598 + - 0.091704376 + - -0.039604824 + - -0.061533634 + - -0.08838352 + - 0.10873712 + - -0.0062628984 + - 0.093532085 + - 0.094248876 + - -0.12494585 + - 0.043461982 + - -0.10461615 + - -0.06674005 + - 0.09323681 + - 0.18452352 + - 0.036188047 + - -0.000000000000000000000000000000000044937904 + - 0.0041475534 + - 0.05032192 + - 0.04162151 + - -0.081405364 + - -0.08249737 + - -0.096325405 + - 0.02365276 + - -0.005443423 + - -0.009432625 + - 0.021280486 + - -0.10069692 +- - -0.10799823 + - -0.110868625 + - -0.13309936 + - -0.053711995 + - 0.09252415 + - 0.19637223 + - 0.027908985 + - 0.048544474 + - 0.045993462 + - -0.012369987 + - 0.08331826 + - 0.009211363 + - -0.0004010098 + - 0.1405398 + - 0.15441753 + - -0.17781782 + - 0.17639357 + - -0.31556857 + - 0.0049850307 + - -0.14650504 + - -0.17878881 + - -0.21268171 + - -0.0037084837 + - -0.044666693 + - -0.097765535 + - -0.12948418 + - -0.07211881 + - -0.02912782 + - -0.25030655 + - 0.008981086 + - 0.05746921 + - -0.22386551 + - 0.11289719 + - 0.30689976 + - 0.000004950059 + - -0.1374555 + - -0.08100824 + - 0.04896935 + - -0.04750669 + - 0.088821724 + - 0.048050366 + - 0.06599369 + - 0.11161302 + - 0.027954403 + - -0.112845615 + - -0.23885739 + - 0.22581203 + - 0.15371561 + - -0.042174757 + - 0.05524487 + - 0.079703 + - -0.27564016 + - 0.14122921 + - -0.058007322 + - 0.14104125 + - -0.06433563 + - 0.22804773 + - -0.013392298 + - -0.08338706 + - -0.1655384 + - -0.070510864 + - -0.0016396977 + - 0.05006371 + - 0.047455393 + - 0.12749875 + - -0.114411 + - 0.13641527 + - -0.10594693 + - -0.07072285 + - 0.16116142 + - -0.19188415 + - 0.13779505 + - -0.056605134 + - 0.15611696 + - -0.11727533 + - 0.0342308 + - -0.22621071 + - 0.022251604 + - -0.017198727 + - -0.05254466 + - -0.06036957 + - -0.14815012 + - 0.09688193 + - -0.09830504 + - -0.032146133 + - -0.02577388 + - -0.035678342 + - 0.031851538 + - -0.0026638564 + - -0.050508045 + - 0.13903657 + - -0.061837044 + - 0.114032194 + - 0.08575201 + - -0.08628577 + - -0.07960895 + - 0.0837818 + - -0.027200079 + - 0.15126444 + - -0.09838159 + - 0.10196871 + - -0.17766844 + - -0.045498285 + - 0.069644205 + - 0.01396464 + - 0.03782733 + - -0.18611586 + - 0.078990035 + - -0.043453872 + - 0.031087048 + - -0.12073149 + - -0.05825477 + - 0.022671312 + - 0.11345084 + - -0.103394374 + - -0.1230129 + - 0.030725382 + - 0.024655927 + - -0.10105073 + - -0.06348897 + - -0.19101168 + - 0.13014047 + - -0.056983657 + - 0.21576968 + - -0.20957144 + - -0.019261122 + - -0.074546136 + - -0.06444688 + - 0.09503394 + - 0.029506247 + - 0.06663427 + - 0.036079194 + - -0.032048937 + - 0.15546876 + - 0.0063767955 + - 0.38220963 + - -0.010974861 + - 0.05196792 + - -0.15046264 + - -0.042923737 + - 0.04713723 + - -0.105488986 + - 0.028012667 + - -0.14008933 + - -0.0868919 + - -0.09812279 + - -0.031142542 + - -0.1016042 + - -0.13629352 + - -0.16514216 + - -0.12546223 + - 0.13507114 + - -0.14994246 + - -0.10472631 + - 0.32624656 + - 0.07809861 + - 0.1500046 + - 0.105513304 + - -0.14056106 + - 0.04225891 + - 0.024450447 + - -0.04947477 + - -0.10375819 + - -0.12344137 + - 0.0207273 + - 0.031262975 + - -0.18797918 + - 0.08896526 + - -0.07283732 + - 0.043323323 + - -0.08567296 + - 0.0077078184 + - -0.07779006 + - 0.18319452 + - 0.103418395 + - 0.061771687 + - 0.136164 + - 0.41465366 + - -0.03713805 + - -0.00022455375 + - 0.0038793627 + - -0.15065423 + - -0.0073548686 + - 0.111751884 + - -0.026837057 + - -0.017241031 + - 0.08891417 + - -0.0056999456 + - -0.09966559 + - -0.25644347 + - 0.10719439 + - -0.13736862 + - 0.01886433 + - -0.0025103893 + - 0.07862428 + - -0.083147585 + - 0.050803162 + - -0.09143508 + - -0.093250416 + - 0.048656818 + - -0.077065356 + - -0.27620298 + - 0.080898225 + - 0.041192196 + - -0.06645301 + - -0.10672124 + - 0.033055503 + - -0.06318673 + - 0.046906017 + - -0.05548306 + - 0.0054386146 + - 0.14009216 + - -0.085725136 + - 0.14684585 + - -0.08164172 + - -0.1530718 + - 0.027220761 + - 0.24342348 + - -0.13607216 + - -0.17250054 + - -0.12120971 + - -0.022305349 + - -0.2554511 + - -0.10466451 + - -0.12370565 + - -0.15959759 + - 0.063920036 + - -0.079980984 + - 0.018296327 + - 0.046454247 + - 0.07008222 + - 0.016538369 + - 0.06841044 + - 0.077749394 + - -0.18349038 + - -0.120979756 + - 0.112706274 + - 0.20882985 + - -0.023484264 + - -0.1831401 + - 0.13461995 + - 0.20760913 + - 0.14543888 + - -0.10313477 + - 0.19776855 + - 0.051391095 + - 0.10793148 + - -0.10895006 + - -0.08998209 + - -0.12267661 + - -0.015478319 + - -0.08187701 + - 0.2701688 + - 0.1327676 + - -0.049703475 + - -0.044803184 + - 0.026296476 + - -0.046516232 + - -0.039798018 + - -0.034383215 + - 0.098852195 + - -0.043977384 + - 0.13516952 + - -0.0134598985 + - -0.04038923 + - 0.04022971 + - 0.12327914 + - -0.03504625 + - 0.0814528 + - -0.029547915 + - -0.031680662 + - -0.10093402 + - -0.011438351 + - 0.045640644 + - -0.17869441 + - -0.028312022 + - 0.0050861984 + - 0.042707454 + - -0.17387958 + - 0.09928725 + - 0.20752287 + - -0.17892635 + - -0.088817574 + - -0.10695805 + - -0.0007790625 + - 0.047391184 + - 0.09241663 + - 0.14726216 + - -0.106130034 + - -0.03778518 + - 0.04718892 + - 0.02276012 + - 0.017115414 + - -0.076457575 + - 0.0035841991 + - -0.06493629 + - -0.07195947 + - 0.08162395 + - -0.035487335 + - 0.029213013 + - 0.14087538 + - 0.012017021 + - 0.077777065 + - 0.07281674 + - -0.067395516 + - 0.007868507 + - -0.01945678 + - 0.059707433 + - -0.102337405 + - 0.14369537 + - 0.12881258 + - -0.11295614 + - 0.0021918353 + - 0.19788772 + - 0.09635412 + - -0.19619367 + - -0.029992077 + - -0.10859084 + - -0.044863544 + - 0.063251734 + - -0.0675518 + - -0.16206399 + - 0.2833614 + - 0.1695748 + - 0.08204391 + - -0.16309825 + - -0.10057145 + - 0.08981705 + - -0.055571377 + - 0.08936338 + - -0.05401575 + - 0.0791057 + - -0.08818286 + - 0.09930885 + - 0.0030507469 + - -0.021519722 + - -0.09160772 + - 0.012116462 + - -0.2677883 + - -0.09983217 + - 0.030339457 + - 0.07148082 + - -0.01811923 + - 0.16836062 + - -0.12416272 + - 0.0070253424 + - 0.12187243 + - -0.16871636 + - -0.023327183 + - -0.14071819 + - 0.08067744 + - 0.23431973 + - 0.07153982 + - -0.06872965 + - -0.0829383 + - -0.18259872 + - 0.051392786 + - -0.0569809 + - 0.17633715 + - -0.041102577 + - 0.31623274 + - 0.017946891 + - 0.09238699 + - 0.20344746 + - -0.2732953 + - 0.1007569 + - 0.08871734 + - 0.064150795 + - -0.18301372 + - 0.16803135 + - -0.059404403 + - -0.047836486 + - -0.16752963 + - 0.018933017 + - -0.05863818 + - -0.13712245 + - -0.022973152 + - -0.032359056 + - -0.08341267 + - 0.1816025 + - 0.1722355 + - -0.028164798 + - -0.095828675 + - -0.0035080076 + - -0.07837741 + - -0.041941337 + - -0.08475702 + - 0.18872333 + - 0.08679564 + - -0.04722827 + - -0.04130071 + - -0.11607868 + - -0.09033025 + - 0.07007385 + - -0.08207178 + - 0.13768882 + - 0.16710871 + - -0.12913966 + - 0.035273742 + - -0.025849449 + - 0.09016315 + - -0.050518733 + - -0.050375354 + - 0.1075794 + - 0.0033560246 + - 0.009266609 + - 0.45030838 + - 0.029525228 + - -0.28630352 + - 0.0018245438 + - 0.010215463 + - -0.038437065 + - 0.17125887 + - 0.15871471 + - 0.22900464 + - -0.1691749 + - -0.08394137 + - 0.069616355 + - 0.1667415 + - -0.04110583 + - 0.05425444 + - 0.05884876 + - 0.21483277 + - -0.04028122 + - 0.21428563 + - 0.029021999 + - -0.16978492 + - 0.18041384 + - -0.022090118 + - 0.03719058 + - -0.17604424 + - -0.087009296 + - -0.12230888 + - 0.20236021 + - 0.008089952 + - -0.1428684 + - 0.12286945 + - -0.021464039 + - 0.08763049 + - 0.0663078 + - 0.14921746 + - -0.0033772364 + - -0.055531017 + - 0.17154711 + - -0.12364308 + - 0.17760429 + - 0.012338539 + - -0.24169621 + - 0.16602455 + - 0.1656131 + - -0.010670698 + - -0.082303695 + - -0.32573172 + - 0.020696439 + - -0.030947182 + - -0.024092667 + - -0.22086047 + - -0.08999819 + - 0.034684703 + - 0.017237486 + - 0.14792648 + - 0.08237161 + - -0.0024002325 + - 0.064876124 + - -0.13661455 + - 0.25440463 + - 0.15427329 + - 0.053794943 + - -0.020685092 + - 0.19254307 + - -0.32732 + - -0.025106752 + - 0.0026109843 + - -0.16365328 + - -0.08410578 + - -0.13664804 + - -0.17409177 + - -0.039410785 + - -0.054472663 + - 0.16719161 + - -0.0012047673 + - 0.27916643 + - -0.028690502 + - -0.038334563 + - 0.06861436 + - -0.059356906 + - 0.15640385 + - 0.08132113 + - -0.023323148 + - -0.1484422 + - 0.13932176 + - 0.064986795 + - 0.20722318 + - 0.045264553 + - 0.27276796 + - -0.13086966 + - -0.18885344 + - 0.14888479 + - 0.1438649 + - 0.02730155 + - -0.11142823 + - 0.11749332 + - 0.049980402 + - 0.06878912 + - -0.31197414 + - -0.028017594 + - 0.017128916 + - 0.028776914 + - 0.0817866 + - 0.13837025 + - 0.038232666 + - -0.031475384 + - -0.10286287 + - -0.27766278 + - 0.055045664 + - 0.20979623 + - 0.006360056 + - 0.09236548 + - -0.13504566 + - -0.0055568833 + - -0.002654031 + - 0.011092028 + - -0.09333741 + - -0.032531407 + - 0.08509652 + - -0.07032103 + - 0.03033667 + - 0.050490383 + - 0.057999074 + - 0.25441167 + - -0.0011295745 + - 0.27964458 + - -0.20964883 + - 0.11030736 + - -0.07163585 + - 0.0709343 + - 0.3195345 + - 0.2864907 + - -0.075162746 + - 0.049132176 + - 0.041174937 + - -0.044077575 + - 0.051195312 + - 0.09862471 + - 0.0453086 + - -0.21649162 + - -0.014368987 + - 0.35050014 + - -0.0452815 + - 0.10708438 + - -0.034933075 + - 0.15364355 + - -0.06454251 + - 0.06259847 + - 0.22177944 + - -0.000000000000000000000000000000014756233 + - 0.07979086 + - -0.20566893 + - 0.01094819 + - 0.1463401 + - -0.10996471 + - -0.00380525 + - 0.09675536 + - -0.08641938 + - 0.03761805 + - -0.04390634 + - 0.057393752 + - 0.0779986 + - -0.027418483 + - 0.05840317 + - -0.023008984 + - -0.005424915 + - -0.046644825 + - -0.03838797 + - 0.092406064 + - 0.14314826 + - 0.010427436 + - 0.1354198 + - -0.14378189 + - -0.0724737 + - 0.036328323 + - 0.09597351 + - 0.11342456 + - -0.01114542 + - -0.08399835 + - -0.02676914 + - -0.049102552 + - 0.057437886 + - -0.13442227 + - -0.35035652 + - -0.19126654 + - 0.23319682 + - -0.08245511 + - -0.053949818 + - -0.05556394 + - 0.05151644 + - -0.27746135 + - -0.015750168 + - 0.1606827 + - -0.05755972 + - 0.046916448 + - -0.019855285 + - 0.07900085 + - -0.19427735 + - -0.038628813 + - -0.19407594 + - 0.00447778 + - -0.091410354 + - -0.2783633 + - -0.06249355 + - 0.18873534 + - 0.040663727 + - -0.06739264 + - 0.020671925 + - 0.017564557 + - 0.06365835 + - 0.0853496 + - -0.030807957 + - 0.049396675 + - 0.19820489 + - 0.056788832 + - 0.1962114 + - 0.23654298 + - -0.14256309 + - -0.006832249 + - -0.081411615 + - 0.069114484 + - 0.062197927 + - -0.04952363 + - 0.1495194 + - 0.04067258 + - -0.12261911 + - -0.21528189 + - -0.0065208487 + - -0.029129244 + - -0.050170615 + - -0.11237696 + - -0.043611612 + - 0.093104035 + - -0.019031974 + - 0.009810597 + - -0.2634692 + - 0.057260193 + - -0.02504334 + - 0.011827032 + - -0.005626276 + - -0.15349402 + - -0.060672693 + - -0.09238996 + - -0.19298364 + - 0.26809248 + - 0.029227152 + - 0.13280673 + - 0.027983893 + - 0.050637417 + - -0.00020468794 + - -0.10450564 + - -0.27983743 + - -0.32668078 + - -0.014820901 + - 0.086044624 + - 0.0088234 + - -0.15958284 + - 0.14094462 + - -0.03553732 + - 0.020608397 + - 0.09401406 + - -0.013918268 + - 0.039075322 + - -0.09769899 + - -0.02676645 + - -0.18860085 + - 0.061738867 + - -0.048649028 + - -0.050627034 + - 0.09419624 + - -0.15907629 + - -0.110327795 + - -0.24598123 + - 0.18071057 + - -0.06763263 + - -0.122904144 + - -0.11052109 + - -0.013838656 + - 0.1315886 + - -0.19464862 + - -0.059879743 + - 0.046577644 + - 0.000000648645 + - -0.104615614 + - 0.2584634 + - 0.08929531 + - -0.118575945 + - 0.073398404 + - 0.22456825 + - -0.032101832 + - -0.031783298 + - 0.12323922 + - -0.09973917 + - 0.016574109 + - 0.113564506 + - -0.19553733 + - 0.08103373 + - -0.14115307 + - -0.16759016 + - -0.16703865 + - 0.088595964 + - -0.14232151 + - 0.036807206 + - 0.041805953 + - 0.16436905 + - 0.02303933 + - 0.039268672 + - 0.08892857 + - -0.25752288 + - 0.07243598 + - 0.042764284 + - 0.24866135 + - -0.0021913438 + - 0.109198175 + - 0.0038250415 + - 0.14511564 + - 0.15679452 + - -0.038802374 + - -0.04541547 + - -0.0144148525 + - 0.090589486 + - 0.11434057 + - 0.1638251 + - 0.086225934 + - 0.13537788 + - 0.03551242 + - -0.058325086 + - 0.1702957 + - -0.10261527 + - -0.0074776392 + - -0.020171348 + - 0.025449794 + - -0.08708627 + - -0.028370066 + - 0.115666054 + - 0.08619417 + - -0.044106796 + - -0.13728578 + - -0.013956109 + - 0.15042245 + - -0.023052666 + - -0.0017636344 + - 0.09871534 + - -0.07624596 + - 0.022599827 + - -0.14971559 + - -0.19483386 + - 0.045037676 + - 0.063452914 + - -0.019203331 + - 0.00000000000000000000000000000000027589197 + - 0.08516987 + - -0.06411102 + - -0.07186764 + - -0.06607136 + - -0.16235659 + - -0.17079985 + - 0.11033824 + - 0.02153683 + - 0.14443184 + - 0.07918416 + - -0.050476182 +- - -0.13918993 + - -0.28934526 + - -0.1537206 + - -0.12627546 + - 0.014480632 + - 0.19883461 + - 0.06272186 + - 0.07539598 + - 0.036204644 + - -0.0018815622 + - 0.08325514 + - -0.013067629 + - 0.022139546 + - 0.035557054 + - 0.15296657 + - -0.14296496 + - 0.17824021 + - -0.3149923 + - -0.010739561 + - -0.18856531 + - -0.20118485 + - -0.2196617 + - -0.05562989 + - -0.0075606257 + - -0.052962285 + - -0.14591417 + - -0.037620123 + - -0.07627886 + - -0.22072867 + - -0.025321223 + - 0.046210952 + - -0.18570684 + - 0.1401769 + - 0.30187336 + - 0.0000042752254 + - -0.1638127 + - -0.05851763 + - 0.008632027 + - -0.029961193 + - 0.08758034 + - 0.0661204 + - 0.15372175 + - 0.10850115 + - 0.043525435 + - -0.1140172 + - -0.20904814 + - 0.251141 + - 0.07668424 + - -0.039879248 + - 0.04524945 + - 0.07680282 + - -0.24824539 + - 0.18718323 + - -0.031647615 + - 0.053258166 + - -0.058945842 + - 0.17974594 + - 0.028230827 + - -0.04908361 + - -0.16985692 + - -0.111606166 + - 0.029414859 + - 0.06689905 + - 0.07866159 + - 0.059344895 + - -0.05508895 + - 0.076921165 + - -0.134966 + - -0.11261879 + - 0.16215418 + - -0.17592362 + - 0.09767575 + - -0.04038521 + - 0.15838161 + - -0.0989439 + - 0.087555066 + - -0.15214622 + - -0.0078052413 + - 0.02082257 + - -0.04221399 + - -0.10371 + - -0.16442361 + - 0.09023272 + - -0.09191886 + - 0.042063043 + - 0.022919822 + - -0.06257737 + - 0.07049596 + - -0.08299406 + - -0.03525583 + - 0.17028221 + - -0.011172149 + - 0.07981295 + - 0.074353896 + - -0.06307871 + - -0.11400215 + - 0.06236442 + - -0.052138105 + - 0.1413667 + - -0.071751274 + - 0.092920974 + - -0.19444716 + - -0.06850676 + - 0.09197753 + - -0.030387742 + - 0.097573705 + - -0.26310006 + - 0.05966398 + - -0.045989975 + - 0.05710722 + - -0.13255925 + - -0.10437037 + - 0.03872913 + - 0.041229744 + - -0.08902084 + - -0.1371382 + - 0.004096289 + - -0.00090133026 + - -0.12817158 + - -0.09522477 + - -0.242513 + - 0.11047135 + - 0.0014780778 + - 0.24199289 + - -0.22249246 + - -0.051734116 + - -0.017802296 + - 0.0048021716 + - 0.12419864 + - 0.09758754 + - 0.10468421 + - 0.0031956835 + - -0.029717613 + - 0.15697859 + - 0.036592 + - 0.31638327 + - 0.030060334 + - 0.054131903 + - -0.23956688 + - -0.0106036225 + - -0.008864147 + - -0.08388988 + - 0.092144646 + - -0.1091123 + - -0.07322972 + - -0.0573322 + - -0.0013708868 + - -0.12004462 + - -0.082619585 + - -0.09308591 + - -0.16374007 + - 0.107360505 + - -0.11879135 + - -0.09742222 + - 0.3481779 + - 0.054701533 + - 0.16213694 + - 0.22065514 + - -0.15638302 + - -0.0057649277 + - 0.009612047 + - 0.0022010058 + - -0.048484292 + - -0.07274556 + - 0.050011773 + - -0.015397802 + - -0.16620384 + - 0.04622368 + - -0.13239658 + - 0.036261704 + - -0.10451646 + - 0.036952935 + - -0.09666286 + - 0.14132562 + - 0.17542954 + - 0.042089615 + - 0.16205612 + - 0.43074158 + - -0.080295675 + - 0.009236054 + - 0.12280981 + - -0.08401251 + - 0.017592719 + - 0.1696917 + - -0.016763425 + - 0.026517475 + - 0.12428788 + - -0.012654392 + - -0.08544204 + - -0.2789791 + - 0.1161873 + - -0.17621948 + - 0.038868558 + - 0.02101383 + - 0.057302706 + - -0.03151373 + - 0.047175996 + - -0.16388325 + - -0.0431558 + - 0.14924015 + - -0.06922892 + - -0.30740297 + - -0.047035314 + - 0.040323455 + - -0.06256635 + - -0.0692623 + - -0.018584784 + - -0.10745222 + - 0.014882404 + - -0.07360913 + - 0.0115298685 + - 0.13917845 + - -0.03713979 + - 0.09314342 + - -0.045958452 + - -0.1028539 + - 0.048640013 + - 0.24569893 + - -0.12663041 + - -0.1683566 + - -0.17461726 + - 0.01026408 + - -0.30259606 + - -0.14369595 + - -0.14182709 + - -0.23621498 + - 0.0962893 + - -0.02920878 + - 0.041510347 + - 0.08059204 + - 0.016893566 + - -0.039566696 + - 0.1004322 + - 0.019496117 + - -0.17426774 + - -0.054882232 + - 0.10650502 + - 0.37153322 + - -0.030887429 + - -0.21227345 + - 0.08190796 + - 0.14813167 + - 0.048351552 + - -0.0900938 + - 0.17296074 + - 0.054731637 + - 0.08309424 + - -0.09618434 + - -0.08973747 + - -0.16776803 + - -0.0046007726 + - -0.12667924 + - 0.2595584 + - 0.14046112 + - -0.09270576 + - 0.049695037 + - 0.049578406 + - -0.022117414 + - -0.03759898 + - -0.11301437 + - 0.16817395 + - -0.11507147 + - 0.14414662 + - -0.016565714 + - -0.016959298 + - 0.03191239 + - 0.06850354 + - -0.090753675 + - 0.04487338 + - -0.059369896 + - -0.016754353 + - -0.105897784 + - -0.06510049 + - 0.021745495 + - -0.20257163 + - -0.016465226 + - 0.047066413 + - 0.09783594 + - -0.18936622 + - 0.11870172 + - 0.1651735 + - -0.13160637 + - -0.06129882 + - -0.09739725 + - 0.0061422493 + - 0.07140064 + - 0.16674326 + - 0.13361995 + - -0.209522 + - -0.04834047 + - 0.10857215 + - 0.053242877 + - 0.040118475 + - -0.100858115 + - 0.02146939 + - -0.009715126 + - -0.049276765 + - 0.11353134 + - 0.05384249 + - 0.031182831 + - 0.13466066 + - 0.03533391 + - 0.108461194 + - 0.092267364 + - -0.09280584 + - -0.008299442 + - -0.047280308 + - 0.06886638 + - -0.16638088 + - 0.1456436 + - 0.14849503 + - -0.12822008 + - 0.011020019 + - 0.1279888 + - 0.05327022 + - -0.17946479 + - -0.025354952 + - -0.10268077 + - -0.04050833 + - 0.07780559 + - -0.1396792 + - -0.16337767 + - 0.22481216 + - 0.09492871 + - 0.05520113 + - -0.09722063 + - -0.10025198 + - 0.030270753 + - -0.08829714 + - 0.05019186 + - -0.003171172 + - 0.026221 + - -0.13833417 + - 0.059379164 + - 0.037647445 + - -0.0938998 + - -0.06393182 + - 0.047138378 + - -0.19011009 + - -0.15151218 + - 0.07128837 + - 0.101970024 + - -0.034325168 + - 0.15912153 + - -0.048745204 + - -0.006071546 + - 0.13224627 + - -0.154624 + - -0.092355855 + - -0.22078301 + - 0.05916514 + - 0.24705528 + - 0.0672745 + - -0.07432316 + - -0.109588064 + - -0.15575632 + - 0.02672901 + - -0.0775002 + - 0.18729974 + - -0.0122060515 + - 0.2928866 + - 0.085784346 + - 0.1574258 + - 0.16337891 + - -0.28740403 + - 0.1174568 + - 0.0237184 + - 0.032208845 + - -0.19229548 + - 0.16158332 + - -0.06822606 + - -0.06453419 + - -0.15494302 + - -0.016616292 + - -0.10084536 + - -0.16310212 + - -0.015668578 + - -0.011789552 + - -0.039308604 + - 0.1635286 + - 0.1295468 + - -0.036120437 + - -0.0894724 + - -0.004140891 + - -0.008174495 + - 0.079714455 + - -0.074006684 + - 0.20391583 + - 0.046748403 + - -0.10269231 + - -0.044557616 + - -0.1821007 + - -0.11909025 + - 0.08198652 + - -0.1330678 + - 0.10939874 + - 0.23688802 + - -0.2039905 + - 0.078379564 + - -0.026396977 + - 0.15159528 + - -0.071816 + - -0.023268078 + - 0.004670077 + - -0.03339373 + - 0.026192592 + - 0.5299936 + - 0.06033405 + - -0.31010178 + - -0.06680537 + - 0.012136594 + - 0.004733773 + - 0.19097736 + - 0.19014092 + - 0.23561859 + - -0.09832608 + - -0.04681699 + - 0.1313821 + - 0.122560754 + - -0.015295107 + - 0.053255215 + - 0.13204676 + - 0.15960163 + - -0.0890215 + - 0.1709865 + - 0.002004832 + - -0.18243614 + - 0.13932692 + - -0.04224033 + - 0.061839826 + - -0.1514087 + - -0.08724865 + - -0.0877766 + - 0.2532471 + - 0.009883855 + - -0.17114468 + - 0.07794329 + - -0.021756321 + - 0.03856678 + - 0.0838307 + - 0.20619793 + - -0.0095494315 + - -0.07357397 + - 0.1621506 + - -0.051019944 + - 0.12873048 + - 0.060828783 + - -0.22110225 + - 0.12488404 + - 0.17353994 + - 0.07904217 + - -0.121401235 + - -0.3581113 + - 0.042162895 + - -0.037442893 + - -0.036028333 + - -0.2286985 + - -0.117254846 + - -0.06514307 + - 0.006490171 + - 0.110366255 + - 0.107856244 + - 0.02327745 + - 0.060659647 + - -0.18269569 + - 0.2002695 + - 0.1635946 + - 0.04229372 + - -0.006935324 + - 0.23025951 + - -0.2508435 + - -0.0083690565 + - -0.004030865 + - -0.16125761 + - -0.04383424 + - -0.15811825 + - -0.20995452 + - -0.061265647 + - -0.081319466 + - 0.05327479 + - -0.0027354877 + - 0.34260076 + - -0.062080953 + - -0.034779888 + - 0.1158537 + - -0.06477953 + - 0.19513111 + - 0.044984534 + - -0.005394523 + - -0.20300233 + - 0.15119289 + - 0.11630909 + - 0.20540842 + - 0.09008794 + - 0.30730304 + - -0.14807563 + - -0.06752579 + - 0.15724884 + - 0.13251069 + - 0.055058002 + - -0.09607051 + - 0.10952712 + - 0.038738076 + - 0.06911712 + - -0.22080885 + - 0.050432257 + - -0.014392688 + - 0.011607673 + - 0.06648354 + - 0.13564368 + - 0.028079992 + - -0.037354447 + - -0.13184038 + - -0.21033014 + - 0.044794165 + - 0.25889653 + - 0.08181266 + - 0.01409744 + - -0.08519635 + - 0.013126818 + - -0.01378492 + - 0.06085168 + - -0.15775317 + - 0.003198605 + - 0.15302509 + - -0.10891126 + - 0.017694535 + - 0.12517567 + - 0.025157781 + - 0.21487516 + - 0.0647247 + - 0.2649549 + - -0.19150418 + - 0.054245457 + - -0.01642684 + - 0.016193047 + - 0.3152312 + - 0.25828072 + - -0.09884332 + - 0.013198621 + - 0.020335171 + - -0.0020772293 + - -0.009855356 + - 0.1988237 + - 0.18800454 + - -0.28878117 + - -0.053846482 + - 0.40169746 + - 0.021316264 + - 0.09662722 + - 0.038548186 + - 0.12018622 + - 0.0127167115 + - 0.08378368 + - 0.18490744 + - -0.000000000000000000000000000000013681749 + - 0.022264441 + - -0.18709862 + - 0.023869898 + - 0.19591397 + - -0.060994323 + - -0.007636726 + - 0.064233005 + - -0.06631314 + - -0.010503152 + - -0.024318852 + - 0.081830375 + - 0.038555715 + - -0.039316934 + - 0.07447609 + - -0.08229407 + - -0.06371407 + - -0.008152753 + - -0.019317038 + - 0.14384583 + - 0.14009961 + - -0.03777926 + - 0.12438261 + - -0.12701553 + - -0.00884296 + - 0.06506761 + - 0.082594484 + - 0.119668245 + - -0.01175639 + - -0.08670992 + - 0.01155047 + - -0.019820105 + - 0.15759689 + - -0.10533251 + - -0.37816453 + - -0.1460146 + - 0.26719117 + - -0.08041279 + - -0.076372735 + - -0.09895266 + - 0.019332387 + - -0.30959535 + - -0.072599724 + - 0.17204797 + - -0.08741356 + - -0.023776539 + - 0.010468199 + - 0.122641556 + - -0.22432417 + - -0.06507579 + - -0.3171371 + - 0.056066807 + - -0.1211191 + - -0.22911565 + - 0.0063126013 + - 0.19583231 + - 0.056208186 + - -0.15295987 + - 0.07443993 + - -0.00026695803 + - 0.0020822384 + - 0.11429491 + - -0.04287391 + - 0.02911226 + - 0.19062252 + - 0.059714995 + - 0.14753196 + - 0.23217103 + - -0.13505262 + - 0.0779168 + - -0.082738884 + - 0.10404664 + - 0.032446075 + - -0.055097178 + - 0.16057536 + - 0.07289362 + - -0.07596283 + - -0.17410015 + - -0.04253026 + - -0.008820239 + - -0.045540415 + - -0.110052824 + - -0.0009556608 + - 0.13543932 + - -0.07507704 + - -0.007338976 + - -0.30295804 + - 0.063798524 + - -0.027557375 + - 0.0515947 + - 0.03402984 + - -0.15452519 + - 0.00091184303 + - -0.070044294 + - -0.18843904 + - 0.2878306 + - 0.02786757 + - 0.1474183 + - 0.012342854 + - 0.06627545 + - 0.033249237 + - -0.17291136 + - -0.3300415 + - -0.31440637 + - 0.016439375 + - 0.12016728 + - -0.00603888 + - -0.1439794 + - 0.16959238 + - -0.010541078 + - 0.017046237 + - 0.011821457 + - 0.0082769245 + - 0.07320492 + - -0.07629184 + - 0.00003092084 + - -0.20858638 + - 0.08634951 + - -0.00853307 + - -0.101375446 + - 0.10514268 + - -0.14958912 + - -0.18288513 + - -0.2618882 + - 0.1535533 + - -0.09934435 + - -0.084355295 + - -0.12969932 + - -0.00747143 + - 0.07611573 + - -0.24734342 + - -0.07675616 + - 0.09463268 + - 0.0000005939488 + - -0.14987445 + - 0.28537053 + - 0.08565855 + - -0.15772209 + - 0.12254208 + - 0.2532722 + - -0.07760458 + - -0.09249179 + - 0.13688765 + - -0.15253353 + - 0.001824914 + - 0.1565535 + - -0.10303311 + - 0.03531202 + - -0.06444815 + - -0.17267431 + - -0.19515572 + - 0.16156384 + - -0.06543005 + - 0.022147773 + - 0.0028136056 + - 0.10787974 + - 0.034868315 + - 0.01078994 + - 0.038490362 + - -0.24715288 + - 0.07613679 + - 0.0035027575 + - 0.28907645 + - -0.07352606 + - 0.14299926 + - 0.09037909 + - 0.15305477 + - 0.12935942 + - -0.012501546 + - -0.08617197 + - -0.10323573 + - 0.054358527 + - 0.09398556 + - 0.13313143 + - 0.044853263 + - 0.14861381 + - 0.07135175 + - -0.07534653 + - 0.23690413 + - -0.18547821 + - -0.051459856 + - -0.13259959 + - 0.12064485 + - -0.14557101 + - 0.0037521645 + - 0.11196797 + - 0.0703419 + - -0.09002599 + - -0.0982191 + - -0.018097013 + - 0.14179334 + - 0.03605497 + - 0.039069008 + - 0.113758706 + - -0.100784175 + - 0.022386305 + - -0.093679 + - -0.0824748 + - -0.021857496 + - 0.13248582 + - -0.013184965 + - 0.00000000000000000000000000000000022410908 + - 0.06737528 + - -0.044047564 + - -0.08233316 + - -0.09761742 + - -0.09863738 + - -0.20442617 + - 0.062083572 + - 0.0029227925 + - 0.1905334 + - 0.040213063 + - -0.016800087 +- - -0.1604252 + - 0.13609111 + - -0.088046916 + - -0.001985046 + - -0.050699547 + - -0.0014737924 + - -0.05072126 + - -0.038606413 + - -0.021461496 + - 0.037496783 + - 0.11351667 + - -0.0017991867 + - 0.0102403 + - 0.1735431 + - 0.16446902 + - -0.028305434 + - 0.057583075 + - -0.035174407 + - 0.04142543 + - -0.1404664 + - -0.15990135 + - -0.23068248 + - -0.05017241 + - 0.029750131 + - -0.025711566 + - -0.19943112 + - -0.05874095 + - -0.09391305 + - -0.04768057 + - 0.17609408 + - 0.09414928 + - -0.08270378 + - 0.09090615 + - 0.15966937 + - 0.0000037523682 + - -0.1654142 + - 0.19601926 + - 0.058217995 + - 0.011636045 + - 0.034443058 + - -0.022745337 + - 0.055756107 + - 0.034363877 + - 0.0034260657 + - -0.21053037 + - -0.2085079 + - 0.1961066 + - 0.023022247 + - -0.13928998 + - 0.011271969 + - 0.058540497 + - -0.16391495 + - 0.11404263 + - -0.0925537 + - 0.07478323 + - -0.16116348 + - 0.15127821 + - -0.0447437 + - 0.02454215 + - -0.18725447 + - -0.020764831 + - 0.06380612 + - 0.12441543 + - 0.16196217 + - 0.12063929 + - 0.04885028 + - -0.069435835 + - -0.13454452 + - 0.0925149 + - 0.20938803 + - -0.4292779 + - -0.097000115 + - -0.09594607 + - -0.01001218 + - -0.12533055 + - -0.17917156 + - 0.03393626 + - -0.049260147 + - 0.16861433 + - -0.03159722 + - -0.026827486 + - -0.15117046 + - 0.15941237 + - -0.042853512 + - -0.03035117 + - -0.062615305 + - -0.094019055 + - 0.072006024 + - 0.029961426 + - -0.020409945 + - 0.053047456 + - -0.0968287 + - -0.08437842 + - 0.0696811 + - -0.05591031 + - -0.046877485 + - 0.071813025 + - 0.113651186 + - 0.045606747 + - 0.02569216 + - -0.13524759 + - -0.18076047 + - -0.2361142 + - 0.0064005116 + - 0.044587128 + - 0.21925993 + - -0.08174429 + - 0.08435557 + - -0.017537093 + - 0.014798354 + - -0.09763169 + - -0.1147544 + - -0.1607177 + - 0.13643543 + - 0.073532164 + - -0.020385168 + - -0.02475363 + - -0.08760737 + - -0.016913133 + - 0.013349659 + - -0.16752051 + - 0.053001843 + - 0.0037597343 + - 0.12205534 + - -0.2488653 + - -0.0026360229 + - -0.0975855 + - -0.023463733 + - 0.15412119 + - 0.025431965 + - 0.06459849 + - -0.09037094 + - 0.014967085 + - 0.24615468 + - 0.0019884799 + - 0.36871812 + - -0.029936716 + - 0.06810659 + - -0.2335491 + - -0.07260693 + - -0.14058661 + - -0.12571746 + - 0.17359962 + - -0.052309602 + - -0.1641028 + - -0.103089325 + - 0.039469726 + - -0.21246402 + - -0.0053642513 + - -0.03479121 + - 0.011493947 + - 0.17421055 + - -0.07535172 + - -0.07851907 + - 0.14132756 + - -0.012524598 + - 0.23288733 + - 0.26310155 + - -0.16571566 + - 0.024309281 + - 0.004595693 + - 0.12770742 + - -0.24879962 + - 0.008954618 + - -0.049634844 + - 0.018130586 + - -0.085998 + - -0.036414888 + - -0.33632636 + - 0.003395048 + - -0.13530666 + - 0.01684004 + - -0.02675438 + - -0.06681912 + - 0.19013956 + - 0.23080209 + - 0.12915733 + - 0.40273073 + - 0.06221135 + - 0.023238953 + - 0.03016084 + - 0.10026907 + - -0.04164893 + - 0.2257982 + - 0.17444895 + - 0.006547592 + - 0.2375448 + - -0.06028892 + - -0.049193814 + - -0.14854899 + - -0.046214323 + - -0.16307688 + - 0.079678744 + - -0.10150815 + - -0.014927192 + - 0.009083554 + - -0.051565696 + - -0.29761535 + - -0.15602043 + - 0.22927593 + - -0.17726937 + - -0.1428019 + - 0.013579881 + - 0.013547245 + - -0.0048958748 + - -0.1424288 + - 0.054047123 + - -0.081219256 + - 0.112259485 + - 0.09734705 + - 0.0051882844 + - 0.23815799 + - -0.00015798677 + - -0.021677356 + - 0.059906192 + - -0.022324657 + - 0.06317513 + - 0.19111347 + - -0.16130435 + - -0.06698162 + - -0.1209046 + - -0.062344912 + - -0.10942073 + - -0.15418088 + - -0.19658177 + - -0.13719095 + - 0.09453039 + - 0.04306151 + - -0.037689835 + - 0.10484736 + - -0.030601129 + - -0.0017866604 + - 0.11717509 + - -0.03229551 + - -0.23910893 + - -0.008709837 + - -0.019355193 + - 0.09694745 + - 0.05219712 + - -0.51355124 + - -0.02886064 + - 0.2428605 + - -0.018625923 + - 0.04178007 + - 0.17729615 + - 0.012316428 + - -0.057335023 + - -0.17406544 + - -0.066702396 + - -0.18806688 + - -0.015594028 + - -0.066401735 + - 0.18451756 + - -0.0074353684 + - -0.060005046 + - -0.06763001 + - 0.10416424 + - 0.038776647 + - -0.11754606 + - -0.22491553 + - 0.11733238 + - -0.042762652 + - -0.032572143 + - -0.017540235 + - 0.09243388 + - 0.12915537 + - 0.1944497 + - 0.09399532 + - -0.052242413 + - -0.13306668 + - 0.016543176 + - -0.06191908 + - 0.09835757 + - 0.047394145 + - -0.041012663 + - -0.06967146 + - 0.17297362 + - 0.057031933 + - -0.16072147 + - 0.053203344 + - 0.10941727 + - -0.056061637 + - -0.10386519 + - -0.036966722 + - 0.030897891 + - 0.041157156 + - 0.05411501 + - 0.109871335 + - -0.11383114 + - -0.08826078 + - 0.14238736 + - 0.11119097 + - -0.039978478 + - -0.18762264 + - 0.00012586125 + - -0.013398425 + - 0.026755806 + - 0.06550352 + - 0.011518098 + - -0.12703566 + - 0.1193361 + - -0.025511866 + - 0.0655696 + - 0.003099667 + - -0.09031807 + - -0.1072312 + - -0.07564478 + - 0.0012216358 + - -0.10505819 + - 0.20800702 + - 0.07576829 + - -0.1012061 + - 0.048190694 + - 0.031472657 + - -0.05725074 + - -0.3174068 + - 0.12989433 + - -0.16154335 + - -0.009197215 + - 0.23018564 + - -0.14103572 + - 0.01024539 + - 0.17839843 + - 0.14534506 + - 0.03963579 + - 0.029225279 + - -0.08066558 + - -0.039080262 + - -0.062292732 + - 0.06809659 + - -0.0063454094 + - -0.11520183 + - -0.03635685 + - 0.046149716 + - 0.09004813 + - -0.13951004 + - -0.10454183 + - 0.20278266 + - -0.12920354 + - -0.1864125 + - -0.038055677 + - 0.12742344 + - -0.050511427 + - 0.087557465 + - -0.05971879 + - 0.109058835 + - 0.22030151 + - 0.01931746 + - -0.15258718 + - -0.16290528 + - 0.12734309 + - 0.2031273 + - 0.11466522 + - -0.000006935501 + - -0.07035446 + - 0.09563394 + - -0.059321087 + - -0.034104273 + - 0.10838646 + - 0.0678623 + - 0.18469581 + - -0.037595194 + - 0.24645463 + - 0.09799296 + - -0.26412502 + - 0.24939105 + - -0.11708588 + - -0.03709273 + - -0.17468448 + - 0.040280942 + - -0.009310482 + - -0.15189831 + - -0.06959067 + - -0.051064048 + - -0.07299358 + - -0.00090407766 + - 0.065043464 + - 0.10533376 + - -0.13728999 + - 0.12720782 + - 0.04206384 + - -0.14766192 + - -0.18320467 + - -0.03423985 + - -0.04546375 + - 0.12177155 + - -0.118108325 + - 0.2304924 + - 0.056477316 + - -0.087963 + - 0.020748181 + - -0.20073831 + - -0.16743489 + - 0.11020664 + - -0.11366362 + - 0.1658314 + - 0.044470273 + - -0.22908117 + - 0.0592477 + - -0.12616593 + - 0.08447301 + - 0.023779925 + - -0.09009783 + - 0.08174646 + - -0.005637585 + - -0.0050584516 + - 0.3750294 + - 0.02168084 + - -0.25826964 + - -0.19115049 + - 0.019687427 + - 0.15831095 + - 0.17990932 + - 0.09904669 + - 0.17532851 + - -0.039752185 + - 0.04863175 + - 0.029793553 + - 0.08850191 + - -0.01592831 + - 0.21538942 + - 0.09732712 + - 0.09232605 + - -0.091231674 + - 0.10609922 + - 0.043832004 + - -0.10640623 + - 0.08489147 + - 0.04431653 + - 0.023893518 + - -0.15143631 + - -0.22157513 + - -0.11050336 + - 0.1986084 + - 0.06093728 + - -0.22391902 + - 0.014142846 + - 0.06885495 + - 0.09849708 + - -0.026863217 + - 0.14304173 + - 0.076973915 + - -0.56769407 + - 0.068780564 + - 0.011393113 + - 0.083705924 + - 0.17389144 + - -0.09296382 + - -0.0649436 + - 0.10102264 + - 0.18848872 + - -0.22794342 + - -0.1980791 + - 0.22418061 + - -0.15084109 + - -0.05869646 + - -0.15543489 + - -0.14013693 + - -0.085921936 + - -0.082529545 + - 0.06805109 + - 0.11077402 + - 0.1268141 + - -0.025759999 + - -0.18887122 + - 0.087002635 + - 0.088409044 + - 0.019075057 + - 0.008799266 + - 0.14075688 + - -0.12541755 + - 0.055423524 + - -0.0075538456 + - -0.14015447 + - -0.008787375 + - -0.17148098 + - -0.08783855 + - -0.014716504 + - -0.11856145 + - -0.06526465 + - 0.033766195 + - 0.35832804 + - 0.059388086 + - -0.14059094 + - 0.10855703 + - -0.030095669 + - 0.21720451 + - 0.073314905 + - -0.032731526 + - -0.16067661 + - 0.1679392 + - 0.0710777 + - 0.043400154 + - -0.01865819 + - 0.19516611 + - -0.10571844 + - 0.011376504 + - 0.26630217 + - 0.06102047 + - 0.0015256815 + - -0.074195 + - 0.07154043 + - -0.17808689 + - 0.07855365 + - -0.066502884 + - 0.040891405 + - -0.15360266 + - -0.038400024 + - 0.008419072 + - 0.11232594 + - -0.07825171 + - -0.015996547 + - -0.17991604 + - -0.5049186 + - 0.057419356 + - 0.5042876 + - 0.10655181 + - 0.029467769 + - 0.029370304 + - -0.04865489 + - 0.019493787 + - 0.089312665 + - -0.08889742 + - -0.12700476 + - 0.2072115 + - -0.14586627 + - 0.03591722 + - 0.029396981 + - 0.07089223 + - 0.18540342 + - 0.16841984 + - 0.19383268 + - -0.23919001 + - 0.17487612 + - -0.10670453 + - 0.3699415 + - 0.20554982 + - 0.3360114 + - -0.00211578 + - -0.0062531102 + - 0.13318782 + - 0.042299837 + - -0.022591282 + - 0.21573539 + - 0.20633076 + - -0.12068413 + - -0.056131534 + - 0.11783004 + - 0.106287085 + - -0.0071663745 + - 0.09280118 + - 0.015454187 + - 0.07208367 + - -0.025747975 + - 0.10033824 + - -0.000000000000000000000000000000013713392 + - 0.013944132 + - -0.07654248 + - 0.092849605 + - 0.24584456 + - -0.03181016 + - 0.066669956 + - -0.017198281 + - -0.10530462 + - 0.0062116743 + - 0.027922861 + - 0.097609125 + - 0.050841898 + - -0.016232688 + - 0.20561625 + - 0.00011033332 + - -0.16871035 + - -0.008334615 + - -0.047528327 + - 0.23204532 + - 0.13006495 + - -0.036949012 + - 0.04797119 + - -0.05414153 + - 0.1572214 + - -0.058532238 + - 0.04005173 + - 0.058657203 + - -0.03762678 + - -0.077547215 + - 0.03628941 + - -0.04232575 + - 0.09098175 + - -0.091589995 + - -0.31326088 + - -0.1341427 + - 0.20892066 + - -0.0876219 + - -0.08829888 + - -0.06109316 + - 0.008874761 + - -0.32534224 + - -0.15062615 + - 0.11961415 + - 0.08501181 + - 0.028596353 + - -0.1435614 + - 0.17803949 + - -0.07015467 + - -0.035641257 + - -0.48409817 + - 0.1750572 + - -0.020943759 + - -0.2172896 + - 0.22215575 + - 0.13692467 + - 0.05614651 + - -0.23825884 + - 0.0426597 + - -0.118801385 + - 0.071790144 + - 0.13846457 + - -0.035383575 + - -0.031353958 + - 0.017535353 + - 0.10815448 + - 0.16320917 + - 0.12439737 + - -0.37409076 + - -0.09227429 + - -0.16852394 + - 0.09624899 + - 0.14395395 + - -0.08071096 + - 0.24003762 + - 0.4158629 + - -0.02762894 + - -0.250193 + - 0.074508265 + - -0.019745603 + - -0.07329736 + - -0.06997734 + - -0.05530451 + - 0.13796145 + - -0.032568812 + - -0.025506506 + - -0.20485309 + - -0.06077178 + - -0.019952856 + - 0.092864215 + - -0.09165968 + - -0.099001765 + - 0.114508115 + - -0.02410335 + - -0.09898942 + - 0.37397614 + - 0.05107207 + - 0.026171206 + - 0.16527535 + - 0.0523237 + - 0.13473174 + - -0.16964449 + - -0.17827144 + - -0.19209479 + - 0.10672604 + - 0.14778891 + - 0.017917681 + - -0.115696564 + - 0.2823314 + - -0.044632476 + - -0.019546505 + - -0.0429974 + - 0.023230856 + - 0.023940228 + - 0.1087048 + - 0.14769658 + - -0.14757086 + - 0.037430294 + - 0.10151087 + - -0.21917719 + - 0.057499606 + - -0.124046266 + - -0.067563534 + - -0.08167868 + - 0.05006276 + - -0.09725629 + - -0.09966069 + - -0.1337331 + - -0.11532431 + - 0.13464594 + - -0.38920707 + - 0.033048492 + - 0.22859757 + - 0.0000005431597 + - -0.28594342 + - 0.21452601 + - 0.05994026 + - -0.08473271 + - 0.16790694 + - 0.097346365 + - -0.1859468 + - 0.013851713 + - 0.14540187 + - -0.2864298 + - 0.084233835 + - 0.05553878 + - -0.1102695 + - 0.013080144 + - 0.0037903525 + - -0.14850788 + - 0.033950657 + - 0.18054155 + - 0.047004506 + - 0.020254284 + - -0.12408017 + - 0.08635384 + - 0.04478557 + - 0.08798403 + - 0.042283304 + - -0.25738376 + - 0.19432145 + - 0.15602367 + - 0.29974163 + - -0.087618954 + - 0.17019044 + - 0.016903708 + - 0.22306933 + - 0.09129502 + - 0.08517691 + - 0.085561186 + - 0.07300954 + - 0.08034944 + - 0.034267142 + - -0.056822307 + - 0.03783495 + - 0.0043490306 + - -0.07171796 + - 0.10795584 + - 0.25047752 + - -0.25994498 + - -0.0765808 + - -0.0000032167882 + - 0.19443414 + - -0.16857074 + - 0.0045782086 + - 0.097900845 + - 0.06582883 + - -0.10884841 + - -0.07293213 + - -0.06717838 + - 0.02578507 + - -0.06937619 + - 0.015003309 + - 0.038800895 + - -0.062013477 + - 0.01371877 + - -0.07681371 + - -0.008723067 + - -0.037219036 + - 0.20839602 + - -0.078250244 + - 0.00000000000000000000000000000000062696617 + - 0.0104573835 + - -0.09542714 + - 0.097902596 + - -0.13897178 + - -0.09676167 + - -0.18027315 + - -0.19236411 + - -0.061794464 + - 0.04496181 + - -0.0054197093 + - -0.006008029 +- - -0.06475065 + - 0.33712706 + - -0.14175116 + - 0.052035905 + - -0.13789001 + - 0.07724611 + - 0.04551335 + - 0.016143817 + - -0.056740537 + - 0.0090807825 + - -0.011974009 + - -0.10114498 + - -0.090158895 + - 0.032281615 + - 0.22942714 + - 0.0404403 + - 0.10294159 + - -0.090808645 + - 0.1822812 + - -0.10317896 + - -0.2206535 + - -0.22507028 + - -0.102162234 + - 0.025781244 + - -0.14931516 + - -0.044441465 + - -0.030249264 + - -0.07648663 + - -0.054247696 + - 0.10225811 + - 0.15002802 + - -0.16432618 + - 0.18166737 + - 0.1361931 + - 0.000003043756 + - -0.08137339 + - 0.12739335 + - -0.00030452758 + - -0.05946795 + - -0.072080195 + - -0.033940706 + - 0.12873195 + - 0.114497334 + - 0.022829577 + - -0.16736253 + - -0.19112739 + - 0.15495728 + - -0.037558492 + - -0.059166864 + - 0.09985021 + - 0.07194662 + - -0.27833953 + - 0.15637812 + - -0.04860385 + - 0.08117379 + - -0.19673681 + - 0.09352045 + - 0.019232685 + - -0.07185303 + - -0.19835642 + - -0.11954272 + - 0.068300694 + - 0.22443847 + - 0.06339857 + - 0.024933934 + - -0.01166923 + - 0.056982864 + - -0.08364274 + - 0.06136787 + - 0.20109402 + - -0.3820454 + - -0.04334843 + - -0.15557125 + - -0.008468285 + - -0.23513518 + - 0.029900411 + - -0.06786451 + - -0.05216239 + - 0.06207799 + - -0.03954105 + - -0.030544205 + - -0.06072782 + - 0.086840115 + - 0.026396837 + - -0.033547986 + - 0.027023042 + - -0.124186754 + - 0.07934598 + - -0.121846735 + - 0.045179285 + - 0.17432739 + - -0.10224894 + - 0.032315157 + - 0.113564305 + - -0.06440152 + - -0.09116975 + - 0.0709618 + - -0.038327888 + - -0.022418175 + - -0.08876782 + - -0.0715397 + - -0.12532349 + - -0.12512779 + - -0.0149289565 + - -0.06562938 + - 0.13372134 + - -0.1940402 + - 0.18972912 + - 0.019823726 + - -0.09882231 + - -0.10612951 + - -0.036326677 + - -0.1273827 + - 0.18409544 + - -0.16242576 + - 0.03427008 + - -0.031950966 + - -0.07988275 + - -0.13571307 + - -0.11924949 + - -0.22720124 + - -0.029633645 + - 0.008427473 + - 0.04274279 + - -0.3103068 + - -0.01940459 + - 0.0135571165 + - 0.009102533 + - 0.16823113 + - -0.018045992 + - 0.034985457 + - -0.04692433 + - -0.04524728 + - 0.032136895 + - 0.12251385 + - 0.45903882 + - -0.023811083 + - 0.008053689 + - -0.31536177 + - -0.05613655 + - -0.013156188 + - -0.19453892 + - 0.17801689 + - -0.1967123 + - -0.06541049 + - -0.07504271 + - 0.07593502 + - -0.20038389 + - -0.056914188 + - -0.16438638 + - -0.07700507 + - 0.10124758 + - 0.08901652 + - -0.15104182 + - 0.30369624 + - -0.06370989 + - 0.25135455 + - 0.11858301 + - -0.13693285 + - -0.07854626 + - 0.04437478 + - 0.10236746 + - 0.033018462 + - -0.042637516 + - -0.008893043 + - -0.033970494 + - -0.22554806 + - -0.040436376 + - -0.095060185 + - -0.0061508846 + - -0.088985145 + - -0.06251959 + - -0.1692501 + - 0.08859493 + - 0.2881075 + - 0.10445894 + - 0.10671769 + - 0.4559068 + - 0.054834973 + - 0.080345415 + - 0.059364382 + - 0.038727827 + - -0.08633737 + - 0.30585498 + - -0.1547778 + - 0.012283092 + - 0.21888307 + - 0.13243225 + - -0.063436694 + - -0.1519925 + - 0.020122122 + - -0.28161797 + - 0.035098836 + - -0.11262058 + - 0.013483077 + - -0.1003277 + - -0.020057965 + - -0.07653631 + - -0.074825585 + - 0.19173 + - -0.12572709 + - -0.32032108 + - -0.032926127 + - 0.15433857 + - -0.032372706 + - -0.12054897 + - -0.17286065 + - -0.047776602 + - 0.029789688 + - 0.051661395 + - 0.072469786 + - 0.14690113 + - 0.086883806 + - 0.084756 + - -0.092880726 + - -0.0053124377 + - 0.0034856685 + - 0.2691674 + - -0.113665156 + - -0.092250586 + - -0.031899367 + - -0.05169354 + - -0.28465527 + - -0.23618518 + - -0.13580966 + - -0.11444667 + - 0.022452347 + - 0.10263221 + - -0.08218548 + - 0.083217844 + - -0.056876045 + - 0.0024962164 + - 0.111144 + - -0.06303172 + - -0.13544394 + - -0.018042997 + - -0.10892241 + - 0.041999802 + - 0.0047603454 + - -0.30297318 + - 0.11274454 + - 0.19599655 + - 0.062472116 + - -0.08905003 + - 0.06553057 + - 0.019675415 + - 0.08732292 + - -0.120767444 + - 0.06541059 + - -0.19594619 + - -0.013489276 + - -0.1072589 + - 0.32825488 + - 0.12208841 + - -0.026577365 + - -0.02741907 + - 0.06581857 + - -0.07720178 + - -0.058933593 + - -0.22149727 + - 0.122261815 + - -0.16244125 + - -0.020157788 + - 0.10244696 + - 0.037783723 + - 0.07700518 + - 0.09804714 + - -0.02862602 + - 0.09940613 + - -0.1392541 + - -0.015645998 + - -0.009325528 + - 0.087433614 + - 0.13179907 + - -0.0894436 + - -0.10932846 + - 0.028757492 + - 0.07428954 + - 0.018444553 + - 0.02427994 + - 0.09771563 + - -0.15868083 + - -0.006501302 + - -0.100139655 + - -0.008057592 + - 0.07707733 + - 0.24860857 + - 0.19249237 + - -0.06657104 + - -0.11561342 + - 0.06370909 + - 0.17703734 + - 0.05651348 + - -0.12902357 + - -0.022009216 + - 0.044961825 + - -0.073992416 + - 0.22660655 + - 0.07401124 + - -0.074756384 + - 0.0614088 + - 0.13851629 + - 0.016149294 + - -0.00008136593 + - -0.10632111 + - -0.030238645 + - -0.16649571 + - 0.04842777 + - -0.21277918 + - 0.3237326 + - 0.15415423 + - -0.15784603 + - 0.05418475 + - -0.054205958 + - 0.13925105 + - -0.19317451 + - -0.023153024 + - -0.06516852 + - -0.03161787 + - 0.11253063 + - -0.110176794 + - -0.06388152 + - 0.27117717 + - 0.184774 + - 0.05806862 + - 0.0065298826 + - -0.048073985 + - -0.07583904 + - -0.075820535 + - 0.013749566 + - 0.024615498 + - -0.060311537 + - -0.1009022 + - -0.0010090708 + - 0.0849885 + - -0.15542553 + - -0.030280937 + - 0.1184157 + - -0.15792118 + - -0.12070315 + - -0.10186779 + - 0.063829124 + - -0.04977309 + - 0.21039914 + - 0.25450113 + - 0.04943824 + - 0.10634431 + - 0.061316974 + - -0.047657304 + - -0.11259057 + - 0.05087237 + - 0.21330963 + - 0.03827187 + - 0.01579702 + - -0.11828666 + - -0.016174655 + - 0.022171633 + - 0.055545673 + - 0.098994404 + - -0.004587755 + - 0.24082209 + - -0.025626596 + - 0.10811425 + - 0.30680975 + - -0.24657254 + - 0.09897917 + - -0.10226925 + - 0.12677927 + - -0.1679013 + - 0.06997283 + - -0.0045832205 + - -0.019270133 + - -0.16264722 + - 0.11857714 + - -0.06381583 + - -0.10148819 + - -0.024535127 + - -0.01961963 + - 0.04324844 + - 0.07482642 + - 0.11480788 + - -0.058684684 + - -0.0548629 + - -0.06233355 + - -0.027914412 + - 0.13963512 + - -0.10575636 + - 0.2967415 + - 0.115350716 + - -0.18648154 + - 0.00039274513 + - -0.21157719 + - 0.018371604 + - -0.003163766 + - -0.090894245 + - 0.08057468 + - 0.10785875 + - -0.15137723 + - 0.06378007 + - -0.07422531 + - 0.0560889 + - -0.005544901 + - 0.0013478361 + - 0.08131672 + - -0.1928623 + - -0.07969918 + - 0.5150844 + - 0.1242103 + - -0.32855216 + - -0.014635231 + - 0.07982317 + - -0.056389008 + - 0.28786844 + - 0.1629194 + - 0.3053615 + - -0.075237855 + - -0.02718401 + - 0.137033 + - 0.00794136 + - -0.066489965 + - 0.12686528 + - 0.03170129 + - 0.10565731 + - -0.25607097 + - 0.18204275 + - 0.15449835 + - -0.11354614 + - 0.17431213 + - -0.041769117 + - 0.057580195 + - -0.14109196 + - -0.16917884 + - -0.13315466 + - 0.2594295 + - -0.07860398 + - -0.4296813 + - 0.123887815 + - 0.10548571 + - -0.007038437 + - 0.13670681 + - 0.023882017 + - 0.11235825 + - -0.0880842 + - 0.17141774 + - -0.023203263 + - 0.053196125 + - -0.02036841 + - -0.13157065 + - 0.008601256 + - 0.17556128 + - 0.10897486 + - -0.18568581 + - -0.06447924 + - -0.013316389 + - -0.22341321 + - 0.0066190725 + - -0.21494879 + - -0.26789355 + - -0.05595779 + - 0.039494403 + - 0.13627982 + - 0.14024672 + - -0.0004471743 + - -0.049826987 + - -0.23961723 + - 0.27922222 + - 0.38424692 + - 0.041992962 + - -0.07246545 + - 0.14357486 + - -0.13833891 + - 0.05892088 + - 0.0017191176 + - -0.10713938 + - 0.04001938 + - -0.0105663 + - -0.1988481 + - -0.028776925 + - -0.23325555 + - 0.07941235 + - -0.01887183 + - 0.17537385 + - 0.051417883 + - -0.23219742 + - 0.09033197 + - -0.011265257 + - 0.25523794 + - 0.22917548 + - -0.09161632 + - -0.06195857 + - 0.1519913 + - 0.10051529 + - 0.15026347 + - -0.048955575 + - 0.13259996 + - -0.058143415 + - -0.14899646 + - 0.19905607 + - 0.084696665 + - -0.008468419 + - 0.07614456 + - 0.04875207 + - -0.0048194053 + - 0.026098212 + - 0.036835615 + - -0.015285287 + - 0.031592384 + - -0.06361369 + - 0.13195892 + - 0.06482987 + - -0.10637157 + - -0.060943548 + - -0.18748543 + - -0.54974014 + - 0.04801406 + - 0.23979402 + - 0.14714275 + - -0.054425098 + - -0.16696495 + - 0.030215632 + - 0.09437077 + - 0.1378043 + - -0.13712801 + - -0.036485642 + - 0.230801 + - 0.034753162 + - 0.12060306 + - 0.01180067 + - 0.080816336 + - 0.21263748 + - -0.04714243 + - 0.1565331 + - -0.20088743 + - 0.13413838 + - -0.015308449 + - 0.038290683 + - 0.25618553 + - 0.20476617 + - 0.05209563 + - 0.060143463 + - 0.18522844 + - 0.020869957 + - 0.0075611025 + - 0.058742266 + - 0.012285703 + - -0.23167786 + - -0.043589324 + - 0.26582578 + - 0.009258557 + - -0.1425056 + - 0.12729023 + - 0.022439126 + - 0.049839698 + - 0.0421742 + - 0.18166488 + - -0.000000000000000000000000000000012499292 + - 0.103163995 + - -0.05430429 + - -0.054672696 + - 0.17008808 + - -0.066542014 + - 0.059293658 + - 0.017657654 + - -0.15854876 + - -0.05222595 + - 0.0047795353 + - 0.051855512 + - 0.0352904 + - 0.034962162 + - 0.14688052 + - 0.13598913 + - -0.035507467 + - 0.03383821 + - -0.054707922 + - 0.1995539 + - 0.051447507 + - 0.03514959 + - 0.19956113 + - -0.05845413 + - -0.008600336 + - -0.017348416 + - 0.155088 + - 0.036906432 + - -0.04071436 + - -0.11985378 + - 0.10415024 + - -0.054113485 + - -0.08921566 + - -0.13636023 + - -0.35326388 + - -0.111752026 + - 0.16440913 + - -0.13304165 + - -0.13099185 + - -0.2829798 + - 0.03898227 + - -0.17178635 + - -0.10204554 + - 0.13978001 + - 0.046594508 + - 0.040197406 + - 0.016296847 + - 0.07453176 + - -0.15364414 + - -0.09620586 + - -0.24804537 + - 0.13618189 + - -0.0029801074 + - -0.19595183 + - -0.011356416 + - 0.1126391 + - 0.042537138 + - -0.18500969 + - 0.027491068 + - -0.18080166 + - 0.020186273 + - 0.12992173 + - -0.07889845 + - -0.043032616 + - 0.15096262 + - 0.010250083 + - 0.10918203 + - 0.12378682 + - -0.19984958 + - 0.15038845 + - -0.08964345 + - 0.16091354 + - 0.13041532 + - 0.012451995 + - 0.09699828 + - 0.07000344 + - 0.022317193 + - -0.1575195 + - -0.009294838 + - 0.031454537 + - 0.026599366 + - -0.082437254 + - -0.04766414 + - 0.1263798 + - -0.08744175 + - -0.07411719 + - -0.37032387 + - -0.016279034 + - 0.08042236 + - 0.0025371136 + - -0.02265308 + - -0.18817607 + - 0.080791295 + - 0.09486802 + - -0.14504743 + - 0.30864793 + - 0.19436565 + - 0.07068619 + - 0.05771176 + - 0.15146007 + - 0.14523074 + - 0.058398284 + - -0.37407824 + - -0.21980305 + - 0.1451309 + - 0.16861217 + - 0.067839265 + - -0.1439077 + - 0.10559644 + - -0.043534145 + - 0.043152228 + - -0.08219958 + - -0.009243945 + - 0.13166928 + - -0.039912745 + - 0.092459366 + - -0.30168343 + - 0.061620057 + - 0.032123424 + - -0.21774918 + - 0.08006613 + - -0.08450318 + - -0.27870572 + - -0.20452508 + - 0.10423844 + - -0.057627518 + - -0.2044372 + - -0.1538881 + - -0.14312407 + - -0.07244383 + - -0.28287134 + - 0.031917546 + - 0.1983079 + - 0.0000005078695 + - -0.20361191 + - 0.22766949 + - -0.0027158912 + - -0.17534426 + - 0.0986491 + - 0.15511763 + - -0.08987458 + - -0.022937348 + - 0.25020316 + - 0.031223899 + - 0.15010984 + - 0.17677958 + - -0.048674416 + - -0.009754543 + - -0.12539786 + - -0.2453353 + - -0.031083353 + - 0.15103376 + - 0.048078515 + - -0.0037201643 + - -0.2065951 + - 0.13898699 + - -0.035204135 + - -0.022253344 + - 0.20307001 + - -0.2325936 + - 0.052115098 + - 0.08860516 + - 0.36183935 + - -0.089039445 + - 0.18829532 + - -0.033968158 + - 0.034034174 + - 0.1172058 + - 0.01775891 + - -0.05514493 + - -0.029771114 + - 0.092063 + - 0.02050449 + - 0.20344524 + - 0.065226376 + - 0.044343784 + - 0.007050356 + - 0.024850504 + - 0.33572158 + - -0.2593131 + - -0.059291303 + - -0.011273357 + - 0.10736875 + - -0.23340902 + - 0.021531517 + - 0.032559887 + - 0.11942973 + - -0.04038915 + - -0.13375503 + - -0.042444594 + - 0.089463726 + - 0.015462227 + - -0.024202071 + - 0.034455687 + - -0.12616612 + - 0.11007497 + - -0.12980756 + - -0.082577154 + - 0.08773922 + - 0.1840197 + - 0.027039919 + - 0.0000000000000000000000000000000004736525 + - 0.012956939 + - -0.11109342 + - 0.11724128 + - -0.105111085 + - 0.0148514025 + - -0.16263343 + - -0.0377458 + - 0.05075184 + - -0.04843469 + - 0.09252987 + - -0.06836401 +- - -0.004420786 + - 0.027419962 + - -0.1616167 + - -0.029979402 + - -0.08660222 + - 0.08678703 + - 0.027493358 + - 0.107398726 + - 0.05104781 + - 0.027339742 + - 0.13470595 + - -0.18052399 + - -0.05329224 + - 0.14949453 + - 0.14610972 + - -0.23524708 + - 0.20616655 + - -0.3397513 + - 0.059257105 + - -0.10410823 + - -0.23810123 + - -0.1489444 + - -0.09425362 + - 0.011031375 + - -0.05103332 + - -0.1139506 + - -0.112183146 + - -0.071028 + - -0.12011776 + - 0.0047073783 + - 0.060182996 + - -0.12628876 + - 0.105850324 + - 0.29561067 + - 0.0000041586304 + - -0.1811317 + - 0.0052770153 + - -0.071960576 + - 0.025731472 + - 0.00045587122 + - 0.11923118 + - -0.0115226535 + - 0.086826906 + - 0.026518714 + - -0.15677418 + - -0.0813751 + - 0.20440616 + - -0.023678396 + - -0.028054722 + - 0.08695839 + - 0.07350312 + - -0.12961149 + - 0.12340251 + - -0.050101437 + - 0.10809434 + - -0.21349528 + - 0.18281566 + - -0.019796059 + - -0.005723916 + - -0.12216344 + - -0.1322154 + - -0.009920877 + - 0.12483403 + - 0.14238031 + - 0.090089455 + - 0.07062318 + - -0.017454416 + - -0.12112555 + - -0.05554181 + - 0.16586764 + - -0.12361728 + - -0.015444142 + - 0.097123265 + - 0.09460098 + - -0.06284019 + - 0.05550032 + - -0.036330868 + - -0.022036413 + - 0.03425035 + - -0.058480807 + - -0.24825603 + - -0.07062003 + - 0.12650032 + - -0.016772928 + - -0.09833181 + - 0.21930215 + - -0.09472515 + - 0.021384776 + - -0.03871077 + - -0.0407208 + - 0.18229568 + - -0.052649897 + - 0.053732987 + - 0.14848761 + - -0.0067738276 + - -0.056550097 + - 0.07664762 + - -0.039557584 + - 0.14235343 + - 0.041874543 + - -0.03246113 + - -0.15841499 + - -0.0070487186 + - 0.032964718 + - 0.06847586 + - 0.08781741 + - -0.30219755 + - 0.044852026 + - -0.1144141 + - 0.018415116 + - -0.18227018 + - -0.0792892 + - 0.023670634 + - 0.18198502 + - 0.078455 + - -0.097387746 + - -0.014216132 + - -0.099220395 + - -0.10617372 + - -0.05045269 + - -0.23798522 + - 0.05803583 + - -0.12576762 + - 0.08010645 + - -0.30990952 + - 0.05329874 + - -0.025368355 + - -0.055066448 + - 0.102904424 + - -0.025322884 + - 0.10121044 + - -0.12342099 + - 0.013715479 + - 0.098357886 + - 0.11090588 + - 0.30018446 + - -0.030087527 + - 0.16290833 + - -0.28141785 + - -0.07210453 + - 0.008374634 + - -0.11878294 + - 0.168475 + - -0.20741697 + - -0.120812945 + - -0.059772786 + - -0.035820402 + - -0.13826692 + - -0.07802371 + - -0.09239018 + - -0.17094325 + - 0.12542379 + - -0.11513346 + - -0.044694506 + - 0.4626891 + - 0.05875262 + - 0.11786518 + - 0.1550336 + - -0.18957117 + - 0.11157897 + - -0.045653757 + - -0.028826334 + - -0.01203759 + - 0.0022999968 + - 0.06784994 + - -0.009359408 + - -0.028710175 + - -0.094908595 + - -0.3153736 + - 0.1536491 + - -0.17456107 + - 0.080135174 + - -0.031358976 + - 0.18545647 + - 0.14939155 + - 0.24798551 + - 0.15747623 + - 0.39327917 + - 0.13094924 + - 0.06966378 + - 0.035704974 + - -0.03344127 + - 0.0023484863 + - 0.29291686 + - -0.096396774 + - 0.0898554 + - 0.050029073 + - -0.005385335 + - -0.123044856 + - -0.24711013 + - 0.15893465 + - -0.19801612 + - 0.014880212 + - -0.07721363 + - 0.16797507 + - -0.014254857 + - -0.018133428 + - -0.24566315 + - -0.056203876 + - 0.1341267 + - 0.04470589 + - -0.16656151 + - 0.02390538 + - 0.15551156 + - -0.037532605 + - -0.18235461 + - 0.011221368 + - -0.09690385 + - 0.06418655 + - -0.0039488226 + - 0.11661907 + - 0.117373936 + - 0.036605608 + - -0.014652033 + - 0.027271278 + - -0.16734456 + - 0.05555238 + - 0.33135006 + - -0.103344075 + - -0.13127686 + - -0.095397204 + - -0.048610903 + - -0.09249818 + - -0.14884742 + - -0.0788176 + - -0.20431782 + - 0.2003658 + - 0.05155316 + - -0.007068144 + - 0.005063096 + - 0.0072581153 + - -0.08930562 + - 0.13627814 + - 0.05589634 + - -0.16452011 + - 0.026290806 + - -0.049947497 + - 0.49758318 + - -0.06668948 + - -0.3837889 + - -0.0071505783 + - 0.06706179 + - 0.09329937 + - -0.12221455 + - 0.21490796 + - -0.060224086 + - 0.049702123 + - 0.0013858452 + - -0.1100952 + - -0.23900062 + - -0.020324565 + - -0.08484492 + - 0.20698488 + - 0.14172451 + - -0.046662603 + - 0.10868708 + - 0.14426869 + - 0.07425838 + - -0.1682269 + - -0.13927054 + - 0.08089134 + - -0.09275835 + - 0.14485821 + - 0.017470572 + - -0.059020266 + - 0.012682557 + - 0.1452243 + - 0.009883845 + - 0.0899297 + - -0.034893744 + - -0.026843954 + - -0.029870726 + - -0.13601977 + - 0.0983575 + - -0.17109528 + - -0.04903704 + - 0.17768276 + - 0.013460003 + - -0.10853982 + - 0.04584059 + - 0.14859433 + - -0.048934653 + - -0.022181807 + - -0.10019061 + - -0.118921295 + - 0.049151793 + - 0.1981371 + - 0.07657255 + - -0.04928053 + - -0.141993 + - 0.077458985 + - 0.10851521 + - 0.016884254 + - -0.008555118 + - 0.050149206 + - -0.0666753 + - -0.039057687 + - 0.10383655 + - 0.056429233 + - -0.0151678175 + - 0.100182146 + - 0.0033172574 + - 0.07315907 + - 0.031313717 + - -0.16871765 + - -0.010227457 + - -0.032868583 + - -0.06449665 + - -0.17806469 + - 0.29068044 + - 0.10763648 + - -0.067643344 + - 0.011101156 + - 0.091906525 + - 0.010063095 + - -0.19080976 + - -0.03649199 + - 0.0017690877 + - -0.06060883 + - 0.17612582 + - -0.11239407 + - -0.19914737 + - 0.32252392 + - 0.16995685 + - 0.087410234 + - -0.06533326 + - 0.015582427 + - 0.090538174 + - 0.051222917 + - 0.025838852 + - 0.09194174 + - 0.046952415 + - -0.28695506 + - 0.059804898 + - 0.058227215 + - -0.1057356 + - -0.07753155 + - 0.11888564 + - -0.2561023 + - -0.15013142 + - 0.0018867902 + - 0.07238126 + - -0.009997745 + - 0.1777181 + - -0.114635885 + - 0.0061113257 + - 0.07500661 + - 0.020278236 + - -0.08330003 + - -0.2131185 + - 0.052996337 + - 0.36267433 + - 0.025885016 + - -0.031348243 + - -0.10970456 + - -0.115292504 + - 0.010018564 + - -0.09707658 + - 0.156924 + - -0.09338824 + - 0.21330032 + - 0.025168832 + - 0.045505423 + - 0.094242916 + - -0.20971008 + - 0.07220375 + - 0.023094963 + - 0.056246605 + - -0.15639299 + - 0.24045242 + - 0.01839104 + - -0.06992495 + - -0.1337832 + - 0.07279357 + - 0.024936263 + - -0.2295045 + - 0.006979443 + - -0.025183823 + - -0.06627539 + - 0.1135766 + - 0.11095596 + - -0.33750677 + - 0.11182199 + - -0.049320556 + - -0.038080923 + - 0.04924152 + - -0.12964807 + - 0.28512186 + - -0.032134026 + - -0.096068315 + - -0.095035 + - -0.20970225 + - -0.09109283 + - -0.03878089 + - -0.1442731 + - 0.13042007 + - 0.31082958 + - -0.21090233 + - 0.020618692 + - -0.029270845 + - 0.10324406 + - -0.26634818 + - -0.015269566 + - -0.008011489 + - -0.12724985 + - -0.0013876045 + - 0.42889354 + - 0.1954978 + - -0.3422023 + - -0.148549 + - -0.053835485 + - -0.03801756 + - 0.19731908 + - 0.069232516 + - 0.16798678 + - 0.068595424 + - -0.03721924 + - 0.082337424 + - 0.108126126 + - -0.14102244 + - -0.007902092 + - 0.052839957 + - 0.13383672 + - -0.060511496 + - 0.026409198 + - 0.028993977 + - -0.21109848 + - 0.14536767 + - -0.048431024 + - -0.029665016 + - -0.20839006 + - -0.19400613 + - -0.10231665 + - 0.21174955 + - -0.08378738 + - -0.17910917 + - 0.010067375 + - 0.07236822 + - 0.011755129 + - -0.0320302 + - 0.15655467 + - 0.07449418 + - 0.08755148 + - 0.21800777 + - -0.053238086 + - 0.043627366 + - 0.09673715 + - -0.2828422 + - 0.06620627 + - 0.099808216 + - 0.13585809 + - -0.10952027 + - -0.2456486 + - -0.06734763 + - -0.08365268 + - -0.00879998 + - -0.10703902 + - -0.14027363 + - -0.06721389 + - -0.00092566386 + - 0.11242788 + - 0.097831585 + - -0.009346729 + - -0.054585956 + - -0.17441456 + - -0.0031936523 + - 0.19735312 + - 0.036639534 + - -0.0436908 + - 0.21028006 + - -0.24568056 + - 0.0064084334 + - -0.018593056 + - -0.14134544 + - -0.08336035 + - -0.04050009 + - -0.13268827 + - -0.14245877 + - -0.040191896 + - 0.0492316 + - 0.021231871 + - 0.18571728 + - 0.030760288 + - -0.017946413 + - 0.014403064 + - -0.01882299 + - 0.19869871 + - 0.12561508 + - -0.051496465 + - -0.14635079 + - 0.18311931 + - 0.026763787 + - 0.13716294 + - 0.10282504 + - 0.21621376 + - 0.031364392 + - -0.039411336 + - 0.077637896 + - 0.086268604 + - 0.2097215 + - 0.009232157 + - 0.010834695 + - -0.024789542 + - 0.012997924 + - -0.19756629 + - 0.13490993 + - 0.06568665 + - 0.026274674 + - -0.030339679 + - 0.19056204 + - 0.06933397 + - -0.11443933 + - -0.083539784 + - -0.2637686 + - 0.13392077 + - 0.25417334 + - 0.16649355 + - -0.06342762 + - -0.1417161 + - -0.09888911 + - 0.04146059 + - 0.024229111 + - -0.10813081 + - -0.035810743 + - 0.15271495 + - -0.14070024 + - 0.073239595 + - 0.04532357 + - 0.08123757 + - 0.28000706 + - 0.10992405 + - 0.2512519 + - -0.18247277 + - 0.1733103 + - 0.059882 + - 0.025535006 + - 0.16570145 + - 0.31426495 + - -0.086397216 + - 0.018261403 + - -0.015880562 + - -0.095143706 + - -0.04764175 + - 0.114480205 + - 0.015228722 + - -0.22359093 + - -0.008395918 + - 0.4045463 + - -0.026248412 + - -0.0016123597 + - 0.0026083654 + - 0.12968367 + - -0.04194365 + - 0.15950689 + - 0.17712046 + - -0.000000000000000000000000000000012737996 + - 0.089412615 + - -0.10603499 + - 0.069971256 + - 0.1537131 + - 0.08375001 + - 0.0075506684 + - 0.008164106 + - 0.00009706279 + - -0.059308443 + - 0.046210427 + - 0.06307668 + - 0.07544799 + - -0.013471264 + - 0.048947588 + - 0.017189767 + - -0.07503986 + - -0.064986564 + - -0.04623988 + - 0.17466874 + - 0.015326883 + - -0.006160618 + - 0.116573766 + - -0.05582782 + - -0.120536745 + - -0.037854806 + - 0.08082837 + - 0.14193755 + - -0.11767628 + - -0.053145424 + - 0.09813563 + - -0.023762962 + - 0.122932605 + - -0.06183554 + - -0.30244768 + - -0.053950474 + - 0.1708365 + - -0.08948821 + - -0.054630965 + - -0.05801726 + - 0.050661806 + - -0.33371168 + - -0.20403634 + - 0.14362948 + - 0.032370128 + - -0.10913627 + - 0.038363036 + - 0.16223782 + - -0.21462081 + - 0.003890749 + - -0.37308612 + - -0.07598319 + - -0.09390862 + - -0.14541024 + - -0.011219093 + - 0.10655406 + - 0.05981803 + - -0.2544577 + - -0.0051008225 + - -0.106497765 + - 0.112351954 + - 0.22575727 + - 0.046641983 + - 0.061672132 + - 0.08544625 + - 0.17143393 + - 0.18675762 + - 0.07798463 + - -0.08616705 + - 0.031220369 + - -0.12023964 + - 0.24005303 + - 0.1647744 + - 0.014556345 + - 0.11357348 + - 0.1221549 + - -0.14748423 + - -0.1378438 + - -0.14876232 + - 0.057176374 + - -0.04967194 + - -0.053611383 + - -0.06955277 + - 0.14195812 + - -0.028967243 + - -0.084419586 + - -0.10253978 + - 0.00030887313 + - -0.046865113 + - 0.10731158 + - 0.021738404 + - -0.0937269 + - 0.15814939 + - -0.0549189 + - -0.18193938 + - 0.26328725 + - 0.026548099 + - 0.06186671 + - 0.05999615 + - 0.02931362 + - 0.033682816 + - -0.13455649 + - -0.31578544 + - -0.26809636 + - 0.07028587 + - 0.1650772 + - 0.119040474 + - -0.17798845 + - 0.11918339 + - 0.0017626184 + - -0.09534768 + - -0.0760423 + - 0.015855331 + - 0.030370496 + - -0.016393647 + - -0.051726274 + - -0.20223777 + - 0.05704348 + - 0.065264866 + - -0.18166539 + - 0.110611536 + - -0.13850802 + - -0.092681006 + - -0.23469616 + - 0.08327341 + - -0.1402264 + - -0.19000529 + - -0.14506477 + - -0.09055831 + - 0.13498951 + - -0.3312012 + - -0.096904814 + - 0.084602125 + - 0.00000058464695 + - -0.14828165 + - 0.26357803 + - 0.07114583 + - -0.15667817 + - 0.11096846 + - 0.09670213 + - -0.049863327 + - -0.08330751 + - 0.12556082 + - -0.09108615 + - 0.06191024 + - 0.09453551 + - -0.14783727 + - -0.015763026 + - -0.078805596 + - -0.14568976 + - -0.15316994 + - 0.19461975 + - -0.108109295 + - 0.014803005 + - 0.014474355 + - 0.13505685 + - 0.020447124 + - -0.04726296 + - 0.14928228 + - -0.1588309 + - 0.10101085 + - 0.07546347 + - 0.18822443 + - -0.030287053 + - -0.00217532 + - 0.072573826 + - 0.07247881 + - 0.16291979 + - -0.0102506075 + - -0.04919537 + - -0.11686828 + - 0.08818571 + - 0.071251616 + - 0.047625817 + - 0.0049321093 + - 0.08887799 + - -0.008548211 + - -0.023090526 + - 0.3169742 + - -0.15728287 + - -0.17121355 + - -0.030387934 + - 0.12891978 + - -0.040258534 + - -0.10908512 + - 0.034231678 + - 0.016930873 + - -0.15393196 + - -0.0774111 + - -0.009508994 + - 0.12401702 + - 0.057620093 + - 0.18657097 + - 0.14283995 + - -0.16454358 + - -0.06268874 + - -0.18714187 + - -0.008794114 + - 0.049454868 + - 0.14536381 + - 0.0014856085 + - 0.00000000000000000000000000000000023386465 + - -0.022283621 + - -0.012463525 + - 0.072043456 + - -0.019247036 + - -0.14670372 + - -0.039640788 + - -0.072815835 + - 0.07458181 + - 0.1433007 + - 0.057272676 + - -0.038751613 +- - -0.008910274 + - -0.054565273 + - -0.12195712 + - 0.025669076 + - -0.036598563 + - 0.047402374 + - 0.03157418 + - -0.07253268 + - -0.011330459 + - 0.036170494 + - 0.19945763 + - -0.032298442 + - -0.09530462 + - 0.08609141 + - 0.15214017 + - -0.0035922443 + - 0.16655186 + - -0.17176719 + - 0.05585183 + - -0.18788157 + - -0.1689649 + - -0.13300738 + - -0.038565457 + - -0.021205848 + - 0.048419174 + - -0.105280116 + - -0.019491876 + - -0.02400672 + - -0.20176306 + - 0.03086565 + - 0.041808918 + - -0.13533463 + - 0.14058383 + - 0.17040005 + - 0.000006183513 + - 0.00042198598 + - 0.059436798 + - -0.015129127 + - -0.057977386 + - 0.03820453 + - 0.026016409 + - 0.12502223 + - 0.0048778574 + - 0.017117925 + - -0.12815404 + - -0.20866033 + - 0.16352588 + - -0.035879318 + - -0.04619617 + - 0.10124758 + - 0.08996484 + - -0.25029525 + - 0.14458522 + - -0.14981851 + - 0.115655184 + - -0.17653438 + - 0.12063606 + - -0.010719571 + - -0.043100502 + - -0.20731889 + - -0.12536375 + - 0.022562426 + - 0.07933127 + - 0.0144947115 + - 0.12373194 + - -0.10730533 + - 0.04138149 + - -0.14265649 + - 0.096669436 + - 0.08331527 + - -0.1186315 + - 0.06662379 + - -0.044793986 + - 0.07256485 + - -0.08844555 + - -0.17489207 + - 0.0052419687 + - 0.03704266 + - -0.008510234 + - 0.0023670122 + - -0.08577498 + - -0.035334166 + - 0.161576 + - 0.07096997 + - -0.06938943 + - 0.01525001 + - -0.1226988 + - -0.011252138 + - -0.08828943 + - -0.0439424 + - 0.09815787 + - -0.13514584 + - 0.12107032 + - 0.03903827 + - -0.13664848 + - 0.030541122 + - 0.10571483 + - -0.057925902 + - 0.039413728 + - -0.011397831 + - -0.11568802 + - -0.17692827 + - -0.10389672 + - 0.030040614 + - -0.08055263 + - 0.12390855 + - -0.15398581 + - 0.073183425 + - -0.014523465 + - 0.09414847 + - -0.014516532 + - 0.0071824547 + - -0.03977232 + - 0.124266066 + - -0.051951207 + - -0.13072273 + - 0.041591592 + - 0.009813938 + - -0.080812655 + - -0.09946684 + - -0.088276125 + - 0.1379223 + - -0.15743731 + - 0.12324898 + - -0.15189686 + - 0.11602777 + - -0.11919706 + - 0.03429476 + - 0.1304905 + - 0.032345228 + - 0.080057345 + - -0.04439579 + - 0.004834925 + - 0.03966265 + - 0.06934975 + - 0.21126169 + - 0.009278588 + - 0.04264958 + - -0.19617218 + - -0.07915654 + - 0.025053296 + - -0.10552977 + - 0.09166077 + - -0.20329188 + - -0.010927698 + - -0.16994412 + - 0.14040174 + - -0.18441966 + - -0.08548971 + - -0.04557322 + - -0.05976249 + - 0.072277114 + - -0.1685805 + - -0.19548663 + - 0.22707993 + - 0.045585565 + - 0.10375484 + - 0.022469832 + - -0.11270517 + - 0.049720768 + - 0.0423123 + - 0.07298611 + - -0.049896657 + - -0.12504788 + - 0.057052463 + - -0.013040323 + - -0.061254233 + - -0.06569108 + - -0.2132637 + - 0.01576071 + - 0.05894836 + - 0.12367457 + - -0.016164 + - 0.15405534 + - 0.23868626 + - 0.1909697 + - 0.1252487 + - 0.29457802 + - -0.07542831 + - -0.016792586 + - 0.050800513 + - -0.14487436 + - 0.02809057 + - 0.14386943 + - 0.15535554 + - 0.009607891 + - 0.1401624 + - 0.15708406 + - -0.14978062 + - -0.25596866 + - 0.076689176 + - -0.25307935 + - 0.0050894786 + - -0.046436813 + - 0.121041566 + - -0.054980315 + - 0.03493897 + - -0.2381958 + - -0.0730151 + - 0.13480294 + - 0.0061275186 + - -0.16455582 + - -0.031506684 + - 0.032118283 + - -0.06733416 + - -0.08245931 + - -0.058207694 + - -0.12321706 + - 0.0018203026 + - -0.032953974 + - 0.019783339 + - 0.20219558 + - -0.035005517 + - 0.06885209 + - -0.033442758 + - -0.11912495 + - 0.027240118 + - 0.23431505 + - -0.18192686 + - -0.05001629 + - -0.058236644 + - -0.0071809813 + - -0.06450544 + - -0.14490068 + - -0.062487017 + - -0.18027325 + - 0.12164335 + - 0.035046138 + - 0.037096027 + - 0.14920181 + - 0.10429064 + - 0.10423096 + - 0.13901462 + - 0.006310357 + - -0.1464091 + - -0.015410457 + - -0.027223527 + - 0.17491254 + - 0.005508053 + - -0.33206415 + - 0.0073049376 + - 0.17783158 + - 0.03131944 + - -0.11780935 + - 0.18924539 + - -0.10125908 + - -0.12117845 + - -0.09332779 + - -0.02411932 + - -0.14141358 + - -0.11153098 + - -0.12649187 + - 0.19372901 + - 0.1180507 + - -0.041599404 + - 0.07548996 + - 0.039891534 + - 0.04987625 + - -0.0726238 + - -0.101532444 + - 0.12701298 + - -0.06384063 + - 0.022536153 + - 0.020398814 + - 0.15552628 + - 0.07134856 + - 0.12867425 + - -0.0036186725 + - -0.014663361 + - -0.07088007 + - -0.011073742 + - 0.02048925 + - 0.018766273 + - 0.08290519 + - -0.11183471 + - -0.044170685 + - 0.015695289 + - -0.020585611 + - -0.1088114 + - 0.05761957 + - 0.028718425 + - 0.04825559 + - -0.12944582 + - -0.13534611 + - -0.013514761 + - 0.04603354 + - 0.029381126 + - 0.14746428 + - -0.13748378 + - -0.12741743 + - 0.031198096 + - 0.15485753 + - 0.026988454 + - -0.13510236 + - -0.033310596 + - -0.08801929 + - -0.052196156 + - 0.06250547 + - -0.05921222 + - -0.00161645 + - 0.08807348 + - 0.1346306 + - 0.09812433 + - 0.015137341 + - -0.06534323 + - -0.05293638 + - 0.04177037 + - 0.0030267246 + - -0.14261967 + - 0.23346569 + - 0.06489515 + - -0.04761603 + - 0.019166125 + - 0.05322725 + - -0.024990149 + - -0.1652978 + - -0.038109913 + - -0.06865469 + - 0.0104221925 + - 0.07853831 + - -0.059590586 + - -0.041712843 + - 0.25685474 + - 0.18575467 + - 0.083786756 + - -0.16845487 + - -0.09066576 + - 0.07617232 + - -0.07839133 + - 0.124103606 + - 0.07402859 + - -0.031393606 + - -0.13694578 + - 0.070161685 + - 0.029159693 + - -0.13564228 + - -0.08298673 + - 0.094934724 + - -0.10154206 + - -0.07144005 + - -0.002797841 + - 0.13236609 + - -0.063126996 + - 0.08257504 + - -0.052299272 + - -0.04669644 + - 0.089844555 + - -0.040215936 + - 0.0026708134 + - -0.053421747 + - -0.03243829 + - 0.26671308 + - 0.0992704 + - -0.05620777 + - -0.09723615 + - -0.038224984 + - -0.101751775 + - -0.062463112 + - 0.07321725 + - 0.012067419 + - 0.12956506 + - 0.07003863 + - 0.10337484 + - 0.11891955 + - -0.2790534 + - 0.08491489 + - 0.0046353326 + - 0.11855523 + - -0.025623254 + - 0.042283636 + - -0.14862944 + - -0.13218313 + - -0.19326995 + - 0.07766345 + - -0.09152194 + - -0.15843731 + - -0.009108083 + - 0.04853797 + - 0.04336735 + - 0.08677218 + - 0.12444542 + - -0.06110668 + - -0.111476906 + - -0.00095471786 + - -0.08332438 + - 0.07176633 + - -0.07123914 + - 0.17464143 + - 0.04949277 + - -0.0795075 + - -0.01317983 + - -0.12556948 + - -0.12150484 + - 0.17429346 + - -0.02797759 + - -0.06891987 + - 0.08516611 + - -0.13833198 + - 0.074759334 + - -0.08974743 + - 0.07585784 + - -0.04019625 + - -0.097725734 + - 0.08703019 + - -0.15731293 + - 0.06031183 + - 0.2891303 + - 0.05913639 + - -0.18258101 + - -0.017629437 + - 0.06967924 + - -0.005261101 + - 0.22040144 + - 0.040585224 + - 0.20042875 + - -0.11593357 + - -0.11605781 + - 0.017085362 + - 0.18554726 + - -0.10457015 + - 0.035882413 + - 0.0146886725 + - 0.12574339 + - -0.12264382 + - 0.22551814 + - 0.057903275 + - -0.11119679 + - 0.018587299 + - 0.008361823 + - -0.015286264 + - -0.13892357 + - -0.038242538 + - -0.09090763 + - 0.2518348 + - 0.021462135 + - -0.07717142 + - 0.0073208697 + - 0.056773543 + - 0.06668055 + - -0.039036233 + - 0.10475901 + - 0.046955436 + - -0.013402864 + - 0.17672601 + - 0.04054186 + - 0.16615596 + - -0.011493301 + - -0.10806451 + - 0.095892705 + - 0.054112464 + - 0.07922548 + - -0.14633825 + - -0.107641324 + - -0.063487336 + - 0.09458386 + - 0.016801387 + - -0.075485185 + - -0.12890828 + - 0.08762818 + - 0.016244391 + - 0.13347363 + - 0.06538721 + - 0.08797858 + - -0.057039198 + - -0.14861251 + - 0.08426265 + - 0.056293674 + - 0.009831687 + - 0.012851607 + - -0.011228284 + - -0.13627322 + - 0.030696731 + - -0.03371571 + - -0.093487464 + - 0.011716841 + - -0.14365645 + - -0.0021983003 + - -0.077436306 + - -0.045111917 + - 0.067353405 + - -0.040750258 + - 0.15898478 + - 0.13486984 + - -0.108416975 + - -0.023330042 + - 0.025353853 + - 0.1750494 + - 0.15973572 + - -0.06996034 + - -0.15988389 + - 0.18715163 + - 0.05415591 + - 0.19236375 + - -0.03404795 + - 0.2122934 + - -0.019138265 + - -0.13201842 + - 0.10573674 + - 0.11774129 + - 0.07327462 + - -0.12620734 + - 0.10063351 + - 0.0021428019 + - 0.083243065 + - -0.21587811 + - -0.047137044 + - 0.08463209 + - 0.019950485 + - -0.018845428 + - 0.019641023 + - -0.08672236 + - -0.06178731 + - -0.10864287 + - -0.2546639 + - 0.022070471 + - 0.3194406 + - 0.06664276 + - -0.11238105 + - -0.09296127 + - -0.07713151 + - -0.016009882 + - -0.04031401 + - -0.110283434 + - -0.07125233 + - 0.043865975 + - -0.0671642 + - 0.10387507 + - 0.14590879 + - 0.11077732 + - 0.16685443 + - 0.14835402 + - 0.13127694 + - 0.0003902472 + - 0.156434 + - -0.08338104 + - 0.11977878 + - 0.22023709 + - 0.19294892 + - -0.11098276 + - -0.015483508 + - 0.08496958 + - -0.10777412 + - -0.00065322965 + - 0.14930677 + - 0.11893313 + - -0.22008847 + - -0.032242898 + - 0.3072476 + - 0.008312458 + - 0.02993419 + - -0.059781257 + - 0.17893714 + - -0.007103207 + - -0.07353973 + - 0.17913996 + - -0.000000000000000000000000000000024026484 + - 0.0039214427 + - -0.022728844 + - -0.035731845 + - 0.13696113 + - -0.12849775 + - 0.046373155 + - 0.08427487 + - -0.16670573 + - -0.043358397 + - 0.038488083 + - 0.06612244 + - -0.048215043 + - 0.017686531 + - 0.1382427 + - 0.038064864 + - -0.13434054 + - 0.0004509422 + - 0.008300142 + - 0.17588644 + - 0.048306413 + - -0.11660727 + - 0.06342014 + - -0.1106079 + - 0.045894474 + - 0.070458084 + - -0.014584936 + - 0.0008840044 + - -0.114594705 + - -0.059375852 + - -0.051070213 + - -0.055369556 + - 0.020320931 + - -0.10086362 + - -0.1659918 + - -0.15259206 + - 0.26973587 + - -0.2027169 + - -0.0917392 + - -0.07261718 + - 0.029829284 + - -0.22790319 + - -0.17098425 + - 0.22584288 + - -0.0564033 + - 0.01734019 + - 0.06079967 + - 0.08089117 + - -0.08338457 + - -0.14140306 + - -0.18827999 + - -0.0014449093 + - 0.027207375 + - -0.24742615 + - -0.00023278221 + - -0.029790996 + - 0.063060045 + - -0.16862202 + - 0.037120566 + - -0.084945455 + - 0.07416934 + - 0.12796126 + - -0.045406375 + - 0.014949055 + - 0.13996276 + - 0.1137398 + - 0.20952289 + - 0.17017984 + - -0.09306656 + - 0.14263926 + - -0.039128102 + - 0.049717 + - 0.07322177 + - -0.007119404 + - 0.1822174 + - 0.15475264 + - 0.009140503 + - -0.192194 + - -0.023998134 + - 0.035811298 + - 0.10429328 + - -0.0917749 + - 0.08318548 + - 0.10504049 + - 0.019381043 + - -0.034521963 + - -0.19487971 + - 0.002262365 + - -0.010338312 + - 0.0030169627 + - -0.04142757 + - -0.12851727 + - 0.13556728 + - -0.07703697 + - -0.17818289 + - 0.13272686 + - 0.010864125 + - 0.1270166 + - 0.07761635 + - -0.013364129 + - 0.113226354 + - -0.02382505 + - -0.18267168 + - -0.21273462 + - 0.00572889 + - 0.15333776 + - 0.031236727 + - -0.047734812 + - 0.15318954 + - -0.0422639 + - -0.100510456 + - -0.04850572 + - -0.06502575 + - 0.119464554 + - -0.0062905718 + - 0.06745807 + - -0.22004497 + - 0.072222084 + - -0.009184012 + - 0.00319692 + - 0.080283396 + - -0.056641586 + - -0.0137076415 + - -0.07377067 + - 0.047799133 + - -0.059755508 + - -0.18530697 + - -0.15484875 + - -0.14945446 + - 0.065527506 + - -0.3102535 + - -0.008492329 + - 0.053917777 + - 0.00000071844124 + - -0.2758804 + - 0.13711764 + - 0.1000807 + - -0.18187042 + - 0.1994956 + - 0.11528443 + - -0.08407981 + - 0.003123043 + - 0.24605045 + - -0.12780957 + - -0.027485846 + - 0.10292874 + - -0.15744253 + - 0.0919667 + - -0.045241375 + - -0.15253225 + - -0.12053478 + - 0.17173854 + - -0.016056553 + - 0.08185807 + - -0.031852756 + - 0.14935157 + - 0.11312494 + - -0.10723662 + - 0.10331909 + - -0.24604844 + - 0.13225277 + - 0.17722017 + - 0.15100719 + - -0.15991843 + - 0.086162254 + - -0.034199767 + - 0.11815569 + - 0.026594251 + - -0.021302644 + - -0.069665894 + - -0.11310478 + - 0.14963722 + - 0.08888577 + - 0.011854559 + - 0.030062955 + - 0.012756174 + - 0.037534814 + - -0.011464726 + - 0.20886534 + - -0.22473544 + - -0.027539682 + - -0.04468487 + - 0.0014901168 + - -0.021486057 + - -0.024197256 + - -0.025673477 + - 0.08420412 + - -0.080005094 + - -0.036326874 + - -0.07087634 + - 0.11071267 + - 0.009464046 + - 0.056569714 + - 0.06133256 + - -0.19243565 + - 0.06080566 + - -0.13532643 + - -0.01693482 + - 0.064103566 + - 0.17706211 + - 0.028734889 + - 0.000000000000000000000000000000000007419987 + - -0.003631481 + - 0.057738245 + - 0.06747049 + - -0.12363014 + - -0.09443995 + - -0.099604435 + - -0.018160466 + - 0.062302742 + - -0.014145991 + - 0.029513303 + - -0.10671879 +- - -0.07404602 + - 0.10844974 + - -0.16750811 + - 0.14655052 + - 0.011354324 + - 0.027440958 + - 0.16556323 + - -0.09665824 + - 0.039549388 + - 0.016632145 + - 0.12995204 + - 0.041539166 + - 0.01251435 + - 0.05936815 + - 0.12267017 + - 0.008652257 + - 0.09789169 + - -0.06755672 + - -0.015956372 + - -0.027121672 + - 0.06446777 + - -0.07170952 + - -0.11327913 + - 0.022222375 + - 0.0379018 + - -0.05973953 + - 0.018796034 + - -0.09091643 + - 0.06258402 + - 0.07246553 + - 0.10516999 + - -0.1531809 + - -0.030478522 + - 0.22793633 + - 0.0000064498518 + - 0.025214134 + - 0.10349136 + - 0.0062804725 + - -0.14521837 + - 0.08586821 + - 0.01781304 + - 0.07045272 + - -0.05759236 + - -0.09185456 + - -0.22598965 + - -0.04724876 + - 0.2595364 + - 0.075245015 + - 0.06701596 + - 0.06288394 + - 0.062262807 + - -0.1256713 + - 0.1689164 + - 0.0097316895 + - 0.038178302 + - -0.029072918 + - 0.03618211 + - 0.011953839 + - 0.094382286 + - 0.03027074 + - -0.059664395 + - 0.10409628 + - 0.042628102 + - -0.008161359 + - 0.17037132 + - -0.003256832 + - 0.08728868 + - -0.16628568 + - -0.0066372007 + - 0.16707356 + - -0.10127324 + - 0.15817091 + - -0.0051331203 + - 0.042040445 + - -0.13535275 + - -0.21025664 + - -0.06401153 + - 0.14993067 + - -0.04843245 + - -0.012542559 + - -0.1252428 + - -0.006520811 + - 0.22874774 + - -0.086529836 + - -0.0875278 + - 0.03341686 + - -0.08102202 + - -0.058262803 + - -0.083703294 + - -0.022656228 + - 0.059630524 + - -0.019097915 + - -0.017251117 + - -0.2007639 + - -0.06474093 + - -0.08846656 + - 0.03358322 + - -0.02613856 + - 0.027862944 + - -0.03559453 + - 0.069609165 + - -0.12913787 + - -0.107431285 + - 0.031469863 + - -0.095057115 + - -0.06556355 + - -0.07363029 + - 0.11566274 + - -0.03586057 + - 0.118154615 + - -0.11981653 + - -0.005190653 + - 0.03029555 + - 0.084107965 + - -0.0043219477 + - -0.118851125 + - -0.16941997 + - 0.020861737 + - -0.16696964 + - -0.03437589 + - -0.09130232 + - 0.1790859 + - -0.069917105 + - 0.16814454 + - -0.011390718 + - 0.07007682 + - -0.07314417 + - 0.11785791 + - 0.11662886 + - 0.06689379 + - 0.16769451 + - 0.062285036 + - 0.012929968 + - 0.13727736 + - -0.019561358 + - 0.12156364 + - 0.00018930435 + - -0.09165391 + - -0.02040906 + - -0.0037748627 + - -0.020840531 + - -0.15103732 + - 0.08842884 + - -0.059568934 + - -0.015686903 + - -0.08537611 + - 0.02527288 + - -0.091192566 + - 0.04418064 + - -0.05308161 + - 0.010163123 + - 0.3392946 + - -0.02394357 + - -0.12553547 + - 0.14389469 + - 0.11150776 + - 0.07072848 + - -0.060434647 + - 0.019774657 + - 0.013107727 + - 0.02318809 + - 0.0016660406 + - 0.045667924 + - -0.0118230665 + - 0.057573073 + - 0.04239046 + - 0.037734184 + - -0.15104161 + - -0.02976471 + - 0.083996564 + - 0.06656054 + - 0.07839475 + - -0.055004448 + - 0.14148219 + - 0.21793114 + - 0.18766624 + - 0.060566206 + - 0.3511875 + - 0.04581926 + - -0.040742666 + - -0.07823417 + - -0.015444977 + - -0.014088357 + - 0.001986807 + - 0.042830665 + - 0.09970346 + - 0.09708729 + - 0.091792926 + - -0.056474064 + - -0.1062007 + - 0.022173926 + - -0.12977245 + - -0.0115851145 + - 0.011761986 + - 0.11145055 + - -0.16722503 + - -0.07832001 + - -0.14122699 + - 0.028468776 + - 0.01182347 + - -0.07572397 + - -0.1483547 + - 0.10051087 + - -0.04312646 + - -0.089660145 + - -0.13925867 + - -0.057845045 + - -0.24050897 + - 0.01822218 + - 0.08795351 + - 0.11626563 + - 0.03247328 + - 0.13017383 + - -0.12696317 + - -0.0039814925 + - -0.1930559 + - 0.09740794 + - 0.10976046 + - -0.06546289 + - -0.101701625 + - -0.06398601 + - 0.015322447 + - -0.06778948 + - -0.093387835 + - -0.019732568 + - -0.11736613 + - 0.11917555 + - 0.06633759 + - 0.06399515 + - 0.099886745 + - 0.05403622 + - -0.01011006 + - 0.12851006 + - -0.091512665 + - -0.035695013 + - -0.0717708 + - 0.005652087 + - 0.025470667 + - -0.01662971 + - -0.17417085 + - -0.15018152 + - 0.18001361 + - -0.0183596 + - 0.0321236 + - 0.22557487 + - 0.056806028 + - 0.06330186 + - -0.034852568 + - 0.032701164 + - -0.017870193 + - 0.0012741126 + - -0.1391988 + - 0.028085591 + - 0.039793417 + - 0.012364661 + - 0.0266806 + - 0.028619898 + - 0.058570873 + - 0.09241773 + - -0.04211253 + - -0.018154481 + - 0.04002387 + - 0.05517587 + - -0.00026988797 + - 0.069361895 + - 0.07130115 + - 0.1942376 + - -0.18568456 + - -0.06586702 + - -0.121151105 + - -0.12720077 + - -0.16126391 + - 0.10318253 + - 0.061230786 + - -0.06674522 + - 0.001905282 + - 0.07568641 + - -0.056141414 + - -0.044098515 + - 0.15743992 + - 0.05362075 + - 0.22201362 + - -0.084504366 + - -0.22036307 + - -0.007821038 + - 0.06489832 + - 0.011364528 + - -0.077442884 + - -0.056198142 + - -0.020869479 + - -0.08158104 + - 0.09972509 + - 0.05741689 + - -0.061961085 + - 0.067618124 + - -0.17168011 + - -0.112365186 + - 0.06136725 + - -0.02368937 + - -0.04622245 + - -0.093830734 + - 0.21896538 + - 0.16018139 + - 0.08671613 + - -0.03530838 + - 0.05211163 + - 0.047707018 + - 0.06041007 + - -0.11761616 + - -0.04925111 + - 0.10350886 + - -0.030207891 + - 0.07771034 + - 0.13920408 + - -0.015903834 + - -0.14039558 + - -0.33892825 + - -0.019558312 + - -0.022446238 + - -0.056282267 + - 0.09718395 + - -0.21911982 + - 0.31660968 + - 0.106994376 + - -0.09097667 + - -0.008679803 + - -0.20861232 + - 0.046069764 + - -0.05965735 + - 0.00030386262 + - 0.09802061 + - 0.059840646 + - -0.09473057 + - 0.025036748 + - 0.035103414 + - -0.03206512 + - -0.004370017 + - 0.15423632 + - -0.033931576 + - -0.05313434 + - -0.061092485 + - -0.11646094 + - -0.10525623 + - 0.08883878 + - 0.005027 + - -0.0054327613 + - -0.010282941 + - -0.08147679 + - -0.05767395 + - -0.040414754 + - 0.08306138 + - 0.08052814 + - -0.02031212 + - -0.18193723 + - -0.08654064 + - 0.11021494 + - -0.06341097 + - -0.026454693 + - 0.116147324 + - 0.05651342 + - 0.14947706 + - -0.101447284 + - 0.06756507 + - 0.08207144 + - -0.29958498 + - 0.18161523 + - -0.08839386 + - 0.014453979 + - -0.053589307 + - -0.058089286 + - -0.067049585 + - -0.16523358 + - -0.15672216 + - 0.018267442 + - -0.043266837 + - -0.13489082 + - 0.0142100565 + - 0.14540768 + - -0.04813273 + - -0.040039204 + - -0.03623586 + - -0.12636569 + - -0.09727913 + - 0.025029305 + - -0.057168987 + - -0.000884993 + - -0.034312844 + - -0.030773655 + - -0.0048863664 + - 0.065954044 + - 0.04357039 + - -0.09222742 + - -0.0056800735 + - -0.046491593 + - -0.080263086 + - -0.025926135 + - 0.14947782 + - 0.044056647 + - -0.062668465 + - -0.05329486 + - 0.004601836 + - -0.119423404 + - -0.03662169 + - 0.016595915 + - 0.015796836 + - -0.0041764444 + - 0.2515803 + - -0.007840533 + - -0.016797828 + - -0.07102916 + - 0.06666433 + - 0.16970204 + - 0.090086386 + - -0.02887259 + - 0.17697416 + - -0.008403843 + - -0.18631794 + - -0.015398511 + - 0.07617463 + - -0.05473582 + - 0.06505801 + - -0.05399122 + - 0.31436387 + - -0.19827266 + - 0.025586482 + - 0.0713616 + - -0.11803666 + - 0.09069356 + - -0.11958828 + - 0.0012657167 + - -0.09176221 + - -0.18587597 + - -0.11694257 + - 0.0399239 + - -0.054336924 + - -0.19120325 + - 0.054997884 + - 0.006319953 + - -0.042353354 + - -0.08101217 + - -0.16063564 + - -0.05451332 + - 0.22103325 + - 0.01973281 + - 0.004070256 + - 0.08193926 + - -0.009178469 + - -0.20421468 + - 0.0019428879 + - 0.25475273 + - 0.030068703 + - -0.25290474 + - -0.04490944 + - 0.09140691 + - 0.07493805 + - 0.0031270254 + - -0.008910343 + - -0.02910389 + - -0.03485167 + - -0.051917568 + - 0.12774326 + - 0.0016763434 + - -0.02140442 + - 0.00061419234 + - -0.13176736 + - -0.04311972 + - 0.11527829 + - -0.057596922 + - -0.06605833 + - -0.02064635 + - -0.1771148 + - 0.009914097 + - 0.035630636 + - -0.12554468 + - 0.092248276 + - 0.02470227 + - -0.04128851 + - -0.10538293 + - -0.055949703 + - 0.078099556 + - 0.10367952 + - 0.15139315 + - -0.007905655 + - -0.039347608 + - -0.015227141 + - 0.10111139 + - 0.21058665 + - -0.001869671 + - -0.065319255 + - -0.13951162 + - 0.10477558 + - 0.084265225 + - 0.1241221 + - 0.07966881 + - 0.2941351 + - 0.025676494 + - -0.057934284 + - 0.1505537 + - 0.0037865434 + - 0.10739722 + - -0.013443012 + - 0.05517394 + - -0.134141 + - 0.019119907 + - -0.05768552 + - 0.03919234 + - 0.039966635 + - 0.084911466 + - -0.13863797 + - -0.0027019568 + - -0.05556466 + - 0.07237649 + - -0.153218 + - -0.28278434 + - -0.0102026425 + - 0.24976672 + - 0.0263107 + - -0.06758663 + - 0.01754658 + - -0.16869536 + - 0.013305249 + - -0.06753793 + - 0.0067503694 + - -0.019143647 + - 0.034627657 + - 0.018805137 + - 0.015388511 + - 0.03608439 + - 0.052416988 + - -0.010718577 + - 0.09155323 + - 0.05282534 + - -0.076707095 + - 0.044533405 + - -0.10561743 + - -0.021845177 + - 0.13695936 + - 0.09675501 + - -0.13902648 + - 0.0018746955 + - -0.018331787 + - -0.085901 + - -0.0046138186 + - 0.078736186 + - 0.09343292 + - -0.24481574 + - 0.017443825 + - 0.094419554 + - 0.10499851 + - -0.018981118 + - -0.13088197 + - 0.18749805 + - -0.07423704 + - -0.06914088 + - 0.034047738 + - -0.000000000000000000000000000000025293894 + - 0.015575117 + - 0.051767237 + - -0.025550561 + - -0.10355715 + - -0.07696016 + - 0.09121093 + - -0.030400144 + - 0.024270972 + - -0.00923281 + - -0.00901864 + - -0.0044714105 + - 0.049817804 + - 0.036020286 + - 0.14127973 + - 0.09030431 + - -0.10713578 + - 0.08617236 + - -0.038785655 + - 0.09198585 + - -0.02056577 + - -0.029370546 + - 0.050587587 + - 0.06973953 + - -0.18947202 + - -0.055889584 + - 0.0905626 + - 0.096553825 + - -0.33612126 + - -0.001989482 + - -0.07657319 + - -0.04013277 + - 0.19262896 + - -0.094625324 + - -0.122168794 + - -0.10510532 + - 0.072783336 + - 0.05037416 + - -0.071608245 + - -0.030304668 + - -0.012475668 + - -0.258919 + - -0.09522846 + - 0.16412273 + - -0.05670488 + - 0.013884622 + - 0.016464297 + - 0.07754504 + - 0.00898858 + - 0.014148805 + - -0.12718064 + - -0.04895435 + - 0.053642664 + - -0.17658892 + - 0.003660174 + - 0.15929656 + - -0.0007789731 + - -0.2363672 + - 0.09134392 + - -0.17819646 + - 0.05006848 + - 0.14545938 + - 0.054848984 + - 0.19812003 + - 0.049036697 + - 0.08753146 + - 0.23029725 + - 0.29449907 + - -0.028203417 + - 0.016950686 + - 0.032290734 + - 0.05704901 + - 0.27092147 + - 0.094354555 + - 0.09123003 + - 0.12950096 + - -0.02059583 + - -0.22323337 + - 0.024649272 + - -0.025642343 + - -0.08665797 + - -0.11528643 + - 0.075114064 + - -0.085415855 + - 0.026242798 + - 0.16528372 + - -0.11670698 + - -0.02680844 + - -0.018210035 + - 0.13079615 + - -0.10314204 + - 0.01057989 + - 0.2791221 + - -0.1557248 + - -0.1867911 + - 0.040381785 + - 0.041665677 + - 0.05225778 + - 0.077380985 + - 0.02771267 + - 0.03411131 + - -0.09072063 + - 0.025944185 + - -0.13134016 + - 0.08180958 + - 0.17298806 + - -0.0069429455 + - -0.035436906 + - 0.11683625 + - -0.07992057 + - 0.022399714 + - 0.04695573 + - 0.0139185265 + - 0.085813254 + - -0.026843853 + - 0.049647637 + - -0.1819032 + - 0.09400506 + - 0.020565402 + - -0.052678112 + - 0.0072895293 + - -0.036859084 + - 0.07440427 + - -0.038916223 + - 0.11915376 + - -0.052567057 + - -0.0726657 + - -0.15906633 + - 0.13952163 + - -0.049001224 + - -0.3989893 + - 0.0294016 + - -0.042086806 + - 0.0000007559307 + - -0.19602227 + - 0.09926514 + - 0.23008935 + - -0.055351365 + - 0.038661897 + - 0.13472414 + - 0.03357781 + - -0.055139437 + - 0.013933688 + - 0.122024946 + - -0.06355797 + - -0.05179979 + - -0.016827162 + - 0.08363155 + - 0.004067678 + - -0.11772749 + - -0.08062728 + - -0.016297773 + - -0.20172903 + - 0.016743993 + - 0.04697939 + - 0.15513474 + - 0.11069079 + - 0.016480496 + - 0.078785375 + - -0.25888407 + - 0.13845065 + - 0.10098033 + - 0.229035 + - -0.08540168 + - 0.09038469 + - 0.0065558837 + - 0.01738553 + - -0.02731653 + - -0.12163815 + - -0.05593433 + - -0.03070564 + - 0.061283678 + - 0.06268173 + - -0.22671857 + - -0.06934679 + - -0.18124372 + - 0.099631965 + - 0.0661947 + - 0.13842537 + - -0.15912354 + - -0.09832423 + - -0.020629771 + - -0.04227158 + - 0.04732649 + - 0.12939149 + - -0.015066371 + - -0.00472023 + - -0.12629777 + - -0.047885787 + - -0.29116955 + - 0.1926812 + - -0.12533598 + - 0.123545945 + - 0.13314234 + - -0.04641634 + - 0.10563865 + - -0.09593485 + - -0.064474344 + - 0.1440965 + - 0.14207815 + - 0.0436861 + - 0.00000000000000000000000000000000010410173 + - 0.04716066 + - 0.041869454 + - 0.069818184 + - -0.005989315 + - -0.22235608 + - -0.113203526 + - -0.12172501 + - -0.06866634 + - -0.06521244 + - -0.0040906174 + - -0.1834937 +- - -0.22735338 + - 0.40948603 + - -0.062316455 + - 0.11681158 + - 0.0364339 + - -0.002012378 + - 0.065004684 + - -0.17394656 + - 0.012189964 + - 0.053800814 + - -0.05308622 + - 0.03251583 + - 0.051978633 + - 0.22364013 + - 0.0466637 + - -0.024100803 + - 0.06273034 + - 0.07208757 + - -0.061491214 + - -0.06946193 + - -0.15605913 + - -0.042261645 + - -0.07009396 + - 0.040759794 + - -0.10428313 + - -0.14995673 + - -0.021331474 + - -0.21858937 + - 0.034564715 + - 0.22378911 + - 0.0240855 + - -0.16907069 + - -0.14526656 + - 0.32943392 + - 0.0000033424021 + - -0.09897339 + - 0.17495656 + - 0.20549853 + - -0.17229922 + - 0.005431257 + - 0.051841177 + - -0.029452182 + - 0.007599761 + - -0.08186473 + - -0.22570552 + - -0.14928988 + - 0.29995483 + - 0.038771354 + - -0.0714382 + - 0.02813337 + - 0.02462896 + - -0.013855843 + - 0.15948126 + - -0.0900354 + - -0.047882415 + - -0.02791087 + - 0.031679023 + - -0.081086 + - 0.01760727 + - -0.032325882 + - 0.14464499 + - 0.16471007 + - 0.09174999 + - 0.1304636 + - 0.13286266 + - 0.04241406 + - 0.008465216 + - -0.13250794 + - 0.047104686 + - 0.19714415 + - -0.43772396 + - 0.07878351 + - -0.022120383 + - 0.13196346 + - -0.17332141 + - -0.35004082 + - 0.06564622 + - 0.066385165 + - 0.13631079 + - 0.07734632 + - -0.039996825 + - -0.11561553 + - 0.20557146 + - -0.06995077 + - -0.08091813 + - -0.01897471 + - -0.0044166977 + - 0.06451273 + - 0.014944652 + - 0.054244872 + - -0.006873125 + - -0.13576338 + - -0.20346837 + - 0.03178793 + - 0.05174569 + - -0.06382549 + - -0.07221094 + - 0.06798245 + - -0.010442803 + - -0.10711324 + - 0.05826225 + - -0.116403356 + - -0.15155773 + - -0.042323638 + - -0.06573885 + - 0.15859967 + - -0.005473964 + - 0.23011966 + - -0.02928798 + - 0.011672907 + - -0.060847927 + - -0.0705771 + - -0.09887508 + - 0.13034762 + - 0.2116518 + - 0.08388471 + - -0.14726701 + - 0.017437387 + - -0.15977235 + - -0.08520873 + - -0.17811258 + - 0.14082502 + - -0.079371385 + - -0.0028907433 + - -0.09738631 + - -0.04100604 + - 0.028311204 + - 0.11057691 + - 0.15311278 + - -0.0008377591 + - 0.15220106 + - 0.06939067 + - 0.066437244 + - 0.08644282 + - -0.038146347 + - 0.25200346 + - -0.07450158 + - 0.030759523 + - -0.16610327 + - -0.00019102078 + - -0.12516578 + - -0.1912663 + - 0.17644279 + - -0.017977504 + - -0.0038146374 + - -0.008390481 + - -0.09260661 + - -0.106468245 + - 0.06573077 + - -0.055347584 + - 0.055165872 + - 0.42774564 + - 0.026336305 + - -0.069141634 + - 0.021083448 + - 0.010389164 + - 0.19580197 + - 0.19270498 + - 0.06504756 + - -0.07909596 + - -0.116236135 + - 0.022640217 + - -0.17318551 + - -0.14772575 + - -0.13306144 + - 0.05710182 + - -0.0492426 + - -0.03147572 + - -0.3479458 + - 0.17480549 + - -0.096382126 + - -0.05802022 + - 0.06619636 + - -0.14813924 + - 0.09801414 + - 0.26532298 + - 0.057258986 + - 0.42936435 + - 0.047948238 + - -0.079290345 + - -0.11950302 + - 0.13784817 + - -0.101054914 + - 0.081114195 + - -0.020341862 + - -0.03613636 + - 0.19418746 + - 0.058026373 + - 0.006551337 + - -0.11517282 + - -0.08558881 + - -0.107994676 + - 0.08058534 + - -0.07292393 + - 0.0671497 + - 0.027412197 + - -0.096012056 + - -0.20638548 + - -0.084618166 + - 0.13567 + - -0.19364995 + - -0.06382981 + - 0.13803436 + - -0.04947994 + - -0.15788594 + - -0.14618082 + - 0.016827514 + - -0.14747518 + - 0.14963673 + - 0.08098307 + - 0.00038957223 + - 0.091812186 + - 0.03447894 + - -0.044217482 + - -0.012535734 + - -0.16799052 + - 0.13817643 + - 0.16713071 + - -0.10361996 + - -0.14633282 + - 0.014480583 + - 0.0427849 + - -0.12062214 + - -0.06377049 + - -0.1879745 + - -0.12256936 + - 0.06411582 + - -0.0014444068 + - 0.02429939 + - 0.08252062 + - 0.005150865 + - -0.06383985 + - 0.055172775 + - -0.12817769 + - -0.17810339 + - 0.06547999 + - -0.03267484 + - -0.051851794 + - 0.008405857 + - -0.3840978 + - -0.17019442 + - 0.32540727 + - -0.057555955 + - 0.027127586 + - 0.2677338 + - 0.11489105 + - 0.05769484 + - -0.042138766 + - -0.0352847 + - -0.123174146 + - 0.008778788 + - -0.09962624 + - 0.047611833 + - -0.017321875 + - 0.002374305 + - -0.112074785 + - 0.131613 + - 0.09675828 + - -0.094136745 + - -0.10513577 + - 0.09749132 + - 0.058373414 + - 0.056204304 + - -0.07829579 + - 0.028168123 + - 0.060594346 + - 0.30366334 + - 0.058729395 + - -0.033149652 + - -0.1329042 + - -0.02118864 + - -0.11889235 + - 0.2347419 + - 0.15514609 + - -0.0035482023 + - -0.009093059 + - 0.21516874 + - 0.02942349 + - -0.08470812 + - 0.18136117 + - 0.06003072 + - 0.041817714 + - -0.14387563 + - -0.12335191 + - 0.044986635 + - -0.021064935 + - -0.04061167 + - 0.041059356 + - 0.019023174 + - -0.078953244 + - 0.009677856 + - 0.025735112 + - 0.010450982 + - -0.19743189 + - 0.025570445 + - -0.04275383 + - -0.011039674 + - 0.16002843 + - -0.026341468 + - -0.023242436 + - -0.031290725 + - 0.12398069 + - 0.09050019 + - 0.024073843 + - -0.07023795 + - -0.033756413 + - 0.06420333 + - -0.041262425 + - 0.008809139 + - 0.039920013 + - 0.1971914 + - -0.061194777 + - 0.036542565 + - 0.11085999 + - -0.018660456 + - -0.36642712 + - -0.06862925 + - -0.15896453 + - 0.06989845 + - 0.045643337 + - -0.034288295 + - -0.14721787 + - 0.14100492 + - 0.07823222 + - -0.018248588 + - 0.21263349 + - -0.13574816 + - -0.08966673 + - 0.0097953025 + - -0.01260007 + - -0.003946044 + - -0.078586034 + - -0.017339159 + - -0.113518536 + - 0.037334602 + - -0.0656685 + - 0.066209726 + - 0.3097511 + - -0.18998381 + - -0.05036969 + - -0.113528304 + - -0.19067109 + - -0.1557906 + - 0.06439318 + - -0.14161272 + - 0.104199186 + - 0.14339824 + - -0.14001356 + - -0.09451867 + - 0.08580534 + - 0.13119392 + - 0.11690807 + - 0.02850581 + - -0.090159334 + - -0.009271387 + - 0.13040179 + - -0.026940394 + - 0.0045255236 + - 0.14212818 + - 0.11081685 + - 0.0030004103 + - -0.1334622 + - 0.06888263 + - 0.069592595 + - -0.32965058 + - 0.23417398 + - -0.20311403 + - -0.028792586 + - -0.13089253 + - -0.01760022 + - 0.071197964 + - -0.21165594 + - -0.2263841 + - -0.0681991 + - -0.036242638 + - 0.11711791 + - 0.060122367 + - 0.12891221 + - -0.33908582 + - 0.045991436 + - -0.029488714 + - -0.1246853 + - -0.25232866 + - 0.04591086 + - -0.07537872 + - 0.068561785 + - -0.22593376 + - 0.1557967 + - 0.021450246 + - 0.15511075 + - 0.049285542 + - -0.15089583 + - -0.15067056 + - 0.008152321 + - -0.118241094 + - 0.21968566 + - 0.16841212 + - -0.2030527 + - -0.024699848 + - -0.09119528 + - 0.04294335 + - 0.056087546 + - -0.027859367 + - 0.12130545 + - 0.029019605 + - -0.06690186 + - 0.36640725 + - -0.058238983 + - -0.1654737 + - -0.1875985 + - 0.10601939 + - 0.31788984 + - 0.19426692 + - 0.046903584 + - 0.21591848 + - 0.16284965 + - -0.09344044 + - -0.0090232445 + - 0.14553283 + - -0.061862513 + - 0.18570012 + - -0.015424911 + - 0.18127032 + - -0.1357632 + - -0.003175117 + - 0.024249924 + - -0.06414854 + - -0.014027415 + - -0.011827651 + - -0.024005936 + - -0.057217736 + - -0.38999727 + - -0.09713438 + - 0.1073545 + - 0.029742558 + - -0.27367395 + - 0.09479357 + - 0.06795876 + - 0.033256814 + - -0.09865259 + - -0.06789222 + - -0.09971262 + - -0.33067492 + - -0.054183725 + - -0.17203225 + - 0.11926088 + - 0.07687819 + - -0.20135672 + - -0.09578116 + - 0.07281435 + - 0.1298035 + - -0.28176734 + - -0.09379362 + - 0.24896559 + - -0.18201245 + - 0.023855124 + - -0.09758057 + - -0.073841885 + - -0.09951253 + - -0.15700512 + - 0.103553586 + - 0.13210146 + - -0.0065401746 + - 0.020000225 + - -0.23213083 + - 0.12811437 + - 0.17767482 + - -0.0002494473 + - 0.028684389 + - 0.13033746 + - -0.104855135 + - 0.0517367 + - 0.042097393 + - -0.10578198 + - 0.11009475 + - -0.0540391 + - -0.12157875 + - -0.110639274 + - -0.039632715 + - -0.069021165 + - 0.11657568 + - 0.35149506 + - -0.08573601 + - -0.0036033322 + - 0.038797915 + - 0.030090021 + - 0.17962341 + - 0.07100299 + - -0.1457702 + - -0.1254589 + - 0.07943087 + - 0.20563354 + - -0.023964263 + - 0.06929303 + - 0.25964674 + - -0.060420476 + - -0.015203474 + - 0.12607215 + - -0.045292854 + - 0.08492507 + - -0.021822196 + - 0.030554747 + - -0.2825713 + - 0.063962586 + - -0.065016866 + - 0.059850913 + - -0.1977992 + - -0.04515992 + - -0.014513321 + - 0.18222669 + - -0.11898184 + - 0.012849871 + - -0.23706909 + - -0.47276422 + - -0.022723252 + - 0.38089055 + - 0.14184879 + - 0.06236716 + - 0.15523674 + - -0.16916372 + - 0.0070332736 + - -0.05290445 + - 0.0063412227 + - 0.00056540687 + - 0.14722314 + - 0.05154078 + - 0.07266832 + - -0.10312071 + - 0.07003439 + - 0.016841615 + - 0.19164224 + - 0.13109061 + - -0.15736786 + - 0.032663688 + - -0.16831186 + - 0.26805162 + - 0.07850237 + - 0.17044456 + - 0.012790475 + - -0.008813053 + - 0.123398066 + - -0.116406895 + - 0.081232116 + - 0.19061236 + - 0.15601869 + - -0.14974868 + - 0.009129592 + - 0.009410976 + - 0.10730693 + - -0.018063929 + - 0.068573475 + - 0.051817145 + - -0.02027937 + - 0.046288148 + - -0.0073997737 + - -0.000000000000000000000000000000014213934 + - 0.06367206 + - -0.06902415 + - 0.097100876 + - -0.023325816 + - 0.0015257448 + - 0.25950965 + - -0.09161723 + - -0.03824024 + - 0.08230544 + - 0.1300466 + - 0.02095935 + - 0.12311171 + - 0.018870272 + - 0.21168077 + - 0.120405234 + - -0.14532141 + - 0.049850654 + - -0.10791172 + - 0.22135752 + - 0.20309965 + - -0.020642001 + - -0.013278166 + - 0.029083319 + - -0.029304214 + - -0.11514923 + - 0.13634843 + - 0.05727924 + - -0.10794876 + - -0.06984429 + - -0.1401666 + - -0.10391966 + - 0.14026038 + - -0.13011786 + - -0.17061663 + - -0.10025896 + - 0.07522423 + - -0.009754548 + - -0.059662938 + - -0.031071154 + - 0.06645419 + - -0.3261714 + - -0.07562046 + - 0.25515866 + - 0.09438436 + - 0.018853288 + - -0.1280934 + - 0.12064573 + - 0.018725052 + - 0.035676822 + - -0.330556 + - -0.041646775 + - -0.041642807 + - -0.097748645 + - 0.2203669 + - 0.16649498 + - 0.07614571 + - -0.33031526 + - 0.01854819 + - -0.1588579 + - -0.0116687035 + - 0.15139547 + - -0.060130607 + - 0.12829174 + - -0.025892762 + - 0.0981484 + - 0.12353768 + - 0.27561915 + - -0.11241628 + - -0.13045265 + - -0.0073446278 + - 0.11963275 + - 0.3951288 + - 0.15032588 + - 0.12558979 + - 0.38054216 + - 0.042780012 + - -0.43623897 + - 0.023485031 + - -0.032115325 + - -0.07265575 + - -0.0017677248 + - -0.15749834 + - 0.00519035 + - -0.09386853 + - 0.0811951 + - -0.16723691 + - -0.10255351 + - -0.0114843305 + - 0.13440058 + - -0.14644668 + - 0.06518727 + - 0.27886337 + - 0.009629523 + - -0.114096284 + - 0.15809642 + - 0.09582622 + - 0.06685394 + - 0.10674115 + - 0.08275398 + - -0.0011499319 + - -0.24307638 + - -0.0010743979 + - -0.27358368 + - 0.23978437 + - 0.080984004 + - 0.116571024 + - -0.044837914 + - 0.26045448 + - 0.0050608837 + - 0.030902952 + - -0.00089267216 + - 0.09149232 + - -0.020027258 + - 0.057750087 + - 0.14259817 + - -0.18459739 + - 0.035170965 + - 0.07711738 + - -0.20617403 + - 0.08532968 + - -0.15196683 + - 0.091607615 + - -0.030836064 + - 0.11636441 + - -0.07862003 + - -0.18821567 + - -0.1526827 + - 0.024097368 + - 0.02177611 + - -0.48999968 + - -0.027455349 + - 0.095177315 + - 0.0000005543801 + - -0.12582478 + - 0.24151914 + - 0.12137343 + - -0.027357578 + - 0.0066941376 + - 0.06841914 + - -0.014777145 + - 0.004992632 + - 0.03894178 + - 0.018829584 + - 0.07932439 + - -0.012629237 + - 0.054137126 + - 0.058483027 + - -0.0056908913 + - -0.1119743 + - 0.046471514 + - 0.052719347 + - -0.23833768 + - -0.010242876 + - 0.029434182 + - 0.16302443 + - -0.00959737 + - 0.07076227 + - 0.12185336 + - -0.2744925 + - 0.101201616 + - 0.1331328 + - 0.40215406 + - -0.081503436 + - 0.14467023 + - 0.012217634 + - 0.13346867 + - 0.01806577 + - -0.013181999 + - 0.020020727 + - 0.11605313 + - 0.12782907 + - -0.037112746 + - -0.2311869 + - -0.118248336 + - -0.11692419 + - -0.015791312 + - 0.17051022 + - 0.16328615 + - -0.16389337 + - -0.21147205 + - -0.029264074 + - 0.19252843 + - 0.0011611714 + - 0.14362356 + - 0.011990162 + - 0.055624392 + - -0.0872453 + - -0.10175333 + - -0.24758887 + - -0.019886855 + - -0.16751724 + - 0.1302132 + - 0.1508951 + - 0.004814072 + - 0.017788235 + - -0.020612294 + - -0.07337424 + - 0.18577914 + - 0.24645701 + - -0.006283572 + - 0.0000000000000000000000000000000007391502 + - -0.052742373 + - -0.19659105 + - 0.10848162 + - -0.006987174 + - -0.104878634 + - -0.09258434 + - -0.10439587 + - -0.09054142 + - 0.07245666 + - -0.027696952 + - -0.12036283 +- - -0.10597734 + - 0.54189885 + - -0.19737618 + - 0.113667965 + - -0.061689984 + - 0.02637259 + - 0.06987688 + - -0.06145355 + - -0.053813398 + - 0.068138555 + - -0.117269695 + - -0.024446934 + - -0.036305897 + - 0.028639464 + - 0.10115765 + - 0.002910165 + - 0.06539188 + - 0.032042675 + - 0.07141165 + - -0.102987126 + - -0.21299177 + - -0.025216123 + - -0.1670213 + - 0.11201536 + - -0.233336 + - -0.04790088 + - -0.045228843 + - -0.11906573 + - 0.0538568 + - 0.11983168 + - -0.00044372678 + - -0.22964418 + - -0.02901324 + - 0.300526 + - 0.0000029849357 + - -0.017397957 + - 0.11597449 + - 0.08712753 + - -0.26669908 + - -0.0054472648 + - 0.07380561 + - 0.015273713 + - 0.029706238 + - -0.03719648 + - -0.21236467 + - -0.1086647 + - 0.2508758 + - 0.0139141455 + - 0.04955506 + - 0.115731016 + - 0.05277523 + - -0.05650038 + - 0.22703499 + - 0.08198508 + - -0.054332115 + - -0.0090871565 + - -0.07122455 + - -0.102394335 + - -0.013214208 + - -0.012886987 + - 0.08506532 + - 0.22198223 + - 0.20084709 + - 0.021608122 + - 0.035111047 + - 0.018846205 + - 0.052742608 + - -0.039045848 + - 0.010270669 + - 0.08162916 + - -0.35517973 + - 0.07259178 + - -0.14792538 + - -0.033245996 + - -0.22550151 + - -0.14947784 + - -0.00950622 + - 0.12986514 + - 0.05733875 + - 0.014633959 + - -0.08030922 + - -0.09654236 + - 0.21193676 + - 0.10991141 + - -0.08530258 + - 0.07785903 + - -0.04687055 + - 0.056510605 + - -0.0014642561 + - 0.11180741 + - 0.026146136 + - -0.09899361 + - -0.08449703 + - 0.06053181 + - 0.05489789 + - -0.012827227 + - -0.099081665 + - -0.16687024 + - 0.018625475 + - -0.1301876 + - 0.13732983 + - 0.006214248 + - -0.037409157 + - -0.019450631 + - -0.25133523 + - 0.051860355 + - -0.1338797 + - 0.31472823 + - -0.06517681 + - -0.048214503 + - -0.11603959 + - -0.04658267 + - -0.07561484 + - 0.1922986 + - -0.03145776 + - 0.15259291 + - -0.1595875 + - 0.105137125 + - -0.17827357 + - -0.12346211 + - -0.26951423 + - 0.10926508 + - -0.10915635 + - 0.05779233 + - -0.21339361 + - -0.03662276 + - 0.07642751 + - 0.08477954 + - 0.060542844 + - 0.08339961 + - 0.090614505 + - 0.109034985 + - -0.0012160717 + - 0.028178882 + - 0.09736931 + - 0.30616036 + - -0.08319598 + - 0.03504783 + - -0.2014383 + - 0.05231927 + - 0.023245927 + - -0.14465837 + - 0.28761458 + - -0.14148626 + - -0.009061848 + - -0.05433739 + - -0.11433159 + - -0.12770034 + - -0.07999599 + - -0.14190274 + - -0.07178871 + - 0.39221323 + - 0.18471545 + - -0.13357241 + - 0.26617068 + - -0.04989111 + - 0.10101137 + - 0.050719015 + - 0.079680234 + - -0.13536789 + - -0.05968478 + - -0.030069884 + - 0.058941483 + - 0.05165698 + - -0.009605427 + - -0.03125638 + - -0.18991745 + - -0.14235285 + - -0.12297212 + - 0.078393355 + - -0.055103026 + - -0.062751 + - -0.117676504 + - 0.010149749 + - 0.23367226 + - 0.22429809 + - 0.08568613 + - 0.40325224 + - 0.1274206 + - -0.05435831 + - 0.008563988 + - -0.0021787714 + - -0.12792978 + - 0.18864852 + - -0.3141482 + - 0.023680631 + - 0.22822097 + - 0.12933353 + - -0.034039017 + - -0.07703943 + - 0.030616254 + - -0.20693748 + - -0.06761773 + - -0.037984364 + - 0.06360462 + - -0.06705078 + - -0.13156527 + - -0.007034446 + - -0.050651528 + - 0.038927596 + - -0.2311452 + - -0.26594815 + - 0.13371888 + - 0.07465026 + - -0.09062127 + - -0.1401508 + - -0.15743192 + - -0.059511326 + - 0.12473492 + - 0.043570783 + - 0.14177269 + - 0.053406768 + - 0.12182306 + - 0.024389358 + - 0.0024277656 + - -0.08042918 + - 0.07419531 + - 0.07235901 + - -0.01021512 + - -0.12713113 + - 0.095528565 + - 0.13625878 + - -0.21418321 + - -0.13549672 + - -0.2178421 + - -0.115080245 + - 0.09181735 + - 0.108756505 + - 0.014807355 + - -0.022554766 + - -0.005711088 + - -0.088969864 + - 0.054779448 + - -0.13788989 + - -0.042186458 + - 0.0052842423 + - -0.053394396 + - -0.28467497 + - 0.032404877 + - -0.21008891 + - 0.08861549 + - 0.17064211 + - -0.005295022 + - -0.07021611 + - 0.17029603 + - 0.034460332 + - 0.15883279 + - 0.043863587 + - 0.14461794 + - -0.13201119 + - 0.05836779 + - -0.11324927 + - 0.18378177 + - 0.076984294 + - -0.11486989 + - -0.08768449 + - 0.07472589 + - 0.07541347 + - -0.062313534 + - -0.09442949 + - 0.017780356 + - -0.0762099 + - 0.028166855 + - 0.06624918 + - 0.024408093 + - 0.04640447 + - 0.18012981 + - -0.20135206 + - 0.02593016 + - -0.106716655 + - -0.008063717 + - -0.022994466 + - 0.043130543 + - 0.14255157 + - -0.05940926 + - -0.09399891 + - 0.15877692 + - 0.044250272 + - -0.017528126 + - 0.09994439 + - 0.069502436 + - -0.07967978 + - -0.011380751 + - -0.18909639 + - -0.053846255 + - 0.06174787 + - 0.13488434 + - 0.015822127 + - 0.033000067 + - 0.03484554 + - 0.016911473 + - 0.10232484 + - 0.023643177 + - -0.08376884 + - 0.059537176 + - -0.010710497 + - -0.15051441 + - 0.3364287 + - 0.030036438 + - 0.0006214194 + - -0.011788806 + - 0.2235628 + - 0.08102685 + - -0.018016223 + - -0.11414516 + - -0.03399059 + - -0.04038108 + - 0.030944487 + - -0.059279405 + - 0.16336021 + - 0.15772678 + - -0.019388177 + - 0.055861812 + - 0.035665765 + - 0.15412073 + - -0.27529377 + - -0.29314914 + - -0.014327256 + - -0.0259997 + - -0.029865703 + - -0.09396322 + - -0.16313297 + - 0.18714392 + - 0.017449256 + - -0.058263905 + - 0.1343697 + - -0.14397849 + - -0.057775736 + - -0.06437774 + - -0.017083889 + - 0.023785833 + - -0.05063369 + - -0.03949122 + - -0.11272246 + - 0.024817819 + - -0.050623443 + - 0.09467424 + - 0.18306613 + - -0.17410654 + - -0.10120907 + - -0.11425114 + - -0.18732926 + - -0.15880603 + - 0.08940504 + - 0.20194703 + - 0.097381376 + - 0.06652382 + - -0.05325523 + - -0.069106765 + - 0.08234607 + - 0.119972184 + - 0.07078596 + - -0.027632374 + - -0.13653924 + - -0.06849383 + - -0.008283504 + - 0.0846429 + - 0.03524767 + - 0.1097426 + - -0.05272797 + - 0.2111956 + - -0.10200915 + - 0.11684136 + - 0.32523435 + - -0.38254052 + - 0.18945855 + - -0.1340267 + - 0.00433255 + - -0.101360366 + - 0.07083654 + - 0.055146918 + - -0.039731394 + - -0.22341694 + - 0.09898062 + - -0.022238422 + - -0.052415807 + - 0.009573679 + - 0.12507014 + - -0.06376252 + - -0.035560578 + - 0.11180219 + - -0.13165338 + - -0.07822663 + - -0.014088177 + - 0.028618049 + - 0.012070829 + - -0.15490219 + - 0.10719143 + - 0.041963007 + - 0.045049764 + - -0.008964723 + - -0.23249696 + - -0.07888232 + - -0.038898304 + - -0.09083685 + - 0.06907367 + - 0.14907947 + - -0.06981077 + - 0.020683058 + - -0.0792201 + - 0.07165723 + - -0.016982336 + - 0.010522775 + - 0.087341204 + - -0.19661269 + - -0.09728166 + - 0.6203696 + - 0.017121311 + - -0.25225422 + - -0.12578659 + - 0.105198726 + - 0.122801855 + - 0.25885153 + - 0.04245979 + - 0.32937798 + - 0.06422162 + - -0.19755769 + - 0.072711214 + - 0.016681278 + - -0.08586348 + - 0.22934617 + - -0.060440406 + - 0.19766787 + - -0.18244192 + - 0.001340528 + - 0.053133182 + - -0.034453906 + - 0.12485777 + - -0.037096106 + - -0.040845975 + - -0.122158796 + - -0.37287468 + - -0.21738069 + - 0.091260985 + - -0.0993595 + - -0.47576046 + - 0.2098233 + - 0.049189493 + - -0.10953898 + - 0.057457168 + - -0.16840689 + - 0.007849395 + - 0.09794315 + - 0.04024176 + - -0.158587 + - 0.04822713 + - -0.021083212 + - -0.19837867 + - -0.060838923 + - 0.1443374 + - 0.04381416 + - -0.21092267 + - 0.065210104 + - 0.02235435 + - -0.27513978 + - 0.041663613 + - -0.1298455 + - -0.16659737 + - -0.05709746 + - -0.05600085 + - 0.29076397 + - 0.15090363 + - -0.18648684 + - -0.0739841 + - -0.21952249 + - 0.28361398 + - 0.4433221 + - -0.029120773 + - -0.007965839 + - 0.15226933 + - -0.14450794 + - 0.045541607 + - 0.099565856 + - -0.07943227 + - 0.24420406 + - 0.012915742 + - -0.17018312 + - -0.16580975 + - -0.1333565 + - 0.041061807 + - 0.039369922 + - 0.22236653 + - -0.07109961 + - -0.16425009 + - 0.02640935 + - 0.0399046 + - 0.23939924 + - 0.17264253 + - -0.102060795 + - 0.02000916 + - -0.03775176 + - 0.16660066 + - 0.08017824 + - 0.0771558 + - 0.20504569 + - -0.0861113 + - -0.06751181 + - 0.12980638 + - 0.1318214 + - 0.09995569 + - 0.0485767 + - 0.09423605 + - -0.1397531 + - 0.023720397 + - -0.024611745 + - 0.055472303 + - -0.11944308 + - -0.054612365 + - 0.09403767 + - 0.17270005 + - -0.18120265 + - 0.10968471 + - -0.22451979 + - -0.43053073 + - -0.038468838 + - 0.13601734 + - 0.23523992 + - -0.074687265 + - -0.14859004 + - -0.13655943 + - 0.03180881 + - -0.0059902184 + - -0.13109994 + - 0.10664919 + - 0.2869138 + - 0.07809739 + - 0.1308037 + - -0.09485996 + - 0.086834565 + - 0.051499706 + - -0.049107984 + - 0.16661936 + - -0.15383191 + - -0.018375697 + - -0.083556354 + - 0.033234306 + - 0.108587444 + - 0.12605889 + - 0.07751115 + - 0.052827284 + - 0.1442458 + - -0.10455916 + - 0.03728627 + - -0.019928936 + - 0.07184422 + - -0.21716678 + - 0.07133759 + - 0.17344989 + - -0.031176632 + - -0.056570623 + - 0.13927396 + - 0.041074153 + - -0.094454944 + - 0.110875875 + - 0.033427317 + - -0.00000000000000000000000000000001270854 + - 0.09724258 + - 0.008208316 + - 0.03341833 + - 0.025296494 + - -0.07204974 + - 0.054372072 + - -0.003905531 + - -0.08364918 + - -0.07222309 + - 0.034543518 + - 0.06844964 + - 0.13606963 + - 0.07245141 + - 0.19825129 + - 0.24911961 + - -0.03253936 + - 0.07856637 + - -0.10330261 + - 0.05538065 + - 0.036285516 + - -0.018185617 + - 0.13378587 + - 0.012587475 + - -0.23162234 + - -0.19105393 + - 0.27308664 + - 0.10937732 + - -0.12100116 + - -0.09674929 + - -0.035387985 + - -0.11672723 + - -0.0102740675 + - -0.15259072 + - -0.26500064 + - -0.106441684 + - -0.031337507 + - -0.062960684 + - -0.07386865 + - -0.15571706 + - 0.14705601 + - -0.1231765 + - -0.09842932 + - 0.29548228 + - 0.017786197 + - 0.027925562 + - -0.03001406 + - 0.038183358 + - -0.009774723 + - -0.020002794 + - -0.037107237 + - 0.01598784 + - 0.06971085 + - -0.06794806 + - 0.0112182945 + - 0.16676481 + - 0.029486021 + - -0.22252257 + - 0.011975002 + - -0.26444346 + - 0.094773196 + - 0.10291757 + - -0.08886195 + - 0.11757112 + - 0.18370311 + - 0.085223526 + - 0.09318445 + - 0.24369691 + - -0.111227974 + - 0.07442908 + - 0.00056089275 + - 0.24438804 + - 0.24028315 + - 0.17420463 + - -0.09773537 + - -0.054182455 + - -0.09256485 + - -0.24396463 + - 0.013347723 + - 0.024063196 + - -0.0077939434 + - -0.09468294 + - -0.09228354 + - -0.06539257 + - -0.11695848 + - -0.002709719 + - -0.3387861 + - -0.0218351 + - 0.107635744 + - 0.05025309 + - -0.058874127 + - -0.09691812 + - 0.27176544 + - 0.17662515 + - -0.11415766 + - 0.2685331 + - 0.18675515 + - 0.05131662 + - 0.082961515 + - 0.24826385 + - 0.020858442 + - -0.0742241 + - -0.12497382 + - -0.29727873 + - 0.25934067 + - 0.12196717 + - 0.13901411 + - -0.011474989 + - 0.10452719 + - -0.009725032 + - 0.07306106 + - -0.120610304 + - 0.04545387 + - 0.10865671 + - 0.07336263 + - 0.06774638 + - -0.26887873 + - 0.07360234 + - -0.0394696 + - -0.27094135 + - 0.12984815 + - -0.07708686 + - -0.20832923 + - -0.08573565 + - 0.08152094 + - -0.07758454 + - -0.18812153 + - -0.2418763 + - -0.0020533956 + - -0.18523927 + - -0.4090538 + - 0.021615032 + - 0.14254004 + - 0.00000052496284 + - -0.1037557 + - 0.24739656 + - 0.088495135 + - -0.07512522 + - 0.0353139 + - 0.109816566 + - 0.094034106 + - 0.018796006 + - 0.088783994 + - 0.18257718 + - 0.12728544 + - 0.012164447 + - 0.04581486 + - -0.03978961 + - -0.15847884 + - -0.21591246 + - -0.024627138 + - 0.11193575 + - -0.09731847 + - 0.013625511 + - -0.013698287 + - 0.25278255 + - 0.023550682 + - -0.14537825 + - 0.28771 + - -0.22874077 + - -0.024371836 + - 0.015725886 + - 0.4993618 + - -0.12177972 + - 0.019908104 + - -0.009871375 + - -0.07905619 + - 0.16014248 + - -0.01721513 + - -0.03697073 + - -0.012596406 + - -0.05207651 + - 0.0031290986 + - -0.11313873 + - -0.051166274 + - 0.011391589 + - 0.10714273 + - 0.003457142 + - 0.24483824 + - -0.07387258 + - -0.17149282 + - -0.079146795 + - 0.018731358 + - -0.11398917 + - 0.17347604 + - -0.10530479 + - 0.056724098 + - -0.09727168 + - -0.11764401 + - -0.18477264 + - 0.079926305 + - -0.10064354 + - -0.007523142 + - 0.20419896 + - -0.031749483 + - 0.06097124 + - -0.026141858 + - -0.15289144 + - 0.24102214 + - 0.15933268 + - 0.010055736 + - 0.00000000000000000000000000000000049285994 + - -0.05008479 + - -0.15115449 + - 0.15750648 + - 0.051998153 + - -0.0734912 + - -0.04262583 + - -0.005143337 + - -0.038241908 + - 0.025165647 + - 0.031732827 + - -0.15998282 +- - -0.121082954 + - 0.2164061 + - -0.14014742 + - 0.16741082 + - -0.044421725 + - 0.035871506 + - 0.14146173 + - -0.066676795 + - 0.019564385 + - -0.0351876 + - -0.038616944 + - -0.1250964 + - 0.13422832 + - 0.44517684 + - -0.06574714 + - -0.05396095 + - 0.084840596 + - 0.08909975 + - -0.026981771 + - -0.06535357 + - -0.0048131077 + - -0.0009256946 + - -0.105249606 + - -0.11737679 + - -0.025871787 + - -0.15873152 + - 0.26302934 + - -0.17089106 + - -0.05234176 + - -0.033330068 + - -0.1123648 + - -0.16816229 + - -0.18507703 + - 0.3149883 + - 0.0000031603518 + - -0.15880738 + - 0.10105071 + - -0.047911186 + - -0.19880949 + - 0.1853792 + - 0.00503839 + - 0.14087509 + - -0.0077387486 + - -0.049829908 + - -0.09320146 + - -0.09535283 + - 0.21861008 + - 0.10607187 + - 0.08629888 + - 0.080450356 + - 0.030943502 + - -0.033878073 + - 0.18249953 + - 0.07253119 + - -0.004063159 + - 0.24093008 + - 0.05574244 + - -0.15877686 + - 0.062243696 + - 0.041949287 + - -0.020907957 + - 0.31958023 + - 0.101761006 + - 0.06960808 + - 0.26510102 + - 0.0902741 + - 0.040144637 + - -0.21990147 + - -0.021897549 + - 0.20667754 + - -0.1561928 + - 0.012723129 + - -0.045843434 + - 0.031375304 + - -0.090186 + - 0.008395145 + - -0.101548485 + - 0.005792096 + - 0.07937533 + - 0.027742017 + - -0.18638268 + - 0.1959606 + - 0.10826563 + - 0.1045314 + - 0.10258664 + - -0.07866317 + - -0.02997682 + - 0.039416336 + - 0.05946754 + - 0.025625598 + - -0.13847513 + - -0.062973 + - 0.09778725 + - -0.15644215 + - -0.088427976 + - -0.07533975 + - -0.105682716 + - -0.033777505 + - 0.12086487 + - -0.07107206 + - 0.07327142 + - -0.13536187 + - 0.03235257 + - 0.06996299 + - -0.011552967 + - -0.12122402 + - -0.082084134 + - 0.0978814 + - -0.17067605 + - 0.05968572 + - -0.07672864 + - -0.08446558 + - 0.13654657 + - 0.13561141 + - 0.035739772 + - -0.061237928 + - -0.085101515 + - 0.07174735 + - -0.27329102 + - -0.22255045 + - -0.20104064 + - 0.15342559 + - 0.030565478 + - 0.26775917 + - 0.025166936 + - 0.13043813 + - 0.1042154 + - -0.0054569254 + - 0.033524998 + - 0.040089514 + - 0.16636142 + - -0.11100417 + - 0.043240905 + - 0.2049566 + - -0.006801732 + - 0.183879 + - -0.08510238 + - -0.05942298 + - 0.13986054 + - -0.00007365644 + - -0.024251353 + - -0.11647703 + - 0.028761227 + - -0.15153763 + - -0.07080874 + - 0.011307867 + - -0.039180517 + - -0.20239641 + - 0.015270786 + - -0.0048676506 + - -0.20104851 + - 0.25212362 + - -0.16168311 + - -0.13130486 + - 0.16483344 + - 0.09117177 + - 0.305799 + - 0.22668388 + - -0.048554268 + - 0.1316307 + - 0.008018897 + - 0.037579104 + - -0.027697457 + - -0.007404235 + - 0.009777531 + - 0.021892864 + - 0.14048369 + - -0.032551333 + - -0.16988726 + - 0.054194886 + - -0.10021706 + - 0.07188176 + - -0.07686223 + - 0.07059872 + - -0.031804353 + - -0.12260267 + - 0.052760273 + - 0.3535398 + - 0.05276387 + - 0.011266395 + - -0.018865975 + - 0.1040929 + - 0.013539942 + - 0.059927914 + - -0.13984793 + - 0.12903911 + - 0.15731642 + - 0.084998176 + - 0.028093103 + - -0.1959611 + - -0.060844004 + - -0.19414636 + - -0.06212593 + - 0.11655155 + - -0.01790514 + - -0.05820272 + - 0.011655709 + - 0.033656657 + - 0.018141381 + - -0.09712392 + - -0.0012754519 + - -0.053323343 + - 0.24660078 + - -0.017485738 + - -0.122172005 + - -0.18304293 + - -0.07659376 + - -0.2236459 + - 0.068863645 + - 0.06340851 + - 0.2739025 + - 0.15230957 + - 0.13278872 + - 0.198332 + - 0.18508884 + - -0.41018662 + - 0.23183334 + - 0.048378423 + - 0.048071414 + - -0.032232326 + - -0.037067853 + - 0.027874846 + - -0.1042919 + - -0.040930744 + - -0.09121608 + - -0.121112175 + - 0.033203326 + - -0.15679346 + - 0.084995404 + - 0.07629338 + - 0.00502568 + - -0.05375275 + - 0.10806184 + - 0.041920774 + - 0.09174481 + - -0.03230769 + - -0.007833148 + - 0.037369125 + - -0.06922138 + - -0.16482368 + - -0.06359779 + - 0.17750731 + - -0.051292762 + - 0.08705787 + - 0.1941455 + - 0.12875625 + - 0.17653005 + - 0.16332728 + - 0.06425864 + - -0.21498276 + - 0.072113365 + - -0.16348308 + - 0.18918645 + - 0.12190362 + - 0.1543672 + - -0.053698923 + - 0.16282658 + - 0.045585774 + - 0.026351506 + - -0.09291785 + - 0.098299764 + - -0.05951383 + - 0.092919484 + - -0.080188595 + - 0.016315242 + - -0.0350755 + - 0.194925 + - -0.18081102 + - 0.072524175 + - -0.029103357 + - -0.04488584 + - -0.06813422 + - -0.055972517 + - 0.0465572 + - -0.14366332 + - 0.0059384224 + - -0.06252359 + - 0.045252137 + - -0.17946152 + - 0.2547686 + - 0.034100212 + - 0.015612967 + - -0.089177854 + - -0.14318854 + - -0.056715183 + - 0.10597523 + - 0.03649248 + - 0.119046725 + - -0.016310625 + - 0.19105747 + - -0.088175125 + - 0.053379245 + - -0.038941175 + - -0.013108289 + - 0.12609683 + - 0.013499279 + - -0.021291945 + - 0.05575227 + - 0.032970645 + - -0.18821886 + - 0.015897669 + - 0.10733362 + - 0.10727899 + - 0.037778866 + - 0.06697402 + - 0.030628033 + - 0.04022617 + - 0.070930265 + - 0.077344894 + - -0.21456438 + - 0.099473044 + - -0.037498362 + - 0.042183865 + - 0.13083598 + - -0.08562299 + - -0.18719679 + - -0.31920934 + - -0.026266793 + - -0.110575624 + - -0.20996068 + - -0.09583829 + - -0.11454332 + - 0.38063398 + - 0.089233555 + - -0.05058499 + - -0.042070057 + - -0.30050755 + - -0.110661544 + - -0.016469307 + - -0.24075723 + - -0.033696003 + - 0.14557807 + - -0.099424206 + - -0.042134807 + - 0.07740255 + - 0.014118781 + - -0.030214388 + - 0.051436312 + - -0.13339691 + - -0.045891613 + - -0.07944867 + - -0.19552332 + - -0.008459136 + - 0.027326435 + - -0.17938358 + - -0.042071365 + - 0.038253844 + - -0.13010876 + - -0.24137068 + - -0.10940188 + - -0.06461745 + - 0.16728143 + - 0.13415755 + - -0.050412774 + - 0.0292866 + - -0.04475759 + - -0.03971933 + - -0.2690349 + - 0.1343406 + - 0.22712027 + - 0.17182247 + - -0.14241898 + - 0.037351757 + - 0.23260349 + - -0.3296476 + - 0.15036556 + - -0.04612191 + - -0.090340614 + - 0.00433952 + - 0.011428192 + - -0.111712255 + - -0.11434522 + - -0.18212259 + - 0.04602258 + - 0.08110519 + - -0.06285006 + - 0.015961211 + - 0.2638091 + - -0.22516651 + - 0.14614409 + - 0.061311252 + - -0.33682764 + - 0.0012443601 + - -0.004330946 + - 0.021101069 + - -0.03094788 + - -0.02336 + - -0.10201799 + - 0.0547188 + - 0.20005009 + - -0.026669843 + - -0.19458918 + - -0.17564544 + - 0.015097994 + - -0.07507625 + - -0.03924028 + - 0.3050693 + - -0.04698 + - -0.010876622 + - -0.061077856 + - -0.021217026 + - -0.1582822 + - 0.074608296 + - 0.14164814 + - 0.039784413 + - 0.008106453 + - 0.21217446 + - 0.1127555 + - -0.11808234 + - -0.21345134 + - 0.25485763 + - -0.030524354 + - 0.070833534 + - 0.13492857 + - 0.14183772 + - -0.04151518 + - -0.13547768 + - -0.0024748833 + - -0.002158319 + - -0.18709674 + - 0.037107166 + - -0.003007561 + - 0.18016174 + - -0.03794685 + - -0.06493215 + - -0.10427982 + - 0.035217177 + - 0.052200217 + - 0.012052311 + - 0.026539488 + - -0.08665808 + - -0.04374971 + - -0.17248324 + - -0.16232392 + - 0.13878699 + - -0.268187 + - 0.12148981 + - -0.04385383 + - -0.28406587 + - -0.06748139 + - 0.0155109335 + - 0.033302896 + - 0.24019614 + - 0.00067327544 + - -0.15853114 + - -0.044333488 + - 0.024222437 + - -0.3820061 + - 0.13287829 + - 0.23189168 + - 0.0019686213 + - 0.120864384 + - -0.00358553 + - 0.13917308 + - 0.09452769 + - -0.00021211244 + - -0.2249394 + - -0.22376263 + - -0.13181722 + - -0.11876945 + - 0.17615633 + - 0.16352451 + - -0.21457984 + - -0.06453109 + - -0.17454813 + - 0.11813744 + - 0.2089483 + - -0.043196365 + - -0.09906322 + - 0.11687514 + - -0.01799483 + - -0.019202033 + - -0.04569927 + - -0.07542055 + - -0.07346587 + - -0.0689945 + - -0.14932951 + - -0.21608633 + - 0.22852881 + - 0.071215816 + - 0.12896782 + - 0.24085836 + - -0.0064905854 + - -0.045282423 + - 0.12401061 + - 0.009922081 + - 0.09828926 + - -0.01276745 + - -0.15066269 + - -0.17356281 + - -0.04080414 + - 0.3345244 + - -0.14718214 + - 0.17905639 + - 0.30782685 + - 0.15690035 + - 0.19754055 + - 0.016822662 + - -0.10161149 + - 0.0046790056 + - 0.035713825 + - -0.03350395 + - -0.15007745 + - 0.0749541 + - -0.18496503 + - -0.008350072 + - 0.001023897 + - -0.08805605 + - -0.05849017 + - 0.16284187 + - -0.07230715 + - 0.08220856 + - -0.20551349 + - -0.28936872 + - -0.0477243 + - 0.31070602 + - 0.119561575 + - 0.0048543764 + - -0.00409952 + - -0.10332686 + - -0.024318174 + - -0.09005044 + - 0.007670967 + - -0.017339597 + - -0.004064616 + - -0.13389431 + - 0.024868794 + - -0.04971938 + - 0.0647469 + - 0.01609357 + - -0.12586984 + - 0.036328238 + - -0.2687743 + - -0.08856082 + - -0.008103391 + - -0.29553095 + - 0.17037313 + - 0.12160665 + - -0.018752279 + - -0.01619781 + - -0.1092405 + - -0.0378241 + - 0.095020324 + - 0.095007084 + - 0.17537051 + - -0.17107996 + - 0.11968723 + - 0.27324292 + - -0.011478612 + - 0.12726569 + - -0.101941004 + - 0.19298302 + - -0.20712878 + - -0.0551037 + - 0.027784476 + - -0.000000000000000000000000000000013827535 + - -0.009450471 + - 0.008818001 + - -0.025478698 + - -0.032790516 + - 0.004722066 + - 0.052492622 + - -0.036754813 + - 0.100205205 + - -0.09698216 + - 0.0425182 + - 0.02586683 + - 0.1236 + - 0.03664781 + - 0.08357437 + - 0.078060545 + - 0.021430021 + - 0.04455566 + - -0.14258505 + - 0.1226661 + - -0.07990754 + - -0.07283901 + - -0.003943052 + - -0.019023977 + - -0.2223211 + - -0.047435716 + - 0.22953781 + - 0.21808448 + - -0.16383854 + - -0.07545523 + - -0.08225357 + - -0.14505619 + - 0.19733605 + - -0.02879821 + - -0.23277466 + - 0.01373612 + - 0.14016798 + - -0.08316678 + - -0.059101433 + - 0.04261028 + - 0.19115636 + - -0.3617006 + - 0.012255946 + - 0.23573534 + - -0.033359546 + - 0.030403912 + - 0.02813659 + - 0.0935527 + - -0.0931959 + - 0.12428079 + - -0.072857514 + - -0.09150594 + - -0.04738629 + - -0.17794523 + - 0.2246562 + - -0.14337447 + - -0.11285217 + - -0.16873953 + - 0.15557083 + - -0.22374348 + - 0.098562606 + - 0.06298263 + - -0.0038768556 + - 0.19086216 + - -0.016914895 + - 0.002964154 + - 0.15850934 + - 0.095661625 + - 0.21096753 + - -0.010029065 + - 0.272529 + - 0.16646586 + - 0.2121501 + - 0.041033026 + - 0.02898357 + - 0.13917404 + - -0.16713157 + - -0.26498997 + - -0.29179353 + - 0.16390762 + - -0.1185819 + - -0.007894006 + - -0.056008223 + - -0.079685494 + - -0.06712116 + - 0.0278786 + - 0.115010604 + - 0.041369177 + - 0.06589885 + - 0.12319736 + - 0.067557015 + - 0.1697443 + - 0.20647016 + - -0.03251166 + - -0.3365118 + - -0.009068929 + - 0.008438855 + - -0.039925687 + - -0.007425625 + - -0.062471777 + - 0.018793767 + - -0.35080144 + - 0.09535368 + - -0.38880756 + - 0.08327571 + - 0.10054192 + - 0.03198598 + - 0.024868893 + - 0.084638715 + - 0.02527618 + - 0.07462683 + - 0.005193829 + - 0.015170507 + - 0.1710349 + - 0.066464044 + - 0.06456389 + - -0.24559619 + - 0.1264709 + - 0.08482952 + - -0.14643711 + - -0.096133694 + - -0.12625295 + - 0.121834055 + - -0.25698704 + - 0.101855375 + - -0.115678504 + - -0.21044338 + - -0.036257133 + - 0.14294101 + - -0.030565608 + - -0.5082722 + - -0.076174386 + - 0.050496835 + - 0.0000005421531 + - 0.08306345 + - 0.37440264 + - 0.318205 + - -0.063885 + - -0.06466241 + - 0.12939483 + - -0.0011207182 + - 0.08033461 + - -0.09014891 + - 0.08654479 + - 0.16978426 + - 0.025274647 + - 0.038183194 + - -0.14875582 + - -0.004137762 + - -0.30407977 + - -0.04653644 + - 0.05301745 + - -0.19409612 + - -0.056790557 + - -0.0007008184 + - 0.13941787 + - 0.09085946 + - -0.12405156 + - 0.07332288 + - -0.26451904 + - 0.12677824 + - -0.0024403494 + - 0.37912658 + - 0.1622181 + - 0.047938306 + - 0.19372758 + - -0.11613419 + - 0.014986007 + - -0.06986573 + - 0.07493964 + - -0.09965768 + - 0.25903922 + - 0.15021339 + - -0.14619648 + - -0.16846128 + - -0.12185909 + - 0.07632221 + - -0.044004906 + - 0.015936237 + - -0.06526972 + - -0.2001474 + - -0.0044080066 + - -0.18106295 + - 0.14652257 + - 0.08290118 + - 0.013633836 + - -0.02338536 + - -0.18441091 + - -0.0831763 + - -0.39701086 + - 0.027356822 + - -0.08842209 + - 0.05888677 + - 0.14677677 + - 0.047024928 + - 0.0058391206 + - -0.1254292 + - 0.24648005 + - 0.1356142 + - 0.35772446 + - 0.104588866 + - 0.00000000000000000000000000000000019958335 + - 0.01161582 + - -0.22186148 + - 0.10451606 + - -0.021126423 + - -0.018265985 + - -0.015686883 + - -0.044035535 + - -0.05464489 + - 0.059408482 + - 0.056102987 + - 0.013093392 +- - -0.090405636 + - 0.26165313 + - -0.22686858 + - 0.11848597 + - 0.015668718 + - 0.040581193 + - 0.29757017 + - -0.18509683 + - 0.03886226 + - -0.07184385 + - 0.12234585 + - -0.0124013685 + - -0.027080778 + - 0.37032694 + - -0.0101420265 + - -0.051181868 + - 0.07655202 + - 0.06068784 + - -0.069203 + - -0.079077154 + - 0.07435401 + - -0.07177612 + - -0.0932268 + - 0.003190198 + - -0.053721778 + - -0.17053643 + - 0.0928346 + - -0.15243427 + - 0.05021725 + - -0.06216914 + - 0.009687439 + - -0.10093989 + - -0.032777347 + - 0.24017975 + - 0.000003939396 + - -0.10763996 + - 0.009386614 + - -0.02778943 + - -0.106875904 + - 0.1395765 + - 0.13973066 + - 0.063910544 + - 0.10174836 + - 0.088758215 + - -0.110333435 + - 0.08975601 + - 0.31176278 + - 0.07444081 + - -0.22533329 + - -0.044164404 + - -0.022555636 + - 0.0245431 + - 0.15740791 + - 0.055330556 + - -0.005337082 + - 0.014875231 + - 0.039227396 + - 0.04135776 + - 0.04811698 + - -0.17163128 + - -0.11812878 + - 0.29939264 + - 0.15584317 + - -0.09492983 + - 0.11700345 + - 0.20667034 + - 0.19320169 + - -0.15462638 + - -0.003506031 + - 0.115771465 + - -0.002943432 + - 0.15005358 + - 0.0093193725 + - 0.039917715 + - -0.031842876 + - 0.0041928645 + - -0.038732566 + - 0.048771184 + - -0.04383902 + - -0.04514499 + - -0.2683428 + - 0.108107716 + - 0.108257875 + - 0.13456592 + - 0.046908174 + - 0.034896076 + - -0.0276976 + - 0.04040013 + - 0.12913601 + - 0.04125616 + - 0.077347666 + - -0.1453374 + - 0.07935352 + - -0.03121102 + - -0.08200094 + - -0.16110168 + - 0.0669391 + - 0.10970193 + - 0.12867272 + - -0.120447695 + - 0.06993227 + - -0.06911005 + - -0.1460808 + - 0.030108914 + - -0.15816058 + - -0.03076968 + - -0.18538548 + - 0.066164665 + - -0.12876564 + - 0.028473094 + - -0.22037387 + - -0.11273751 + - 0.07437523 + - 0.10989699 + - 0.06658266 + - -0.03920649 + - -0.12495766 + - 0.010172386 + - -0.23508982 + - -0.11558638 + - -0.23416853 + - 0.12723024 + - 0.08407574 + - 0.20734179 + - 0.042007998 + - -0.036695592 + - 0.029288866 + - 0.1623335 + - -0.050988857 + - 0.06833045 + - 0.0758326 + - -0.09662589 + - -0.12075421 + - 0.28203985 + - -0.0018649884 + - 0.24827674 + - -0.12572384 + - 0.008259477 + - 0.09950961 + - -0.06587303 + - -0.12560388 + - -0.12136606 + - 0.08794989 + - -0.0668564 + - 0.011801249 + - -0.058097072 + - 0.03322299 + - -0.15682791 + - 0.051611103 + - -0.051963612 + - -0.11802362 + - 0.317773 + - -0.012115536 + - -0.119319096 + - 0.29699713 + - 0.17756371 + - -0.009717349 + - 0.05591107 + - -0.018072903 + - 0.19665015 + - -0.11565377 + - -0.041431148 + - -0.041565113 + - 0.09209272 + - -0.051242094 + - -0.06495221 + - 0.13899575 + - -0.08223102 + - -0.12723212 + - 0.07273212 + - -0.037215337 + - 0.09374369 + - -0.10356901 + - 0.03239172 + - 0.05632364 + - 0.17129001 + - -0.043973017 + - 0.48056892 + - 0.17083949 + - 0.05707362 + - 0.002489701 + - 0.14561385 + - -0.026687758 + - 0.07075759 + - -0.09460967 + - 0.14642195 + - -0.028441973 + - 0.046491817 + - -0.102524355 + - -0.16073637 + - 0.051494896 + - -0.17671044 + - -0.019116594 + - 0.0124655645 + - -0.056607552 + - -0.08157712 + - -0.07032858 + - -0.034113206 + - -0.17721967 + - 0.0016606306 + - -0.003958319 + - -0.13038419 + - 0.22633895 + - 0.15059318 + - 0.011253486 + - -0.12668075 + - -0.048766304 + - -0.2459006 + - -0.110817485 + - 0.14641578 + - 0.28381214 + - 0.111139245 + - 0.23276587 + - 0.027697215 + - 0.098846376 + - -0.4492679 + - 0.29085657 + - 0.021268249 + - -0.17976917 + - -0.046075296 + - -0.07525941 + - 0.12549484 + - -0.014002372 + - -0.052606355 + - -0.2075649 + - -0.19211629 + - 0.021389673 + - 0.01693533 + - 0.005548183 + - 0.06249558 + - 0.023754772 + - -0.16706145 + - 0.083085254 + - 0.011498297 + - 0.018074505 + - -0.07917236 + - 0.11667837 + - 0.20019296 + - -0.08164567 + - -0.23297873 + - -0.15897602 + - 0.25878963 + - -0.0014032156 + - 0.027677044 + - 0.2111731 + - 0.12929288 + - 0.21029826 + - 0.05619745 + - 0.049944445 + - -0.17191581 + - 0.16950312 + - -0.055041548 + - 0.030237215 + - 0.091173574 + - 0.030708658 + - -0.09262074 + - 0.026906507 + - 0.042236783 + - -0.055471987 + - -0.05219 + - 0.13358065 + - -0.1355322 + - 0.12820035 + - -0.043209855 + - -0.067700386 + - -0.09904252 + - 0.1915665 + - 0.025452659 + - 0.109216265 + - -0.00070071965 + - 0.032076824 + - -0.060258254 + - 0.109727755 + - -0.035181805 + - -0.015259756 + - -0.060352933 + - 0.14329153 + - -0.032083865 + - -0.015098064 + - 0.14790411 + - -0.10725878 + - 0.12972453 + - -0.12976788 + - -0.087737605 + - -0.12159914 + - 0.06067022 + - 0.13201158 + - -0.04540683 + - 0.037448823 + - 0.043741502 + - -0.08926035 + - -0.02916831 + - 0.024738705 + - -0.068775274 + - 0.03961802 + - 0.023344321 + - -0.19372399 + - 0.22427505 + - 0.17243402 + - -0.0945846 + - -0.040150154 + - -0.0167196 + - 0.07124662 + - 0.09064167 + - -0.046506766 + - 0.15333706 + - 0.07340873 + - 0.043288834 + - -0.053873945 + - -0.17308351 + - 0.07528879 + - -0.024730539 + - 0.023642465 + - 0.14400752 + - -0.09653916 + - -0.1999089 + - -0.29316765 + - 0.020198569 + - -0.080109015 + - -0.069523476 + - 0.053771727 + - -0.12851447 + - 0.21378773 + - 0.13217144 + - 0.021673314 + - 0.13137074 + - -0.22545215 + - -0.0440277 + - -0.10780426 + - -0.27916065 + - 0.02370613 + - 0.042318415 + - -0.03876013 + - -0.15556483 + - -0.008893295 + - 0.054583076 + - -0.010044014 + - 0.07170647 + - -0.014899299 + - -0.22068752 + - -0.12503749 + - -0.19068196 + - -0.04216711 + - 0.14637665 + - -0.10315584 + - -0.032582954 + - -0.02357161 + - -0.15898323 + - -0.1197679 + - -0.0017342288 + - 0.09923997 + - 0.0078013334 + - -0.049417786 + - 0.06242986 + - -0.09524055 + - 0.15744938 + - -0.011144359 + - -0.08025668 + - 0.029773334 + - 0.017004853 + - 0.13141128 + - -0.08785486 + - 0.10155949 + - 0.09005816 + - -0.17846458 + - 0.19122252 + - -0.034478758 + - -0.075733885 + - -0.15683644 + - -0.050120167 + - -0.23859264 + - -0.17174587 + - -0.042044576 + - 0.113911256 + - -0.006683875 + - -0.0364373 + - -0.008606575 + - 0.22710688 + - -0.20749804 + - -0.005347208 + - 0.11104256 + - -0.40804756 + - 0.09890388 + - 0.018594012 + - -0.008869404 + - -0.11051071 + - -0.06374887 + - -0.034368873 + - 0.06815098 + - 0.27415937 + - -0.08746735 + - 0.0143626 + - 0.010433279 + - -0.03557156 + - -0.075353615 + - -0.020687778 + - 0.14297493 + - -0.012600269 + - -0.044675764 + - -0.12351403 + - 0.011813759 + - -0.46479005 + - -0.020348057 + - 0.06373295 + - 0.10059147 + - -0.02261785 + - 0.31695685 + - 0.13352656 + - -0.20803924 + - -0.060586788 + - 0.14687292 + - -0.025460422 + - 0.013048047 + - 0.0413775 + - 0.093125366 + - 0.06254271 + - -0.0934235 + - -0.020635521 + - -0.023339283 + - -0.13310447 + - 0.019674964 + - -0.003170345 + - 0.13972935 + - -0.096593335 + - -0.062742606 + - 0.041891024 + - -0.027395418 + - 0.14076231 + - -0.014225133 + - -0.14450492 + - -0.12374253 + - -0.15608323 + - -0.32367203 + - -0.035367373 + - -0.011163782 + - -0.16804533 + - 0.09692717 + - 0.061434705 + - -0.17557237 + - -0.000987499 + - -0.12953421 + - 0.123270795 + - 0.408877 + - -0.042533293 + - -0.04703489 + - 0.025491983 + - 0.14511712 + - -0.33488357 + - 0.08878086 + - 0.25554073 + - -0.09952925 + - -0.09991964 + - -0.04412263 + - 0.08259155 + - 0.10052342 + - -0.06598608 + - -0.07597184 + - -0.10666182 + - -0.12061492 + - -0.18139297 + - 0.2547646 + - 0.08564547 + - -0.11013807 + - -0.000870144 + - -0.16178386 + - 0.049722277 + - 0.27967784 + - -0.09918581 + - -0.15423752 + - 0.14221488 + - -0.14932181 + - -0.040735397 + - -0.04243888 + - -0.08644354 + - 0.04627856 + - 0.04142302 + - -0.15051046 + - -0.2631073 + - 0.08004644 + - 0.05396061 + - -0.0072692516 + - 0.1947548 + - -0.09012951 + - 0.06878241 + - 0.061192106 + - -0.007768298 + - 0.13012476 + - -0.09566505 + - -0.056655873 + - -0.35574833 + - 0.035803623 + - 0.2684354 + - 0.04680515 + - 0.09508447 + - 0.30345473 + - 0.08267537 + - -0.057537906 + - 0.109450854 + - 0.14079161 + - 0.22480705 + - 0.13731234 + - 0.017409617 + - -0.014181658 + - -0.019152677 + - -0.15884933 + - 0.082517676 + - 0.0019123238 + - -0.054270994 + - 0.016691558 + - 0.27054843 + - -0.08810512 + - 0.034433186 + - -0.26772663 + - -0.55026203 + - -0.016254218 + - 0.20420618 + - 0.15522672 + - -0.16753858 + - -0.1348466 + - 0.02580982 + - 0.07152342 + - -0.04551184 + - -0.040787317 + - 0.015942037 + - 0.018378682 + - -0.0967712 + - -0.0826951 + - 0.09499383 + - -0.04948395 + - 0.125828 + - -0.02940714 + - 0.0684037 + - -0.2379468 + - -0.014903154 + - 0.0077286605 + - -0.079087436 + - 0.24674979 + - -0.03558726 + - -0.08499372 + - 0.14142153 + - -0.007755935 + - -0.09304698 + - 0.033179708 + - 0.051213797 + - 0.14193416 + - -0.22000182 + - 0.113292396 + - 0.06539426 + - 0.0076335454 + - 0.12559578 + - 0.05308255 + - 0.16445965 + - -0.010191712 + - -0.043002035 + - -0.021125266 + - -0.000000000000000000000000000000013893231 + - 0.046827987 + - -0.030604128 + - 0.03305342 + - 0.0044040643 + - 0.00638335 + - 0.17142126 + - -0.17021623 + - 0.068129465 + - -0.0019277325 + - 0.088262 + - -0.036626436 + - 0.08012512 + - 0.02431798 + - -0.011951614 + - 0.1496044 + - 0.040308673 + - 0.07250727 + - -0.19217277 + - 0.076536454 + - -0.057532478 + - -0.038153153 + - 0.05544945 + - -0.012811396 + - -0.33366507 + - -0.07025968 + - 0.32996136 + - 0.08102718 + - -0.2326875 + - 0.01542047 + - 0.046290994 + - -0.0906544 + - 0.16205534 + - 0.06626714 + - -0.22647375 + - 0.033550538 + - 0.016927578 + - 0.091811985 + - 0.11971988 + - 0.1072009 + - 0.023615405 + - -0.34613442 + - -0.048665762 + - 0.19759145 + - 0.038294733 + - 0.01828678 + - -0.060707152 + - 0.092768796 + - -0.1600897 + - 0.08385531 + - -0.16336913 + - 0.011294866 + - -0.0011304952 + - -0.09653458 + - 0.08920016 + - -0.06299463 + - -0.059469048 + - -0.15038948 + - 0.08811145 + - -0.27798373 + - 0.11709295 + - 0.006152791 + - 0.06646621 + - 0.1729578 + - 0.05924294 + - -0.065563604 + - 0.16147242 + - 0.21326083 + - 0.03334426 + - -0.083044484 + - 0.228974 + - 0.15792362 + - 0.26189938 + - 0.09391895 + - 0.13044268 + - 0.14599426 + - -0.020925526 + - -0.14815508 + - -0.21512508 + - -0.017510127 + - -0.2634674 + - 0.075334705 + - -0.010403147 + - 0.014565506 + - -0.15360145 + - 0.03108809 + - -0.02012356 + - 0.08687497 + - 0.03737422 + - 0.179514 + - 0.010950002 + - 0.16446052 + - 0.28586364 + - -0.09339271 + - -0.3280915 + - 0.054801084 + - 0.025706915 + - 0.014145429 + - 0.10790102 + - 0.009372445 + - 0.07982741 + - -0.39125448 + - 0.005078942 + - -0.34990856 + - 0.18573083 + - 0.10755782 + - 0.057396825 + - 0.033282045 + - 0.09799145 + - 0.013779768 + - -0.039628033 + - 0.05966772 + - 0.08714635 + - 0.07019204 + - 0.03300979 + - 0.05030196 + - -0.045930598 + - 0.2580742 + - -0.043147057 + - -0.038969915 + - 0.09427827 + - -0.10192978 + - -0.13537455 + - -0.10602083 + - 0.12645319 + - -0.2229228 + - -0.18033922 + - -0.09020091 + - 0.073408544 + - -0.004521387 + - -0.50476384 + - -0.010960267 + - 0.0021699423 + - 0.0000005893337 + - -0.0025351215 + - 0.25246328 + - 0.3620494 + - -0.080215394 + - 0.08348013 + - 0.054252315 + - -0.021466995 + - 0.016114272 + - 0.054087184 + - 0.032122035 + - 0.07074448 + - -0.049589135 + - 0.05782133 + - 0.0052904882 + - -0.033708025 + - -0.15510514 + - -0.07685259 + - 0.18868324 + - -0.28325316 + - 0.0026148316 + - -0.010389563 + - 0.16155742 + - 0.092527404 + - -0.08980197 + - 0.11371247 + - -0.23672189 + - 0.14203669 + - -0.14527619 + - 0.29104143 + - 0.14519794 + - -0.025850374 + - 0.20717973 + - -0.082444385 + - -0.02815926 + - -0.10837586 + - 0.023839992 + - -0.019078847 + - 0.1679615 + - 0.13261046 + - -0.22835198 + - -0.14809868 + - -0.10400076 + - 0.11679955 + - -0.057311494 + - 0.025638219 + - -0.15096472 + - -0.07339477 + - -0.06321469 + - -0.1108614 + - 0.030548213 + - -0.087499864 + - -0.067331545 + - -0.026719399 + - -0.14008968 + - -0.0331603 + - -0.2593367 + - 0.1493192 + - -0.025866354 + - 0.117182456 + - 0.270086 + - -0.081898145 + - 0.051392924 + - 0.038168516 + - 0.19936742 + - 0.13405006 + - 0.09663147 + - -0.047070965 + - 0.00000000000000000000000000000000032276818 + - -0.0254565 + - -0.2274932 + - 0.02771264 + - -0.108638324 + - -0.1448549 + - 0.018542236 + - -0.09419754 + - -0.08419226 + - -0.0125795165 + - -0.09951689 + - -0.14636196 +- - -0.09447756 + - 0.28401336 + - -0.20927292 + - 0.06391842 + - -0.13476405 + - 0.04846626 + - 0.1878307 + - -0.18785718 + - 0.058850423 + - 0.045422964 + - 0.06642337 + - -0.091134846 + - 0.040074386 + - 0.32935885 + - 0.07653976 + - 0.026939292 + - -0.054670762 + - 0.04807894 + - -0.07868118 + - 0.0042031687 + - 0.1385735 + - -0.05640883 + - -0.19671857 + - -0.0032004882 + - -0.002688181 + - -0.21781248 + - 0.08230148 + - -0.11863863 + - 0.0888927 + - -0.12375562 + - -0.007322887 + - -0.15968978 + - -0.010788597 + - 0.19599335 + - 0.0000044330195 + - -0.07201299 + - 0.14273287 + - 0.03750947 + - -0.039621428 + - 0.1462651 + - 0.1479086 + - 0.06993093 + - -0.022549365 + - 0.046673637 + - -0.080171764 + - -0.01936249 + - 0.26216358 + - 0.09691126 + - -0.13968411 + - -0.065048754 + - 0.009219497 + - 0.025768287 + - 0.13831627 + - -0.006872675 + - 0.1347222 + - 0.013611326 + - -0.0018239361 + - 0.06297333 + - -0.026608955 + - -0.09128576 + - -0.12730488 + - 0.30261245 + - 0.09482067 + - -0.0787201 + - 0.11325092 + - 0.030463262 + - 0.2298969 + - -0.12523463 + - 0.08987205 + - 0.05864972 + - 0.057570092 + - 0.11330612 + - 0.106717154 + - -0.021486111 + - -0.040372077 + - 0.024151083 + - -0.12159417 + - 0.03674942 + - 0.058804087 + - -0.04841508 + - -0.348084 + - 0.17609955 + - 0.14493091 + - 0.030522982 + - 0.087537006 + - -0.093999 + - -0.040445164 + - 0.018661393 + - 0.07499351 + - -0.035053235 + - -0.008287007 + - -0.11576374 + - -0.03092424 + - -0.033278253 + - -0.17183934 + - -0.14865233 + - -0.03401814 + - 0.11146105 + - 0.12710282 + - -0.2700197 + - 0.16378598 + - -0.015741073 + - -0.044773832 + - 0.043836668 + - -0.23400222 + - -0.059570625 + - -0.1534547 + - 0.084353395 + - -0.100355245 + - -0.06484042 + - -0.22052042 + - -0.021420497 + - -0.05012601 + - 0.07194158 + - -0.040093526 + - -0.03278932 + - -0.09437997 + - -0.020381365 + - -0.2119824 + - -0.03186154 + - -0.15514454 + - 0.071610406 + - 0.07828981 + - 0.13090247 + - -0.059655536 + - -0.074004814 + - 0.06372088 + - 0.16763923 + - 0.09270386 + - 0.08367578 + - 0.13229603 + - -0.0861869 + - -0.1361509 + - 0.35746643 + - -0.004417924 + - 0.2041856 + - 0.10066627 + - -0.05774763 + - 0.11677248 + - -0.13375498 + - -0.19274631 + - -0.12122699 + - 0.15187053 + - -0.08888144 + - -0.0023080222 + - -0.13905418 + - 0.0009110153 + - -0.15296306 + - 0.06671378 + - -0.010880629 + - -0.10103902 + - 0.27354595 + - 0.026947418 + - -0.086483546 + - 0.077997975 + - 0.16499507 + - -0.007895116 + - 0.15984054 + - 0.13423997 + - 0.23004213 + - -0.07497524 + - -0.031761046 + - 0.09264336 + - 0.10516904 + - -0.050876524 + - 0.032136038 + - 0.1896934 + - -0.033179104 + - -0.016339779 + - 0.18943769 + - -0.037511647 + - 0.15586968 + - -0.0048990324 + - 0.06757375 + - 0.003138668 + - 0.120795324 + - -0.06396054 + - 0.34166384 + - 0.22738065 + - 0.102139905 + - -0.0147505095 + - 0.30470604 + - 0.00811293 + - 0.09301746 + - -0.019147594 + - 0.14357851 + - -0.04974868 + - 0.04766739 + - 0.017406933 + - -0.08462331 + - 0.023762379 + - -0.23524968 + - -0.058259554 + - 0.04346953 + - -0.1135505 + - -0.14783566 + - -0.009089708 + - -0.06193409 + - -0.05475793 + - 0.06882738 + - 0.008749031 + - -0.14255656 + - 0.30456704 + - 0.08350242 + - -0.057115182 + - -0.13469067 + - -0.06308299 + - -0.2763244 + - -0.10182525 + - 0.11412552 + - 0.2001651 + - 0.17339247 + - 0.20422488 + - -0.1012384 + - 0.093513265 + - -0.40269428 + - 0.17952436 + - 0.03723916 + - -0.24620558 + - -0.071985446 + - -0.024856677 + - 0.10445547 + - -0.06160563 + - -0.08566607 + - -0.12427927 + - -0.16447411 + - 0.093751006 + - 0.15269715 + - -0.101645306 + - -0.0117034055 + - 0.015650272 + - -0.10990403 + - 0.112064496 + - -0.010343445 + - -0.0041557 + - -0.0012689829 + - 0.23873784 + - 0.23207203 + - -0.061606508 + - -0.29665634 + - -0.1108203 + - 0.18703388 + - 0.020040073 + - 0.04299383 + - 0.25201923 + - 0.17968728 + - 0.26816958 + - 0.06096208 + - 0.10981652 + - -0.08677191 + - 0.12448513 + - -0.019167379 + - 0.10209199 + - 0.030828057 + - 0.038089868 + - 0.05794711 + - -0.01272225 + - 0.022320587 + - 0.04465299 + - -0.122651085 + - 0.22386418 + - -0.017774174 + - 0.027715899 + - -0.14421068 + - -0.026057862 + - -0.033441603 + - 0.063213915 + - -0.051107112 + - 0.06454757 + - 0.034881033 + - 0.11153672 + - 0.0024748477 + - 0.03663386 + - -0.07826717 + - -0.0206173 + - -0.043856997 + - 0.09607394 + - -0.011918254 + - -0.04179472 + - 0.022484932 + - -0.06150198 + - 0.07089478 + - -0.1071763 + - -0.100394264 + - -0.122078165 + - 0.077456556 + - 0.04080492 + - -0.0011990042 + - 0.0358065 + - 0.05484218 + - -0.10655468 + - -0.04253539 + - 0.04175574 + - 0.024690727 + - 0.06272924 + - -0.038318176 + - -0.067901015 + - 0.21065149 + - 0.10705383 + - -0.14766057 + - 0.058133695 + - -0.045442715 + - 0.13475068 + - 0.083285294 + - -0.05719253 + - 0.097579464 + - 0.027766276 + - -0.047563322 + - -0.011558058 + - -0.20838156 + - 0.04576349 + - -0.072775 + - 0.025288133 + - 0.19177416 + - -0.020890344 + - -0.1150025 + - -0.25538623 + - -0.061186228 + - -0.090343356 + - -0.16755329 + - 0.02633909 + - -0.1444025 + - 0.122810446 + - 0.08669285 + - 0.09510055 + - 0.15168008 + - -0.2686642 + - -0.10301028 + - -0.057985418 + - -0.28654146 + - 0.013210794 + - 0.05978274 + - 0.0044574495 + - -0.13999522 + - 0.030378608 + - 0.10946901 + - 0.015299106 + - 0.12993804 + - -0.04801041 + - -0.13854401 + - -0.05534705 + - -0.03141497 + - -0.092892915 + - 0.18606864 + - -0.13955984 + - -0.041128974 + - -0.20540701 + - -0.089897916 + - -0.105976336 + - 0.004856566 + - 0.089275554 + - 0.06999454 + - -0.09156271 + - -0.019712295 + - -0.09929918 + - 0.15589237 + - -0.1602083 + - -0.20435293 + - -0.015045118 + - 0.029843345 + - 0.076296136 + - -0.018053334 + - 0.16655123 + - 0.19064623 + - -0.20143332 + - 0.119169414 + - 0.00022472581 + - -0.038949348 + - -0.19485822 + - 0.05952869 + - -0.1421151 + - -0.18417896 + - 0.0077936393 + - 0.12872279 + - 0.051977392 + - -0.06402725 + - 0.0060022697 + - 0.18140142 + - -0.092787296 + - -0.00029989425 + - 0.14314438 + - -0.19490713 + - 0.08292456 + - 0.106178105 + - -0.033135742 + - -0.1041079 + - -0.03550841 + - -0.048093215 + - 0.011214349 + - 0.2652398 + - -0.05937409 + - 0.020606825 + - 0.10003765 + - -0.0024751201 + - -0.123228274 + - -0.062734395 + - 0.0981027 + - 0.17668487 + - -0.0973837 + - -0.02724669 + - 0.015026252 + - -0.31364825 + - -0.08146712 + - 0.04036162 + - 0.124382876 + - -0.015544828 + - 0.19420272 + - 0.11835767 + - -0.12166719 + - -0.09598496 + - 0.17601965 + - -0.010317706 + - 0.007758869 + - 0.02726546 + - 0.064029746 + - 0.13361064 + - -0.06301531 + - -0.16178446 + - -0.13187821 + - -0.055525158 + - -0.067289785 + - 0.073237434 + - 0.2222519 + - -0.1495053 + - -0.0008369824 + - 0.15654844 + - -0.059131958 + - 0.19588916 + - 0.0062252246 + - -0.17641905 + - -0.14886306 + - -0.17026499 + - -0.3584117 + - -0.010801993 + - -0.01493863 + - -0.1912746 + - 0.09372446 + - 0.009368556 + - -0.23078936 + - -0.071778886 + - -0.02027234 + - 0.07592292 + - 0.37827748 + - -0.04662283 + - 0.033313807 + - -0.07002018 + - 0.079212055 + - -0.2977221 + - 0.085654005 + - 0.2505223 + - -0.071593314 + - -0.25833246 + - 0.0066605695 + - -0.05715354 + - 0.030872593 + - 0.021148212 + - -0.13492878 + - -0.13546956 + - -0.05670341 + - -0.12827021 + - 0.18400308 + - 0.07497683 + - -0.13924737 + - -0.07373878 + - -0.2049787 + - 0.077688836 + - 0.23037362 + - -0.029805653 + - -0.18055394 + - 0.06100203 + - -0.16472879 + - -0.059985805 + - -0.030823017 + - -0.122497074 + - 0.05592504 + - 0.04560845 + - -0.0722012 + - -0.26567328 + - -0.04787524 + - 0.028177237 + - 0.12104837 + - 0.14475976 + - -0.14741589 + - -0.041808654 + - 0.112789586 + - -0.011087818 + - 0.12137091 + - -0.045626096 + - -0.09161597 + - -0.2586132 + - -0.11091672 + - 0.26931927 + - 0.08728243 + - -0.0052176304 + - 0.27771628 + - 0.11555001 + - -0.068776056 + - 0.039039187 + - 0.1677339 + - 0.10721506 + - 0.13446069 + - 0.0391761 + - -0.00054709427 + - 0.06508372 + - -0.13187945 + - 0.063613184 + - 0.010905333 + - 0.012384461 + - -0.08645843 + - 0.1616322 + - -0.07589693 + - 0.08641978 + - -0.31017825 + - -0.54146004 + - -0.13785607 + - 0.2219798 + - 0.019609815 + - -0.14695922 + - -0.064829536 + - -0.10564798 + - 0.096377835 + - -0.04860179 + - 0.133333 + - -0.12722428 + - -0.0521413 + - -0.11588334 + - -0.008037599 + - 0.033102196 + - 0.08264455 + - 0.06223455 + - -0.05782106 + - -0.068989344 + - -0.1796976 + - -0.099185035 + - 0.07597352 + - -0.031216335 + - 0.17152233 + - -0.08854824 + - -0.17336987 + - 0.078939185 + - 0.014209241 + - -0.07080359 + - 0.037191883 + - 0.06209991 + - 0.12386308 + - -0.3588772 + - 0.12872295 + - -0.016954727 + - 0.028579704 + - 0.13293843 + - 0.023440188 + - 0.07200558 + - -0.024740502 + - -0.024507 + - -0.07925659 + - -0.000000000000000000000000000000014830429 + - -0.081093535 + - 0.07188874 + - -0.0589941 + - -0.046246707 + - 0.021349937 + - 0.1337404 + - -0.14118813 + - 0.011155744 + - -0.027179485 + - 0.06698573 + - -0.0064678355 + - 0.06200884 + - 0.019824054 + - -0.056303076 + - 0.10111708 + - -0.040037476 + - 0.07354859 + - -0.22786225 + - 0.040839687 + - -0.020962367 + - 0.029633086 + - 0.045135893 + - 0.15987259 + - -0.26730505 + - -0.14097163 + - 0.14355606 + - 0.045265287 + - -0.23246258 + - -0.04163591 + - -0.08088122 + - -0.013670156 + - 0.21391723 + - 0.034751896 + - -0.13802946 + - 0.033330936 + - -0.0064961035 + - 0.22171174 + - 0.11194126 + - -0.0070747714 + - 0.00877992 + - -0.34571165 + - -0.04421956 + - 0.107214354 + - -0.033377286 + - 0.04210484 + - -0.052443232 + - 0.12607388 + - -0.12768364 + - -0.0197017 + - -0.061877348 + - 0.14574382 + - 0.06919964 + - -0.09162232 + - -0.03827276 + - -0.006635869 + - -0.026579421 + - -0.12744614 + - 0.05296551 + - -0.26236942 + - 0.16651633 + - 0.073533 + - 0.049199805 + - 0.117111474 + - 0.100225955 + - -0.030780254 + - 0.20042452 + - 0.23750614 + - 0.12615702 + - -0.1447185 + - 0.37158296 + - 0.24932069 + - 0.23792852 + - 0.05707475 + - 0.05266846 + - 0.16527605 + - -0.08710796 + - -0.18238749 + - -0.17618495 + - 0.09360124 + - -0.18760288 + - 0.1311854 + - 0.0013047056 + - 0.080023885 + - -0.06955778 + - -0.00808871 + - -0.045309782 + - 0.005944779 + - -0.021187078 + - 0.15147877 + - -0.010024514 + - 0.1600987 + - 0.27743047 + - -0.12673292 + - -0.27557987 + - 0.12547068 + - 0.11123523 + - -0.053017173 + - 0.15790519 + - -0.031325847 + - 0.055248074 + - -0.17882915 + - -0.021921542 + - -0.29491812 + - -0.008605741 + - 0.10222196 + - 0.093086086 + - 0.11407192 + - 0.14752825 + - -0.07508659 + - 0.025569145 + - 0.00928919 + - 0.18683146 + - 0.056726456 + - 0.06622397 + - 0.098254934 + - -0.081337154 + - 0.2200848 + - -0.052144855 + - 0.012361209 + - 0.069719344 + - -0.04521589 + - -0.14566025 + - -0.050319325 + - 0.09035444 + - -0.08155907 + - -0.12571828 + - 0.0041829683 + - 0.022577379 + - -0.14859685 + - -0.2412436 + - -0.038427193 + - -0.059910122 + - 0.00000063159854 + - -0.038827896 + - 0.25297275 + - 0.33443964 + - -0.11635029 + - 0.15143049 + - 0.0792546 + - 0.026710253 + - 0.009671021 + - 0.08378182 + - 0.06370915 + - 0.005151674 + - -0.09001015 + - 0.1259273 + - -0.07360508 + - -0.07017438 + - -0.073745154 + - 0.048191443 + - 0.06532795 + - -0.1449602 + - -0.07541858 + - -0.19756833 + - 0.10909931 + - 0.027767856 + - -0.063702516 + - 0.1178222 + - -0.1555945 + - 0.13425761 + - -0.08791949 + - 0.31163666 + - 0.13756889 + - 0.009624714 + - 0.1578297 + - -0.11508842 + - 0.063988835 + - -0.13983813 + - 0.022063795 + - 0.048799478 + - 0.1714608 + - 0.15649503 + - -0.30352673 + - -0.010473467 + - -0.19085668 + - 0.039175883 + - -0.058798146 + - -0.008156263 + - -0.21458144 + - -0.0719787 + - 0.008115879 + - -0.16278166 + - 0.08972832 + - -0.07301748 + - 0.04316441 + - -0.07370519 + - -0.21544152 + - -0.057438605 + - -0.29439977 + - 0.25597012 + - -0.11843356 + - 0.030503832 + - 0.3294924 + - -0.08145841 + - -0.009138922 + - -0.042339332 + - 0.27025428 + - 0.07612496 + - 0.19138122 + - -0.114173084 + - 0.00000000000000000000000000000000032204362 + - -0.00091851316 + - -0.17847584 + - 0.17421539 + - -0.14621308 + - -0.23610914 + - -0.12168768 + - -0.018638391 + - -0.14403471 + - -0.02521354 + - -0.12654608 + - -0.17061755 +- - -0.14972067 + - 0.2709485 + - -0.10845255 + - 0.028669914 + - -0.13608177 + - 0.0059824567 + - 0.099949434 + - -0.13488317 + - 0.041082583 + - 0.005936211 + - 0.118051305 + - 0.027206264 + - 0.026193101 + - 0.315913 + - 0.03869489 + - 0.0726403 + - 0.049104825 + - -0.028495798 + - -0.011063177 + - 0.0000629588 + - 0.16536054 + - -0.18000507 + - -0.1193009 + - 0.07754554 + - -0.101549946 + - -0.10178422 + - 0.076921694 + - -0.082334206 + - 0.06723898 + - -0.19076374 + - 0.037560955 + - -0.2756112 + - -0.005555915 + - 0.16036138 + - 0.0000045982188 + - -0.04166632 + - 0.110367 + - -0.002077382 + - 0.0014670682 + - 0.06986591 + - 0.18816589 + - -0.01972612 + - -0.02747215 + - 0.033229716 + - -0.093335226 + - -0.09502635 + - 0.24011339 + - 0.20640467 + - -0.11885232 + - 0.03504384 + - 0.02211596 + - 0.047905974 + - 0.057876095 + - -0.000118846074 + - 0.052026488 + - 0.01944225 + - 0.011485634 + - 0.14844134 + - -0.03132926 + - 0.052724037 + - -0.09339304 + - 0.25718358 + - 0.166223 + - -0.015964683 + - 0.06622608 + - 0.08496504 + - 0.18068045 + - -0.14583768 + - 0.103324324 + - 0.05719828 + - 0.00976271 + - 0.09218243 + - 0.18972102 + - -0.024661789 + - -0.04730623 + - -0.032351602 + - -0.085308604 + - 0.08285894 + - -0.001266629 + - -0.047005735 + - -0.42328462 + - 0.11622754 + - 0.19951467 + - -0.022985341 + - 0.043340493 + - -0.09769301 + - -0.10308069 + - 0.027509974 + - 0.027635999 + - -0.018298432 + - 0.0018760352 + - -0.20618853 + - -0.034930304 + - -0.034524817 + - -0.034713335 + - -0.119091064 + - -0.04776447 + - 0.08137053 + - 0.057969615 + - -0.25269493 + - 0.17909454 + - -0.01950346 + - 0.025579628 + - 0.07848531 + - -0.31154573 + - -0.052978966 + - -0.18890738 + - 0.10824578 + - -0.051615246 + - -0.043008216 + - -0.3553058 + - 0.0273318 + - -0.061954927 + - 0.087673426 + - -0.003264268 + - -0.049085114 + - -0.10865002 + - 0.0058389604 + - -0.23301765 + - -0.052980077 + - -0.109971024 + - 0.10425123 + - 0.1566692 + - 0.08164245 + - -0.028458476 + - -0.09978044 + - 0.08609816 + - 0.21033648 + - 0.07487215 + - 0.107503965 + - 0.045609232 + - -0.103178464 + - -0.13507257 + - 0.28596243 + - 0.045105457 + - 0.1740728 + - 0.14200021 + - -0.041258182 + - 0.024768678 + - -0.17586027 + - -0.20872295 + - -0.17816131 + - 0.18402024 + - -0.08991965 + - -0.032272883 + - -0.1716252 + - -0.0050615417 + - -0.12631626 + - 0.062156208 + - -0.011580227 + - -0.07936899 + - 0.20007268 + - 0.04041626 + - -0.071387574 + - 0.11300227 + - 0.11982937 + - -0.069811575 + - 0.14215113 + - 0.075929314 + - 0.23129295 + - -0.026426371 + - 0.012861575 + - 0.118456796 + - 0.08131021 + - 0.03882572 + - 0.10903975 + - 0.08896002 + - -0.079879165 + - -0.06795307 + - 0.25279617 + - -0.04582733 + - 0.19535841 + - -0.015463943 + - 0.061607413 + - 0.021448355 + - 0.13623822 + - -0.17474379 + - 0.3846826 + - 0.24893476 + - 0.102498 + - 0.11900352 + - 0.15679777 + - -0.046476528 + - 0.10196865 + - -0.102367684 + - 0.17280348 + - -0.025342967 + - 0.115249045 + - 0.023120245 + - -0.1441025 + - 0.0038499497 + - -0.27298385 + - -0.08750391 + - 0.018922359 + - -0.08051008 + - -0.033130087 + - -0.0338373 + - -0.047432642 + - -0.01029635 + - 0.09126441 + - -0.1285389 + - -0.15729767 + - 0.24242896 + - 0.114868544 + - -0.047754016 + - -0.13732171 + - -0.03305241 + - -0.26129544 + - -0.123876214 + - 0.069659606 + - 0.25675815 + - 0.13696885 + - 0.19470578 + - -0.15836805 + - -0.043059636 + - -0.3556099 + - 0.03519647 + - -0.03510159 + - -0.27382055 + - -0.054007202 + - -0.013279365 + - 0.055252682 + - -0.0399225 + - -0.11949144 + - -0.09578724 + - -0.19663401 + - 0.17735629 + - 0.07294482 + - -0.107208595 + - -0.1076971 + - -0.0026575876 + - -0.07497744 + - 0.16427688 + - -0.033692718 + - -0.054434363 + - 0.01879226 + - 0.20305207 + - 0.35189068 + - -0.013621077 + - -0.31079188 + - -0.09258684 + - 0.228174 + - 0.029122513 + - 0.02120493 + - 0.23256531 + - 0.17089541 + - 0.24085118 + - -0.051060352 + - 0.044426695 + - -0.09963445 + - 0.13149205 + - -0.02797868 + - 0.14661908 + - 0.06615777 + - 0.021066148 + - 0.083524935 + - -0.019487832 + - -0.06746788 + - -0.07992639 + - -0.1537279 + - 0.15991351 + - -0.053210467 + - -0.016551936 + - -0.09128193 + - -0.027513284 + - -0.019146211 + - 0.06651622 + - -0.10110274 + - 0.078923434 + - -0.011482328 + - 0.02487448 + - -0.053816557 + - 0.010931443 + - -0.08582233 + - -0.080003604 + - -0.03840972 + - 0.16910397 + - 0.017641835 + - -0.002808001 + - 0.004400526 + - -0.042826824 + - 0.034581535 + - -0.13806081 + - -0.11165391 + - -0.07963151 + - 0.026521528 + - 0.13586436 + - 0.027306426 + - 0.078891814 + - 0.03649213 + - -0.1212268 + - 0.005692938 + - -0.023899196 + - -0.06330261 + - 0.027896976 + - -0.029394496 + - -0.09134423 + - 0.19552237 + - 0.033870492 + - 0.0016979193 + - 0.0629711 + - 0.019882465 + - 0.11551659 + - 0.09374921 + - -0.086740345 + - 0.1148227 + - -0.045401648 + - -0.007624903 + - -0.0031103273 + - -0.08297393 + - -0.044591576 + - -0.07538038 + - 0.06807063 + - 0.23938543 + - -0.0042569824 + - -0.07550548 + - -0.26749295 + - -0.013366561 + - -0.0438653 + - -0.15379933 + - -0.023765005 + - -0.13559076 + - 0.22199494 + - 0.06412013 + - 0.07864708 + - 0.059611052 + - -0.2132167 + - -0.02069653 + - -0.07146182 + - -0.17045489 + - 0.10925188 + - 0.03590795 + - -0.020472178 + - -0.057713043 + - -0.053729936 + - 0.01232608 + - -0.05427242 + - 0.20632789 + - -0.030052735 + - -0.10452308 + - -0.026461598 + - -0.0043350635 + - -0.09087849 + - 0.11339116 + - -0.09857614 + - -0.012703305 + - -0.073926196 + - -0.12335538 + - 0.042560864 + - -0.042131096 + - 0.14816025 + - 0.052924436 + - -0.07132087 + - -0.08210844 + - -0.1416242 + - 0.16430955 + - -0.10853329 + - -0.050940357 + - 0.029362638 + - -0.012264913 + - 0.09900942 + - -0.020316696 + - 0.121312514 + - 0.19985688 + - -0.24235336 + - 0.07121997 + - 0.09204054 + - -0.009265119 + - -0.13092527 + - 0.03227278 + - -0.06346038 + - -0.1764488 + - -0.025358131 + - 0.072447 + - -0.04676852 + - -0.11587137 + - 0.007876616 + - 0.12357842 + - -0.065123014 + - -0.027750097 + - 0.18119551 + - -0.14975162 + - 0.14516416 + - 0.08468986 + - 0.06400364 + - -0.17473985 + - -0.0909192 + - -0.025209025 + - -0.089465864 + - 0.35629582 + - -0.080963366 + - 0.012837229 + - 0.0660133 + - 0.013754081 + - -0.09874936 + - -0.12099838 + - 0.13522525 + - 0.16910598 + - -0.08002708 + - 0.02151363 + - 0.10890766 + - -0.19393691 + - -0.04929706 + - 0.045961324 + - 0.12042355 + - -0.019369181 + - 0.24021362 + - 0.08445914 + - -0.18071641 + - -0.03396353 + - 0.1569486 + - -0.06561202 + - -0.061404683 + - -0.0077610817 + - 0.1411525 + - 0.24277097 + - 0.00004862342 + - -0.20551273 + - -0.019622417 + - 0.06832012 + - -0.027076533 + - 0.09652193 + - 0.16107187 + - -0.16225572 + - 0.005267391 + - 0.14574958 + - -0.116976306 + - 0.11691959 + - -0.066423036 + - -0.19398497 + - -0.23093078 + - -0.2757484 + - -0.3270618 + - 0.029812384 + - -0.033198666 + - -0.17992683 + - 0.08947621 + - 0.0012875046 + - -0.19367903 + - -0.09251163 + - -0.020042563 + - 0.11626224 + - 0.38514024 + - -0.10563655 + - -0.016675824 + - -0.09385246 + - 0.071479484 + - -0.34449703 + - 0.046124782 + - 0.3030049 + - -0.06199947 + - -0.33180735 + - -0.0024233772 + - 0.021573752 + - -0.03299696 + - -0.07909666 + - -0.0754693 + - -0.1722081 + - -0.04663303 + - -0.04031363 + - 0.14535856 + - 0.13245709 + - -0.099972926 + - -0.11296153 + - -0.13417892 + - 0.13727155 + - 0.33093658 + - -0.07732964 + - -0.05015137 + - 0.11532479 + - -0.20383275 + - -0.051966906 + - 0.023230886 + - -0.094787486 + - -0.0333623 + - 0.09113599 + - -0.047081493 + - -0.20507601 + - -0.0071113966 + - 0.13768283 + - 0.090852804 + - 0.16589437 + - -0.090592355 + - 0.020925032 + - 0.11219601 + - 0.05970893 + - 0.18563724 + - 0.08437154 + - -0.10382785 + - -0.3052714 + - -0.093013056 + - 0.2427494 + - 0.09468628 + - 0.008888444 + - 0.22763585 + - 0.048697174 + - -0.11493716 + - 0.030399915 + - 0.24303427 + - 0.15879628 + - 0.1717342 + - 0.072608985 + - 0.006787313 + - 0.14976113 + - -0.041228935 + - 0.0954338 + - -0.024630956 + - 0.13039683 + - -0.12706566 + - 0.13864185 + - -0.057365146 + - 0.08684506 + - -0.24051468 + - -0.54113984 + - -0.1337138 + - 0.21629603 + - 0.06967296 + - -0.16479854 + - -0.07703468 + - -0.12205635 + - 0.07218868 + - -0.060275905 + - 0.09110096 + - -0.0967785 + - -0.031930298 + - -0.074397944 + - 0.029761292 + - 0.0424227 + - 0.07754738 + - 0.026626239 + - -0.09070169 + - 0.06291599 + - -0.20767246 + - -0.006895142 + - 0.06717099 + - -0.07774187 + - 0.08303701 + - 0.10620105 + - -0.15565804 + - 0.1473411 + - -0.060100384 + - -0.036901563 + - -0.06617989 + - 0.008645695 + - 0.06104154 + - -0.30265027 + - 0.1484862 + - -0.07744877 + - 0.067631364 + - -0.0018819384 + - 0.018180955 + - 0.056472447 + - 0.008444574 + - -0.008055486 + - -0.100341305 + - -0.000000000000000000000000000000014347197 + - 0.010696203 + - 0.05692227 + - 0.0110391965 + - -0.09148931 + - 0.047162447 + - 0.051264938 + - -0.061892606 + - -0.0032445688 + - -0.093370296 + - 0.051134467 + - 0.00496173 + - 0.06458977 + - 0.029357234 + - -0.001964842 + - 0.10547864 + - -0.08612699 + - 0.13249451 + - -0.108668596 + - 0.0015152246 + - 0.06673188 + - 0.07242243 + - 0.070722096 + - 0.23861586 + - -0.26371065 + - -0.1598706 + - 0.09381827 + - 0.048842553 + - -0.28352416 + - -0.12108417 + - -0.12340448 + - -0.01896149 + - 0.17030475 + - -0.016544709 + - -0.22258073 + - -0.07491017 + - -0.12208847 + - 0.1921825 + - 0.057137184 + - -0.053555824 + - 0.0123102935 + - -0.24285601 + - -0.11919432 + - 0.091486365 + - -0.015959596 + - 0.053208973 + - -0.034168288 + - 0.13184685 + - -0.2265906 + - -0.020992035 + - -0.111264616 + - 0.16613057 + - 0.019629475 + - -0.13722812 + - -0.0897481 + - 0.016569301 + - 0.026847987 + - -0.16921493 + - -0.013516685 + - -0.1448809 + - 0.13307396 + - 0.06272373 + - 0.026977655 + - 0.17836694 + - 0.09321686 + - -0.017906176 + - 0.17016919 + - 0.23955785 + - 0.06023775 + - -0.13688909 + - 0.21605104 + - 0.18221197 + - 0.28166974 + - 0.10751715 + - 0.05544813 + - 0.14980495 + - -0.16548559 + - -0.08881535 + - -0.12360157 + - 0.15468594 + - -0.19283803 + - -0.0078684315 + - 0.015430936 + - 0.05071442 + - -0.06540023 + - 0.04789761 + - -0.11215973 + - -0.02541867 + - -0.03471953 + - 0.13513848 + - -0.0115270745 + - 0.12656805 + - 0.21025328 + - -0.04044152 + - -0.24278094 + - 0.1483559 + - 0.07315741 + - -0.011022849 + - 0.08564341 + - -0.02968772 + - 0.13640542 + - -0.09139645 + - 0.028351627 + - -0.24367449 + - -0.033230834 + - 0.142863 + - 0.07634407 + - 0.08901883 + - 0.14399023 + - -0.121077135 + - 0.035477612 + - 0.010412853 + - 0.23067671 + - 0.07299686 + - -0.008955022 + - 0.023593765 + - -0.10543201 + - 0.1566632 + - -0.0321951 + - 0.0059857406 + - 0.09529205 + - -0.14014608 + - -0.1465157 + - -0.1367328 + - 0.0013983715 + - -0.10306533 + - -0.09717137 + - -0.01403719 + - 0.057850014 + - -0.15127553 + - -0.2744361 + - -0.039095595 + - -0.036809083 + - 0.0000006470832 + - -0.15278974 + - 0.19705963 + - 0.2517084 + - -0.10877669 + - 0.1377602 + - 0.07934698 + - 0.077709466 + - -0.05402699 + - 0.017026158 + - 0.10342107 + - 0.008106757 + - -0.07599674 + - 0.17417258 + - -0.03664528 + - -0.068709925 + - -0.10551988 + - -0.10506973 + - 0.08924796 + - -0.12454184 + - -0.034588728 + - -0.2233024 + - 0.21293044 + - 0.10403533 + - -0.04896994 + - 0.020930212 + - -0.17530218 + - 0.14035495 + - -0.04895078 + - 0.33577263 + - 0.10088664 + - 0.035989676 + - 0.13095228 + - -0.012805394 + - 0.13375677 + - -0.1417941 + - 0.013124317 + - 0.12269489 + - 0.16670606 + - 0.14434111 + - -0.19548425 + - -0.0034492956 + - -0.091528304 + - 0.05382889 + - -0.15043159 + - 0.11440407 + - -0.11424861 + - -0.021688575 + - -0.033728972 + - -0.1923339 + - -0.048948642 + - -0.024159258 + - 0.069462374 + - -0.038491033 + - -0.1739756 + - -0.12822348 + - -0.3413529 + - 0.23353177 + - -0.17696701 + - 0.02835336 + - 0.20421788 + - -0.061867174 + - -0.024341013 + - -0.13471241 + - 0.15635249 + - 0.17845091 + - 0.106047496 + - -0.08103323 + - 0.00000000000000000000000000000000029110514 + - -0.027268443 + - -0.07768924 + - 0.097331606 + - -0.06139363 + - -0.20694828 + - -0.13579302 + - -0.032388058 + - -0.105748326 + - -0.016122723 + - -0.06428315 + - -0.12320319 +- - -0.039766915 + - 0.18325906 + - -0.13733931 + - 0.13306673 + - 0.011358805 + - -0.0070739468 + - 0.1222647 + - -0.06998163 + - 0.02897338 + - 0.01991972 + - 0.09904899 + - 0.015187904 + - 0.007910529 + - 0.10526063 + - 0.066264845 + - 0.0047640046 + - 0.054601233 + - -0.09086863 + - -0.002521079 + - 0.010789201 + - 0.101166904 + - -0.09829848 + - -0.07148047 + - -0.012324447 + - 0.03412465 + - -0.07301108 + - -0.0024365438 + - -0.035332642 + - 0.06638658 + - 0.025167301 + - 0.10143716 + - -0.13361087 + - -0.04821026 + - 0.20215148 + - 0.000006678215 + - 0.04592962 + - 0.1015175 + - -0.019053677 + - -0.14303899 + - 0.07695314 + - 0.014273213 + - 0.05940657 + - -0.094907284 + - -0.055199485 + - -0.190136 + - -0.05847086 + - 0.20939897 + - 0.11116291 + - -0.028602421 + - 0.114952475 + - 0.05513638 + - -0.08441849 + - 0.16304278 + - -0.019830056 + - 0.051647227 + - -0.0016372874 + - 0.021464933 + - 0.055607855 + - 0.1164584 + - 0.004708479 + - -0.073196724 + - 0.06365804 + - 0.04379498 + - -0.03579338 + - 0.16984227 + - 0.005896076 + - 0.11214369 + - -0.15565641 + - 0.03527259 + - 0.14867479 + - -0.0855095 + - 0.17857072 + - -0.016594332 + - 0.0041186213 + - -0.1152733 + - -0.18055287 + - -0.07814301 + - 0.14323053 + - -0.04434041 + - -0.034558043 + - -0.14326447 + - 0.021535799 + - 0.18997446 + - -0.08945835 + - -0.0366913 + - -0.004892502 + - -0.08654693 + - -0.0050727874 + - -0.11383618 + - -0.005475851 + - 0.1314077 + - -0.08860156 + - 0.00032368675 + - -0.17154554 + - -0.047803357 + - -0.08250815 + - 0.0054068007 + - 0.011908017 + - -0.041629046 + - -0.0424409 + - 0.07730969 + - -0.09022138 + - -0.108853064 + - 0.029879939 + - -0.14339495 + - -0.06846367 + - -0.09206387 + - 0.05381089 + - -0.05723325 + - 0.086082265 + - -0.053414308 + - 0.0057029095 + - 0.002783887 + - 0.06737494 + - -0.016558448 + - -0.13437302 + - -0.12917612 + - 0.04502294 + - -0.16835779 + - -0.08335787 + - -0.094126105 + - 0.13966867 + - -0.045662485 + - 0.12751055 + - -0.06989977 + - 0.07958883 + - 0.01016485 + - 0.12128512 + - 0.08267182 + - 0.048349734 + - 0.14481483 + - 0.046541214 + - -0.046536595 + - 0.10110021 + - 0.015236238 + - 0.11327006 + - 0.013518982 + - -0.100434646 + - 0.031573817 + - -0.0546211 + - -0.07211819 + - -0.20129277 + - 0.09964574 + - -0.06408658 + - -0.05282185 + - -0.12055836 + - 0.05218316 + - -0.0894126 + - 0.024527183 + - -0.016925788 + - 0.016864836 + - 0.31558165 + - -0.011947082 + - -0.10382412 + - 0.14368981 + - 0.109426074 + - 0.043589234 + - -0.066551805 + - 0.078372404 + - 0.04735856 + - 0.0716684 + - 0.014164581 + - 0.05708182 + - -0.021706838 + - 0.06863892 + - 0.08496197 + - 0.06863636 + - -0.09779092 + - -0.0017615936 + - 0.08455008 + - 0.09299694 + - 0.10649245 + - -0.049380846 + - 0.16473702 + - 0.23343986 + - 0.17191467 + - 0.005037412 + - 0.36147407 + - 0.07505416 + - 0.0057864743 + - -0.055576153 + - -0.001256166 + - -0.062096924 + - 0.05842816 + - 0.028241362 + - 0.11576887 + - 0.10201746 + - 0.1398188 + - -0.07965881 + - -0.14222251 + - -0.0025911545 + - -0.15175141 + - 0.002270287 + - 0.00987027 + - 0.09055988 + - -0.120251074 + - -0.07952036 + - -0.07114192 + - 0.036418065 + - -0.041826732 + - -0.068866715 + - -0.19801962 + - 0.09354765 + - -0.07135587 + - -0.1125663 + - -0.08029268 + - -0.0410227 + - -0.22302692 + - 0.018616388 + - 0.09453341 + - 0.16041073 + - 0.012188872 + - 0.12972264 + - -0.1087783 + - -0.013846992 + - -0.20661566 + - 0.075580195 + - 0.09061055 + - -0.10829855 + - -0.09540846 + - -0.0898078 + - 0.06067614 + - -0.038616218 + - -0.123798 + - -0.042913653 + - -0.1402897 + - 0.10053519 + - 0.051684905 + - 0.0065379366 + - 0.079125814 + - 0.049873136 + - -0.012650486 + - 0.13648339 + - -0.10461563 + - -0.031830046 + - -0.048977334 + - 0.04018093 + - 0.03810493 + - -0.10256404 + - -0.22153655 + - -0.12525104 + - 0.21634278 + - 0.021544408 + - 0.023711015 + - 0.19263273 + - 0.061348937 + - 0.08868699 + - -0.0034690015 + - 0.08804161 + - -0.02090188 + - 0.014830187 + - -0.078849345 + - 0.027872445 + - 0.047187388 + - 0.06696906 + - 0.037215386 + - 0.08786606 + - 0.071952656 + - 0.04939776 + - -0.10516584 + - 0.027352357 + - 0.013257019 + - 0.021728612 + - 0.03001554 + - 0.056915678 + - 0.015614223 + - 0.18767019 + - -0.16270784 + - -0.09203638 + - -0.09443461 + - -0.07480873 + - -0.08861078 + - 0.08096505 + - 0.0056740735 + - -0.058234256 + - -0.021922026 + - 0.02117366 + - -0.06924309 + - -0.06212533 + - 0.06782378 + - 0.07279372 + - 0.18216419 + - -0.06291276 + - -0.16908403 + - -0.006986617 + - 0.005629951 + - 0.036174346 + - -0.0565266 + - 0.012577447 + - -0.005078089 + - -0.11170462 + - 0.05408169 + - 0.045035083 + - -0.021931091 + - 0.05420647 + - -0.12203642 + - -0.10901695 + - 0.06031669 + - -0.04933385 + - -0.07977572 + - -0.09932499 + - 0.20009823 + - 0.2252233 + - 0.06360275 + - 0.021778457 + - 0.07090512 + - 0.022867752 + - 0.07369721 + - -0.17692223 + - -0.011799353 + - 0.08598545 + - -0.006790548 + - 0.058431998 + - 0.15258963 + - -0.0575054 + - -0.08231592 + - -0.29404712 + - -0.05023751 + - -0.026864959 + - -0.090530574 + - 0.09875827 + - -0.22169602 + - 0.27525875 + - 0.08696486 + - -0.058683373 + - -0.015575472 + - -0.23655686 + - 0.025390465 + - -0.060374506 + - -0.013123927 + - 0.107471265 + - 0.03939153 + - -0.015638584 + - 0.019036112 + - 0.043655384 + - -0.05767959 + - -0.032657888 + - 0.14748849 + - -0.0018990338 + - 0.0042853663 + - -0.10320846 + - -0.05489987 + - -0.08519624 + - 0.065836675 + - -0.000595361 + - -0.037676007 + - 0.04789363 + - -0.0943067 + - -0.019052947 + - 0.010188675 + - 0.12981902 + - 0.050012182 + - -0.04184643 + - -0.15226221 + - -0.06283493 + - 0.089144945 + - -0.10712916 + - -0.071559295 + - 0.050812587 + - 0.032597095 + - 0.11424345 + - -0.0149281975 + - 0.09934826 + - 0.10470869 + - -0.31196922 + - 0.13506748 + - 0.0064573516 + - 0.06128136 + - -0.065628275 + - -0.09029005 + - -0.020818688 + - -0.108735204 + - -0.14650328 + - 0.008055663 + - -0.08905634 + - -0.20334768 + - 0.00077036396 + - 0.12817787 + - -0.0656832 + - -0.025201268 + - -0.019614037 + - -0.09058391 + - -0.072815865 + - 0.0068493015 + - -0.06389126 + - -0.018222494 + - -0.0043146247 + - -0.07875186 + - 0.01513022 + - 0.1497502 + - -0.0018179001 + - -0.11060625 + - -0.020224346 + - -0.039531767 + - -0.07082066 + - -0.105156794 + - 0.13538644 + - 0.011810918 + - -0.13658397 + - -0.03485573 + - -0.002030165 + - -0.10941276 + - 0.03019356 + - -0.04803626 + - 0.035644732 + - -0.06668996 + - 0.30176654 + - -0.0183502 + - -0.0337518 + - -0.042280648 + - 0.051647246 + - 0.18103987 + - 0.023789013 + - 0.0013699839 + - 0.17311575 + - -0.015941702 + - -0.09606472 + - -0.021634866 + - 0.012853729 + - -0.07281185 + - 0.10102423 + - -0.12517469 + - 0.2073101 + - -0.20762955 + - 0.047708303 + - 0.093282424 + - -0.18668011 + - 0.12223022 + - -0.08474427 + - -0.040166765 + - -0.12863092 + - -0.15328126 + - -0.1675339 + - 0.02687344 + - -0.06190138 + - -0.15940766 + - 0.08733772 + - 0.0071558375 + - -0.038899228 + - -0.065255456 + - -0.14160071 + - -0.059151024 + - 0.20336086 + - -0.035486147 + - -0.0018886868 + - 0.041995034 + - -0.05857306 + - -0.1956192 + - 0.021618955 + - 0.23880115 + - -0.007018829 + - -0.2885098 + - -0.05209081 + - 0.09453508 + - 0.11868318 + - -0.004190736 + - -0.020134453 + - -0.06424914 + - -0.06641916 + - 0.018277554 + - 0.12205329 + - -0.013918109 + - -0.032069787 + - -0.013757316 + - -0.14964676 + - 0.054874748 + - 0.1434225 + - -0.0823043 + - -0.02791694 + - -0.06656473 + - -0.16087477 + - -0.02744916 + - 0.044493537 + - -0.11603909 + - 0.09649939 + - 0.11248419 + - -0.00027323887 + - -0.13499373 + - -0.054961666 + - 0.13791023 + - 0.12890054 + - 0.15416622 + - 0.009547863 + - -0.0012199357 + - 0.033071127 + - 0.16630235 + - 0.16844058 + - 0.004947515 + - 0.0005246047 + - -0.14183371 + - 0.072461896 + - 0.12145428 + - 0.13367584 + - 0.080165565 + - 0.2827602 + - 0.048754573 + - -0.07154414 + - 0.14787619 + - 0.074843355 + - 0.120617494 + - 0.010400782 + - 0.054025806 + - -0.036626555 + - 0.049195647 + - -0.027870312 + - 0.008832758 + - 0.039344408 + - 0.0954921 + - -0.1158221 + - -0.010278435 + - -0.08084896 + - 0.085935175 + - -0.13849217 + - -0.39607912 + - -0.0296064 + - 0.20298624 + - 0.029698778 + - -0.08971965 + - 0.0023122784 + - -0.12443188 + - 0.01407378 + - -0.05327856 + - 0.023645736 + - 0.025339551 + - 0.060319103 + - -0.015517022 + - 0.044039834 + - 0.05374214 + - 0.04062367 + - -0.06865052 + - 0.100621186 + - 0.020599237 + - -0.06931926 + - 0.06682569 + - -0.06441968 + - 0.03785561 + - 0.10282402 + - 0.08970818 + - -0.1807383 + - 0.056167513 + - -0.056855492 + - -0.1127384 + - -0.014508855 + - 0.07877213 + - 0.02577097 + - -0.27755293 + - 0.08965986 + - 0.059328698 + - 0.16303009 + - -0.056456912 + - -0.16035642 + - 0.115389064 + - -0.041647248 + - -0.04318334 + - 0.046159625 + - -0.000000000000000000000000000000026327453 + - 0.03669344 + - 0.08961148 + - -0.0008451976 + - -0.11406861 + - -0.05493823 + - 0.07739028 + - 0.02030825 + - -0.025023947 + - -0.06920686 + - -0.023645632 + - -0.05604044 + - 0.07531217 + - 0.036126375 + - 0.107508734 + - 0.03691601 + - -0.05597234 + - 0.068995476 + - -0.019472148 + - 0.0028546602 + - -0.017706297 + - -0.036193095 + - -0.01122804 + - 0.09127701 + - -0.18654555 + - -0.04614483 + - 0.042646773 + - 0.10437652 + - -0.30902 + - -0.01643738 + - -0.035047185 + - -0.004795529 + - 0.17250954 + - -0.05398029 + - -0.16064301 + - -0.11486439 + - 0.045930713 + - 0.07521243 + - -0.07976537 + - -0.05655282 + - -0.039203584 + - -0.26118737 + - -0.043166682 + - 0.14609946 + - 0.012756212 + - -0.017340247 + - 0.010428315 + - 0.075663656 + - -0.006492921 + - -0.0010191491 + - -0.096563816 + - -0.03922563 + - 0.028498985 + - -0.13942344 + - -0.018273879 + - 0.12697145 + - -0.04986136 + - -0.19709978 + - 0.09428513 + - -0.13909222 + - 0.10609496 + - 0.11136526 + - 0.07671597 + - 0.14296882 + - 0.05808019 + - 0.0847077 + - 0.20596443 + - 0.25404617 + - 0.01816101 + - 0.03869462 + - 0.021655152 + - 0.012774313 + - 0.26991892 + - 0.09666358 + - 0.091165535 + - 0.21348202 + - -0.064667776 + - -0.19198613 + - 0.005961256 + - -0.058491677 + - -0.07492488 + - -0.12549075 + - 0.07540071 + - -0.09728038 + - 0.017764438 + - 0.13635753 + - -0.11793436 + - -0.028863085 + - -0.048259318 + - 0.14001821 + - -0.067511335 + - 0.02647111 + - 0.28328636 + - -0.09345671 + - -0.21176432 + - 0.03649911 + - 0.0020245928 + - 0.062779725 + - 0.10476237 + - 0.02187855 + - 0.01514636 + - -0.07411968 + - 0.032966547 + - -0.15198496 + - 0.050253592 + - 0.1575707 + - 0.019484188 + - -0.083313555 + - 0.12945819 + - -0.07898839 + - 0.05717449 + - 0.044853788 + - 0.037313752 + - 0.12074207 + - -0.050341487 + - 0.06486637 + - -0.2033726 + - 0.13402352 + - 0.047220077 + - -0.055315603 + - 0.024366833 + - -0.07256954 + - 0.1043631 + - -0.09187464 + - 0.10222852 + - -0.028782193 + - -0.043850698 + - -0.10040583 + - 0.14318857 + - -0.039266 + - -0.35157466 + - 0.027623933 + - -0.014717651 + - 0.00000077650486 + - -0.18185408 + - 0.01718918 + - 0.21713552 + - -0.08497025 + - 0.018518882 + - 0.09520339 + - 0.06338332 + - -0.035891272 + - -0.014113447 + - 0.1493128 + - -0.04855225 + - -0.062074646 + - 0.056555487 + - 0.006980707 + - -0.0021027662 + - -0.11109077 + - -0.110990986 + - 0.0375126 + - -0.20057791 + - 0.017934047 + - 0.0087990835 + - 0.14953047 + - 0.10730922 + - -0.021367772 + - 0.066233344 + - -0.2736709 + - 0.106593795 + - 0.06383269 + - 0.19965003 + - -0.040643793 + - 0.1548242 + - 0.051969193 + - -0.019367596 + - 0.048683964 + - -0.14508474 + - -0.067292035 + - -0.013869032 + - 0.14129043 + - 0.060214177 + - -0.17637965 + - -0.038649455 + - -0.17855726 + - 0.07362118 + - 0.055564523 + - 0.11510433 + - -0.10787048 + - -0.07392638 + - -0.0194449 + - -0.06624559 + - 0.04019909 + - 0.09709528 + - -0.036437415 + - -0.07549799 + - -0.13759781 + - -0.03843442 + - -0.32113734 + - 0.19257897 + - -0.10392206 + - 0.17251366 + - 0.12297288 + - -0.026212467 + - 0.05507205 + - -0.10621579 + - -0.097365335 + - 0.12161695 + - 0.1920531 + - 0.040691704 + - 0.00000000000000000000000000000000010427292 + - 0.04755463 + - 0.027091883 + - 0.048182387 + - 0.015371776 + - -0.20809099 + - -0.091988936 + - -0.084205076 + - -0.11028868 + - -0.09099737 + - -0.0014330596 + - -0.17495929 +- - -0.021286005 + - -0.09353113 + - -0.14283837 + - 0.022934273 + - -0.028500587 + - 0.095609024 + - 0.00070146006 + - -0.110255316 + - 0.018443955 + - -0.0016491897 + - 0.18205285 + - -0.011736637 + - -0.116643414 + - 0.051004447 + - 0.15961954 + - 0.00902732 + - 0.13890456 + - -0.20026925 + - 0.066651404 + - -0.21122459 + - -0.14654595 + - -0.10961836 + - -0.023710817 + - 0.0034521054 + - 0.032206915 + - -0.16804647 + - -0.039991993 + - 0.0050881165 + - -0.23678355 + - -0.016211245 + - 0.06819264 + - -0.10674894 + - 0.097781934 + - 0.17925738 + - 0.0000061699134 + - -0.000022031367 + - 0.027469918 + - 0.004492916 + - -0.07869914 + - 0.019858934 + - -0.022118207 + - 0.15933776 + - -0.010839479 + - 0.03285962 + - -0.12126929 + - -0.25177756 + - 0.18791425 + - -0.020878278 + - -0.10295729 + - 0.09713832 + - 0.08511384 + - -0.26531634 + - 0.16451019 + - -0.15096757 + - 0.08414576 + - -0.14594111 + - 0.121605 + - 0.0589075 + - -0.069887206 + - -0.23495322 + - -0.08404344 + - 0.015921988 + - 0.04337343 + - -0.06004811 + - 0.07862546 + - -0.15011525 + - 0.07629426 + - -0.15861504 + - 0.07275523 + - 0.11175991 + - -0.1547071 + - 0.08795724 + - -0.061846744 + - 0.09983074 + - -0.105798446 + - -0.13760231 + - -0.018956253 + - 0.036056407 + - -0.017589573 + - -0.029680556 + - -0.06165267 + - -0.082435064 + - 0.14047071 + - 0.070780694 + - -0.051195834 + - -0.036292512 + - -0.11652742 + - -0.015289275 + - -0.06483871 + - -0.062037848 + - 0.12067972 + - -0.1014583 + - 0.12839948 + - 0.045939863 + - -0.08560161 + - 0.021248523 + - 0.1014214 + - -0.10141803 + - 0.0039834883 + - -0.032768667 + - -0.036861196 + - -0.15774737 + - -0.085186735 + - 0.012612204 + - -0.11755192 + - 0.13497034 + - -0.1697908 + - 0.08263815 + - -0.005661605 + - 0.09637846 + - -0.015788943 + - 0.0082601495 + - -0.037435263 + - 0.13614725 + - -0.15649034 + - -0.11848718 + - -0.006977251 + - 0.026885144 + - -0.11100542 + - -0.12409858 + - -0.104232304 + - 0.11753994 + - -0.123132326 + - 0.20530993 + - -0.15986635 + - 0.07967101 + - -0.08922962 + - 0.021127652 + - 0.11097858 + - 0.050263427 + - 0.070297666 + - -0.036078252 + - 0.001828949 + - 0.06652341 + - 0.07133193 + - 0.3071608 + - 0.04794929 + - 0.01387159 + - -0.20555131 + - -0.10883626 + - 0.06829371 + - -0.08012298 + - 0.020684214 + - -0.1476777 + - -0.02026328 + - -0.15341398 + - 0.14166863 + - -0.17306574 + - -0.07518389 + - -0.05826451 + - -0.050747756 + - 0.12625204 + - -0.15811773 + - -0.17011085 + - 0.25079814 + - 0.023179978 + - 0.11567086 + - 0.025122583 + - -0.104654774 + - 0.02684424 + - 0.051277623 + - 0.040597327 + - -0.051028114 + - -0.12442267 + - 0.036383837 + - -0.013471827 + - -0.10104215 + - -0.077168696 + - -0.11463488 + - 0.049370315 + - 0.04123476 + - 0.09355912 + - -0.055695474 + - 0.22378837 + - 0.26443803 + - 0.20048366 + - 0.099607274 + - 0.33051196 + - -0.10999335 + - -0.036271837 + - 0.07223277 + - -0.21923426 + - 0.010018221 + - 0.11703321 + - 0.08101828 + - -0.020999635 + - 0.13941291 + - 0.1638137 + - -0.13259926 + - -0.23363002 + - 0.101515405 + - -0.16785255 + - -0.012223834 + - -0.06303589 + - 0.11525367 + - -0.056009784 + - 0.0014734752 + - -0.19678445 + - -0.07512191 + - 0.13514483 + - -0.007063318 + - -0.19929421 + - -0.0003462718 + - 0.06295859 + - -0.08025368 + - -0.047088623 + - -0.06558345 + - -0.124427184 + - -0.036886703 + - -0.05048355 + - -0.038227446 + - 0.17467767 + - 0.012105241 + - 0.0886784 + - -0.0870392 + - -0.057629738 + - -0.010228584 + - 0.26593143 + - -0.16990624 + - -0.025660947 + - -0.039400633 + - -0.000031347387 + - -0.14527811 + - -0.11384389 + - -0.041437384 + - -0.16524856 + - 0.08730654 + - 0.010587539 + - 0.03518397 + - 0.12400702 + - 0.06930591 + - 0.049184605 + - 0.12816969 + - 0.010197577 + - -0.119073145 + - -0.025085267 + - 0.020842101 + - 0.15660563 + - 0.010166347 + - -0.2995258 + - 0.027060825 + - 0.20220216 + - 0.06545743 + - -0.13572058 + - 0.18707879 + - -0.06493996 + - -0.06912038 + - -0.12442277 + - -0.0071104183 + - -0.11454419 + - -0.07027994 + - -0.120579526 + - 0.20172916 + - 0.111913644 + - -0.06086434 + - 0.06994457 + - -0.03437047 + - 0.022748508 + - -0.052424535 + - -0.099889174 + - 0.1353283 + - -0.045956574 + - 0.026334343 + - 0.008227743 + - 0.15061125 + - 0.07368924 + - 0.1370508 + - -0.061466247 + - -0.024662904 + - -0.07258794 + - -0.039483383 + - 0.020429837 + - 0.012978649 + - 0.051124875 + - -0.10268914 + - -0.06806872 + - -0.013326201 + - -0.0107948035 + - -0.11619416 + - 0.10441078 + - 0.05182627 + - 0.008643372 + - -0.13383776 + - -0.09508872 + - 0.025273172 + - 0.11172622 + - 0.045063447 + - 0.16364515 + - -0.14580683 + - -0.121438906 + - 0.056660756 + - 0.14708476 + - 0.008135857 + - -0.1423482 + - -0.0709633 + - -0.038865663 + - -0.094005264 + - 0.046196625 + - -0.017066326 + - 0.012266853 + - 0.06863892 + - 0.10873689 + - 0.08574479 + - 0.039133765 + - -0.061704252 + - -0.08447483 + - 0.0038604531 + - 0.05060428 + - -0.14420089 + - 0.22836605 + - 0.09856494 + - -0.05784092 + - 0.0028312558 + - 0.10861235 + - 0.020231735 + - -0.13886198 + - 0.0066937413 + - -0.08942287 + - 0.019107707 + - 0.09280068 + - -0.06584206 + - -0.07449731 + - 0.24811861 + - 0.16751038 + - 0.056337126 + - -0.109274596 + - -0.10531018 + - 0.111291416 + - -0.14254245 + - 0.09784064 + - 0.07792227 + - -0.048798252 + - -0.11677484 + - 0.050697654 + - 0.03657412 + - -0.096183755 + - -0.08533624 + - 0.07464685 + - -0.082104735 + - -0.044737462 + - 0.012801208 + - 0.15800047 + - -0.08163997 + - 0.090234734 + - -0.04411688 + - -0.029195867 + - 0.12715207 + - -0.06509439 + - 0.026989982 + - -0.044863697 + - 0.015146686 + - 0.2287582 + - 0.0972649 + - -0.082741454 + - -0.107868254 + - -0.04140619 + - -0.065613225 + - -0.054583795 + - 0.0942094 + - -0.020386912 + - 0.1864616 + - 0.08645886 + - 0.08776363 + - 0.17444423 + - -0.30419284 + - 0.07807863 + - -0.013314357 + - 0.10092609 + - -0.0386813 + - -0.021286832 + - -0.10348201 + - -0.102628425 + - -0.1759432 + - 0.047177814 + - -0.115672894 + - -0.1578263 + - -0.032192603 + - 0.047057837 + - 0.047033932 + - 0.087896585 + - 0.1339316 + - 0.0066813882 + - -0.17498805 + - -0.038625065 + - -0.034559388 + - 0.03193552 + - -0.09421365 + - 0.1826392 + - 0.045434255 + - -0.11970099 + - -0.011512394 + - -0.122810625 + - -0.0902882 + - 0.18097341 + - -0.009285144 + - -0.06553249 + - 0.052696116 + - -0.14893506 + - 0.06796728 + - -0.067091055 + - 0.10008227 + - -0.045937214 + - -0.08400361 + - 0.11672326 + - -0.11677434 + - 0.079716004 + - 0.35084334 + - 0.048799276 + - -0.16989109 + - -0.011462104 + - 0.08980483 + - 0.00027390942 + - 0.25579864 + - 0.036189966 + - 0.20290478 + - -0.122604504 + - -0.09952138 + - 0.0296987 + - 0.21140371 + - -0.0523534 + - 0.062172342 + - 0.06799643 + - 0.1400754 + - -0.1367437 + - 0.20295642 + - 0.050522596 + - -0.13727006 + - 0.050066087 + - 0.020576857 + - -0.009721967 + - -0.09927418 + - -0.047586143 + - -0.112697765 + - 0.26976404 + - -0.0060093664 + - -0.096334964 + - -0.0051859412 + - 0.017683033 + - 0.05344224 + - -0.01970025 + - 0.11347701 + - 0.039314777 + - -0.06101013 + - 0.21138941 + - -0.005871149 + - 0.13937798 + - 0.031191826 + - -0.09684922 + - 0.09726688 + - 0.067632586 + - 0.027945787 + - -0.1979164 + - -0.14930849 + - -0.05493075 + - 0.06859496 + - 0.025391456 + - -0.09389238 + - -0.1776669 + - 0.072998375 + - 0.049020536 + - 0.13884094 + - 0.051849917 + - 0.08761824 + - -0.025452714 + - -0.1500796 + - 0.15440176 + - 0.07377041 + - 0.006271843 + - -0.020704255 + - 0.0441538 + - -0.15200455 + - 0.027797233 + - 0.001906984 + - -0.10233444 + - 0.0064852023 + - -0.11335297 + - -0.030850738 + - -0.04967273 + - -0.0835121 + - 0.072547026 + - -0.03955799 + - 0.21482448 + - 0.12972209 + - -0.121007904 + - 0.008031391 + - 0.025938021 + - 0.1547097 + - 0.13702025 + - -0.04779707 + - -0.15704034 + - 0.19171137 + - 0.063959695 + - 0.20358919 + - -0.08180566 + - 0.22717547 + - -0.04435998 + - -0.0784547 + - 0.1360732 + - 0.113286674 + - 0.045137722 + - -0.1047666 + - 0.10293155 + - 0.030258894 + - 0.111827895 + - -0.21169265 + - -0.052805293 + - 0.061786152 + - 0.055572722 + - -0.020860624 + - -0.016213097 + - -0.106458746 + - -0.05973799 + - -0.12208966 + - -0.24769877 + - 0.010554878 + - 0.33344516 + - 0.03433567 + - -0.088951044 + - -0.0780464 + - -0.03499785 + - -0.010789723 + - -0.018758427 + - -0.046739697 + - -0.06028159 + - 0.06284259 + - -0.056325145 + - 0.06357287 + - 0.13851047 + - 0.08679873 + - 0.19173492 + - 0.07690314 + - 0.13646808 + - 0.013759797 + - 0.13002038 + - -0.07580398 + - 0.16067527 + - 0.267882 + - 0.16588518 + - -0.1043766 + - -0.012628926 + - 0.12552014 + - -0.06861135 + - -0.039927725 + - 0.08390288 + - 0.12778099 + - -0.1994678 + - -0.013932912 + - 0.30645263 + - -0.006143924 + - 0.048365362 + - -0.06356606 + - 0.1688525 + - -0.0038595817 + - -0.041709162 + - 0.1806381 + - -0.000000000000000000000000000000024049101 + - 0.022060793 + - -0.060794167 + - -0.030683143 + - 0.10279894 + - -0.104777396 + - 0.04823611 + - 0.10916777 + - -0.15225092 + - -0.05883651 + - -0.010068244 + - 0.07793821 + - -0.04937675 + - 0.009976443 + - 0.116992705 + - 0.037898887 + - -0.13908756 + - -0.028773144 + - -0.007468741 + - 0.14892142 + - 0.10542132 + - -0.09524685 + - 0.085902825 + - -0.1021221 + - 0.08584438 + - 0.091078535 + - -0.014611665 + - -0.0042890604 + - -0.11245585 + - -0.060356893 + - -0.048356462 + - -0.039173886 + - -0.0021140815 + - -0.12935787 + - -0.1858942 + - -0.201709 + - 0.27759838 + - -0.16941327 + - -0.0734453 + - -0.08963395 + - 0.03300313 + - -0.18054774 + - -0.1025957 + - 0.18146382 + - -0.05036661 + - 0.018079646 + - 0.105768025 + - 0.08434043 + - -0.10067575 + - -0.12087558 + - -0.17231174 + - 0.018338919 + - 0.025704455 + - -0.27712747 + - -0.035254255 + - 0.010975186 + - 0.088232785 + - -0.14958385 + - 0.042220738 + - -0.075080425 + - 0.052082133 + - 0.16107184 + - -0.06350653 + - 0.005081064 + - 0.15192324 + - 0.0915509 + - 0.16088492 + - 0.23190181 + - -0.068185315 + - 0.12534665 + - -0.047030732 + - 0.005394183 + - 0.06836183 + - -0.05017802 + - 0.1612981 + - 0.1313195 + - 0.011767067 + - -0.2075366 + - 0.020853855 + - 0.013580145 + - 0.079470664 + - -0.09936569 + - 0.051926974 + - 0.047761686 + - 0.006339544 + - -0.009931402 + - -0.2736529 + - 0.01729016 + - -0.025119497 + - -0.041767035 + - -0.032105204 + - -0.118425265 + - 0.11605405 + - -0.091470584 + - -0.15410557 + - 0.14109369 + - 0.022076948 + - 0.12135679 + - 0.05122818 + - 0.019721588 + - 0.060555436 + - 0.019142073 + - -0.18846163 + - -0.21826693 + - 0.004335913 + - 0.16360843 + - -0.00945457 + - -0.07354968 + - 0.1403266 + - -0.06471707 + - -0.10407997 + - -0.037646595 + - -0.07592744 + - 0.06551249 + - -0.026983354 + - 0.05229394 + - -0.18709515 + - 0.08922802 + - -0.023758607 + - 0.03811175 + - 0.09198303 + - -0.09545379 + - -0.09647493 + - -0.08636732 + - 0.08638685 + - -0.061500255 + - -0.1676376 + - -0.20153067 + - -0.12655146 + - 0.0641327 + - -0.28437486 + - -0.004598747 + - 0.05340211 + - 0.00000071753277 + - -0.27538404 + - 0.15874086 + - 0.106200576 + - -0.16849892 + - 0.13539805 + - 0.18196909 + - -0.030740643 + - 0.0006044898 + - 0.21632569 + - -0.07012258 + - -0.017851865 + - 0.0952996 + - -0.12344618 + - 0.07441077 + - -0.04441322 + - -0.16081078 + - -0.11733122 + - 0.108105786 + - -0.011564154 + - 0.09380542 + - 0.0047498643 + - 0.14824612 + - 0.09713331 + - -0.068531655 + - 0.07961212 + - -0.2899495 + - 0.08600544 + - 0.1552742 + - 0.16438082 + - -0.18579735 + - 0.08106161 + - -0.059087016 + - 0.10469083 + - 0.035717748 + - 0.0013548724 + - -0.060897753 + - -0.13236442 + - 0.15563112 + - 0.033512086 + - 0.038318053 + - 0.03859649 + - -0.0013922509 + - 0.029156066 + - 0.00510542 + - 0.1768889 + - -0.19464372 + - 0.017885657 + - -0.06648297 + - -0.0044882065 + - -0.07049193 + - -0.010706077 + - -0.027052598 + - 0.091704376 + - -0.039604824 + - -0.061533634 + - -0.08838352 + - 0.10873712 + - -0.0062628984 + - 0.093532085 + - 0.094248876 + - -0.12494585 + - 0.043461982 + - -0.10461615 + - -0.06674005 + - 0.09323681 + - 0.18452352 + - 0.036188047 + - -0.000000000000000000000000000000000044937904 + - 0.0041475534 + - 0.05032192 + - 0.04162151 + - -0.081405364 + - -0.08249737 + - -0.096325405 + - 0.02365276 + - -0.005443423 + - -0.009432625 + - 0.021280486 + - -0.10069692 +- - -0.10799823 + - -0.110868625 + - -0.13309936 + - -0.053711995 + - 0.09252415 + - 0.19637223 + - 0.027908985 + - 0.048544474 + - 0.045993462 + - -0.012369987 + - 0.08331826 + - 0.009211363 + - -0.0004010098 + - 0.1405398 + - 0.15441753 + - -0.17781782 + - 0.17639357 + - -0.31556857 + - 0.0049850307 + - -0.14650504 + - -0.17878881 + - -0.21268171 + - -0.0037084837 + - -0.044666693 + - -0.097765535 + - -0.12948418 + - -0.07211881 + - -0.02912782 + - -0.25030655 + - 0.008981086 + - 0.05746921 + - -0.22386551 + - 0.11289719 + - 0.30689976 + - 0.000004950059 + - -0.1374555 + - -0.08100824 + - 0.04896935 + - -0.04750669 + - 0.088821724 + - 0.048050366 + - 0.06599369 + - 0.11161302 + - 0.027954403 + - -0.112845615 + - -0.23885739 + - 0.22581203 + - 0.15371561 + - -0.042174757 + - 0.05524487 + - 0.079703 + - -0.27564016 + - 0.14122921 + - -0.058007322 + - 0.14104125 + - -0.06433563 + - 0.22804773 + - -0.013392298 + - -0.08338706 + - -0.1655384 + - -0.070510864 + - -0.0016396977 + - 0.05006371 + - 0.047455393 + - 0.12749875 + - -0.114411 + - 0.13641527 + - -0.10594693 + - -0.07072285 + - 0.16116142 + - -0.19188415 + - 0.13779505 + - -0.056605134 + - 0.15611696 + - -0.11727533 + - 0.0342308 + - -0.22621071 + - 0.022251604 + - -0.017198727 + - -0.05254466 + - -0.06036957 + - -0.14815012 + - 0.09688193 + - -0.09830504 + - -0.032146133 + - -0.02577388 + - -0.035678342 + - 0.031851538 + - -0.0026638564 + - -0.050508045 + - 0.13903657 + - -0.061837044 + - 0.114032194 + - 0.08575201 + - -0.08628577 + - -0.07960895 + - 0.0837818 + - -0.027200079 + - 0.15126444 + - -0.09838159 + - 0.10196871 + - -0.17766844 + - -0.045498285 + - 0.069644205 + - 0.01396464 + - 0.03782733 + - -0.18611586 + - 0.078990035 + - -0.043453872 + - 0.031087048 + - -0.12073149 + - -0.05825477 + - 0.022671312 + - 0.11345084 + - -0.103394374 + - -0.1230129 + - 0.030725382 + - 0.024655927 + - -0.10105073 + - -0.06348897 + - -0.19101168 + - 0.13014047 + - -0.056983657 + - 0.21576968 + - -0.20957144 + - -0.019261122 + - -0.074546136 + - -0.06444688 + - 0.09503394 + - 0.029506247 + - 0.06663427 + - 0.036079194 + - -0.032048937 + - 0.15546876 + - 0.0063767955 + - 0.38220963 + - -0.010974861 + - 0.05196792 + - -0.15046264 + - -0.042923737 + - 0.04713723 + - -0.105488986 + - 0.028012667 + - -0.14008933 + - -0.0868919 + - -0.09812279 + - -0.031142542 + - -0.1016042 + - -0.13629352 + - -0.16514216 + - -0.12546223 + - 0.13507114 + - -0.14994246 + - -0.10472631 + - 0.32624656 + - 0.07809861 + - 0.1500046 + - 0.105513304 + - -0.14056106 + - 0.04225891 + - 0.024450447 + - -0.04947477 + - -0.10375819 + - -0.12344137 + - 0.0207273 + - 0.031262975 + - -0.18797918 + - 0.08896526 + - -0.07283732 + - 0.043323323 + - -0.08567296 + - 0.0077078184 + - -0.07779006 + - 0.18319452 + - 0.103418395 + - 0.061771687 + - 0.136164 + - 0.41465366 + - -0.03713805 + - -0.00022455375 + - 0.0038793627 + - -0.15065423 + - -0.0073548686 + - 0.111751884 + - -0.026837057 + - -0.017241031 + - 0.08891417 + - -0.0056999456 + - -0.09966559 + - -0.25644347 + - 0.10719439 + - -0.13736862 + - 0.01886433 + - -0.0025103893 + - 0.07862428 + - -0.083147585 + - 0.050803162 + - -0.09143508 + - -0.093250416 + - 0.048656818 + - -0.077065356 + - -0.27620298 + - 0.080898225 + - 0.041192196 + - -0.06645301 + - -0.10672124 + - 0.033055503 + - -0.06318673 + - 0.046906017 + - -0.05548306 + - 0.0054386146 + - 0.14009216 + - -0.085725136 + - 0.14684585 + - -0.08164172 + - -0.1530718 + - 0.027220761 + - 0.24342348 + - -0.13607216 + - -0.17250054 + - -0.12120971 + - -0.022305349 + - -0.2554511 + - -0.10466451 + - -0.12370565 + - -0.15959759 + - 0.063920036 + - -0.079980984 + - 0.018296327 + - 0.046454247 + - 0.07008222 + - 0.016538369 + - 0.06841044 + - 0.077749394 + - -0.18349038 + - -0.120979756 + - 0.112706274 + - 0.20882985 + - -0.023484264 + - -0.1831401 + - 0.13461995 + - 0.20760913 + - 0.14543888 + - -0.10313477 + - 0.19776855 + - 0.051391095 + - 0.10793148 + - -0.10895006 + - -0.08998209 + - -0.12267661 + - -0.015478319 + - -0.08187701 + - 0.2701688 + - 0.1327676 + - -0.049703475 + - -0.044803184 + - 0.026296476 + - -0.046516232 + - -0.039798018 + - -0.034383215 + - 0.098852195 + - -0.043977384 + - 0.13516952 + - -0.0134598985 + - -0.04038923 + - 0.04022971 + - 0.12327914 + - -0.03504625 + - 0.0814528 + - -0.029547915 + - -0.031680662 + - -0.10093402 + - -0.011438351 + - 0.045640644 + - -0.17869441 + - -0.028312022 + - 0.0050861984 + - 0.042707454 + - -0.17387958 + - 0.09928725 + - 0.20752287 + - -0.17892635 + - -0.088817574 + - -0.10695805 + - -0.0007790625 + - 0.047391184 + - 0.09241663 + - 0.14726216 + - -0.106130034 + - -0.03778518 + - 0.04718892 + - 0.02276012 + - 0.017115414 + - -0.076457575 + - 0.0035841991 + - -0.06493629 + - -0.07195947 + - 0.08162395 + - -0.035487335 + - 0.029213013 + - 0.14087538 + - 0.012017021 + - 0.077777065 + - 0.07281674 + - -0.067395516 + - 0.007868507 + - -0.01945678 + - 0.059707433 + - -0.102337405 + - 0.14369537 + - 0.12881258 + - -0.11295614 + - 0.0021918353 + - 0.19788772 + - 0.09635412 + - -0.19619367 + - -0.029992077 + - -0.10859084 + - -0.044863544 + - 0.063251734 + - -0.0675518 + - -0.16206399 + - 0.2833614 + - 0.1695748 + - 0.08204391 + - -0.16309825 + - -0.10057145 + - 0.08981705 + - -0.055571377 + - 0.08936338 + - -0.05401575 + - 0.0791057 + - -0.08818286 + - 0.09930885 + - 0.0030507469 + - -0.021519722 + - -0.09160772 + - 0.012116462 + - -0.2677883 + - -0.09983217 + - 0.030339457 + - 0.07148082 + - -0.01811923 + - 0.16836062 + - -0.12416272 + - 0.0070253424 + - 0.12187243 + - -0.16871636 + - -0.023327183 + - -0.14071819 + - 0.08067744 + - 0.23431973 + - 0.07153982 + - -0.06872965 + - -0.0829383 + - -0.18259872 + - 0.051392786 + - -0.0569809 + - 0.17633715 + - -0.041102577 + - 0.31623274 + - 0.017946891 + - 0.09238699 + - 0.20344746 + - -0.2732953 + - 0.1007569 + - 0.08871734 + - 0.064150795 + - -0.18301372 + - 0.16803135 + - -0.059404403 + - -0.047836486 + - -0.16752963 + - 0.018933017 + - -0.05863818 + - -0.13712245 + - -0.022973152 + - -0.032359056 + - -0.08341267 + - 0.1816025 + - 0.1722355 + - -0.028164798 + - -0.095828675 + - -0.0035080076 + - -0.07837741 + - -0.041941337 + - -0.08475702 + - 0.18872333 + - 0.08679564 + - -0.04722827 + - -0.04130071 + - -0.11607868 + - -0.09033025 + - 0.07007385 + - -0.08207178 + - 0.13768882 + - 0.16710871 + - -0.12913966 + - 0.035273742 + - -0.025849449 + - 0.09016315 + - -0.050518733 + - -0.050375354 + - 0.1075794 + - 0.0033560246 + - 0.009266609 + - 0.45030838 + - 0.029525228 + - -0.28630352 + - 0.0018245438 + - 0.010215463 + - -0.038437065 + - 0.17125887 + - 0.15871471 + - 0.22900464 + - -0.1691749 + - -0.08394137 + - 0.069616355 + - 0.1667415 + - -0.04110583 + - 0.05425444 + - 0.05884876 + - 0.21483277 + - -0.04028122 + - 0.21428563 + - 0.029021999 + - -0.16978492 + - 0.18041384 + - -0.022090118 + - 0.03719058 + - -0.17604424 + - -0.087009296 + - -0.12230888 + - 0.20236021 + - 0.008089952 + - -0.1428684 + - 0.12286945 + - -0.021464039 + - 0.08763049 + - 0.0663078 + - 0.14921746 + - -0.0033772364 + - -0.055531017 + - 0.17154711 + - -0.12364308 + - 0.17760429 + - 0.012338539 + - -0.24169621 + - 0.16602455 + - 0.1656131 + - -0.010670698 + - -0.082303695 + - -0.32573172 + - 0.020696439 + - -0.030947182 + - -0.024092667 + - -0.22086047 + - -0.08999819 + - 0.034684703 + - 0.017237486 + - 0.14792648 + - 0.08237161 + - -0.0024002325 + - 0.064876124 + - -0.13661455 + - 0.25440463 + - 0.15427329 + - 0.053794943 + - -0.020685092 + - 0.19254307 + - -0.32732 + - -0.025106752 + - 0.0026109843 + - -0.16365328 + - -0.08410578 + - -0.13664804 + - -0.17409177 + - -0.039410785 + - -0.054472663 + - 0.16719161 + - -0.0012047673 + - 0.27916643 + - -0.028690502 + - -0.038334563 + - 0.06861436 + - -0.059356906 + - 0.15640385 + - 0.08132113 + - -0.023323148 + - -0.1484422 + - 0.13932176 + - 0.064986795 + - 0.20722318 + - 0.045264553 + - 0.27276796 + - -0.13086966 + - -0.18885344 + - 0.14888479 + - 0.1438649 + - 0.02730155 + - -0.11142823 + - 0.11749332 + - 0.049980402 + - 0.06878912 + - -0.31197414 + - -0.028017594 + - 0.017128916 + - 0.028776914 + - 0.0817866 + - 0.13837025 + - 0.038232666 + - -0.031475384 + - -0.10286287 + - -0.27766278 + - 0.055045664 + - 0.20979623 + - 0.006360056 + - 0.09236548 + - -0.13504566 + - -0.0055568833 + - -0.002654031 + - 0.011092028 + - -0.09333741 + - -0.032531407 + - 0.08509652 + - -0.07032103 + - 0.03033667 + - 0.050490383 + - 0.057999074 + - 0.25441167 + - -0.0011295745 + - 0.27964458 + - -0.20964883 + - 0.11030736 + - -0.07163585 + - 0.0709343 + - 0.3195345 + - 0.2864907 + - -0.075162746 + - 0.049132176 + - 0.041174937 + - -0.044077575 + - 0.051195312 + - 0.09862471 + - 0.0453086 + - -0.21649162 + - -0.014368987 + - 0.35050014 + - -0.0452815 + - 0.10708438 + - -0.034933075 + - 0.15364355 + - -0.06454251 + - 0.06259847 + - 0.22177944 + - -0.000000000000000000000000000000014756233 + - 0.07979086 + - -0.20566893 + - 0.01094819 + - 0.1463401 + - -0.10996471 + - -0.00380525 + - 0.09675536 + - -0.08641938 + - 0.03761805 + - -0.04390634 + - 0.057393752 + - 0.0779986 + - -0.027418483 + - 0.05840317 + - -0.023008984 + - -0.005424915 + - -0.046644825 + - -0.03838797 + - 0.092406064 + - 0.14314826 + - 0.010427436 + - 0.1354198 + - -0.14378189 + - -0.0724737 + - 0.036328323 + - 0.09597351 + - 0.11342456 + - -0.01114542 + - -0.08399835 + - -0.02676914 + - -0.049102552 + - 0.057437886 + - -0.13442227 + - -0.35035652 + - -0.19126654 + - 0.23319682 + - -0.08245511 + - -0.053949818 + - -0.05556394 + - 0.05151644 + - -0.27746135 + - -0.015750168 + - 0.1606827 + - -0.05755972 + - 0.046916448 + - -0.019855285 + - 0.07900085 + - -0.19427735 + - -0.038628813 + - -0.19407594 + - 0.00447778 + - -0.091410354 + - -0.2783633 + - -0.06249355 + - 0.18873534 + - 0.040663727 + - -0.06739264 + - 0.020671925 + - 0.017564557 + - 0.06365835 + - 0.0853496 + - -0.030807957 + - 0.049396675 + - 0.19820489 + - 0.056788832 + - 0.1962114 + - 0.23654298 + - -0.14256309 + - -0.006832249 + - -0.081411615 + - 0.069114484 + - 0.062197927 + - -0.04952363 + - 0.1495194 + - 0.04067258 + - -0.12261911 + - -0.21528189 + - -0.0065208487 + - -0.029129244 + - -0.050170615 + - -0.11237696 + - -0.043611612 + - 0.093104035 + - -0.019031974 + - 0.009810597 + - -0.2634692 + - 0.057260193 + - -0.02504334 + - 0.011827032 + - -0.005626276 + - -0.15349402 + - -0.060672693 + - -0.09238996 + - -0.19298364 + - 0.26809248 + - 0.029227152 + - 0.13280673 + - 0.027983893 + - 0.050637417 + - -0.00020468794 + - -0.10450564 + - -0.27983743 + - -0.32668078 + - -0.014820901 + - 0.086044624 + - 0.0088234 + - -0.15958284 + - 0.14094462 + - -0.03553732 + - 0.020608397 + - 0.09401406 + - -0.013918268 + - 0.039075322 + - -0.09769899 + - -0.02676645 + - -0.18860085 + - 0.061738867 + - -0.048649028 + - -0.050627034 + - 0.09419624 + - -0.15907629 + - -0.110327795 + - -0.24598123 + - 0.18071057 + - -0.06763263 + - -0.122904144 + - -0.11052109 + - -0.013838656 + - 0.1315886 + - -0.19464862 + - -0.059879743 + - 0.046577644 + - 0.000000648645 + - -0.104615614 + - 0.2584634 + - 0.08929531 + - -0.118575945 + - 0.073398404 + - 0.22456825 + - -0.032101832 + - -0.031783298 + - 0.12323922 + - -0.09973917 + - 0.016574109 + - 0.113564506 + - -0.19553733 + - 0.08103373 + - -0.14115307 + - -0.16759016 + - -0.16703865 + - 0.088595964 + - -0.14232151 + - 0.036807206 + - 0.041805953 + - 0.16436905 + - 0.02303933 + - 0.039268672 + - 0.08892857 + - -0.25752288 + - 0.07243598 + - 0.042764284 + - 0.24866135 + - -0.0021913438 + - 0.109198175 + - 0.0038250415 + - 0.14511564 + - 0.15679452 + - -0.038802374 + - -0.04541547 + - -0.0144148525 + - 0.090589486 + - 0.11434057 + - 0.1638251 + - 0.086225934 + - 0.13537788 + - 0.03551242 + - -0.058325086 + - 0.1702957 + - -0.10261527 + - -0.0074776392 + - -0.020171348 + - 0.025449794 + - -0.08708627 + - -0.028370066 + - 0.115666054 + - 0.08619417 + - -0.044106796 + - -0.13728578 + - -0.013956109 + - 0.15042245 + - -0.023052666 + - -0.0017636344 + - 0.09871534 + - -0.07624596 + - 0.022599827 + - -0.14971559 + - -0.19483386 + - 0.045037676 + - 0.063452914 + - -0.019203331 + - 0.00000000000000000000000000000000027589197 + - 0.08516987 + - -0.06411102 + - -0.07186764 + - -0.06607136 + - -0.16235659 + - -0.17079985 + - 0.11033824 + - 0.02153683 + - 0.14443184 + - 0.07918416 + - -0.050476182 +- - -0.13918993 + - -0.28934526 + - -0.1537206 + - -0.12627546 + - 0.014480632 + - 0.19883461 + - 0.06272186 + - 0.07539598 + - 0.036204644 + - -0.0018815622 + - 0.08325514 + - -0.013067629 + - 0.022139546 + - 0.035557054 + - 0.15296657 + - -0.14296496 + - 0.17824021 + - -0.3149923 + - -0.010739561 + - -0.18856531 + - -0.20118485 + - -0.2196617 + - -0.05562989 + - -0.0075606257 + - -0.052962285 + - -0.14591417 + - -0.037620123 + - -0.07627886 + - -0.22072867 + - -0.025321223 + - 0.046210952 + - -0.18570684 + - 0.1401769 + - 0.30187336 + - 0.0000042752254 + - -0.1638127 + - -0.05851763 + - 0.008632027 + - -0.029961193 + - 0.08758034 + - 0.0661204 + - 0.15372175 + - 0.10850115 + - 0.043525435 + - -0.1140172 + - -0.20904814 + - 0.251141 + - 0.07668424 + - -0.039879248 + - 0.04524945 + - 0.07680282 + - -0.24824539 + - 0.18718323 + - -0.031647615 + - 0.053258166 + - -0.058945842 + - 0.17974594 + - 0.028230827 + - -0.04908361 + - -0.16985692 + - -0.111606166 + - 0.029414859 + - 0.06689905 + - 0.07866159 + - 0.059344895 + - -0.05508895 + - 0.076921165 + - -0.134966 + - -0.11261879 + - 0.16215418 + - -0.17592362 + - 0.09767575 + - -0.04038521 + - 0.15838161 + - -0.0989439 + - 0.087555066 + - -0.15214622 + - -0.0078052413 + - 0.02082257 + - -0.04221399 + - -0.10371 + - -0.16442361 + - 0.09023272 + - -0.09191886 + - 0.042063043 + - 0.022919822 + - -0.06257737 + - 0.07049596 + - -0.08299406 + - -0.03525583 + - 0.17028221 + - -0.011172149 + - 0.07981295 + - 0.074353896 + - -0.06307871 + - -0.11400215 + - 0.06236442 + - -0.052138105 + - 0.1413667 + - -0.071751274 + - 0.092920974 + - -0.19444716 + - -0.06850676 + - 0.09197753 + - -0.030387742 + - 0.097573705 + - -0.26310006 + - 0.05966398 + - -0.045989975 + - 0.05710722 + - -0.13255925 + - -0.10437037 + - 0.03872913 + - 0.041229744 + - -0.08902084 + - -0.1371382 + - 0.004096289 + - -0.00090133026 + - -0.12817158 + - -0.09522477 + - -0.242513 + - 0.11047135 + - 0.0014780778 + - 0.24199289 + - -0.22249246 + - -0.051734116 + - -0.017802296 + - 0.0048021716 + - 0.12419864 + - 0.09758754 + - 0.10468421 + - 0.0031956835 + - -0.029717613 + - 0.15697859 + - 0.036592 + - 0.31638327 + - 0.030060334 + - 0.054131903 + - -0.23956688 + - -0.0106036225 + - -0.008864147 + - -0.08388988 + - 0.092144646 + - -0.1091123 + - -0.07322972 + - -0.0573322 + - -0.0013708868 + - -0.12004462 + - -0.082619585 + - -0.09308591 + - -0.16374007 + - 0.107360505 + - -0.11879135 + - -0.09742222 + - 0.3481779 + - 0.054701533 + - 0.16213694 + - 0.22065514 + - -0.15638302 + - -0.0057649277 + - 0.009612047 + - 0.0022010058 + - -0.048484292 + - -0.07274556 + - 0.050011773 + - -0.015397802 + - -0.16620384 + - 0.04622368 + - -0.13239658 + - 0.036261704 + - -0.10451646 + - 0.036952935 + - -0.09666286 + - 0.14132562 + - 0.17542954 + - 0.042089615 + - 0.16205612 + - 0.43074158 + - -0.080295675 + - 0.009236054 + - 0.12280981 + - -0.08401251 + - 0.017592719 + - 0.1696917 + - -0.016763425 + - 0.026517475 + - 0.12428788 + - -0.012654392 + - -0.08544204 + - -0.2789791 + - 0.1161873 + - -0.17621948 + - 0.038868558 + - 0.02101383 + - 0.057302706 + - -0.03151373 + - 0.047175996 + - -0.16388325 + - -0.0431558 + - 0.14924015 + - -0.06922892 + - -0.30740297 + - -0.047035314 + - 0.040323455 + - -0.06256635 + - -0.0692623 + - -0.018584784 + - -0.10745222 + - 0.014882404 + - -0.07360913 + - 0.0115298685 + - 0.13917845 + - -0.03713979 + - 0.09314342 + - -0.045958452 + - -0.1028539 + - 0.048640013 + - 0.24569893 + - -0.12663041 + - -0.1683566 + - -0.17461726 + - 0.01026408 + - -0.30259606 + - -0.14369595 + - -0.14182709 + - -0.23621498 + - 0.0962893 + - -0.02920878 + - 0.041510347 + - 0.08059204 + - 0.016893566 + - -0.039566696 + - 0.1004322 + - 0.019496117 + - -0.17426774 + - -0.054882232 + - 0.10650502 + - 0.37153322 + - -0.030887429 + - -0.21227345 + - 0.08190796 + - 0.14813167 + - 0.048351552 + - -0.0900938 + - 0.17296074 + - 0.054731637 + - 0.08309424 + - -0.09618434 + - -0.08973747 + - -0.16776803 + - -0.0046007726 + - -0.12667924 + - 0.2595584 + - 0.14046112 + - -0.09270576 + - 0.049695037 + - 0.049578406 + - -0.022117414 + - -0.03759898 + - -0.11301437 + - 0.16817395 + - -0.11507147 + - 0.14414662 + - -0.016565714 + - -0.016959298 + - 0.03191239 + - 0.06850354 + - -0.090753675 + - 0.04487338 + - -0.059369896 + - -0.016754353 + - -0.105897784 + - -0.06510049 + - 0.021745495 + - -0.20257163 + - -0.016465226 + - 0.047066413 + - 0.09783594 + - -0.18936622 + - 0.11870172 + - 0.1651735 + - -0.13160637 + - -0.06129882 + - -0.09739725 + - 0.0061422493 + - 0.07140064 + - 0.16674326 + - 0.13361995 + - -0.209522 + - -0.04834047 + - 0.10857215 + - 0.053242877 + - 0.040118475 + - -0.100858115 + - 0.02146939 + - -0.009715126 + - -0.049276765 + - 0.11353134 + - 0.05384249 + - 0.031182831 + - 0.13466066 + - 0.03533391 + - 0.108461194 + - 0.092267364 + - -0.09280584 + - -0.008299442 + - -0.047280308 + - 0.06886638 + - -0.16638088 + - 0.1456436 + - 0.14849503 + - -0.12822008 + - 0.011020019 + - 0.1279888 + - 0.05327022 + - -0.17946479 + - -0.025354952 + - -0.10268077 + - -0.04050833 + - 0.07780559 + - -0.1396792 + - -0.16337767 + - 0.22481216 + - 0.09492871 + - 0.05520113 + - -0.09722063 + - -0.10025198 + - 0.030270753 + - -0.08829714 + - 0.05019186 + - -0.003171172 + - 0.026221 + - -0.13833417 + - 0.059379164 + - 0.037647445 + - -0.0938998 + - -0.06393182 + - 0.047138378 + - -0.19011009 + - -0.15151218 + - 0.07128837 + - 0.101970024 + - -0.034325168 + - 0.15912153 + - -0.048745204 + - -0.006071546 + - 0.13224627 + - -0.154624 + - -0.092355855 + - -0.22078301 + - 0.05916514 + - 0.24705528 + - 0.0672745 + - -0.07432316 + - -0.109588064 + - -0.15575632 + - 0.02672901 + - -0.0775002 + - 0.18729974 + - -0.0122060515 + - 0.2928866 + - 0.085784346 + - 0.1574258 + - 0.16337891 + - -0.28740403 + - 0.1174568 + - 0.0237184 + - 0.032208845 + - -0.19229548 + - 0.16158332 + - -0.06822606 + - -0.06453419 + - -0.15494302 + - -0.016616292 + - -0.10084536 + - -0.16310212 + - -0.015668578 + - -0.011789552 + - -0.039308604 + - 0.1635286 + - 0.1295468 + - -0.036120437 + - -0.0894724 + - -0.004140891 + - -0.008174495 + - 0.079714455 + - -0.074006684 + - 0.20391583 + - 0.046748403 + - -0.10269231 + - -0.044557616 + - -0.1821007 + - -0.11909025 + - 0.08198652 + - -0.1330678 + - 0.10939874 + - 0.23688802 + - -0.2039905 + - 0.078379564 + - -0.026396977 + - 0.15159528 + - -0.071816 + - -0.023268078 + - 0.004670077 + - -0.03339373 + - 0.026192592 + - 0.5299936 + - 0.06033405 + - -0.31010178 + - -0.06680537 + - 0.012136594 + - 0.004733773 + - 0.19097736 + - 0.19014092 + - 0.23561859 + - -0.09832608 + - -0.04681699 + - 0.1313821 + - 0.122560754 + - -0.015295107 + - 0.053255215 + - 0.13204676 + - 0.15960163 + - -0.0890215 + - 0.1709865 + - 0.002004832 + - -0.18243614 + - 0.13932692 + - -0.04224033 + - 0.061839826 + - -0.1514087 + - -0.08724865 + - -0.0877766 + - 0.2532471 + - 0.009883855 + - -0.17114468 + - 0.07794329 + - -0.021756321 + - 0.03856678 + - 0.0838307 + - 0.20619793 + - -0.0095494315 + - -0.07357397 + - 0.1621506 + - -0.051019944 + - 0.12873048 + - 0.060828783 + - -0.22110225 + - 0.12488404 + - 0.17353994 + - 0.07904217 + - -0.121401235 + - -0.3581113 + - 0.042162895 + - -0.037442893 + - -0.036028333 + - -0.2286985 + - -0.117254846 + - -0.06514307 + - 0.006490171 + - 0.110366255 + - 0.107856244 + - 0.02327745 + - 0.060659647 + - -0.18269569 + - 0.2002695 + - 0.1635946 + - 0.04229372 + - -0.006935324 + - 0.23025951 + - -0.2508435 + - -0.0083690565 + - -0.004030865 + - -0.16125761 + - -0.04383424 + - -0.15811825 + - -0.20995452 + - -0.061265647 + - -0.081319466 + - 0.05327479 + - -0.0027354877 + - 0.34260076 + - -0.062080953 + - -0.034779888 + - 0.1158537 + - -0.06477953 + - 0.19513111 + - 0.044984534 + - -0.005394523 + - -0.20300233 + - 0.15119289 + - 0.11630909 + - 0.20540842 + - 0.09008794 + - 0.30730304 + - -0.14807563 + - -0.06752579 + - 0.15724884 + - 0.13251069 + - 0.055058002 + - -0.09607051 + - 0.10952712 + - 0.038738076 + - 0.06911712 + - -0.22080885 + - 0.050432257 + - -0.014392688 + - 0.011607673 + - 0.06648354 + - 0.13564368 + - 0.028079992 + - -0.037354447 + - -0.13184038 + - -0.21033014 + - 0.044794165 + - 0.25889653 + - 0.08181266 + - 0.01409744 + - -0.08519635 + - 0.013126818 + - -0.01378492 + - 0.06085168 + - -0.15775317 + - 0.003198605 + - 0.15302509 + - -0.10891126 + - 0.017694535 + - 0.12517567 + - 0.025157781 + - 0.21487516 + - 0.0647247 + - 0.2649549 + - -0.19150418 + - 0.054245457 + - -0.01642684 + - 0.016193047 + - 0.3152312 + - 0.25828072 + - -0.09884332 + - 0.013198621 + - 0.020335171 + - -0.0020772293 + - -0.009855356 + - 0.1988237 + - 0.18800454 + - -0.28878117 + - -0.053846482 + - 0.40169746 + - 0.021316264 + - 0.09662722 + - 0.038548186 + - 0.12018622 + - 0.0127167115 + - 0.08378368 + - 0.18490744 + - -0.000000000000000000000000000000013681749 + - 0.022264441 + - -0.18709862 + - 0.023869898 + - 0.19591397 + - -0.060994323 + - -0.007636726 + - 0.064233005 + - -0.06631314 + - -0.010503152 + - -0.024318852 + - 0.081830375 + - 0.038555715 + - -0.039316934 + - 0.07447609 + - -0.08229407 + - -0.06371407 + - -0.008152753 + - -0.019317038 + - 0.14384583 + - 0.14009961 + - -0.03777926 + - 0.12438261 + - -0.12701553 + - -0.00884296 + - 0.06506761 + - 0.082594484 + - 0.119668245 + - -0.01175639 + - -0.08670992 + - 0.01155047 + - -0.019820105 + - 0.15759689 + - -0.10533251 + - -0.37816453 + - -0.1460146 + - 0.26719117 + - -0.08041279 + - -0.076372735 + - -0.09895266 + - 0.019332387 + - -0.30959535 + - -0.072599724 + - 0.17204797 + - -0.08741356 + - -0.023776539 + - 0.010468199 + - 0.122641556 + - -0.22432417 + - -0.06507579 + - -0.3171371 + - 0.056066807 + - -0.1211191 + - -0.22911565 + - 0.0063126013 + - 0.19583231 + - 0.056208186 + - -0.15295987 + - 0.07443993 + - -0.00026695803 + - 0.0020822384 + - 0.11429491 + - -0.04287391 + - 0.02911226 + - 0.19062252 + - 0.059714995 + - 0.14753196 + - 0.23217103 + - -0.13505262 + - 0.0779168 + - -0.082738884 + - 0.10404664 + - 0.032446075 + - -0.055097178 + - 0.16057536 + - 0.07289362 + - -0.07596283 + - -0.17410015 + - -0.04253026 + - -0.008820239 + - -0.045540415 + - -0.110052824 + - -0.0009556608 + - 0.13543932 + - -0.07507704 + - -0.007338976 + - -0.30295804 + - 0.063798524 + - -0.027557375 + - 0.0515947 + - 0.03402984 + - -0.15452519 + - 0.00091184303 + - -0.070044294 + - -0.18843904 + - 0.2878306 + - 0.02786757 + - 0.1474183 + - 0.012342854 + - 0.06627545 + - 0.033249237 + - -0.17291136 + - -0.3300415 + - -0.31440637 + - 0.016439375 + - 0.12016728 + - -0.00603888 + - -0.1439794 + - 0.16959238 + - -0.010541078 + - 0.017046237 + - 0.011821457 + - 0.0082769245 + - 0.07320492 + - -0.07629184 + - 0.00003092084 + - -0.20858638 + - 0.08634951 + - -0.00853307 + - -0.101375446 + - 0.10514268 + - -0.14958912 + - -0.18288513 + - -0.2618882 + - 0.1535533 + - -0.09934435 + - -0.084355295 + - -0.12969932 + - -0.00747143 + - 0.07611573 + - -0.24734342 + - -0.07675616 + - 0.09463268 + - 0.0000005939488 + - -0.14987445 + - 0.28537053 + - 0.08565855 + - -0.15772209 + - 0.12254208 + - 0.2532722 + - -0.07760458 + - -0.09249179 + - 0.13688765 + - -0.15253353 + - 0.001824914 + - 0.1565535 + - -0.10303311 + - 0.03531202 + - -0.06444815 + - -0.17267431 + - -0.19515572 + - 0.16156384 + - -0.06543005 + - 0.022147773 + - 0.0028136056 + - 0.10787974 + - 0.034868315 + - 0.01078994 + - 0.038490362 + - -0.24715288 + - 0.07613679 + - 0.0035027575 + - 0.28907645 + - -0.07352606 + - 0.14299926 + - 0.09037909 + - 0.15305477 + - 0.12935942 + - -0.012501546 + - -0.08617197 + - -0.10323573 + - 0.054358527 + - 0.09398556 + - 0.13313143 + - 0.044853263 + - 0.14861381 + - 0.07135175 + - -0.07534653 + - 0.23690413 + - -0.18547821 + - -0.051459856 + - -0.13259959 + - 0.12064485 + - -0.14557101 + - 0.0037521645 + - 0.11196797 + - 0.0703419 + - -0.09002599 + - -0.0982191 + - -0.018097013 + - 0.14179334 + - 0.03605497 + - 0.039069008 + - 0.113758706 + - -0.100784175 + - 0.022386305 + - -0.093679 + - -0.0824748 + - -0.021857496 + - 0.13248582 + - -0.013184965 + - 0.00000000000000000000000000000000022410908 + - 0.06737528 + - -0.044047564 + - -0.08233316 + - -0.09761742 + - -0.09863738 + - -0.20442617 + - 0.062083572 + - 0.0029227925 + - 0.1905334 + - 0.040213063 + - -0.016800087 +- - -0.1604252 + - 0.13609111 + - -0.088046916 + - -0.001985046 + - -0.050699547 + - -0.0014737924 + - -0.05072126 + - -0.038606413 + - -0.021461496 + - 0.037496783 + - 0.11351667 + - -0.0017991867 + - 0.0102403 + - 0.1735431 + - 0.16446902 + - -0.028305434 + - 0.057583075 + - -0.035174407 + - 0.04142543 + - -0.1404664 + - -0.15990135 + - -0.23068248 + - -0.05017241 + - 0.029750131 + - -0.025711566 + - -0.19943112 + - -0.05874095 + - -0.09391305 + - -0.04768057 + - 0.17609408 + - 0.09414928 + - -0.08270378 + - 0.09090615 + - 0.15966937 + - 0.0000037523682 + - -0.1654142 + - 0.19601926 + - 0.058217995 + - 0.011636045 + - 0.034443058 + - -0.022745337 + - 0.055756107 + - 0.034363877 + - 0.0034260657 + - -0.21053037 + - -0.2085079 + - 0.1961066 + - 0.023022247 + - -0.13928998 + - 0.011271969 + - 0.058540497 + - -0.16391495 + - 0.11404263 + - -0.0925537 + - 0.07478323 + - -0.16116348 + - 0.15127821 + - -0.0447437 + - 0.02454215 + - -0.18725447 + - -0.020764831 + - 0.06380612 + - 0.12441543 + - 0.16196217 + - 0.12063929 + - 0.04885028 + - -0.069435835 + - -0.13454452 + - 0.0925149 + - 0.20938803 + - -0.4292779 + - -0.097000115 + - -0.09594607 + - -0.01001218 + - -0.12533055 + - -0.17917156 + - 0.03393626 + - -0.049260147 + - 0.16861433 + - -0.03159722 + - -0.026827486 + - -0.15117046 + - 0.15941237 + - -0.042853512 + - -0.03035117 + - -0.062615305 + - -0.094019055 + - 0.072006024 + - 0.029961426 + - -0.020409945 + - 0.053047456 + - -0.0968287 + - -0.08437842 + - 0.0696811 + - -0.05591031 + - -0.046877485 + - 0.071813025 + - 0.113651186 + - 0.045606747 + - 0.02569216 + - -0.13524759 + - -0.18076047 + - -0.2361142 + - 0.0064005116 + - 0.044587128 + - 0.21925993 + - -0.08174429 + - 0.08435557 + - -0.017537093 + - 0.014798354 + - -0.09763169 + - -0.1147544 + - -0.1607177 + - 0.13643543 + - 0.073532164 + - -0.020385168 + - -0.02475363 + - -0.08760737 + - -0.016913133 + - 0.013349659 + - -0.16752051 + - 0.053001843 + - 0.0037597343 + - 0.12205534 + - -0.2488653 + - -0.0026360229 + - -0.0975855 + - -0.023463733 + - 0.15412119 + - 0.025431965 + - 0.06459849 + - -0.09037094 + - 0.014967085 + - 0.24615468 + - 0.0019884799 + - 0.36871812 + - -0.029936716 + - 0.06810659 + - -0.2335491 + - -0.07260693 + - -0.14058661 + - -0.12571746 + - 0.17359962 + - -0.052309602 + - -0.1641028 + - -0.103089325 + - 0.039469726 + - -0.21246402 + - -0.0053642513 + - -0.03479121 + - 0.011493947 + - 0.17421055 + - -0.07535172 + - -0.07851907 + - 0.14132756 + - -0.012524598 + - 0.23288733 + - 0.26310155 + - -0.16571566 + - 0.024309281 + - 0.004595693 + - 0.12770742 + - -0.24879962 + - 0.008954618 + - -0.049634844 + - 0.018130586 + - -0.085998 + - -0.036414888 + - -0.33632636 + - 0.003395048 + - -0.13530666 + - 0.01684004 + - -0.02675438 + - -0.06681912 + - 0.19013956 + - 0.23080209 + - 0.12915733 + - 0.40273073 + - 0.06221135 + - 0.023238953 + - 0.03016084 + - 0.10026907 + - -0.04164893 + - 0.2257982 + - 0.17444895 + - 0.006547592 + - 0.2375448 + - -0.06028892 + - -0.049193814 + - -0.14854899 + - -0.046214323 + - -0.16307688 + - 0.079678744 + - -0.10150815 + - -0.014927192 + - 0.009083554 + - -0.051565696 + - -0.29761535 + - -0.15602043 + - 0.22927593 + - -0.17726937 + - -0.1428019 + - 0.013579881 + - 0.013547245 + - -0.0048958748 + - -0.1424288 + - 0.054047123 + - -0.081219256 + - 0.112259485 + - 0.09734705 + - 0.0051882844 + - 0.23815799 + - -0.00015798677 + - -0.021677356 + - 0.059906192 + - -0.022324657 + - 0.06317513 + - 0.19111347 + - -0.16130435 + - -0.06698162 + - -0.1209046 + - -0.062344912 + - -0.10942073 + - -0.15418088 + - -0.19658177 + - -0.13719095 + - 0.09453039 + - 0.04306151 + - -0.037689835 + - 0.10484736 + - -0.030601129 + - -0.0017866604 + - 0.11717509 + - -0.03229551 + - -0.23910893 + - -0.008709837 + - -0.019355193 + - 0.09694745 + - 0.05219712 + - -0.51355124 + - -0.02886064 + - 0.2428605 + - -0.018625923 + - 0.04178007 + - 0.17729615 + - 0.012316428 + - -0.057335023 + - -0.17406544 + - -0.066702396 + - -0.18806688 + - -0.015594028 + - -0.066401735 + - 0.18451756 + - -0.0074353684 + - -0.060005046 + - -0.06763001 + - 0.10416424 + - 0.038776647 + - -0.11754606 + - -0.22491553 + - 0.11733238 + - -0.042762652 + - -0.032572143 + - -0.017540235 + - 0.09243388 + - 0.12915537 + - 0.1944497 + - 0.09399532 + - -0.052242413 + - -0.13306668 + - 0.016543176 + - -0.06191908 + - 0.09835757 + - 0.047394145 + - -0.041012663 + - -0.06967146 + - 0.17297362 + - 0.057031933 + - -0.16072147 + - 0.053203344 + - 0.10941727 + - -0.056061637 + - -0.10386519 + - -0.036966722 + - 0.030897891 + - 0.041157156 + - 0.05411501 + - 0.109871335 + - -0.11383114 + - -0.08826078 + - 0.14238736 + - 0.11119097 + - -0.039978478 + - -0.18762264 + - 0.00012586125 + - -0.013398425 + - 0.026755806 + - 0.06550352 + - 0.011518098 + - -0.12703566 + - 0.1193361 + - -0.025511866 + - 0.0655696 + - 0.003099667 + - -0.09031807 + - -0.1072312 + - -0.07564478 + - 0.0012216358 + - -0.10505819 + - 0.20800702 + - 0.07576829 + - -0.1012061 + - 0.048190694 + - 0.031472657 + - -0.05725074 + - -0.3174068 + - 0.12989433 + - -0.16154335 + - -0.009197215 + - 0.23018564 + - -0.14103572 + - 0.01024539 + - 0.17839843 + - 0.14534506 + - 0.03963579 + - 0.029225279 + - -0.08066558 + - -0.039080262 + - -0.062292732 + - 0.06809659 + - -0.0063454094 + - -0.11520183 + - -0.03635685 + - 0.046149716 + - 0.09004813 + - -0.13951004 + - -0.10454183 + - 0.20278266 + - -0.12920354 + - -0.1864125 + - -0.038055677 + - 0.12742344 + - -0.050511427 + - 0.087557465 + - -0.05971879 + - 0.109058835 + - 0.22030151 + - 0.01931746 + - -0.15258718 + - -0.16290528 + - 0.12734309 + - 0.2031273 + - 0.11466522 + - -0.000006935501 + - -0.07035446 + - 0.09563394 + - -0.059321087 + - -0.034104273 + - 0.10838646 + - 0.0678623 + - 0.18469581 + - -0.037595194 + - 0.24645463 + - 0.09799296 + - -0.26412502 + - 0.24939105 + - -0.11708588 + - -0.03709273 + - -0.17468448 + - 0.040280942 + - -0.009310482 + - -0.15189831 + - -0.06959067 + - -0.051064048 + - -0.07299358 + - -0.00090407766 + - 0.065043464 + - 0.10533376 + - -0.13728999 + - 0.12720782 + - 0.04206384 + - -0.14766192 + - -0.18320467 + - -0.03423985 + - -0.04546375 + - 0.12177155 + - -0.118108325 + - 0.2304924 + - 0.056477316 + - -0.087963 + - 0.020748181 + - -0.20073831 + - -0.16743489 + - 0.11020664 + - -0.11366362 + - 0.1658314 + - 0.044470273 + - -0.22908117 + - 0.0592477 + - -0.12616593 + - 0.08447301 + - 0.023779925 + - -0.09009783 + - 0.08174646 + - -0.005637585 + - -0.0050584516 + - 0.3750294 + - 0.02168084 + - -0.25826964 + - -0.19115049 + - 0.019687427 + - 0.15831095 + - 0.17990932 + - 0.09904669 + - 0.17532851 + - -0.039752185 + - 0.04863175 + - 0.029793553 + - 0.08850191 + - -0.01592831 + - 0.21538942 + - 0.09732712 + - 0.09232605 + - -0.091231674 + - 0.10609922 + - 0.043832004 + - -0.10640623 + - 0.08489147 + - 0.04431653 + - 0.023893518 + - -0.15143631 + - -0.22157513 + - -0.11050336 + - 0.1986084 + - 0.06093728 + - -0.22391902 + - 0.014142846 + - 0.06885495 + - 0.09849708 + - -0.026863217 + - 0.14304173 + - 0.076973915 + - -0.56769407 + - 0.068780564 + - 0.011393113 + - 0.083705924 + - 0.17389144 + - -0.09296382 + - -0.0649436 + - 0.10102264 + - 0.18848872 + - -0.22794342 + - -0.1980791 + - 0.22418061 + - -0.15084109 + - -0.05869646 + - -0.15543489 + - -0.14013693 + - -0.085921936 + - -0.082529545 + - 0.06805109 + - 0.11077402 + - 0.1268141 + - -0.025759999 + - -0.18887122 + - 0.087002635 + - 0.088409044 + - 0.019075057 + - 0.008799266 + - 0.14075688 + - -0.12541755 + - 0.055423524 + - -0.0075538456 + - -0.14015447 + - -0.008787375 + - -0.17148098 + - -0.08783855 + - -0.014716504 + - -0.11856145 + - -0.06526465 + - 0.033766195 + - 0.35832804 + - 0.059388086 + - -0.14059094 + - 0.10855703 + - -0.030095669 + - 0.21720451 + - 0.073314905 + - -0.032731526 + - -0.16067661 + - 0.1679392 + - 0.0710777 + - 0.043400154 + - -0.01865819 + - 0.19516611 + - -0.10571844 + - 0.011376504 + - 0.26630217 + - 0.06102047 + - 0.0015256815 + - -0.074195 + - 0.07154043 + - -0.17808689 + - 0.07855365 + - -0.066502884 + - 0.040891405 + - -0.15360266 + - -0.038400024 + - 0.008419072 + - 0.11232594 + - -0.07825171 + - -0.015996547 + - -0.17991604 + - -0.5049186 + - 0.057419356 + - 0.5042876 + - 0.10655181 + - 0.029467769 + - 0.029370304 + - -0.04865489 + - 0.019493787 + - 0.089312665 + - -0.08889742 + - -0.12700476 + - 0.2072115 + - -0.14586627 + - 0.03591722 + - 0.029396981 + - 0.07089223 + - 0.18540342 + - 0.16841984 + - 0.19383268 + - -0.23919001 + - 0.17487612 + - -0.10670453 + - 0.3699415 + - 0.20554982 + - 0.3360114 + - -0.00211578 + - -0.0062531102 + - 0.13318782 + - 0.042299837 + - -0.022591282 + - 0.21573539 + - 0.20633076 + - -0.12068413 + - -0.056131534 + - 0.11783004 + - 0.106287085 + - -0.0071663745 + - 0.09280118 + - 0.015454187 + - 0.07208367 + - -0.025747975 + - 0.10033824 + - -0.000000000000000000000000000000013713392 + - 0.013944132 + - -0.07654248 + - 0.092849605 + - 0.24584456 + - -0.03181016 + - 0.066669956 + - -0.017198281 + - -0.10530462 + - 0.0062116743 + - 0.027922861 + - 0.097609125 + - 0.050841898 + - -0.016232688 + - 0.20561625 + - 0.00011033332 + - -0.16871035 + - -0.008334615 + - -0.047528327 + - 0.23204532 + - 0.13006495 + - -0.036949012 + - 0.04797119 + - -0.05414153 + - 0.1572214 + - -0.058532238 + - 0.04005173 + - 0.058657203 + - -0.03762678 + - -0.077547215 + - 0.03628941 + - -0.04232575 + - 0.09098175 + - -0.091589995 + - -0.31326088 + - -0.1341427 + - 0.20892066 + - -0.0876219 + - -0.08829888 + - -0.06109316 + - 0.008874761 + - -0.32534224 + - -0.15062615 + - 0.11961415 + - 0.08501181 + - 0.028596353 + - -0.1435614 + - 0.17803949 + - -0.07015467 + - -0.035641257 + - -0.48409817 + - 0.1750572 + - -0.020943759 + - -0.2172896 + - 0.22215575 + - 0.13692467 + - 0.05614651 + - -0.23825884 + - 0.0426597 + - -0.118801385 + - 0.071790144 + - 0.13846457 + - -0.035383575 + - -0.031353958 + - 0.017535353 + - 0.10815448 + - 0.16320917 + - 0.12439737 + - -0.37409076 + - -0.09227429 + - -0.16852394 + - 0.09624899 + - 0.14395395 + - -0.08071096 + - 0.24003762 + - 0.4158629 + - -0.02762894 + - -0.250193 + - 0.074508265 + - -0.019745603 + - -0.07329736 + - -0.06997734 + - -0.05530451 + - 0.13796145 + - -0.032568812 + - -0.025506506 + - -0.20485309 + - -0.06077178 + - -0.019952856 + - 0.092864215 + - -0.09165968 + - -0.099001765 + - 0.114508115 + - -0.02410335 + - -0.09898942 + - 0.37397614 + - 0.05107207 + - 0.026171206 + - 0.16527535 + - 0.0523237 + - 0.13473174 + - -0.16964449 + - -0.17827144 + - -0.19209479 + - 0.10672604 + - 0.14778891 + - 0.017917681 + - -0.115696564 + - 0.2823314 + - -0.044632476 + - -0.019546505 + - -0.0429974 + - 0.023230856 + - 0.023940228 + - 0.1087048 + - 0.14769658 + - -0.14757086 + - 0.037430294 + - 0.10151087 + - -0.21917719 + - 0.057499606 + - -0.124046266 + - -0.067563534 + - -0.08167868 + - 0.05006276 + - -0.09725629 + - -0.09966069 + - -0.1337331 + - -0.11532431 + - 0.13464594 + - -0.38920707 + - 0.033048492 + - 0.22859757 + - 0.0000005431597 + - -0.28594342 + - 0.21452601 + - 0.05994026 + - -0.08473271 + - 0.16790694 + - 0.097346365 + - -0.1859468 + - 0.013851713 + - 0.14540187 + - -0.2864298 + - 0.084233835 + - 0.05553878 + - -0.1102695 + - 0.013080144 + - 0.0037903525 + - -0.14850788 + - 0.033950657 + - 0.18054155 + - 0.047004506 + - 0.020254284 + - -0.12408017 + - 0.08635384 + - 0.04478557 + - 0.08798403 + - 0.042283304 + - -0.25738376 + - 0.19432145 + - 0.15602367 + - 0.29974163 + - -0.087618954 + - 0.17019044 + - 0.016903708 + - 0.22306933 + - 0.09129502 + - 0.08517691 + - 0.085561186 + - 0.07300954 + - 0.08034944 + - 0.034267142 + - -0.056822307 + - 0.03783495 + - 0.0043490306 + - -0.07171796 + - 0.10795584 + - 0.25047752 + - -0.25994498 + - -0.0765808 + - -0.0000032167882 + - 0.19443414 + - -0.16857074 + - 0.0045782086 + - 0.097900845 + - 0.06582883 + - -0.10884841 + - -0.07293213 + - -0.06717838 + - 0.02578507 + - -0.06937619 + - 0.015003309 + - 0.038800895 + - -0.062013477 + - 0.01371877 + - -0.07681371 + - -0.008723067 + - -0.037219036 + - 0.20839602 + - -0.078250244 + - 0.00000000000000000000000000000000062696617 + - 0.0104573835 + - -0.09542714 + - 0.097902596 + - -0.13897178 + - -0.09676167 + - -0.18027315 + - -0.19236411 + - -0.061794464 + - 0.04496181 + - -0.0054197093 + - -0.006008029 +- - -0.06475065 + - 0.33712706 + - -0.14175116 + - 0.052035905 + - -0.13789001 + - 0.07724611 + - 0.04551335 + - 0.016143817 + - -0.056740537 + - 0.0090807825 + - -0.011974009 + - -0.10114498 + - -0.090158895 + - 0.032281615 + - 0.22942714 + - 0.0404403 + - 0.10294159 + - -0.090808645 + - 0.1822812 + - -0.10317896 + - -0.2206535 + - -0.22507028 + - -0.102162234 + - 0.025781244 + - -0.14931516 + - -0.044441465 + - -0.030249264 + - -0.07648663 + - -0.054247696 + - 0.10225811 + - 0.15002802 + - -0.16432618 + - 0.18166737 + - 0.1361931 + - 0.000003043756 + - -0.08137339 + - 0.12739335 + - -0.00030452758 + - -0.05946795 + - -0.072080195 + - -0.033940706 + - 0.12873195 + - 0.114497334 + - 0.022829577 + - -0.16736253 + - -0.19112739 + - 0.15495728 + - -0.037558492 + - -0.059166864 + - 0.09985021 + - 0.07194662 + - -0.27833953 + - 0.15637812 + - -0.04860385 + - 0.08117379 + - -0.19673681 + - 0.09352045 + - 0.019232685 + - -0.07185303 + - -0.19835642 + - -0.11954272 + - 0.068300694 + - 0.22443847 + - 0.06339857 + - 0.024933934 + - -0.01166923 + - 0.056982864 + - -0.08364274 + - 0.06136787 + - 0.20109402 + - -0.3820454 + - -0.04334843 + - -0.15557125 + - -0.008468285 + - -0.23513518 + - 0.029900411 + - -0.06786451 + - -0.05216239 + - 0.06207799 + - -0.03954105 + - -0.030544205 + - -0.06072782 + - 0.086840115 + - 0.026396837 + - -0.033547986 + - 0.027023042 + - -0.124186754 + - 0.07934598 + - -0.121846735 + - 0.045179285 + - 0.17432739 + - -0.10224894 + - 0.032315157 + - 0.113564305 + - -0.06440152 + - -0.09116975 + - 0.0709618 + - -0.038327888 + - -0.022418175 + - -0.08876782 + - -0.0715397 + - -0.12532349 + - -0.12512779 + - -0.0149289565 + - -0.06562938 + - 0.13372134 + - -0.1940402 + - 0.18972912 + - 0.019823726 + - -0.09882231 + - -0.10612951 + - -0.036326677 + - -0.1273827 + - 0.18409544 + - -0.16242576 + - 0.03427008 + - -0.031950966 + - -0.07988275 + - -0.13571307 + - -0.11924949 + - -0.22720124 + - -0.029633645 + - 0.008427473 + - 0.04274279 + - -0.3103068 + - -0.01940459 + - 0.0135571165 + - 0.009102533 + - 0.16823113 + - -0.018045992 + - 0.034985457 + - -0.04692433 + - -0.04524728 + - 0.032136895 + - 0.12251385 + - 0.45903882 + - -0.023811083 + - 0.008053689 + - -0.31536177 + - -0.05613655 + - -0.013156188 + - -0.19453892 + - 0.17801689 + - -0.1967123 + - -0.06541049 + - -0.07504271 + - 0.07593502 + - -0.20038389 + - -0.056914188 + - -0.16438638 + - -0.07700507 + - 0.10124758 + - 0.08901652 + - -0.15104182 + - 0.30369624 + - -0.06370989 + - 0.25135455 + - 0.11858301 + - -0.13693285 + - -0.07854626 + - 0.04437478 + - 0.10236746 + - 0.033018462 + - -0.042637516 + - -0.008893043 + - -0.033970494 + - -0.22554806 + - -0.040436376 + - -0.095060185 + - -0.0061508846 + - -0.088985145 + - -0.06251959 + - -0.1692501 + - 0.08859493 + - 0.2881075 + - 0.10445894 + - 0.10671769 + - 0.4559068 + - 0.054834973 + - 0.080345415 + - 0.059364382 + - 0.038727827 + - -0.08633737 + - 0.30585498 + - -0.1547778 + - 0.012283092 + - 0.21888307 + - 0.13243225 + - -0.063436694 + - -0.1519925 + - 0.020122122 + - -0.28161797 + - 0.035098836 + - -0.11262058 + - 0.013483077 + - -0.1003277 + - -0.020057965 + - -0.07653631 + - -0.074825585 + - 0.19173 + - -0.12572709 + - -0.32032108 + - -0.032926127 + - 0.15433857 + - -0.032372706 + - -0.12054897 + - -0.17286065 + - -0.047776602 + - 0.029789688 + - 0.051661395 + - 0.072469786 + - 0.14690113 + - 0.086883806 + - 0.084756 + - -0.092880726 + - -0.0053124377 + - 0.0034856685 + - 0.2691674 + - -0.113665156 + - -0.092250586 + - -0.031899367 + - -0.05169354 + - -0.28465527 + - -0.23618518 + - -0.13580966 + - -0.11444667 + - 0.022452347 + - 0.10263221 + - -0.08218548 + - 0.083217844 + - -0.056876045 + - 0.0024962164 + - 0.111144 + - -0.06303172 + - -0.13544394 + - -0.018042997 + - -0.10892241 + - 0.041999802 + - 0.0047603454 + - -0.30297318 + - 0.11274454 + - 0.19599655 + - 0.062472116 + - -0.08905003 + - 0.06553057 + - 0.019675415 + - 0.08732292 + - -0.120767444 + - 0.06541059 + - -0.19594619 + - -0.013489276 + - -0.1072589 + - 0.32825488 + - 0.12208841 + - -0.026577365 + - -0.02741907 + - 0.06581857 + - -0.07720178 + - -0.058933593 + - -0.22149727 + - 0.122261815 + - -0.16244125 + - -0.020157788 + - 0.10244696 + - 0.037783723 + - 0.07700518 + - 0.09804714 + - -0.02862602 + - 0.09940613 + - -0.1392541 + - -0.015645998 + - -0.009325528 + - 0.087433614 + - 0.13179907 + - -0.0894436 + - -0.10932846 + - 0.028757492 + - 0.07428954 + - 0.018444553 + - 0.02427994 + - 0.09771563 + - -0.15868083 + - -0.006501302 + - -0.100139655 + - -0.008057592 + - 0.07707733 + - 0.24860857 + - 0.19249237 + - -0.06657104 + - -0.11561342 + - 0.06370909 + - 0.17703734 + - 0.05651348 + - -0.12902357 + - -0.022009216 + - 0.044961825 + - -0.073992416 + - 0.22660655 + - 0.07401124 + - -0.074756384 + - 0.0614088 + - 0.13851629 + - 0.016149294 + - -0.00008136593 + - -0.10632111 + - -0.030238645 + - -0.16649571 + - 0.04842777 + - -0.21277918 + - 0.3237326 + - 0.15415423 + - -0.15784603 + - 0.05418475 + - -0.054205958 + - 0.13925105 + - -0.19317451 + - -0.023153024 + - -0.06516852 + - -0.03161787 + - 0.11253063 + - -0.110176794 + - -0.06388152 + - 0.27117717 + - 0.184774 + - 0.05806862 + - 0.0065298826 + - -0.048073985 + - -0.07583904 + - -0.075820535 + - 0.013749566 + - 0.024615498 + - -0.060311537 + - -0.1009022 + - -0.0010090708 + - 0.0849885 + - -0.15542553 + - -0.030280937 + - 0.1184157 + - -0.15792118 + - -0.12070315 + - -0.10186779 + - 0.063829124 + - -0.04977309 + - 0.21039914 + - 0.25450113 + - 0.04943824 + - 0.10634431 + - 0.061316974 + - -0.047657304 + - -0.11259057 + - 0.05087237 + - 0.21330963 + - 0.03827187 + - 0.01579702 + - -0.11828666 + - -0.016174655 + - 0.022171633 + - 0.055545673 + - 0.098994404 + - -0.004587755 + - 0.24082209 + - -0.025626596 + - 0.10811425 + - 0.30680975 + - -0.24657254 + - 0.09897917 + - -0.10226925 + - 0.12677927 + - -0.1679013 + - 0.06997283 + - -0.0045832205 + - -0.019270133 + - -0.16264722 + - 0.11857714 + - -0.06381583 + - -0.10148819 + - -0.024535127 + - -0.01961963 + - 0.04324844 + - 0.07482642 + - 0.11480788 + - -0.058684684 + - -0.0548629 + - -0.06233355 + - -0.027914412 + - 0.13963512 + - -0.10575636 + - 0.2967415 + - 0.115350716 + - -0.18648154 + - 0.00039274513 + - -0.21157719 + - 0.018371604 + - -0.003163766 + - -0.090894245 + - 0.08057468 + - 0.10785875 + - -0.15137723 + - 0.06378007 + - -0.07422531 + - 0.0560889 + - -0.005544901 + - 0.0013478361 + - 0.08131672 + - -0.1928623 + - -0.07969918 + - 0.5150844 + - 0.1242103 + - -0.32855216 + - -0.014635231 + - 0.07982317 + - -0.056389008 + - 0.28786844 + - 0.1629194 + - 0.3053615 + - -0.075237855 + - -0.02718401 + - 0.137033 + - 0.00794136 + - -0.066489965 + - 0.12686528 + - 0.03170129 + - 0.10565731 + - -0.25607097 + - 0.18204275 + - 0.15449835 + - -0.11354614 + - 0.17431213 + - -0.041769117 + - 0.057580195 + - -0.14109196 + - -0.16917884 + - -0.13315466 + - 0.2594295 + - -0.07860398 + - -0.4296813 + - 0.123887815 + - 0.10548571 + - -0.007038437 + - 0.13670681 + - 0.023882017 + - 0.11235825 + - -0.0880842 + - 0.17141774 + - -0.023203263 + - 0.053196125 + - -0.02036841 + - -0.13157065 + - 0.008601256 + - 0.17556128 + - 0.10897486 + - -0.18568581 + - -0.06447924 + - -0.013316389 + - -0.22341321 + - 0.0066190725 + - -0.21494879 + - -0.26789355 + - -0.05595779 + - 0.039494403 + - 0.13627982 + - 0.14024672 + - -0.0004471743 + - -0.049826987 + - -0.23961723 + - 0.27922222 + - 0.38424692 + - 0.041992962 + - -0.07246545 + - 0.14357486 + - -0.13833891 + - 0.05892088 + - 0.0017191176 + - -0.10713938 + - 0.04001938 + - -0.0105663 + - -0.1988481 + - -0.028776925 + - -0.23325555 + - 0.07941235 + - -0.01887183 + - 0.17537385 + - 0.051417883 + - -0.23219742 + - 0.09033197 + - -0.011265257 + - 0.25523794 + - 0.22917548 + - -0.09161632 + - -0.06195857 + - 0.1519913 + - 0.10051529 + - 0.15026347 + - -0.048955575 + - 0.13259996 + - -0.058143415 + - -0.14899646 + - 0.19905607 + - 0.084696665 + - -0.008468419 + - 0.07614456 + - 0.04875207 + - -0.0048194053 + - 0.026098212 + - 0.036835615 + - -0.015285287 + - 0.031592384 + - -0.06361369 + - 0.13195892 + - 0.06482987 + - -0.10637157 + - -0.060943548 + - -0.18748543 + - -0.54974014 + - 0.04801406 + - 0.23979402 + - 0.14714275 + - -0.054425098 + - -0.16696495 + - 0.030215632 + - 0.09437077 + - 0.1378043 + - -0.13712801 + - -0.036485642 + - 0.230801 + - 0.034753162 + - 0.12060306 + - 0.01180067 + - 0.080816336 + - 0.21263748 + - -0.04714243 + - 0.1565331 + - -0.20088743 + - 0.13413838 + - -0.015308449 + - 0.038290683 + - 0.25618553 + - 0.20476617 + - 0.05209563 + - 0.060143463 + - 0.18522844 + - 0.020869957 + - 0.0075611025 + - 0.058742266 + - 0.012285703 + - -0.23167786 + - -0.043589324 + - 0.26582578 + - 0.009258557 + - -0.1425056 + - 0.12729023 + - 0.022439126 + - 0.049839698 + - 0.0421742 + - 0.18166488 + - -0.000000000000000000000000000000012499292 + - 0.103163995 + - -0.05430429 + - -0.054672696 + - 0.17008808 + - -0.066542014 + - 0.059293658 + - 0.017657654 + - -0.15854876 + - -0.05222595 + - 0.0047795353 + - 0.051855512 + - 0.0352904 + - 0.034962162 + - 0.14688052 + - 0.13598913 + - -0.035507467 + - 0.03383821 + - -0.054707922 + - 0.1995539 + - 0.051447507 + - 0.03514959 + - 0.19956113 + - -0.05845413 + - -0.008600336 + - -0.017348416 + - 0.155088 + - 0.036906432 + - -0.04071436 + - -0.11985378 + - 0.10415024 + - -0.054113485 + - -0.08921566 + - -0.13636023 + - -0.35326388 + - -0.111752026 + - 0.16440913 + - -0.13304165 + - -0.13099185 + - -0.2829798 + - 0.03898227 + - -0.17178635 + - -0.10204554 + - 0.13978001 + - 0.046594508 + - 0.040197406 + - 0.016296847 + - 0.07453176 + - -0.15364414 + - -0.09620586 + - -0.24804537 + - 0.13618189 + - -0.0029801074 + - -0.19595183 + - -0.011356416 + - 0.1126391 + - 0.042537138 + - -0.18500969 + - 0.027491068 + - -0.18080166 + - 0.020186273 + - 0.12992173 + - -0.07889845 + - -0.043032616 + - 0.15096262 + - 0.010250083 + - 0.10918203 + - 0.12378682 + - -0.19984958 + - 0.15038845 + - -0.08964345 + - 0.16091354 + - 0.13041532 + - 0.012451995 + - 0.09699828 + - 0.07000344 + - 0.022317193 + - -0.1575195 + - -0.009294838 + - 0.031454537 + - 0.026599366 + - -0.082437254 + - -0.04766414 + - 0.1263798 + - -0.08744175 + - -0.07411719 + - -0.37032387 + - -0.016279034 + - 0.08042236 + - 0.0025371136 + - -0.02265308 + - -0.18817607 + - 0.080791295 + - 0.09486802 + - -0.14504743 + - 0.30864793 + - 0.19436565 + - 0.07068619 + - 0.05771176 + - 0.15146007 + - 0.14523074 + - 0.058398284 + - -0.37407824 + - -0.21980305 + - 0.1451309 + - 0.16861217 + - 0.067839265 + - -0.1439077 + - 0.10559644 + - -0.043534145 + - 0.043152228 + - -0.08219958 + - -0.009243945 + - 0.13166928 + - -0.039912745 + - 0.092459366 + - -0.30168343 + - 0.061620057 + - 0.032123424 + - -0.21774918 + - 0.08006613 + - -0.08450318 + - -0.27870572 + - -0.20452508 + - 0.10423844 + - -0.057627518 + - -0.2044372 + - -0.1538881 + - -0.14312407 + - -0.07244383 + - -0.28287134 + - 0.031917546 + - 0.1983079 + - 0.0000005078695 + - -0.20361191 + - 0.22766949 + - -0.0027158912 + - -0.17534426 + - 0.0986491 + - 0.15511763 + - -0.08987458 + - -0.022937348 + - 0.25020316 + - 0.031223899 + - 0.15010984 + - 0.17677958 + - -0.048674416 + - -0.009754543 + - -0.12539786 + - -0.2453353 + - -0.031083353 + - 0.15103376 + - 0.048078515 + - -0.0037201643 + - -0.2065951 + - 0.13898699 + - -0.035204135 + - -0.022253344 + - 0.20307001 + - -0.2325936 + - 0.052115098 + - 0.08860516 + - 0.36183935 + - -0.089039445 + - 0.18829532 + - -0.033968158 + - 0.034034174 + - 0.1172058 + - 0.01775891 + - -0.05514493 + - -0.029771114 + - 0.092063 + - 0.02050449 + - 0.20344524 + - 0.065226376 + - 0.044343784 + - 0.007050356 + - 0.024850504 + - 0.33572158 + - -0.2593131 + - -0.059291303 + - -0.011273357 + - 0.10736875 + - -0.23340902 + - 0.021531517 + - 0.032559887 + - 0.11942973 + - -0.04038915 + - -0.13375503 + - -0.042444594 + - 0.089463726 + - 0.015462227 + - -0.024202071 + - 0.034455687 + - -0.12616612 + - 0.11007497 + - -0.12980756 + - -0.082577154 + - 0.08773922 + - 0.1840197 + - 0.027039919 + - 0.0000000000000000000000000000000004736525 + - 0.012956939 + - -0.11109342 + - 0.11724128 + - -0.105111085 + - 0.0148514025 + - -0.16263343 + - -0.0377458 + - 0.05075184 + - -0.04843469 + - 0.09252987 + - -0.06836401 +- - -0.004420786 + - 0.027419962 + - -0.1616167 + - -0.029979402 + - -0.08660222 + - 0.08678703 + - 0.027493358 + - 0.107398726 + - 0.05104781 + - 0.027339742 + - 0.13470595 + - -0.18052399 + - -0.05329224 + - 0.14949453 + - 0.14610972 + - -0.23524708 + - 0.20616655 + - -0.3397513 + - 0.059257105 + - -0.10410823 + - -0.23810123 + - -0.1489444 + - -0.09425362 + - 0.011031375 + - -0.05103332 + - -0.1139506 + - -0.112183146 + - -0.071028 + - -0.12011776 + - 0.0047073783 + - 0.060182996 + - -0.12628876 + - 0.105850324 + - 0.29561067 + - 0.0000041586304 + - -0.1811317 + - 0.0052770153 + - -0.071960576 + - 0.025731472 + - 0.00045587122 + - 0.11923118 + - -0.0115226535 + - 0.086826906 + - 0.026518714 + - -0.15677418 + - -0.0813751 + - 0.20440616 + - -0.023678396 + - -0.028054722 + - 0.08695839 + - 0.07350312 + - -0.12961149 + - 0.12340251 + - -0.050101437 + - 0.10809434 + - -0.21349528 + - 0.18281566 + - -0.019796059 + - -0.005723916 + - -0.12216344 + - -0.1322154 + - -0.009920877 + - 0.12483403 + - 0.14238031 + - 0.090089455 + - 0.07062318 + - -0.017454416 + - -0.12112555 + - -0.05554181 + - 0.16586764 + - -0.12361728 + - -0.015444142 + - 0.097123265 + - 0.09460098 + - -0.06284019 + - 0.05550032 + - -0.036330868 + - -0.022036413 + - 0.03425035 + - -0.058480807 + - -0.24825603 + - -0.07062003 + - 0.12650032 + - -0.016772928 + - -0.09833181 + - 0.21930215 + - -0.09472515 + - 0.021384776 + - -0.03871077 + - -0.0407208 + - 0.18229568 + - -0.052649897 + - 0.053732987 + - 0.14848761 + - -0.0067738276 + - -0.056550097 + - 0.07664762 + - -0.039557584 + - 0.14235343 + - 0.041874543 + - -0.03246113 + - -0.15841499 + - -0.0070487186 + - 0.032964718 + - 0.06847586 + - 0.08781741 + - -0.30219755 + - 0.044852026 + - -0.1144141 + - 0.018415116 + - -0.18227018 + - -0.0792892 + - 0.023670634 + - 0.18198502 + - 0.078455 + - -0.097387746 + - -0.014216132 + - -0.099220395 + - -0.10617372 + - -0.05045269 + - -0.23798522 + - 0.05803583 + - -0.12576762 + - 0.08010645 + - -0.30990952 + - 0.05329874 + - -0.025368355 + - -0.055066448 + - 0.102904424 + - -0.025322884 + - 0.10121044 + - -0.12342099 + - 0.013715479 + - 0.098357886 + - 0.11090588 + - 0.30018446 + - -0.030087527 + - 0.16290833 + - -0.28141785 + - -0.07210453 + - 0.008374634 + - -0.11878294 + - 0.168475 + - -0.20741697 + - -0.120812945 + - -0.059772786 + - -0.035820402 + - -0.13826692 + - -0.07802371 + - -0.09239018 + - -0.17094325 + - 0.12542379 + - -0.11513346 + - -0.044694506 + - 0.4626891 + - 0.05875262 + - 0.11786518 + - 0.1550336 + - -0.18957117 + - 0.11157897 + - -0.045653757 + - -0.028826334 + - -0.01203759 + - 0.0022999968 + - 0.06784994 + - -0.009359408 + - -0.028710175 + - -0.094908595 + - -0.3153736 + - 0.1536491 + - -0.17456107 + - 0.080135174 + - -0.031358976 + - 0.18545647 + - 0.14939155 + - 0.24798551 + - 0.15747623 + - 0.39327917 + - 0.13094924 + - 0.06966378 + - 0.035704974 + - -0.03344127 + - 0.0023484863 + - 0.29291686 + - -0.096396774 + - 0.0898554 + - 0.050029073 + - -0.005385335 + - -0.123044856 + - -0.24711013 + - 0.15893465 + - -0.19801612 + - 0.014880212 + - -0.07721363 + - 0.16797507 + - -0.014254857 + - -0.018133428 + - -0.24566315 + - -0.056203876 + - 0.1341267 + - 0.04470589 + - -0.16656151 + - 0.02390538 + - 0.15551156 + - -0.037532605 + - -0.18235461 + - 0.011221368 + - -0.09690385 + - 0.06418655 + - -0.0039488226 + - 0.11661907 + - 0.117373936 + - 0.036605608 + - -0.014652033 + - 0.027271278 + - -0.16734456 + - 0.05555238 + - 0.33135006 + - -0.103344075 + - -0.13127686 + - -0.095397204 + - -0.048610903 + - -0.09249818 + - -0.14884742 + - -0.0788176 + - -0.20431782 + - 0.2003658 + - 0.05155316 + - -0.007068144 + - 0.005063096 + - 0.0072581153 + - -0.08930562 + - 0.13627814 + - 0.05589634 + - -0.16452011 + - 0.026290806 + - -0.049947497 + - 0.49758318 + - -0.06668948 + - -0.3837889 + - -0.0071505783 + - 0.06706179 + - 0.09329937 + - -0.12221455 + - 0.21490796 + - -0.060224086 + - 0.049702123 + - 0.0013858452 + - -0.1100952 + - -0.23900062 + - -0.020324565 + - -0.08484492 + - 0.20698488 + - 0.14172451 + - -0.046662603 + - 0.10868708 + - 0.14426869 + - 0.07425838 + - -0.1682269 + - -0.13927054 + - 0.08089134 + - -0.09275835 + - 0.14485821 + - 0.017470572 + - -0.059020266 + - 0.012682557 + - 0.1452243 + - 0.009883845 + - 0.0899297 + - -0.034893744 + - -0.026843954 + - -0.029870726 + - -0.13601977 + - 0.0983575 + - -0.17109528 + - -0.04903704 + - 0.17768276 + - 0.013460003 + - -0.10853982 + - 0.04584059 + - 0.14859433 + - -0.048934653 + - -0.022181807 + - -0.10019061 + - -0.118921295 + - 0.049151793 + - 0.1981371 + - 0.07657255 + - -0.04928053 + - -0.141993 + - 0.077458985 + - 0.10851521 + - 0.016884254 + - -0.008555118 + - 0.050149206 + - -0.0666753 + - -0.039057687 + - 0.10383655 + - 0.056429233 + - -0.0151678175 + - 0.100182146 + - 0.0033172574 + - 0.07315907 + - 0.031313717 + - -0.16871765 + - -0.010227457 + - -0.032868583 + - -0.06449665 + - -0.17806469 + - 0.29068044 + - 0.10763648 + - -0.067643344 + - 0.011101156 + - 0.091906525 + - 0.010063095 + - -0.19080976 + - -0.03649199 + - 0.0017690877 + - -0.06060883 + - 0.17612582 + - -0.11239407 + - -0.19914737 + - 0.32252392 + - 0.16995685 + - 0.087410234 + - -0.06533326 + - 0.015582427 + - 0.090538174 + - 0.051222917 + - 0.025838852 + - 0.09194174 + - 0.046952415 + - -0.28695506 + - 0.059804898 + - 0.058227215 + - -0.1057356 + - -0.07753155 + - 0.11888564 + - -0.2561023 + - -0.15013142 + - 0.0018867902 + - 0.07238126 + - -0.009997745 + - 0.1777181 + - -0.114635885 + - 0.0061113257 + - 0.07500661 + - 0.020278236 + - -0.08330003 + - -0.2131185 + - 0.052996337 + - 0.36267433 + - 0.025885016 + - -0.031348243 + - -0.10970456 + - -0.115292504 + - 0.010018564 + - -0.09707658 + - 0.156924 + - -0.09338824 + - 0.21330032 + - 0.025168832 + - 0.045505423 + - 0.094242916 + - -0.20971008 + - 0.07220375 + - 0.023094963 + - 0.056246605 + - -0.15639299 + - 0.24045242 + - 0.01839104 + - -0.06992495 + - -0.1337832 + - 0.07279357 + - 0.024936263 + - -0.2295045 + - 0.006979443 + - -0.025183823 + - -0.06627539 + - 0.1135766 + - 0.11095596 + - -0.33750677 + - 0.11182199 + - -0.049320556 + - -0.038080923 + - 0.04924152 + - -0.12964807 + - 0.28512186 + - -0.032134026 + - -0.096068315 + - -0.095035 + - -0.20970225 + - -0.09109283 + - -0.03878089 + - -0.1442731 + - 0.13042007 + - 0.31082958 + - -0.21090233 + - 0.020618692 + - -0.029270845 + - 0.10324406 + - -0.26634818 + - -0.015269566 + - -0.008011489 + - -0.12724985 + - -0.0013876045 + - 0.42889354 + - 0.1954978 + - -0.3422023 + - -0.148549 + - -0.053835485 + - -0.03801756 + - 0.19731908 + - 0.069232516 + - 0.16798678 + - 0.068595424 + - -0.03721924 + - 0.082337424 + - 0.108126126 + - -0.14102244 + - -0.007902092 + - 0.052839957 + - 0.13383672 + - -0.060511496 + - 0.026409198 + - 0.028993977 + - -0.21109848 + - 0.14536767 + - -0.048431024 + - -0.029665016 + - -0.20839006 + - -0.19400613 + - -0.10231665 + - 0.21174955 + - -0.08378738 + - -0.17910917 + - 0.010067375 + - 0.07236822 + - 0.011755129 + - -0.0320302 + - 0.15655467 + - 0.07449418 + - 0.08755148 + - 0.21800777 + - -0.053238086 + - 0.043627366 + - 0.09673715 + - -0.2828422 + - 0.06620627 + - 0.099808216 + - 0.13585809 + - -0.10952027 + - -0.2456486 + - -0.06734763 + - -0.08365268 + - -0.00879998 + - -0.10703902 + - -0.14027363 + - -0.06721389 + - -0.00092566386 + - 0.11242788 + - 0.097831585 + - -0.009346729 + - -0.054585956 + - -0.17441456 + - -0.0031936523 + - 0.19735312 + - 0.036639534 + - -0.0436908 + - 0.21028006 + - -0.24568056 + - 0.0064084334 + - -0.018593056 + - -0.14134544 + - -0.08336035 + - -0.04050009 + - -0.13268827 + - -0.14245877 + - -0.040191896 + - 0.0492316 + - 0.021231871 + - 0.18571728 + - 0.030760288 + - -0.017946413 + - 0.014403064 + - -0.01882299 + - 0.19869871 + - 0.12561508 + - -0.051496465 + - -0.14635079 + - 0.18311931 + - 0.026763787 + - 0.13716294 + - 0.10282504 + - 0.21621376 + - 0.031364392 + - -0.039411336 + - 0.077637896 + - 0.086268604 + - 0.2097215 + - 0.009232157 + - 0.010834695 + - -0.024789542 + - 0.012997924 + - -0.19756629 + - 0.13490993 + - 0.06568665 + - 0.026274674 + - -0.030339679 + - 0.19056204 + - 0.06933397 + - -0.11443933 + - -0.083539784 + - -0.2637686 + - 0.13392077 + - 0.25417334 + - 0.16649355 + - -0.06342762 + - -0.1417161 + - -0.09888911 + - 0.04146059 + - 0.024229111 + - -0.10813081 + - -0.035810743 + - 0.15271495 + - -0.14070024 + - 0.073239595 + - 0.04532357 + - 0.08123757 + - 0.28000706 + - 0.10992405 + - 0.2512519 + - -0.18247277 + - 0.1733103 + - 0.059882 + - 0.025535006 + - 0.16570145 + - 0.31426495 + - -0.086397216 + - 0.018261403 + - -0.015880562 + - -0.095143706 + - -0.04764175 + - 0.114480205 + - 0.015228722 + - -0.22359093 + - -0.008395918 + - 0.4045463 + - -0.026248412 + - -0.0016123597 + - 0.0026083654 + - 0.12968367 + - -0.04194365 + - 0.15950689 + - 0.17712046 + - -0.000000000000000000000000000000012737996 + - 0.089412615 + - -0.10603499 + - 0.069971256 + - 0.1537131 + - 0.08375001 + - 0.0075506684 + - 0.008164106 + - 0.00009706279 + - -0.059308443 + - 0.046210427 + - 0.06307668 + - 0.07544799 + - -0.013471264 + - 0.048947588 + - 0.017189767 + - -0.07503986 + - -0.064986564 + - -0.04623988 + - 0.17466874 + - 0.015326883 + - -0.006160618 + - 0.116573766 + - -0.05582782 + - -0.120536745 + - -0.037854806 + - 0.08082837 + - 0.14193755 + - -0.11767628 + - -0.053145424 + - 0.09813563 + - -0.023762962 + - 0.122932605 + - -0.06183554 + - -0.30244768 + - -0.053950474 + - 0.1708365 + - -0.08948821 + - -0.054630965 + - -0.05801726 + - 0.050661806 + - -0.33371168 + - -0.20403634 + - 0.14362948 + - 0.032370128 + - -0.10913627 + - 0.038363036 + - 0.16223782 + - -0.21462081 + - 0.003890749 + - -0.37308612 + - -0.07598319 + - -0.09390862 + - -0.14541024 + - -0.011219093 + - 0.10655406 + - 0.05981803 + - -0.2544577 + - -0.0051008225 + - -0.106497765 + - 0.112351954 + - 0.22575727 + - 0.046641983 + - 0.061672132 + - 0.08544625 + - 0.17143393 + - 0.18675762 + - 0.07798463 + - -0.08616705 + - 0.031220369 + - -0.12023964 + - 0.24005303 + - 0.1647744 + - 0.014556345 + - 0.11357348 + - 0.1221549 + - -0.14748423 + - -0.1378438 + - -0.14876232 + - 0.057176374 + - -0.04967194 + - -0.053611383 + - -0.06955277 + - 0.14195812 + - -0.028967243 + - -0.084419586 + - -0.10253978 + - 0.00030887313 + - -0.046865113 + - 0.10731158 + - 0.021738404 + - -0.0937269 + - 0.15814939 + - -0.0549189 + - -0.18193938 + - 0.26328725 + - 0.026548099 + - 0.06186671 + - 0.05999615 + - 0.02931362 + - 0.033682816 + - -0.13455649 + - -0.31578544 + - -0.26809636 + - 0.07028587 + - 0.1650772 + - 0.119040474 + - -0.17798845 + - 0.11918339 + - 0.0017626184 + - -0.09534768 + - -0.0760423 + - 0.015855331 + - 0.030370496 + - -0.016393647 + - -0.051726274 + - -0.20223777 + - 0.05704348 + - 0.065264866 + - -0.18166539 + - 0.110611536 + - -0.13850802 + - -0.092681006 + - -0.23469616 + - 0.08327341 + - -0.1402264 + - -0.19000529 + - -0.14506477 + - -0.09055831 + - 0.13498951 + - -0.3312012 + - -0.096904814 + - 0.084602125 + - 0.00000058464695 + - -0.14828165 + - 0.26357803 + - 0.07114583 + - -0.15667817 + - 0.11096846 + - 0.09670213 + - -0.049863327 + - -0.08330751 + - 0.12556082 + - -0.09108615 + - 0.06191024 + - 0.09453551 + - -0.14783727 + - -0.015763026 + - -0.078805596 + - -0.14568976 + - -0.15316994 + - 0.19461975 + - -0.108109295 + - 0.014803005 + - 0.014474355 + - 0.13505685 + - 0.020447124 + - -0.04726296 + - 0.14928228 + - -0.1588309 + - 0.10101085 + - 0.07546347 + - 0.18822443 + - -0.030287053 + - -0.00217532 + - 0.072573826 + - 0.07247881 + - 0.16291979 + - -0.0102506075 + - -0.04919537 + - -0.11686828 + - 0.08818571 + - 0.071251616 + - 0.047625817 + - 0.0049321093 + - 0.08887799 + - -0.008548211 + - -0.023090526 + - 0.3169742 + - -0.15728287 + - -0.17121355 + - -0.030387934 + - 0.12891978 + - -0.040258534 + - -0.10908512 + - 0.034231678 + - 0.016930873 + - -0.15393196 + - -0.0774111 + - -0.009508994 + - 0.12401702 + - 0.057620093 + - 0.18657097 + - 0.14283995 + - -0.16454358 + - -0.06268874 + - -0.18714187 + - -0.008794114 + - 0.049454868 + - 0.14536381 + - 0.0014856085 + - 0.00000000000000000000000000000000023386465 + - -0.022283621 + - -0.012463525 + - 0.072043456 + - -0.019247036 + - -0.14670372 + - -0.039640788 + - -0.072815835 + - 0.07458181 + - 0.1433007 + - 0.057272676 + - -0.038751613 +- - -0.008910274 + - -0.054565273 + - -0.12195712 + - 0.025669076 + - -0.036598563 + - 0.047402374 + - 0.03157418 + - -0.07253268 + - -0.011330459 + - 0.036170494 + - 0.19945763 + - -0.032298442 + - -0.09530462 + - 0.08609141 + - 0.15214017 + - -0.0035922443 + - 0.16655186 + - -0.17176719 + - 0.05585183 + - -0.18788157 + - -0.1689649 + - -0.13300738 + - -0.038565457 + - -0.021205848 + - 0.048419174 + - -0.105280116 + - -0.019491876 + - -0.02400672 + - -0.20176306 + - 0.03086565 + - 0.041808918 + - -0.13533463 + - 0.14058383 + - 0.17040005 + - 0.000006183513 + - 0.00042198598 + - 0.059436798 + - -0.015129127 + - -0.057977386 + - 0.03820453 + - 0.026016409 + - 0.12502223 + - 0.0048778574 + - 0.017117925 + - -0.12815404 + - -0.20866033 + - 0.16352588 + - -0.035879318 + - -0.04619617 + - 0.10124758 + - 0.08996484 + - -0.25029525 + - 0.14458522 + - -0.14981851 + - 0.115655184 + - -0.17653438 + - 0.12063606 + - -0.010719571 + - -0.043100502 + - -0.20731889 + - -0.12536375 + - 0.022562426 + - 0.07933127 + - 0.0144947115 + - 0.12373194 + - -0.10730533 + - 0.04138149 + - -0.14265649 + - 0.096669436 + - 0.08331527 + - -0.1186315 + - 0.06662379 + - -0.044793986 + - 0.07256485 + - -0.08844555 + - -0.17489207 + - 0.0052419687 + - 0.03704266 + - -0.008510234 + - 0.0023670122 + - -0.08577498 + - -0.035334166 + - 0.161576 + - 0.07096997 + - -0.06938943 + - 0.01525001 + - -0.1226988 + - -0.011252138 + - -0.08828943 + - -0.0439424 + - 0.09815787 + - -0.13514584 + - 0.12107032 + - 0.03903827 + - -0.13664848 + - 0.030541122 + - 0.10571483 + - -0.057925902 + - 0.039413728 + - -0.011397831 + - -0.11568802 + - -0.17692827 + - -0.10389672 + - 0.030040614 + - -0.08055263 + - 0.12390855 + - -0.15398581 + - 0.073183425 + - -0.014523465 + - 0.09414847 + - -0.014516532 + - 0.0071824547 + - -0.03977232 + - 0.124266066 + - -0.051951207 + - -0.13072273 + - 0.041591592 + - 0.009813938 + - -0.080812655 + - -0.09946684 + - -0.088276125 + - 0.1379223 + - -0.15743731 + - 0.12324898 + - -0.15189686 + - 0.11602777 + - -0.11919706 + - 0.03429476 + - 0.1304905 + - 0.032345228 + - 0.080057345 + - -0.04439579 + - 0.004834925 + - 0.03966265 + - 0.06934975 + - 0.21126169 + - 0.009278588 + - 0.04264958 + - -0.19617218 + - -0.07915654 + - 0.025053296 + - -0.10552977 + - 0.09166077 + - -0.20329188 + - -0.010927698 + - -0.16994412 + - 0.14040174 + - -0.18441966 + - -0.08548971 + - -0.04557322 + - -0.05976249 + - 0.072277114 + - -0.1685805 + - -0.19548663 + - 0.22707993 + - 0.045585565 + - 0.10375484 + - 0.022469832 + - -0.11270517 + - 0.049720768 + - 0.0423123 + - 0.07298611 + - -0.049896657 + - -0.12504788 + - 0.057052463 + - -0.013040323 + - -0.061254233 + - -0.06569108 + - -0.2132637 + - 0.01576071 + - 0.05894836 + - 0.12367457 + - -0.016164 + - 0.15405534 + - 0.23868626 + - 0.1909697 + - 0.1252487 + - 0.29457802 + - -0.07542831 + - -0.016792586 + - 0.050800513 + - -0.14487436 + - 0.02809057 + - 0.14386943 + - 0.15535554 + - 0.009607891 + - 0.1401624 + - 0.15708406 + - -0.14978062 + - -0.25596866 + - 0.076689176 + - -0.25307935 + - 0.0050894786 + - -0.046436813 + - 0.121041566 + - -0.054980315 + - 0.03493897 + - -0.2381958 + - -0.0730151 + - 0.13480294 + - 0.0061275186 + - -0.16455582 + - -0.031506684 + - 0.032118283 + - -0.06733416 + - -0.08245931 + - -0.058207694 + - -0.12321706 + - 0.0018203026 + - -0.032953974 + - 0.019783339 + - 0.20219558 + - -0.035005517 + - 0.06885209 + - -0.033442758 + - -0.11912495 + - 0.027240118 + - 0.23431505 + - -0.18192686 + - -0.05001629 + - -0.058236644 + - -0.0071809813 + - -0.06450544 + - -0.14490068 + - -0.062487017 + - -0.18027325 + - 0.12164335 + - 0.035046138 + - 0.037096027 + - 0.14920181 + - 0.10429064 + - 0.10423096 + - 0.13901462 + - 0.006310357 + - -0.1464091 + - -0.015410457 + - -0.027223527 + - 0.17491254 + - 0.005508053 + - -0.33206415 + - 0.0073049376 + - 0.17783158 + - 0.03131944 + - -0.11780935 + - 0.18924539 + - -0.10125908 + - -0.12117845 + - -0.09332779 + - -0.02411932 + - -0.14141358 + - -0.11153098 + - -0.12649187 + - 0.19372901 + - 0.1180507 + - -0.041599404 + - 0.07548996 + - 0.039891534 + - 0.04987625 + - -0.0726238 + - -0.101532444 + - 0.12701298 + - -0.06384063 + - 0.022536153 + - 0.020398814 + - 0.15552628 + - 0.07134856 + - 0.12867425 + - -0.0036186725 + - -0.014663361 + - -0.07088007 + - -0.011073742 + - 0.02048925 + - 0.018766273 + - 0.08290519 + - -0.11183471 + - -0.044170685 + - 0.015695289 + - -0.020585611 + - -0.1088114 + - 0.05761957 + - 0.028718425 + - 0.04825559 + - -0.12944582 + - -0.13534611 + - -0.013514761 + - 0.04603354 + - 0.029381126 + - 0.14746428 + - -0.13748378 + - -0.12741743 + - 0.031198096 + - 0.15485753 + - 0.026988454 + - -0.13510236 + - -0.033310596 + - -0.08801929 + - -0.052196156 + - 0.06250547 + - -0.05921222 + - -0.00161645 + - 0.08807348 + - 0.1346306 + - 0.09812433 + - 0.015137341 + - -0.06534323 + - -0.05293638 + - 0.04177037 + - 0.0030267246 + - -0.14261967 + - 0.23346569 + - 0.06489515 + - -0.04761603 + - 0.019166125 + - 0.05322725 + - -0.024990149 + - -0.1652978 + - -0.038109913 + - -0.06865469 + - 0.0104221925 + - 0.07853831 + - -0.059590586 + - -0.041712843 + - 0.25685474 + - 0.18575467 + - 0.083786756 + - -0.16845487 + - -0.09066576 + - 0.07617232 + - -0.07839133 + - 0.124103606 + - 0.07402859 + - -0.031393606 + - -0.13694578 + - 0.070161685 + - 0.029159693 + - -0.13564228 + - -0.08298673 + - 0.094934724 + - -0.10154206 + - -0.07144005 + - -0.002797841 + - 0.13236609 + - -0.063126996 + - 0.08257504 + - -0.052299272 + - -0.04669644 + - 0.089844555 + - -0.040215936 + - 0.0026708134 + - -0.053421747 + - -0.03243829 + - 0.26671308 + - 0.0992704 + - -0.05620777 + - -0.09723615 + - -0.038224984 + - -0.101751775 + - -0.062463112 + - 0.07321725 + - 0.012067419 + - 0.12956506 + - 0.07003863 + - 0.10337484 + - 0.11891955 + - -0.2790534 + - 0.08491489 + - 0.0046353326 + - 0.11855523 + - -0.025623254 + - 0.042283636 + - -0.14862944 + - -0.13218313 + - -0.19326995 + - 0.07766345 + - -0.09152194 + - -0.15843731 + - -0.009108083 + - 0.04853797 + - 0.04336735 + - 0.08677218 + - 0.12444542 + - -0.06110668 + - -0.111476906 + - -0.00095471786 + - -0.08332438 + - 0.07176633 + - -0.07123914 + - 0.17464143 + - 0.04949277 + - -0.0795075 + - -0.01317983 + - -0.12556948 + - -0.12150484 + - 0.17429346 + - -0.02797759 + - -0.06891987 + - 0.08516611 + - -0.13833198 + - 0.074759334 + - -0.08974743 + - 0.07585784 + - -0.04019625 + - -0.097725734 + - 0.08703019 + - -0.15731293 + - 0.06031183 + - 0.2891303 + - 0.05913639 + - -0.18258101 + - -0.017629437 + - 0.06967924 + - -0.005261101 + - 0.22040144 + - 0.040585224 + - 0.20042875 + - -0.11593357 + - -0.11605781 + - 0.017085362 + - 0.18554726 + - -0.10457015 + - 0.035882413 + - 0.0146886725 + - 0.12574339 + - -0.12264382 + - 0.22551814 + - 0.057903275 + - -0.11119679 + - 0.018587299 + - 0.008361823 + - -0.015286264 + - -0.13892357 + - -0.038242538 + - -0.09090763 + - 0.2518348 + - 0.021462135 + - -0.07717142 + - 0.0073208697 + - 0.056773543 + - 0.06668055 + - -0.039036233 + - 0.10475901 + - 0.046955436 + - -0.013402864 + - 0.17672601 + - 0.04054186 + - 0.16615596 + - -0.011493301 + - -0.10806451 + - 0.095892705 + - 0.054112464 + - 0.07922548 + - -0.14633825 + - -0.107641324 + - -0.063487336 + - 0.09458386 + - 0.016801387 + - -0.075485185 + - -0.12890828 + - 0.08762818 + - 0.016244391 + - 0.13347363 + - 0.06538721 + - 0.08797858 + - -0.057039198 + - -0.14861251 + - 0.08426265 + - 0.056293674 + - 0.009831687 + - 0.012851607 + - -0.011228284 + - -0.13627322 + - 0.030696731 + - -0.03371571 + - -0.093487464 + - 0.011716841 + - -0.14365645 + - -0.0021983003 + - -0.077436306 + - -0.045111917 + - 0.067353405 + - -0.040750258 + - 0.15898478 + - 0.13486984 + - -0.108416975 + - -0.023330042 + - 0.025353853 + - 0.1750494 + - 0.15973572 + - -0.06996034 + - -0.15988389 + - 0.18715163 + - 0.05415591 + - 0.19236375 + - -0.03404795 + - 0.2122934 + - -0.019138265 + - -0.13201842 + - 0.10573674 + - 0.11774129 + - 0.07327462 + - -0.12620734 + - 0.10063351 + - 0.0021428019 + - 0.083243065 + - -0.21587811 + - -0.047137044 + - 0.08463209 + - 0.019950485 + - -0.018845428 + - 0.019641023 + - -0.08672236 + - -0.06178731 + - -0.10864287 + - -0.2546639 + - 0.022070471 + - 0.3194406 + - 0.06664276 + - -0.11238105 + - -0.09296127 + - -0.07713151 + - -0.016009882 + - -0.04031401 + - -0.110283434 + - -0.07125233 + - 0.043865975 + - -0.0671642 + - 0.10387507 + - 0.14590879 + - 0.11077732 + - 0.16685443 + - 0.14835402 + - 0.13127694 + - 0.0003902472 + - 0.156434 + - -0.08338104 + - 0.11977878 + - 0.22023709 + - 0.19294892 + - -0.11098276 + - -0.015483508 + - 0.08496958 + - -0.10777412 + - -0.00065322965 + - 0.14930677 + - 0.11893313 + - -0.22008847 + - -0.032242898 + - 0.3072476 + - 0.008312458 + - 0.02993419 + - -0.059781257 + - 0.17893714 + - -0.007103207 + - -0.07353973 + - 0.17913996 + - -0.000000000000000000000000000000024026484 + - 0.0039214427 + - -0.022728844 + - -0.035731845 + - 0.13696113 + - -0.12849775 + - 0.046373155 + - 0.08427487 + - -0.16670573 + - -0.043358397 + - 0.038488083 + - 0.06612244 + - -0.048215043 + - 0.017686531 + - 0.1382427 + - 0.038064864 + - -0.13434054 + - 0.0004509422 + - 0.008300142 + - 0.17588644 + - 0.048306413 + - -0.11660727 + - 0.06342014 + - -0.1106079 + - 0.045894474 + - 0.070458084 + - -0.014584936 + - 0.0008840044 + - -0.114594705 + - -0.059375852 + - -0.051070213 + - -0.055369556 + - 0.020320931 + - -0.10086362 + - -0.1659918 + - -0.15259206 + - 0.26973587 + - -0.2027169 + - -0.0917392 + - -0.07261718 + - 0.029829284 + - -0.22790319 + - -0.17098425 + - 0.22584288 + - -0.0564033 + - 0.01734019 + - 0.06079967 + - 0.08089117 + - -0.08338457 + - -0.14140306 + - -0.18827999 + - -0.0014449093 + - 0.027207375 + - -0.24742615 + - -0.00023278221 + - -0.029790996 + - 0.063060045 + - -0.16862202 + - 0.037120566 + - -0.084945455 + - 0.07416934 + - 0.12796126 + - -0.045406375 + - 0.014949055 + - 0.13996276 + - 0.1137398 + - 0.20952289 + - 0.17017984 + - -0.09306656 + - 0.14263926 + - -0.039128102 + - 0.049717 + - 0.07322177 + - -0.007119404 + - 0.1822174 + - 0.15475264 + - 0.009140503 + - -0.192194 + - -0.023998134 + - 0.035811298 + - 0.10429328 + - -0.0917749 + - 0.08318548 + - 0.10504049 + - 0.019381043 + - -0.034521963 + - -0.19487971 + - 0.002262365 + - -0.010338312 + - 0.0030169627 + - -0.04142757 + - -0.12851727 + - 0.13556728 + - -0.07703697 + - -0.17818289 + - 0.13272686 + - 0.010864125 + - 0.1270166 + - 0.07761635 + - -0.013364129 + - 0.113226354 + - -0.02382505 + - -0.18267168 + - -0.21273462 + - 0.00572889 + - 0.15333776 + - 0.031236727 + - -0.047734812 + - 0.15318954 + - -0.0422639 + - -0.100510456 + - -0.04850572 + - -0.06502575 + - 0.119464554 + - -0.0062905718 + - 0.06745807 + - -0.22004497 + - 0.072222084 + - -0.009184012 + - 0.00319692 + - 0.080283396 + - -0.056641586 + - -0.0137076415 + - -0.07377067 + - 0.047799133 + - -0.059755508 + - -0.18530697 + - -0.15484875 + - -0.14945446 + - 0.065527506 + - -0.3102535 + - -0.008492329 + - 0.053917777 + - 0.00000071844124 + - -0.2758804 + - 0.13711764 + - 0.1000807 + - -0.18187042 + - 0.1994956 + - 0.11528443 + - -0.08407981 + - 0.003123043 + - 0.24605045 + - -0.12780957 + - -0.027485846 + - 0.10292874 + - -0.15744253 + - 0.0919667 + - -0.045241375 + - -0.15253225 + - -0.12053478 + - 0.17173854 + - -0.016056553 + - 0.08185807 + - -0.031852756 + - 0.14935157 + - 0.11312494 + - -0.10723662 + - 0.10331909 + - -0.24604844 + - 0.13225277 + - 0.17722017 + - 0.15100719 + - -0.15991843 + - 0.086162254 + - -0.034199767 + - 0.11815569 + - 0.026594251 + - -0.021302644 + - -0.069665894 + - -0.11310478 + - 0.14963722 + - 0.08888577 + - 0.011854559 + - 0.030062955 + - 0.012756174 + - 0.037534814 + - -0.011464726 + - 0.20886534 + - -0.22473544 + - -0.027539682 + - -0.04468487 + - 0.0014901168 + - -0.021486057 + - -0.024197256 + - -0.025673477 + - 0.08420412 + - -0.080005094 + - -0.036326874 + - -0.07087634 + - 0.11071267 + - 0.009464046 + - 0.056569714 + - 0.06133256 + - -0.19243565 + - 0.06080566 + - -0.13532643 + - -0.01693482 + - 0.064103566 + - 0.17706211 + - 0.028734889 + - 0.000000000000000000000000000000000007419987 + - -0.003631481 + - 0.057738245 + - 0.06747049 + - -0.12363014 + - -0.09443995 + - -0.099604435 + - -0.018160466 + - 0.062302742 + - -0.014145991 + - 0.029513303 + - -0.10671879 diff --git a/backends/candle/tests/snapshots/test_modernbert__mini_single_pooled.snap b/backends/candle/tests/snapshots/test_modernbert__mini_single_pooled.snap new file mode 100644 index 00000000..14b3c914 --- /dev/null +++ b/backends/candle/tests/snapshots/test_modernbert__mini_single_pooled.snap @@ -0,0 +1,772 @@ +--- +source: backends/candle/tests/test_modernbert.rs +expression: embeddings_single +--- +- - -0.021286005 + - -0.09353113 + - -0.14283837 + - 0.022934273 + - -0.028500587 + - 0.095609024 + - 0.00070146006 + - -0.110255316 + - 0.018443955 + - -0.0016491897 + - 0.18205285 + - -0.011736637 + - -0.116643414 + - 0.051004447 + - 0.15961954 + - 0.00902732 + - 0.13890456 + - -0.20026925 + - 0.066651404 + - -0.21122459 + - -0.14654595 + - -0.10961836 + - -0.023710817 + - 0.0034521054 + - 0.032206915 + - -0.16804647 + - -0.039991993 + - 0.0050881165 + - -0.23678355 + - -0.016211245 + - 0.06819264 + - -0.10674894 + - 0.097781934 + - 0.17925738 + - 0.0000061699134 + - -0.000022031367 + - 0.027469918 + - 0.004492916 + - -0.07869914 + - 0.019858934 + - -0.022118207 + - 0.15933776 + - -0.010839479 + - 0.03285962 + - -0.12126929 + - -0.25177756 + - 0.18791425 + - -0.020878278 + - -0.10295729 + - 0.09713832 + - 0.08511384 + - -0.26531634 + - 0.16451019 + - -0.15096757 + - 0.08414576 + - -0.14594111 + - 0.121605 + - 0.0589075 + - -0.069887206 + - -0.23495322 + - -0.08404344 + - 0.015921988 + - 0.04337343 + - -0.06004811 + - 0.07862546 + - -0.15011525 + - 0.07629426 + - -0.15861504 + - 0.07275523 + - 0.11175991 + - -0.1547071 + - 0.08795724 + - -0.061846744 + - 0.09983074 + - -0.105798446 + - -0.13760231 + - -0.018956253 + - 0.036056407 + - -0.017589573 + - -0.029680556 + - -0.06165267 + - -0.082435064 + - 0.14047071 + - 0.070780694 + - -0.051195834 + - -0.036292512 + - -0.11652742 + - -0.015289275 + - -0.06483871 + - -0.062037848 + - 0.12067972 + - -0.1014583 + - 0.12839948 + - 0.045939863 + - -0.08560161 + - 0.021248523 + - 0.1014214 + - -0.10141803 + - 0.0039834883 + - -0.032768667 + - -0.036861196 + - -0.15774737 + - -0.085186735 + - 0.012612204 + - -0.11755192 + - 0.13497034 + - -0.1697908 + - 0.08263815 + - -0.005661605 + - 0.09637846 + - -0.015788943 + - 0.0082601495 + - -0.037435263 + - 0.13614725 + - -0.15649034 + - -0.11848718 + - -0.006977251 + - 0.026885144 + - -0.11100542 + - -0.12409858 + - -0.104232304 + - 0.11753994 + - -0.123132326 + - 0.20530993 + - -0.15986635 + - 0.07967101 + - -0.08922962 + - 0.021127652 + - 0.11097858 + - 0.050263427 + - 0.070297666 + - -0.036078252 + - 0.001828949 + - 0.06652341 + - 0.07133193 + - 0.3071608 + - 0.04794929 + - 0.01387159 + - -0.20555131 + - -0.10883626 + - 0.06829371 + - -0.08012298 + - 0.020684214 + - -0.1476777 + - -0.02026328 + - -0.15341398 + - 0.14166863 + - -0.17306574 + - -0.07518389 + - -0.05826451 + - -0.050747756 + - 0.12625204 + - -0.15811773 + - -0.17011085 + - 0.25079814 + - 0.023179978 + - 0.11567086 + - 0.025122583 + - -0.104654774 + - 0.02684424 + - 0.051277623 + - 0.040597327 + - -0.051028114 + - -0.12442267 + - 0.036383837 + - -0.013471827 + - -0.10104215 + - -0.077168696 + - -0.11463488 + - 0.049370315 + - 0.04123476 + - 0.09355912 + - -0.055695474 + - 0.22378837 + - 0.26443803 + - 0.20048366 + - 0.099607274 + - 0.33051196 + - -0.10999335 + - -0.036271837 + - 0.07223277 + - -0.21923426 + - 0.010018221 + - 0.11703321 + - 0.08101828 + - -0.020999635 + - 0.13941291 + - 0.1638137 + - -0.13259926 + - -0.23363002 + - 0.101515405 + - -0.16785255 + - -0.012223834 + - -0.06303589 + - 0.11525367 + - -0.056009784 + - 0.0014734752 + - -0.19678445 + - -0.07512191 + - 0.13514483 + - -0.007063318 + - -0.19929421 + - -0.0003462718 + - 0.06295859 + - -0.08025368 + - -0.047088623 + - -0.06558345 + - -0.124427184 + - -0.036886703 + - -0.05048355 + - -0.038227446 + - 0.17467767 + - 0.012105241 + - 0.0886784 + - -0.0870392 + - -0.057629738 + - -0.010228584 + - 0.26593143 + - -0.16990624 + - -0.025660947 + - -0.039400633 + - -0.000031347387 + - -0.14527811 + - -0.11384389 + - -0.041437384 + - -0.16524856 + - 0.08730654 + - 0.010587539 + - 0.03518397 + - 0.12400702 + - 0.06930591 + - 0.049184605 + - 0.12816969 + - 0.010197577 + - -0.119073145 + - -0.025085267 + - 0.020842101 + - 0.15660563 + - 0.010166347 + - -0.2995258 + - 0.027060825 + - 0.20220216 + - 0.06545743 + - -0.13572058 + - 0.18707879 + - -0.06493996 + - -0.06912038 + - -0.12442277 + - -0.0071104183 + - -0.11454419 + - -0.07027994 + - -0.120579526 + - 0.20172916 + - 0.111913644 + - -0.06086434 + - 0.06994457 + - -0.03437047 + - 0.022748508 + - -0.052424535 + - -0.099889174 + - 0.1353283 + - -0.045956574 + - 0.026334343 + - 0.008227743 + - 0.15061125 + - 0.07368924 + - 0.1370508 + - -0.061466247 + - -0.024662904 + - -0.07258794 + - -0.039483383 + - 0.020429837 + - 0.012978649 + - 0.051124875 + - -0.10268914 + - -0.06806872 + - -0.013326201 + - -0.0107948035 + - -0.11619416 + - 0.10441078 + - 0.05182627 + - 0.008643372 + - -0.13383776 + - -0.09508872 + - 0.025273172 + - 0.11172622 + - 0.045063447 + - 0.16364515 + - -0.14580683 + - -0.121438906 + - 0.056660756 + - 0.14708476 + - 0.008135857 + - -0.1423482 + - -0.0709633 + - -0.038865663 + - -0.094005264 + - 0.046196625 + - -0.017066326 + - 0.012266853 + - 0.06863892 + - 0.10873689 + - 0.08574479 + - 0.039133765 + - -0.061704252 + - -0.08447483 + - 0.0038604531 + - 0.05060428 + - -0.14420089 + - 0.22836605 + - 0.09856494 + - -0.05784092 + - 0.0028312558 + - 0.10861235 + - 0.020231735 + - -0.13886198 + - 0.0066937413 + - -0.08942287 + - 0.019107707 + - 0.09280068 + - -0.06584206 + - -0.07449731 + - 0.24811861 + - 0.16751038 + - 0.056337126 + - -0.109274596 + - -0.10531018 + - 0.111291416 + - -0.14254245 + - 0.09784064 + - 0.07792227 + - -0.048798252 + - -0.11677484 + - 0.050697654 + - 0.03657412 + - -0.096183755 + - -0.08533624 + - 0.07464685 + - -0.082104735 + - -0.044737462 + - 0.012801208 + - 0.15800047 + - -0.08163997 + - 0.090234734 + - -0.04411688 + - -0.029195867 + - 0.12715207 + - -0.06509439 + - 0.026989982 + - -0.044863697 + - 0.015146686 + - 0.2287582 + - 0.0972649 + - -0.082741454 + - -0.107868254 + - -0.04140619 + - -0.065613225 + - -0.054583795 + - 0.0942094 + - -0.020386912 + - 0.1864616 + - 0.08645886 + - 0.08776363 + - 0.17444423 + - -0.30419284 + - 0.07807863 + - -0.013314357 + - 0.10092609 + - -0.0386813 + - -0.021286832 + - -0.10348201 + - -0.102628425 + - -0.1759432 + - 0.047177814 + - -0.115672894 + - -0.1578263 + - -0.032192603 + - 0.047057837 + - 0.047033932 + - 0.087896585 + - 0.1339316 + - 0.0066813882 + - -0.17498805 + - -0.038625065 + - -0.034559388 + - 0.03193552 + - -0.09421365 + - 0.1826392 + - 0.045434255 + - -0.11970099 + - -0.011512394 + - -0.122810625 + - -0.0902882 + - 0.18097341 + - -0.009285144 + - -0.06553249 + - 0.052696116 + - -0.14893506 + - 0.06796728 + - -0.067091055 + - 0.10008227 + - -0.045937214 + - -0.08400361 + - 0.11672326 + - -0.11677434 + - 0.079716004 + - 0.35084334 + - 0.048799276 + - -0.16989109 + - -0.011462104 + - 0.08980483 + - 0.00027390942 + - 0.25579864 + - 0.036189966 + - 0.20290478 + - -0.122604504 + - -0.09952138 + - 0.0296987 + - 0.21140371 + - -0.0523534 + - 0.062172342 + - 0.06799643 + - 0.1400754 + - -0.1367437 + - 0.20295642 + - 0.050522596 + - -0.13727006 + - 0.050066087 + - 0.020576857 + - -0.009721967 + - -0.09927418 + - -0.047586143 + - -0.112697765 + - 0.26976404 + - -0.0060093664 + - -0.096334964 + - -0.0051859412 + - 0.017683033 + - 0.05344224 + - -0.01970025 + - 0.11347701 + - 0.039314777 + - -0.06101013 + - 0.21138941 + - -0.005871149 + - 0.13937798 + - 0.031191826 + - -0.09684922 + - 0.09726688 + - 0.067632586 + - 0.027945787 + - -0.1979164 + - -0.14930849 + - -0.05493075 + - 0.06859496 + - 0.025391456 + - -0.09389238 + - -0.1776669 + - 0.072998375 + - 0.049020536 + - 0.13884094 + - 0.051849917 + - 0.08761824 + - -0.025452714 + - -0.1500796 + - 0.15440176 + - 0.07377041 + - 0.006271843 + - -0.020704255 + - 0.0441538 + - -0.15200455 + - 0.027797233 + - 0.001906984 + - -0.10233444 + - 0.0064852023 + - -0.11335297 + - -0.030850738 + - -0.04967273 + - -0.0835121 + - 0.072547026 + - -0.03955799 + - 0.21482448 + - 0.12972209 + - -0.121007904 + - 0.008031391 + - 0.025938021 + - 0.1547097 + - 0.13702025 + - -0.04779707 + - -0.15704034 + - 0.19171137 + - 0.063959695 + - 0.20358919 + - -0.08180566 + - 0.22717547 + - -0.04435998 + - -0.0784547 + - 0.1360732 + - 0.113286674 + - 0.045137722 + - -0.1047666 + - 0.10293155 + - 0.030258894 + - 0.111827895 + - -0.21169265 + - -0.052805293 + - 0.061786152 + - 0.055572722 + - -0.020860624 + - -0.016213097 + - -0.106458746 + - -0.05973799 + - -0.12208966 + - -0.24769877 + - 0.010554878 + - 0.33344516 + - 0.03433567 + - -0.088951044 + - -0.0780464 + - -0.03499785 + - -0.010789723 + - -0.018758427 + - -0.046739697 + - -0.06028159 + - 0.06284259 + - -0.056325145 + - 0.06357287 + - 0.13851047 + - 0.08679873 + - 0.19173492 + - 0.07690314 + - 0.13646808 + - 0.013759797 + - 0.13002038 + - -0.07580398 + - 0.16067527 + - 0.267882 + - 0.16588518 + - -0.1043766 + - -0.012628926 + - 0.12552014 + - -0.06861135 + - -0.039927725 + - 0.08390288 + - 0.12778099 + - -0.1994678 + - -0.013932912 + - 0.30645263 + - -0.006143924 + - 0.048365362 + - -0.06356606 + - 0.1688525 + - -0.0038595817 + - -0.041709162 + - 0.1806381 + - -0.000000000000000000000000000000024049101 + - 0.022060793 + - -0.060794167 + - -0.030683143 + - 0.10279894 + - -0.104777396 + - 0.04823611 + - 0.10916777 + - -0.15225092 + - -0.05883651 + - -0.010068244 + - 0.07793821 + - -0.04937675 + - 0.009976443 + - 0.116992705 + - 0.037898887 + - -0.13908756 + - -0.028773144 + - -0.007468741 + - 0.14892142 + - 0.10542132 + - -0.09524685 + - 0.085902825 + - -0.1021221 + - 0.08584438 + - 0.091078535 + - -0.014611665 + - -0.0042890604 + - -0.11245585 + - -0.060356893 + - -0.048356462 + - -0.039173886 + - -0.0021140815 + - -0.12935787 + - -0.1858942 + - -0.201709 + - 0.27759838 + - -0.16941327 + - -0.0734453 + - -0.08963395 + - 0.03300313 + - -0.18054774 + - -0.1025957 + - 0.18146382 + - -0.05036661 + - 0.018079646 + - 0.105768025 + - 0.08434043 + - -0.10067575 + - -0.12087558 + - -0.17231174 + - 0.018338919 + - 0.025704455 + - -0.27712747 + - -0.035254255 + - 0.010975186 + - 0.088232785 + - -0.14958385 + - 0.042220738 + - -0.075080425 + - 0.052082133 + - 0.16107184 + - -0.06350653 + - 0.005081064 + - 0.15192324 + - 0.0915509 + - 0.16088492 + - 0.23190181 + - -0.068185315 + - 0.12534665 + - -0.047030732 + - 0.005394183 + - 0.06836183 + - -0.05017802 + - 0.1612981 + - 0.1313195 + - 0.011767067 + - -0.2075366 + - 0.020853855 + - 0.013580145 + - 0.079470664 + - -0.09936569 + - 0.051926974 + - 0.047761686 + - 0.006339544 + - -0.009931402 + - -0.2736529 + - 0.01729016 + - -0.025119497 + - -0.041767035 + - -0.032105204 + - -0.118425265 + - 0.11605405 + - -0.091470584 + - -0.15410557 + - 0.14109369 + - 0.022076948 + - 0.12135679 + - 0.05122818 + - 0.019721588 + - 0.060555436 + - 0.019142073 + - -0.18846163 + - -0.21826693 + - 0.004335913 + - 0.16360843 + - -0.00945457 + - -0.07354968 + - 0.1403266 + - -0.06471707 + - -0.10407997 + - -0.037646595 + - -0.07592744 + - 0.06551249 + - -0.026983354 + - 0.05229394 + - -0.18709515 + - 0.08922802 + - -0.023758607 + - 0.03811175 + - 0.09198303 + - -0.09545379 + - -0.09647493 + - -0.08636732 + - 0.08638685 + - -0.061500255 + - -0.1676376 + - -0.20153067 + - -0.12655146 + - 0.0641327 + - -0.28437486 + - -0.004598747 + - 0.05340211 + - 0.00000071753277 + - -0.27538404 + - 0.15874086 + - 0.106200576 + - -0.16849892 + - 0.13539805 + - 0.18196909 + - -0.030740643 + - 0.0006044898 + - 0.21632569 + - -0.07012258 + - -0.017851865 + - 0.0952996 + - -0.12344618 + - 0.07441077 + - -0.04441322 + - -0.16081078 + - -0.11733122 + - 0.108105786 + - -0.011564154 + - 0.09380542 + - 0.0047498643 + - 0.14824612 + - 0.09713331 + - -0.068531655 + - 0.07961212 + - -0.2899495 + - 0.08600544 + - 0.1552742 + - 0.16438082 + - -0.18579735 + - 0.08106161 + - -0.059087016 + - 0.10469083 + - 0.035717748 + - 0.0013548724 + - -0.060897753 + - -0.13236442 + - 0.15563112 + - 0.033512086 + - 0.038318053 + - 0.03859649 + - -0.0013922509 + - 0.029156066 + - 0.00510542 + - 0.1768889 + - -0.19464372 + - 0.017885657 + - -0.06648297 + - -0.0044882065 + - -0.07049193 + - -0.010706077 + - -0.027052598 + - 0.091704376 + - -0.039604824 + - -0.061533634 + - -0.08838352 + - 0.10873712 + - -0.0062628984 + - 0.093532085 + - 0.094248876 + - -0.12494585 + - 0.043461982 + - -0.10461615 + - -0.06674005 + - 0.09323681 + - 0.18452352 + - 0.036188047 + - -0.000000000000000000000000000000000044937904 + - 0.0041475534 + - 0.05032192 + - 0.04162151 + - -0.081405364 + - -0.08249737 + - -0.096325405 + - 0.02365276 + - -0.005443423 + - -0.009432625 + - 0.021280486 + - -0.10069692 diff --git a/backends/candle/tests/snapshots/test_modernbert__mini_single_raw.snap b/backends/candle/tests/snapshots/test_modernbert__mini_single_raw.snap new file mode 100644 index 00000000..af72aaec --- /dev/null +++ b/backends/candle/tests/snapshots/test_modernbert__mini_single_raw.snap @@ -0,0 +1,5380 @@ +--- +source: backends/candle/tests/test_modernbert.rs +expression: embeddings_single +--- +- - -0.021286005 + - -0.09353113 + - -0.14283837 + - 0.022934273 + - -0.028500587 + - 0.095609024 + - 0.00070146006 + - -0.110255316 + - 0.018443955 + - -0.0016491897 + - 0.18205285 + - -0.011736637 + - -0.116643414 + - 0.051004447 + - 0.15961954 + - 0.00902732 + - 0.13890456 + - -0.20026925 + - 0.066651404 + - -0.21122459 + - -0.14654595 + - -0.10961836 + - -0.023710817 + - 0.0034521054 + - 0.032206915 + - -0.16804647 + - -0.039991993 + - 0.0050881165 + - -0.23678355 + - -0.016211245 + - 0.06819264 + - -0.10674894 + - 0.097781934 + - 0.17925738 + - 0.0000061699134 + - -0.000022031367 + - 0.027469918 + - 0.004492916 + - -0.07869914 + - 0.019858934 + - -0.022118207 + - 0.15933776 + - -0.010839479 + - 0.03285962 + - -0.12126929 + - -0.25177756 + - 0.18791425 + - -0.020878278 + - -0.10295729 + - 0.09713832 + - 0.08511384 + - -0.26531634 + - 0.16451019 + - -0.15096757 + - 0.08414576 + - -0.14594111 + - 0.121605 + - 0.0589075 + - -0.069887206 + - -0.23495322 + - -0.08404344 + - 0.015921988 + - 0.04337343 + - -0.06004811 + - 0.07862546 + - -0.15011525 + - 0.07629426 + - -0.15861504 + - 0.07275523 + - 0.11175991 + - -0.1547071 + - 0.08795724 + - -0.061846744 + - 0.09983074 + - -0.105798446 + - -0.13760231 + - -0.018956253 + - 0.036056407 + - -0.017589573 + - -0.029680556 + - -0.06165267 + - -0.082435064 + - 0.14047071 + - 0.070780694 + - -0.051195834 + - -0.036292512 + - -0.11652742 + - -0.015289275 + - -0.06483871 + - -0.062037848 + - 0.12067972 + - -0.1014583 + - 0.12839948 + - 0.045939863 + - -0.08560161 + - 0.021248523 + - 0.1014214 + - -0.10141803 + - 0.0039834883 + - -0.032768667 + - -0.036861196 + - -0.15774737 + - -0.085186735 + - 0.012612204 + - -0.11755192 + - 0.13497034 + - -0.1697908 + - 0.08263815 + - -0.005661605 + - 0.09637846 + - -0.015788943 + - 0.0082601495 + - -0.037435263 + - 0.13614725 + - -0.15649034 + - -0.11848718 + - -0.006977251 + - 0.026885144 + - -0.11100542 + - -0.12409858 + - -0.104232304 + - 0.11753994 + - -0.123132326 + - 0.20530993 + - -0.15986635 + - 0.07967101 + - -0.08922962 + - 0.021127652 + - 0.11097858 + - 0.050263427 + - 0.070297666 + - -0.036078252 + - 0.001828949 + - 0.06652341 + - 0.07133193 + - 0.3071608 + - 0.04794929 + - 0.01387159 + - -0.20555131 + - -0.10883626 + - 0.06829371 + - -0.08012298 + - 0.020684214 + - -0.1476777 + - -0.02026328 + - -0.15341398 + - 0.14166863 + - -0.17306574 + - -0.07518389 + - -0.05826451 + - -0.050747756 + - 0.12625204 + - -0.15811773 + - -0.17011085 + - 0.25079814 + - 0.023179978 + - 0.11567086 + - 0.025122583 + - -0.104654774 + - 0.02684424 + - 0.051277623 + - 0.040597327 + - -0.051028114 + - -0.12442267 + - 0.036383837 + - -0.013471827 + - -0.10104215 + - -0.077168696 + - -0.11463488 + - 0.049370315 + - 0.04123476 + - 0.09355912 + - -0.055695474 + - 0.22378837 + - 0.26443803 + - 0.20048366 + - 0.099607274 + - 0.33051196 + - -0.10999335 + - -0.036271837 + - 0.07223277 + - -0.21923426 + - 0.010018221 + - 0.11703321 + - 0.08101828 + - -0.020999635 + - 0.13941291 + - 0.1638137 + - -0.13259926 + - -0.23363002 + - 0.101515405 + - -0.16785255 + - -0.012223834 + - -0.06303589 + - 0.11525367 + - -0.056009784 + - 0.0014734752 + - -0.19678445 + - -0.07512191 + - 0.13514483 + - -0.007063318 + - -0.19929421 + - -0.0003462718 + - 0.06295859 + - -0.08025368 + - -0.047088623 + - -0.06558345 + - -0.124427184 + - -0.036886703 + - -0.05048355 + - -0.038227446 + - 0.17467767 + - 0.012105241 + - 0.0886784 + - -0.0870392 + - -0.057629738 + - -0.010228584 + - 0.26593143 + - -0.16990624 + - -0.025660947 + - -0.039400633 + - -0.000031347387 + - -0.14527811 + - -0.11384389 + - -0.041437384 + - -0.16524856 + - 0.08730654 + - 0.010587539 + - 0.03518397 + - 0.12400702 + - 0.06930591 + - 0.049184605 + - 0.12816969 + - 0.010197577 + - -0.119073145 + - -0.025085267 + - 0.020842101 + - 0.15660563 + - 0.010166347 + - -0.2995258 + - 0.027060825 + - 0.20220216 + - 0.06545743 + - -0.13572058 + - 0.18707879 + - -0.06493996 + - -0.06912038 + - -0.12442277 + - -0.0071104183 + - -0.11454419 + - -0.07027994 + - -0.120579526 + - 0.20172916 + - 0.111913644 + - -0.06086434 + - 0.06994457 + - -0.03437047 + - 0.022748508 + - -0.052424535 + - -0.099889174 + - 0.1353283 + - -0.045956574 + - 0.026334343 + - 0.008227743 + - 0.15061125 + - 0.07368924 + - 0.1370508 + - -0.061466247 + - -0.024662904 + - -0.07258794 + - -0.039483383 + - 0.020429837 + - 0.012978649 + - 0.051124875 + - -0.10268914 + - -0.06806872 + - -0.013326201 + - -0.0107948035 + - -0.11619416 + - 0.10441078 + - 0.05182627 + - 0.008643372 + - -0.13383776 + - -0.09508872 + - 0.025273172 + - 0.11172622 + - 0.045063447 + - 0.16364515 + - -0.14580683 + - -0.121438906 + - 0.056660756 + - 0.14708476 + - 0.008135857 + - -0.1423482 + - -0.0709633 + - -0.038865663 + - -0.094005264 + - 0.046196625 + - -0.017066326 + - 0.012266853 + - 0.06863892 + - 0.10873689 + - 0.08574479 + - 0.039133765 + - -0.061704252 + - -0.08447483 + - 0.0038604531 + - 0.05060428 + - -0.14420089 + - 0.22836605 + - 0.09856494 + - -0.05784092 + - 0.0028312558 + - 0.10861235 + - 0.020231735 + - -0.13886198 + - 0.0066937413 + - -0.08942287 + - 0.019107707 + - 0.09280068 + - -0.06584206 + - -0.07449731 + - 0.24811861 + - 0.16751038 + - 0.056337126 + - -0.109274596 + - -0.10531018 + - 0.111291416 + - -0.14254245 + - 0.09784064 + - 0.07792227 + - -0.048798252 + - -0.11677484 + - 0.050697654 + - 0.03657412 + - -0.096183755 + - -0.08533624 + - 0.07464685 + - -0.082104735 + - -0.044737462 + - 0.012801208 + - 0.15800047 + - -0.08163997 + - 0.090234734 + - -0.04411688 + - -0.029195867 + - 0.12715207 + - -0.06509439 + - 0.026989982 + - -0.044863697 + - 0.015146686 + - 0.2287582 + - 0.0972649 + - -0.082741454 + - -0.107868254 + - -0.04140619 + - -0.065613225 + - -0.054583795 + - 0.0942094 + - -0.020386912 + - 0.1864616 + - 0.08645886 + - 0.08776363 + - 0.17444423 + - -0.30419284 + - 0.07807863 + - -0.013314357 + - 0.10092609 + - -0.0386813 + - -0.021286832 + - -0.10348201 + - -0.102628425 + - -0.1759432 + - 0.047177814 + - -0.115672894 + - -0.1578263 + - -0.032192603 + - 0.047057837 + - 0.047033932 + - 0.087896585 + - 0.1339316 + - 0.0066813882 + - -0.17498805 + - -0.038625065 + - -0.034559388 + - 0.03193552 + - -0.09421365 + - 0.1826392 + - 0.045434255 + - -0.11970099 + - -0.011512394 + - -0.122810625 + - -0.0902882 + - 0.18097341 + - -0.009285144 + - -0.06553249 + - 0.052696116 + - -0.14893506 + - 0.06796728 + - -0.067091055 + - 0.10008227 + - -0.045937214 + - -0.08400361 + - 0.11672326 + - -0.11677434 + - 0.079716004 + - 0.35084334 + - 0.048799276 + - -0.16989109 + - -0.011462104 + - 0.08980483 + - 0.00027390942 + - 0.25579864 + - 0.036189966 + - 0.20290478 + - -0.122604504 + - -0.09952138 + - 0.0296987 + - 0.21140371 + - -0.0523534 + - 0.062172342 + - 0.06799643 + - 0.1400754 + - -0.1367437 + - 0.20295642 + - 0.050522596 + - -0.13727006 + - 0.050066087 + - 0.020576857 + - -0.009721967 + - -0.09927418 + - -0.047586143 + - -0.112697765 + - 0.26976404 + - -0.0060093664 + - -0.096334964 + - -0.0051859412 + - 0.017683033 + - 0.05344224 + - -0.01970025 + - 0.11347701 + - 0.039314777 + - -0.06101013 + - 0.21138941 + - -0.005871149 + - 0.13937798 + - 0.031191826 + - -0.09684922 + - 0.09726688 + - 0.067632586 + - 0.027945787 + - -0.1979164 + - -0.14930849 + - -0.05493075 + - 0.06859496 + - 0.025391456 + - -0.09389238 + - -0.1776669 + - 0.072998375 + - 0.049020536 + - 0.13884094 + - 0.051849917 + - 0.08761824 + - -0.025452714 + - -0.1500796 + - 0.15440176 + - 0.07377041 + - 0.006271843 + - -0.020704255 + - 0.0441538 + - -0.15200455 + - 0.027797233 + - 0.001906984 + - -0.10233444 + - 0.0064852023 + - -0.11335297 + - -0.030850738 + - -0.04967273 + - -0.0835121 + - 0.072547026 + - -0.03955799 + - 0.21482448 + - 0.12972209 + - -0.121007904 + - 0.008031391 + - 0.025938021 + - 0.1547097 + - 0.13702025 + - -0.04779707 + - -0.15704034 + - 0.19171137 + - 0.063959695 + - 0.20358919 + - -0.08180566 + - 0.22717547 + - -0.04435998 + - -0.0784547 + - 0.1360732 + - 0.113286674 + - 0.045137722 + - -0.1047666 + - 0.10293155 + - 0.030258894 + - 0.111827895 + - -0.21169265 + - -0.052805293 + - 0.061786152 + - 0.055572722 + - -0.020860624 + - -0.016213097 + - -0.106458746 + - -0.05973799 + - -0.12208966 + - -0.24769877 + - 0.010554878 + - 0.33344516 + - 0.03433567 + - -0.088951044 + - -0.0780464 + - -0.03499785 + - -0.010789723 + - -0.018758427 + - -0.046739697 + - -0.06028159 + - 0.06284259 + - -0.056325145 + - 0.06357287 + - 0.13851047 + - 0.08679873 + - 0.19173492 + - 0.07690314 + - 0.13646808 + - 0.013759797 + - 0.13002038 + - -0.07580398 + - 0.16067527 + - 0.267882 + - 0.16588518 + - -0.1043766 + - -0.012628926 + - 0.12552014 + - -0.06861135 + - -0.039927725 + - 0.08390288 + - 0.12778099 + - -0.1994678 + - -0.013932912 + - 0.30645263 + - -0.006143924 + - 0.048365362 + - -0.06356606 + - 0.1688525 + - -0.0038595817 + - -0.041709162 + - 0.1806381 + - -0.000000000000000000000000000000024049101 + - 0.022060793 + - -0.060794167 + - -0.030683143 + - 0.10279894 + - -0.104777396 + - 0.04823611 + - 0.10916777 + - -0.15225092 + - -0.05883651 + - -0.010068244 + - 0.07793821 + - -0.04937675 + - 0.009976443 + - 0.116992705 + - 0.037898887 + - -0.13908756 + - -0.028773144 + - -0.007468741 + - 0.14892142 + - 0.10542132 + - -0.09524685 + - 0.085902825 + - -0.1021221 + - 0.08584438 + - 0.091078535 + - -0.014611665 + - -0.0042890604 + - -0.11245585 + - -0.060356893 + - -0.048356462 + - -0.039173886 + - -0.0021140815 + - -0.12935787 + - -0.1858942 + - -0.201709 + - 0.27759838 + - -0.16941327 + - -0.0734453 + - -0.08963395 + - 0.03300313 + - -0.18054774 + - -0.1025957 + - 0.18146382 + - -0.05036661 + - 0.018079646 + - 0.105768025 + - 0.08434043 + - -0.10067575 + - -0.12087558 + - -0.17231174 + - 0.018338919 + - 0.025704455 + - -0.27712747 + - -0.035254255 + - 0.010975186 + - 0.088232785 + - -0.14958385 + - 0.042220738 + - -0.075080425 + - 0.052082133 + - 0.16107184 + - -0.06350653 + - 0.005081064 + - 0.15192324 + - 0.0915509 + - 0.16088492 + - 0.23190181 + - -0.068185315 + - 0.12534665 + - -0.047030732 + - 0.005394183 + - 0.06836183 + - -0.05017802 + - 0.1612981 + - 0.1313195 + - 0.011767067 + - -0.2075366 + - 0.020853855 + - 0.013580145 + - 0.079470664 + - -0.09936569 + - 0.051926974 + - 0.047761686 + - 0.006339544 + - -0.009931402 + - -0.2736529 + - 0.01729016 + - -0.025119497 + - -0.041767035 + - -0.032105204 + - -0.118425265 + - 0.11605405 + - -0.091470584 + - -0.15410557 + - 0.14109369 + - 0.022076948 + - 0.12135679 + - 0.05122818 + - 0.019721588 + - 0.060555436 + - 0.019142073 + - -0.18846163 + - -0.21826693 + - 0.004335913 + - 0.16360843 + - -0.00945457 + - -0.07354968 + - 0.1403266 + - -0.06471707 + - -0.10407997 + - -0.037646595 + - -0.07592744 + - 0.06551249 + - -0.026983354 + - 0.05229394 + - -0.18709515 + - 0.08922802 + - -0.023758607 + - 0.03811175 + - 0.09198303 + - -0.09545379 + - -0.09647493 + - -0.08636732 + - 0.08638685 + - -0.061500255 + - -0.1676376 + - -0.20153067 + - -0.12655146 + - 0.0641327 + - -0.28437486 + - -0.004598747 + - 0.05340211 + - 0.00000071753277 + - -0.27538404 + - 0.15874086 + - 0.106200576 + - -0.16849892 + - 0.13539805 + - 0.18196909 + - -0.030740643 + - 0.0006044898 + - 0.21632569 + - -0.07012258 + - -0.017851865 + - 0.0952996 + - -0.12344618 + - 0.07441077 + - -0.04441322 + - -0.16081078 + - -0.11733122 + - 0.108105786 + - -0.011564154 + - 0.09380542 + - 0.0047498643 + - 0.14824612 + - 0.09713331 + - -0.068531655 + - 0.07961212 + - -0.2899495 + - 0.08600544 + - 0.1552742 + - 0.16438082 + - -0.18579735 + - 0.08106161 + - -0.059087016 + - 0.10469083 + - 0.035717748 + - 0.0013548724 + - -0.060897753 + - -0.13236442 + - 0.15563112 + - 0.033512086 + - 0.038318053 + - 0.03859649 + - -0.0013922509 + - 0.029156066 + - 0.00510542 + - 0.1768889 + - -0.19464372 + - 0.017885657 + - -0.06648297 + - -0.0044882065 + - -0.07049193 + - -0.010706077 + - -0.027052598 + - 0.091704376 + - -0.039604824 + - -0.061533634 + - -0.08838352 + - 0.10873712 + - -0.0062628984 + - 0.093532085 + - 0.094248876 + - -0.12494585 + - 0.043461982 + - -0.10461615 + - -0.06674005 + - 0.09323681 + - 0.18452352 + - 0.036188047 + - -0.000000000000000000000000000000000044937904 + - 0.0041475534 + - 0.05032192 + - 0.04162151 + - -0.081405364 + - -0.08249737 + - -0.096325405 + - 0.02365276 + - -0.005443423 + - -0.009432625 + - 0.021280486 + - -0.10069692 +- - -0.10799823 + - -0.110868625 + - -0.13309936 + - -0.053711995 + - 0.09252415 + - 0.19637223 + - 0.027908985 + - 0.048544474 + - 0.045993462 + - -0.012369987 + - 0.08331826 + - 0.009211363 + - -0.0004010098 + - 0.1405398 + - 0.15441753 + - -0.17781782 + - 0.17639357 + - -0.31556857 + - 0.0049850307 + - -0.14650504 + - -0.17878881 + - -0.21268171 + - -0.0037084837 + - -0.044666693 + - -0.097765535 + - -0.12948418 + - -0.07211881 + - -0.02912782 + - -0.25030655 + - 0.008981086 + - 0.05746921 + - -0.22386551 + - 0.11289719 + - 0.30689976 + - 0.000004950059 + - -0.1374555 + - -0.08100824 + - 0.04896935 + - -0.04750669 + - 0.088821724 + - 0.048050366 + - 0.06599369 + - 0.11161302 + - 0.027954403 + - -0.112845615 + - -0.23885739 + - 0.22581203 + - 0.15371561 + - -0.042174757 + - 0.05524487 + - 0.079703 + - -0.27564016 + - 0.14122921 + - -0.058007322 + - 0.14104125 + - -0.06433563 + - 0.22804773 + - -0.013392298 + - -0.08338706 + - -0.1655384 + - -0.070510864 + - -0.0016396977 + - 0.05006371 + - 0.047455393 + - 0.12749875 + - -0.114411 + - 0.13641527 + - -0.10594693 + - -0.07072285 + - 0.16116142 + - -0.19188415 + - 0.13779505 + - -0.056605134 + - 0.15611696 + - -0.11727533 + - 0.0342308 + - -0.22621071 + - 0.022251604 + - -0.017198727 + - -0.05254466 + - -0.06036957 + - -0.14815012 + - 0.09688193 + - -0.09830504 + - -0.032146133 + - -0.02577388 + - -0.035678342 + - 0.031851538 + - -0.0026638564 + - -0.050508045 + - 0.13903657 + - -0.061837044 + - 0.114032194 + - 0.08575201 + - -0.08628577 + - -0.07960895 + - 0.0837818 + - -0.027200079 + - 0.15126444 + - -0.09838159 + - 0.10196871 + - -0.17766844 + - -0.045498285 + - 0.069644205 + - 0.01396464 + - 0.03782733 + - -0.18611586 + - 0.078990035 + - -0.043453872 + - 0.031087048 + - -0.12073149 + - -0.05825477 + - 0.022671312 + - 0.11345084 + - -0.103394374 + - -0.1230129 + - 0.030725382 + - 0.024655927 + - -0.10105073 + - -0.06348897 + - -0.19101168 + - 0.13014047 + - -0.056983657 + - 0.21576968 + - -0.20957144 + - -0.019261122 + - -0.074546136 + - -0.06444688 + - 0.09503394 + - 0.029506247 + - 0.06663427 + - 0.036079194 + - -0.032048937 + - 0.15546876 + - 0.0063767955 + - 0.38220963 + - -0.010974861 + - 0.05196792 + - -0.15046264 + - -0.042923737 + - 0.04713723 + - -0.105488986 + - 0.028012667 + - -0.14008933 + - -0.0868919 + - -0.09812279 + - -0.031142542 + - -0.1016042 + - -0.13629352 + - -0.16514216 + - -0.12546223 + - 0.13507114 + - -0.14994246 + - -0.10472631 + - 0.32624656 + - 0.07809861 + - 0.1500046 + - 0.105513304 + - -0.14056106 + - 0.04225891 + - 0.024450447 + - -0.04947477 + - -0.10375819 + - -0.12344137 + - 0.0207273 + - 0.031262975 + - -0.18797918 + - 0.08896526 + - -0.07283732 + - 0.043323323 + - -0.08567296 + - 0.0077078184 + - -0.07779006 + - 0.18319452 + - 0.103418395 + - 0.061771687 + - 0.136164 + - 0.41465366 + - -0.03713805 + - -0.00022455375 + - 0.0038793627 + - -0.15065423 + - -0.0073548686 + - 0.111751884 + - -0.026837057 + - -0.017241031 + - 0.08891417 + - -0.0056999456 + - -0.09966559 + - -0.25644347 + - 0.10719439 + - -0.13736862 + - 0.01886433 + - -0.0025103893 + - 0.07862428 + - -0.083147585 + - 0.050803162 + - -0.09143508 + - -0.093250416 + - 0.048656818 + - -0.077065356 + - -0.27620298 + - 0.080898225 + - 0.041192196 + - -0.06645301 + - -0.10672124 + - 0.033055503 + - -0.06318673 + - 0.046906017 + - -0.05548306 + - 0.0054386146 + - 0.14009216 + - -0.085725136 + - 0.14684585 + - -0.08164172 + - -0.1530718 + - 0.027220761 + - 0.24342348 + - -0.13607216 + - -0.17250054 + - -0.12120971 + - -0.022305349 + - -0.2554511 + - -0.10466451 + - -0.12370565 + - -0.15959759 + - 0.063920036 + - -0.079980984 + - 0.018296327 + - 0.046454247 + - 0.07008222 + - 0.016538369 + - 0.06841044 + - 0.077749394 + - -0.18349038 + - -0.120979756 + - 0.112706274 + - 0.20882985 + - -0.023484264 + - -0.1831401 + - 0.13461995 + - 0.20760913 + - 0.14543888 + - -0.10313477 + - 0.19776855 + - 0.051391095 + - 0.10793148 + - -0.10895006 + - -0.08998209 + - -0.12267661 + - -0.015478319 + - -0.08187701 + - 0.2701688 + - 0.1327676 + - -0.049703475 + - -0.044803184 + - 0.026296476 + - -0.046516232 + - -0.039798018 + - -0.034383215 + - 0.098852195 + - -0.043977384 + - 0.13516952 + - -0.0134598985 + - -0.04038923 + - 0.04022971 + - 0.12327914 + - -0.03504625 + - 0.0814528 + - -0.029547915 + - -0.031680662 + - -0.10093402 + - -0.011438351 + - 0.045640644 + - -0.17869441 + - -0.028312022 + - 0.0050861984 + - 0.042707454 + - -0.17387958 + - 0.09928725 + - 0.20752287 + - -0.17892635 + - -0.088817574 + - -0.10695805 + - -0.0007790625 + - 0.047391184 + - 0.09241663 + - 0.14726216 + - -0.106130034 + - -0.03778518 + - 0.04718892 + - 0.02276012 + - 0.017115414 + - -0.076457575 + - 0.0035841991 + - -0.06493629 + - -0.07195947 + - 0.08162395 + - -0.035487335 + - 0.029213013 + - 0.14087538 + - 0.012017021 + - 0.077777065 + - 0.07281674 + - -0.067395516 + - 0.007868507 + - -0.01945678 + - 0.059707433 + - -0.102337405 + - 0.14369537 + - 0.12881258 + - -0.11295614 + - 0.0021918353 + - 0.19788772 + - 0.09635412 + - -0.19619367 + - -0.029992077 + - -0.10859084 + - -0.044863544 + - 0.063251734 + - -0.0675518 + - -0.16206399 + - 0.2833614 + - 0.1695748 + - 0.08204391 + - -0.16309825 + - -0.10057145 + - 0.08981705 + - -0.055571377 + - 0.08936338 + - -0.05401575 + - 0.0791057 + - -0.08818286 + - 0.09930885 + - 0.0030507469 + - -0.021519722 + - -0.09160772 + - 0.012116462 + - -0.2677883 + - -0.09983217 + - 0.030339457 + - 0.07148082 + - -0.01811923 + - 0.16836062 + - -0.12416272 + - 0.0070253424 + - 0.12187243 + - -0.16871636 + - -0.023327183 + - -0.14071819 + - 0.08067744 + - 0.23431973 + - 0.07153982 + - -0.06872965 + - -0.0829383 + - -0.18259872 + - 0.051392786 + - -0.0569809 + - 0.17633715 + - -0.041102577 + - 0.31623274 + - 0.017946891 + - 0.09238699 + - 0.20344746 + - -0.2732953 + - 0.1007569 + - 0.08871734 + - 0.064150795 + - -0.18301372 + - 0.16803135 + - -0.059404403 + - -0.047836486 + - -0.16752963 + - 0.018933017 + - -0.05863818 + - -0.13712245 + - -0.022973152 + - -0.032359056 + - -0.08341267 + - 0.1816025 + - 0.1722355 + - -0.028164798 + - -0.095828675 + - -0.0035080076 + - -0.07837741 + - -0.041941337 + - -0.08475702 + - 0.18872333 + - 0.08679564 + - -0.04722827 + - -0.04130071 + - -0.11607868 + - -0.09033025 + - 0.07007385 + - -0.08207178 + - 0.13768882 + - 0.16710871 + - -0.12913966 + - 0.035273742 + - -0.025849449 + - 0.09016315 + - -0.050518733 + - -0.050375354 + - 0.1075794 + - 0.0033560246 + - 0.009266609 + - 0.45030838 + - 0.029525228 + - -0.28630352 + - 0.0018245438 + - 0.010215463 + - -0.038437065 + - 0.17125887 + - 0.15871471 + - 0.22900464 + - -0.1691749 + - -0.08394137 + - 0.069616355 + - 0.1667415 + - -0.04110583 + - 0.05425444 + - 0.05884876 + - 0.21483277 + - -0.04028122 + - 0.21428563 + - 0.029021999 + - -0.16978492 + - 0.18041384 + - -0.022090118 + - 0.03719058 + - -0.17604424 + - -0.087009296 + - -0.12230888 + - 0.20236021 + - 0.008089952 + - -0.1428684 + - 0.12286945 + - -0.021464039 + - 0.08763049 + - 0.0663078 + - 0.14921746 + - -0.0033772364 + - -0.055531017 + - 0.17154711 + - -0.12364308 + - 0.17760429 + - 0.012338539 + - -0.24169621 + - 0.16602455 + - 0.1656131 + - -0.010670698 + - -0.082303695 + - -0.32573172 + - 0.020696439 + - -0.030947182 + - -0.024092667 + - -0.22086047 + - -0.08999819 + - 0.034684703 + - 0.017237486 + - 0.14792648 + - 0.08237161 + - -0.0024002325 + - 0.064876124 + - -0.13661455 + - 0.25440463 + - 0.15427329 + - 0.053794943 + - -0.020685092 + - 0.19254307 + - -0.32732 + - -0.025106752 + - 0.0026109843 + - -0.16365328 + - -0.08410578 + - -0.13664804 + - -0.17409177 + - -0.039410785 + - -0.054472663 + - 0.16719161 + - -0.0012047673 + - 0.27916643 + - -0.028690502 + - -0.038334563 + - 0.06861436 + - -0.059356906 + - 0.15640385 + - 0.08132113 + - -0.023323148 + - -0.1484422 + - 0.13932176 + - 0.064986795 + - 0.20722318 + - 0.045264553 + - 0.27276796 + - -0.13086966 + - -0.18885344 + - 0.14888479 + - 0.1438649 + - 0.02730155 + - -0.11142823 + - 0.11749332 + - 0.049980402 + - 0.06878912 + - -0.31197414 + - -0.028017594 + - 0.017128916 + - 0.028776914 + - 0.0817866 + - 0.13837025 + - 0.038232666 + - -0.031475384 + - -0.10286287 + - -0.27766278 + - 0.055045664 + - 0.20979623 + - 0.006360056 + - 0.09236548 + - -0.13504566 + - -0.0055568833 + - -0.002654031 + - 0.011092028 + - -0.09333741 + - -0.032531407 + - 0.08509652 + - -0.07032103 + - 0.03033667 + - 0.050490383 + - 0.057999074 + - 0.25441167 + - -0.0011295745 + - 0.27964458 + - -0.20964883 + - 0.11030736 + - -0.07163585 + - 0.0709343 + - 0.3195345 + - 0.2864907 + - -0.075162746 + - 0.049132176 + - 0.041174937 + - -0.044077575 + - 0.051195312 + - 0.09862471 + - 0.0453086 + - -0.21649162 + - -0.014368987 + - 0.35050014 + - -0.0452815 + - 0.10708438 + - -0.034933075 + - 0.15364355 + - -0.06454251 + - 0.06259847 + - 0.22177944 + - -0.000000000000000000000000000000014756233 + - 0.07979086 + - -0.20566893 + - 0.01094819 + - 0.1463401 + - -0.10996471 + - -0.00380525 + - 0.09675536 + - -0.08641938 + - 0.03761805 + - -0.04390634 + - 0.057393752 + - 0.0779986 + - -0.027418483 + - 0.05840317 + - -0.023008984 + - -0.005424915 + - -0.046644825 + - -0.03838797 + - 0.092406064 + - 0.14314826 + - 0.010427436 + - 0.1354198 + - -0.14378189 + - -0.0724737 + - 0.036328323 + - 0.09597351 + - 0.11342456 + - -0.01114542 + - -0.08399835 + - -0.02676914 + - -0.049102552 + - 0.057437886 + - -0.13442227 + - -0.35035652 + - -0.19126654 + - 0.23319682 + - -0.08245511 + - -0.053949818 + - -0.05556394 + - 0.05151644 + - -0.27746135 + - -0.015750168 + - 0.1606827 + - -0.05755972 + - 0.046916448 + - -0.019855285 + - 0.07900085 + - -0.19427735 + - -0.038628813 + - -0.19407594 + - 0.00447778 + - -0.091410354 + - -0.2783633 + - -0.06249355 + - 0.18873534 + - 0.040663727 + - -0.06739264 + - 0.020671925 + - 0.017564557 + - 0.06365835 + - 0.0853496 + - -0.030807957 + - 0.049396675 + - 0.19820489 + - 0.056788832 + - 0.1962114 + - 0.23654298 + - -0.14256309 + - -0.006832249 + - -0.081411615 + - 0.069114484 + - 0.062197927 + - -0.04952363 + - 0.1495194 + - 0.04067258 + - -0.12261911 + - -0.21528189 + - -0.0065208487 + - -0.029129244 + - -0.050170615 + - -0.11237696 + - -0.043611612 + - 0.093104035 + - -0.019031974 + - 0.009810597 + - -0.2634692 + - 0.057260193 + - -0.02504334 + - 0.011827032 + - -0.005626276 + - -0.15349402 + - -0.060672693 + - -0.09238996 + - -0.19298364 + - 0.26809248 + - 0.029227152 + - 0.13280673 + - 0.027983893 + - 0.050637417 + - -0.00020468794 + - -0.10450564 + - -0.27983743 + - -0.32668078 + - -0.014820901 + - 0.086044624 + - 0.0088234 + - -0.15958284 + - 0.14094462 + - -0.03553732 + - 0.020608397 + - 0.09401406 + - -0.013918268 + - 0.039075322 + - -0.09769899 + - -0.02676645 + - -0.18860085 + - 0.061738867 + - -0.048649028 + - -0.050627034 + - 0.09419624 + - -0.15907629 + - -0.110327795 + - -0.24598123 + - 0.18071057 + - -0.06763263 + - -0.122904144 + - -0.11052109 + - -0.013838656 + - 0.1315886 + - -0.19464862 + - -0.059879743 + - 0.046577644 + - 0.000000648645 + - -0.104615614 + - 0.2584634 + - 0.08929531 + - -0.118575945 + - 0.073398404 + - 0.22456825 + - -0.032101832 + - -0.031783298 + - 0.12323922 + - -0.09973917 + - 0.016574109 + - 0.113564506 + - -0.19553733 + - 0.08103373 + - -0.14115307 + - -0.16759016 + - -0.16703865 + - 0.088595964 + - -0.14232151 + - 0.036807206 + - 0.041805953 + - 0.16436905 + - 0.02303933 + - 0.039268672 + - 0.08892857 + - -0.25752288 + - 0.07243598 + - 0.042764284 + - 0.24866135 + - -0.0021913438 + - 0.109198175 + - 0.0038250415 + - 0.14511564 + - 0.15679452 + - -0.038802374 + - -0.04541547 + - -0.0144148525 + - 0.090589486 + - 0.11434057 + - 0.1638251 + - 0.086225934 + - 0.13537788 + - 0.03551242 + - -0.058325086 + - 0.1702957 + - -0.10261527 + - -0.0074776392 + - -0.020171348 + - 0.025449794 + - -0.08708627 + - -0.028370066 + - 0.115666054 + - 0.08619417 + - -0.044106796 + - -0.13728578 + - -0.013956109 + - 0.15042245 + - -0.023052666 + - -0.0017636344 + - 0.09871534 + - -0.07624596 + - 0.022599827 + - -0.14971559 + - -0.19483386 + - 0.045037676 + - 0.063452914 + - -0.019203331 + - 0.00000000000000000000000000000000027589197 + - 0.08516987 + - -0.06411102 + - -0.07186764 + - -0.06607136 + - -0.16235659 + - -0.17079985 + - 0.11033824 + - 0.02153683 + - 0.14443184 + - 0.07918416 + - -0.050476182 +- - -0.13918993 + - -0.28934526 + - -0.1537206 + - -0.12627546 + - 0.014480632 + - 0.19883461 + - 0.06272186 + - 0.07539598 + - 0.036204644 + - -0.0018815622 + - 0.08325514 + - -0.013067629 + - 0.022139546 + - 0.035557054 + - 0.15296657 + - -0.14296496 + - 0.17824021 + - -0.3149923 + - -0.010739561 + - -0.18856531 + - -0.20118485 + - -0.2196617 + - -0.05562989 + - -0.0075606257 + - -0.052962285 + - -0.14591417 + - -0.037620123 + - -0.07627886 + - -0.22072867 + - -0.025321223 + - 0.046210952 + - -0.18570684 + - 0.1401769 + - 0.30187336 + - 0.0000042752254 + - -0.1638127 + - -0.05851763 + - 0.008632027 + - -0.029961193 + - 0.08758034 + - 0.0661204 + - 0.15372175 + - 0.10850115 + - 0.043525435 + - -0.1140172 + - -0.20904814 + - 0.251141 + - 0.07668424 + - -0.039879248 + - 0.04524945 + - 0.07680282 + - -0.24824539 + - 0.18718323 + - -0.031647615 + - 0.053258166 + - -0.058945842 + - 0.17974594 + - 0.028230827 + - -0.04908361 + - -0.16985692 + - -0.111606166 + - 0.029414859 + - 0.06689905 + - 0.07866159 + - 0.059344895 + - -0.05508895 + - 0.076921165 + - -0.134966 + - -0.11261879 + - 0.16215418 + - -0.17592362 + - 0.09767575 + - -0.04038521 + - 0.15838161 + - -0.0989439 + - 0.087555066 + - -0.15214622 + - -0.0078052413 + - 0.02082257 + - -0.04221399 + - -0.10371 + - -0.16442361 + - 0.09023272 + - -0.09191886 + - 0.042063043 + - 0.022919822 + - -0.06257737 + - 0.07049596 + - -0.08299406 + - -0.03525583 + - 0.17028221 + - -0.011172149 + - 0.07981295 + - 0.074353896 + - -0.06307871 + - -0.11400215 + - 0.06236442 + - -0.052138105 + - 0.1413667 + - -0.071751274 + - 0.092920974 + - -0.19444716 + - -0.06850676 + - 0.09197753 + - -0.030387742 + - 0.097573705 + - -0.26310006 + - 0.05966398 + - -0.045989975 + - 0.05710722 + - -0.13255925 + - -0.10437037 + - 0.03872913 + - 0.041229744 + - -0.08902084 + - -0.1371382 + - 0.004096289 + - -0.00090133026 + - -0.12817158 + - -0.09522477 + - -0.242513 + - 0.11047135 + - 0.0014780778 + - 0.24199289 + - -0.22249246 + - -0.051734116 + - -0.017802296 + - 0.0048021716 + - 0.12419864 + - 0.09758754 + - 0.10468421 + - 0.0031956835 + - -0.029717613 + - 0.15697859 + - 0.036592 + - 0.31638327 + - 0.030060334 + - 0.054131903 + - -0.23956688 + - -0.0106036225 + - -0.008864147 + - -0.08388988 + - 0.092144646 + - -0.1091123 + - -0.07322972 + - -0.0573322 + - -0.0013708868 + - -0.12004462 + - -0.082619585 + - -0.09308591 + - -0.16374007 + - 0.107360505 + - -0.11879135 + - -0.09742222 + - 0.3481779 + - 0.054701533 + - 0.16213694 + - 0.22065514 + - -0.15638302 + - -0.0057649277 + - 0.009612047 + - 0.0022010058 + - -0.048484292 + - -0.07274556 + - 0.050011773 + - -0.015397802 + - -0.16620384 + - 0.04622368 + - -0.13239658 + - 0.036261704 + - -0.10451646 + - 0.036952935 + - -0.09666286 + - 0.14132562 + - 0.17542954 + - 0.042089615 + - 0.16205612 + - 0.43074158 + - -0.080295675 + - 0.009236054 + - 0.12280981 + - -0.08401251 + - 0.017592719 + - 0.1696917 + - -0.016763425 + - 0.026517475 + - 0.12428788 + - -0.012654392 + - -0.08544204 + - -0.2789791 + - 0.1161873 + - -0.17621948 + - 0.038868558 + - 0.02101383 + - 0.057302706 + - -0.03151373 + - 0.047175996 + - -0.16388325 + - -0.0431558 + - 0.14924015 + - -0.06922892 + - -0.30740297 + - -0.047035314 + - 0.040323455 + - -0.06256635 + - -0.0692623 + - -0.018584784 + - -0.10745222 + - 0.014882404 + - -0.07360913 + - 0.0115298685 + - 0.13917845 + - -0.03713979 + - 0.09314342 + - -0.045958452 + - -0.1028539 + - 0.048640013 + - 0.24569893 + - -0.12663041 + - -0.1683566 + - -0.17461726 + - 0.01026408 + - -0.30259606 + - -0.14369595 + - -0.14182709 + - -0.23621498 + - 0.0962893 + - -0.02920878 + - 0.041510347 + - 0.08059204 + - 0.016893566 + - -0.039566696 + - 0.1004322 + - 0.019496117 + - -0.17426774 + - -0.054882232 + - 0.10650502 + - 0.37153322 + - -0.030887429 + - -0.21227345 + - 0.08190796 + - 0.14813167 + - 0.048351552 + - -0.0900938 + - 0.17296074 + - 0.054731637 + - 0.08309424 + - -0.09618434 + - -0.08973747 + - -0.16776803 + - -0.0046007726 + - -0.12667924 + - 0.2595584 + - 0.14046112 + - -0.09270576 + - 0.049695037 + - 0.049578406 + - -0.022117414 + - -0.03759898 + - -0.11301437 + - 0.16817395 + - -0.11507147 + - 0.14414662 + - -0.016565714 + - -0.016959298 + - 0.03191239 + - 0.06850354 + - -0.090753675 + - 0.04487338 + - -0.059369896 + - -0.016754353 + - -0.105897784 + - -0.06510049 + - 0.021745495 + - -0.20257163 + - -0.016465226 + - 0.047066413 + - 0.09783594 + - -0.18936622 + - 0.11870172 + - 0.1651735 + - -0.13160637 + - -0.06129882 + - -0.09739725 + - 0.0061422493 + - 0.07140064 + - 0.16674326 + - 0.13361995 + - -0.209522 + - -0.04834047 + - 0.10857215 + - 0.053242877 + - 0.040118475 + - -0.100858115 + - 0.02146939 + - -0.009715126 + - -0.049276765 + - 0.11353134 + - 0.05384249 + - 0.031182831 + - 0.13466066 + - 0.03533391 + - 0.108461194 + - 0.092267364 + - -0.09280584 + - -0.008299442 + - -0.047280308 + - 0.06886638 + - -0.16638088 + - 0.1456436 + - 0.14849503 + - -0.12822008 + - 0.011020019 + - 0.1279888 + - 0.05327022 + - -0.17946479 + - -0.025354952 + - -0.10268077 + - -0.04050833 + - 0.07780559 + - -0.1396792 + - -0.16337767 + - 0.22481216 + - 0.09492871 + - 0.05520113 + - -0.09722063 + - -0.10025198 + - 0.030270753 + - -0.08829714 + - 0.05019186 + - -0.003171172 + - 0.026221 + - -0.13833417 + - 0.059379164 + - 0.037647445 + - -0.0938998 + - -0.06393182 + - 0.047138378 + - -0.19011009 + - -0.15151218 + - 0.07128837 + - 0.101970024 + - -0.034325168 + - 0.15912153 + - -0.048745204 + - -0.006071546 + - 0.13224627 + - -0.154624 + - -0.092355855 + - -0.22078301 + - 0.05916514 + - 0.24705528 + - 0.0672745 + - -0.07432316 + - -0.109588064 + - -0.15575632 + - 0.02672901 + - -0.0775002 + - 0.18729974 + - -0.0122060515 + - 0.2928866 + - 0.085784346 + - 0.1574258 + - 0.16337891 + - -0.28740403 + - 0.1174568 + - 0.0237184 + - 0.032208845 + - -0.19229548 + - 0.16158332 + - -0.06822606 + - -0.06453419 + - -0.15494302 + - -0.016616292 + - -0.10084536 + - -0.16310212 + - -0.015668578 + - -0.011789552 + - -0.039308604 + - 0.1635286 + - 0.1295468 + - -0.036120437 + - -0.0894724 + - -0.004140891 + - -0.008174495 + - 0.079714455 + - -0.074006684 + - 0.20391583 + - 0.046748403 + - -0.10269231 + - -0.044557616 + - -0.1821007 + - -0.11909025 + - 0.08198652 + - -0.1330678 + - 0.10939874 + - 0.23688802 + - -0.2039905 + - 0.078379564 + - -0.026396977 + - 0.15159528 + - -0.071816 + - -0.023268078 + - 0.004670077 + - -0.03339373 + - 0.026192592 + - 0.5299936 + - 0.06033405 + - -0.31010178 + - -0.06680537 + - 0.012136594 + - 0.004733773 + - 0.19097736 + - 0.19014092 + - 0.23561859 + - -0.09832608 + - -0.04681699 + - 0.1313821 + - 0.122560754 + - -0.015295107 + - 0.053255215 + - 0.13204676 + - 0.15960163 + - -0.0890215 + - 0.1709865 + - 0.002004832 + - -0.18243614 + - 0.13932692 + - -0.04224033 + - 0.061839826 + - -0.1514087 + - -0.08724865 + - -0.0877766 + - 0.2532471 + - 0.009883855 + - -0.17114468 + - 0.07794329 + - -0.021756321 + - 0.03856678 + - 0.0838307 + - 0.20619793 + - -0.0095494315 + - -0.07357397 + - 0.1621506 + - -0.051019944 + - 0.12873048 + - 0.060828783 + - -0.22110225 + - 0.12488404 + - 0.17353994 + - 0.07904217 + - -0.121401235 + - -0.3581113 + - 0.042162895 + - -0.037442893 + - -0.036028333 + - -0.2286985 + - -0.117254846 + - -0.06514307 + - 0.006490171 + - 0.110366255 + - 0.107856244 + - 0.02327745 + - 0.060659647 + - -0.18269569 + - 0.2002695 + - 0.1635946 + - 0.04229372 + - -0.006935324 + - 0.23025951 + - -0.2508435 + - -0.0083690565 + - -0.004030865 + - -0.16125761 + - -0.04383424 + - -0.15811825 + - -0.20995452 + - -0.061265647 + - -0.081319466 + - 0.05327479 + - -0.0027354877 + - 0.34260076 + - -0.062080953 + - -0.034779888 + - 0.1158537 + - -0.06477953 + - 0.19513111 + - 0.044984534 + - -0.005394523 + - -0.20300233 + - 0.15119289 + - 0.11630909 + - 0.20540842 + - 0.09008794 + - 0.30730304 + - -0.14807563 + - -0.06752579 + - 0.15724884 + - 0.13251069 + - 0.055058002 + - -0.09607051 + - 0.10952712 + - 0.038738076 + - 0.06911712 + - -0.22080885 + - 0.050432257 + - -0.014392688 + - 0.011607673 + - 0.06648354 + - 0.13564368 + - 0.028079992 + - -0.037354447 + - -0.13184038 + - -0.21033014 + - 0.044794165 + - 0.25889653 + - 0.08181266 + - 0.01409744 + - -0.08519635 + - 0.013126818 + - -0.01378492 + - 0.06085168 + - -0.15775317 + - 0.003198605 + - 0.15302509 + - -0.10891126 + - 0.017694535 + - 0.12517567 + - 0.025157781 + - 0.21487516 + - 0.0647247 + - 0.2649549 + - -0.19150418 + - 0.054245457 + - -0.01642684 + - 0.016193047 + - 0.3152312 + - 0.25828072 + - -0.09884332 + - 0.013198621 + - 0.020335171 + - -0.0020772293 + - -0.009855356 + - 0.1988237 + - 0.18800454 + - -0.28878117 + - -0.053846482 + - 0.40169746 + - 0.021316264 + - 0.09662722 + - 0.038548186 + - 0.12018622 + - 0.0127167115 + - 0.08378368 + - 0.18490744 + - -0.000000000000000000000000000000013681749 + - 0.022264441 + - -0.18709862 + - 0.023869898 + - 0.19591397 + - -0.060994323 + - -0.007636726 + - 0.064233005 + - -0.06631314 + - -0.010503152 + - -0.024318852 + - 0.081830375 + - 0.038555715 + - -0.039316934 + - 0.07447609 + - -0.08229407 + - -0.06371407 + - -0.008152753 + - -0.019317038 + - 0.14384583 + - 0.14009961 + - -0.03777926 + - 0.12438261 + - -0.12701553 + - -0.00884296 + - 0.06506761 + - 0.082594484 + - 0.119668245 + - -0.01175639 + - -0.08670992 + - 0.01155047 + - -0.019820105 + - 0.15759689 + - -0.10533251 + - -0.37816453 + - -0.1460146 + - 0.26719117 + - -0.08041279 + - -0.076372735 + - -0.09895266 + - 0.019332387 + - -0.30959535 + - -0.072599724 + - 0.17204797 + - -0.08741356 + - -0.023776539 + - 0.010468199 + - 0.122641556 + - -0.22432417 + - -0.06507579 + - -0.3171371 + - 0.056066807 + - -0.1211191 + - -0.22911565 + - 0.0063126013 + - 0.19583231 + - 0.056208186 + - -0.15295987 + - 0.07443993 + - -0.00026695803 + - 0.0020822384 + - 0.11429491 + - -0.04287391 + - 0.02911226 + - 0.19062252 + - 0.059714995 + - 0.14753196 + - 0.23217103 + - -0.13505262 + - 0.0779168 + - -0.082738884 + - 0.10404664 + - 0.032446075 + - -0.055097178 + - 0.16057536 + - 0.07289362 + - -0.07596283 + - -0.17410015 + - -0.04253026 + - -0.008820239 + - -0.045540415 + - -0.110052824 + - -0.0009556608 + - 0.13543932 + - -0.07507704 + - -0.007338976 + - -0.30295804 + - 0.063798524 + - -0.027557375 + - 0.0515947 + - 0.03402984 + - -0.15452519 + - 0.00091184303 + - -0.070044294 + - -0.18843904 + - 0.2878306 + - 0.02786757 + - 0.1474183 + - 0.012342854 + - 0.06627545 + - 0.033249237 + - -0.17291136 + - -0.3300415 + - -0.31440637 + - 0.016439375 + - 0.12016728 + - -0.00603888 + - -0.1439794 + - 0.16959238 + - -0.010541078 + - 0.017046237 + - 0.011821457 + - 0.0082769245 + - 0.07320492 + - -0.07629184 + - 0.00003092084 + - -0.20858638 + - 0.08634951 + - -0.00853307 + - -0.101375446 + - 0.10514268 + - -0.14958912 + - -0.18288513 + - -0.2618882 + - 0.1535533 + - -0.09934435 + - -0.084355295 + - -0.12969932 + - -0.00747143 + - 0.07611573 + - -0.24734342 + - -0.07675616 + - 0.09463268 + - 0.0000005939488 + - -0.14987445 + - 0.28537053 + - 0.08565855 + - -0.15772209 + - 0.12254208 + - 0.2532722 + - -0.07760458 + - -0.09249179 + - 0.13688765 + - -0.15253353 + - 0.001824914 + - 0.1565535 + - -0.10303311 + - 0.03531202 + - -0.06444815 + - -0.17267431 + - -0.19515572 + - 0.16156384 + - -0.06543005 + - 0.022147773 + - 0.0028136056 + - 0.10787974 + - 0.034868315 + - 0.01078994 + - 0.038490362 + - -0.24715288 + - 0.07613679 + - 0.0035027575 + - 0.28907645 + - -0.07352606 + - 0.14299926 + - 0.09037909 + - 0.15305477 + - 0.12935942 + - -0.012501546 + - -0.08617197 + - -0.10323573 + - 0.054358527 + - 0.09398556 + - 0.13313143 + - 0.044853263 + - 0.14861381 + - 0.07135175 + - -0.07534653 + - 0.23690413 + - -0.18547821 + - -0.051459856 + - -0.13259959 + - 0.12064485 + - -0.14557101 + - 0.0037521645 + - 0.11196797 + - 0.0703419 + - -0.09002599 + - -0.0982191 + - -0.018097013 + - 0.14179334 + - 0.03605497 + - 0.039069008 + - 0.113758706 + - -0.100784175 + - 0.022386305 + - -0.093679 + - -0.0824748 + - -0.021857496 + - 0.13248582 + - -0.013184965 + - 0.00000000000000000000000000000000022410908 + - 0.06737528 + - -0.044047564 + - -0.08233316 + - -0.09761742 + - -0.09863738 + - -0.20442617 + - 0.062083572 + - 0.0029227925 + - 0.1905334 + - 0.040213063 + - -0.016800087 +- - -0.1604252 + - 0.13609111 + - -0.088046916 + - -0.001985046 + - -0.050699547 + - -0.0014737924 + - -0.05072126 + - -0.038606413 + - -0.021461496 + - 0.037496783 + - 0.11351667 + - -0.0017991867 + - 0.0102403 + - 0.1735431 + - 0.16446902 + - -0.028305434 + - 0.057583075 + - -0.035174407 + - 0.04142543 + - -0.1404664 + - -0.15990135 + - -0.23068248 + - -0.05017241 + - 0.029750131 + - -0.025711566 + - -0.19943112 + - -0.05874095 + - -0.09391305 + - -0.04768057 + - 0.17609408 + - 0.09414928 + - -0.08270378 + - 0.09090615 + - 0.15966937 + - 0.0000037523682 + - -0.1654142 + - 0.19601926 + - 0.058217995 + - 0.011636045 + - 0.034443058 + - -0.022745337 + - 0.055756107 + - 0.034363877 + - 0.0034260657 + - -0.21053037 + - -0.2085079 + - 0.1961066 + - 0.023022247 + - -0.13928998 + - 0.011271969 + - 0.058540497 + - -0.16391495 + - 0.11404263 + - -0.0925537 + - 0.07478323 + - -0.16116348 + - 0.15127821 + - -0.0447437 + - 0.02454215 + - -0.18725447 + - -0.020764831 + - 0.06380612 + - 0.12441543 + - 0.16196217 + - 0.12063929 + - 0.04885028 + - -0.069435835 + - -0.13454452 + - 0.0925149 + - 0.20938803 + - -0.4292779 + - -0.097000115 + - -0.09594607 + - -0.01001218 + - -0.12533055 + - -0.17917156 + - 0.03393626 + - -0.049260147 + - 0.16861433 + - -0.03159722 + - -0.026827486 + - -0.15117046 + - 0.15941237 + - -0.042853512 + - -0.03035117 + - -0.062615305 + - -0.094019055 + - 0.072006024 + - 0.029961426 + - -0.020409945 + - 0.053047456 + - -0.0968287 + - -0.08437842 + - 0.0696811 + - -0.05591031 + - -0.046877485 + - 0.071813025 + - 0.113651186 + - 0.045606747 + - 0.02569216 + - -0.13524759 + - -0.18076047 + - -0.2361142 + - 0.0064005116 + - 0.044587128 + - 0.21925993 + - -0.08174429 + - 0.08435557 + - -0.017537093 + - 0.014798354 + - -0.09763169 + - -0.1147544 + - -0.1607177 + - 0.13643543 + - 0.073532164 + - -0.020385168 + - -0.02475363 + - -0.08760737 + - -0.016913133 + - 0.013349659 + - -0.16752051 + - 0.053001843 + - 0.0037597343 + - 0.12205534 + - -0.2488653 + - -0.0026360229 + - -0.0975855 + - -0.023463733 + - 0.15412119 + - 0.025431965 + - 0.06459849 + - -0.09037094 + - 0.014967085 + - 0.24615468 + - 0.0019884799 + - 0.36871812 + - -0.029936716 + - 0.06810659 + - -0.2335491 + - -0.07260693 + - -0.14058661 + - -0.12571746 + - 0.17359962 + - -0.052309602 + - -0.1641028 + - -0.103089325 + - 0.039469726 + - -0.21246402 + - -0.0053642513 + - -0.03479121 + - 0.011493947 + - 0.17421055 + - -0.07535172 + - -0.07851907 + - 0.14132756 + - -0.012524598 + - 0.23288733 + - 0.26310155 + - -0.16571566 + - 0.024309281 + - 0.004595693 + - 0.12770742 + - -0.24879962 + - 0.008954618 + - -0.049634844 + - 0.018130586 + - -0.085998 + - -0.036414888 + - -0.33632636 + - 0.003395048 + - -0.13530666 + - 0.01684004 + - -0.02675438 + - -0.06681912 + - 0.19013956 + - 0.23080209 + - 0.12915733 + - 0.40273073 + - 0.06221135 + - 0.023238953 + - 0.03016084 + - 0.10026907 + - -0.04164893 + - 0.2257982 + - 0.17444895 + - 0.006547592 + - 0.2375448 + - -0.06028892 + - -0.049193814 + - -0.14854899 + - -0.046214323 + - -0.16307688 + - 0.079678744 + - -0.10150815 + - -0.014927192 + - 0.009083554 + - -0.051565696 + - -0.29761535 + - -0.15602043 + - 0.22927593 + - -0.17726937 + - -0.1428019 + - 0.013579881 + - 0.013547245 + - -0.0048958748 + - -0.1424288 + - 0.054047123 + - -0.081219256 + - 0.112259485 + - 0.09734705 + - 0.0051882844 + - 0.23815799 + - -0.00015798677 + - -0.021677356 + - 0.059906192 + - -0.022324657 + - 0.06317513 + - 0.19111347 + - -0.16130435 + - -0.06698162 + - -0.1209046 + - -0.062344912 + - -0.10942073 + - -0.15418088 + - -0.19658177 + - -0.13719095 + - 0.09453039 + - 0.04306151 + - -0.037689835 + - 0.10484736 + - -0.030601129 + - -0.0017866604 + - 0.11717509 + - -0.03229551 + - -0.23910893 + - -0.008709837 + - -0.019355193 + - 0.09694745 + - 0.05219712 + - -0.51355124 + - -0.02886064 + - 0.2428605 + - -0.018625923 + - 0.04178007 + - 0.17729615 + - 0.012316428 + - -0.057335023 + - -0.17406544 + - -0.066702396 + - -0.18806688 + - -0.015594028 + - -0.066401735 + - 0.18451756 + - -0.0074353684 + - -0.060005046 + - -0.06763001 + - 0.10416424 + - 0.038776647 + - -0.11754606 + - -0.22491553 + - 0.11733238 + - -0.042762652 + - -0.032572143 + - -0.017540235 + - 0.09243388 + - 0.12915537 + - 0.1944497 + - 0.09399532 + - -0.052242413 + - -0.13306668 + - 0.016543176 + - -0.06191908 + - 0.09835757 + - 0.047394145 + - -0.041012663 + - -0.06967146 + - 0.17297362 + - 0.057031933 + - -0.16072147 + - 0.053203344 + - 0.10941727 + - -0.056061637 + - -0.10386519 + - -0.036966722 + - 0.030897891 + - 0.041157156 + - 0.05411501 + - 0.109871335 + - -0.11383114 + - -0.08826078 + - 0.14238736 + - 0.11119097 + - -0.039978478 + - -0.18762264 + - 0.00012586125 + - -0.013398425 + - 0.026755806 + - 0.06550352 + - 0.011518098 + - -0.12703566 + - 0.1193361 + - -0.025511866 + - 0.0655696 + - 0.003099667 + - -0.09031807 + - -0.1072312 + - -0.07564478 + - 0.0012216358 + - -0.10505819 + - 0.20800702 + - 0.07576829 + - -0.1012061 + - 0.048190694 + - 0.031472657 + - -0.05725074 + - -0.3174068 + - 0.12989433 + - -0.16154335 + - -0.009197215 + - 0.23018564 + - -0.14103572 + - 0.01024539 + - 0.17839843 + - 0.14534506 + - 0.03963579 + - 0.029225279 + - -0.08066558 + - -0.039080262 + - -0.062292732 + - 0.06809659 + - -0.0063454094 + - -0.11520183 + - -0.03635685 + - 0.046149716 + - 0.09004813 + - -0.13951004 + - -0.10454183 + - 0.20278266 + - -0.12920354 + - -0.1864125 + - -0.038055677 + - 0.12742344 + - -0.050511427 + - 0.087557465 + - -0.05971879 + - 0.109058835 + - 0.22030151 + - 0.01931746 + - -0.15258718 + - -0.16290528 + - 0.12734309 + - 0.2031273 + - 0.11466522 + - -0.000006935501 + - -0.07035446 + - 0.09563394 + - -0.059321087 + - -0.034104273 + - 0.10838646 + - 0.0678623 + - 0.18469581 + - -0.037595194 + - 0.24645463 + - 0.09799296 + - -0.26412502 + - 0.24939105 + - -0.11708588 + - -0.03709273 + - -0.17468448 + - 0.040280942 + - -0.009310482 + - -0.15189831 + - -0.06959067 + - -0.051064048 + - -0.07299358 + - -0.00090407766 + - 0.065043464 + - 0.10533376 + - -0.13728999 + - 0.12720782 + - 0.04206384 + - -0.14766192 + - -0.18320467 + - -0.03423985 + - -0.04546375 + - 0.12177155 + - -0.118108325 + - 0.2304924 + - 0.056477316 + - -0.087963 + - 0.020748181 + - -0.20073831 + - -0.16743489 + - 0.11020664 + - -0.11366362 + - 0.1658314 + - 0.044470273 + - -0.22908117 + - 0.0592477 + - -0.12616593 + - 0.08447301 + - 0.023779925 + - -0.09009783 + - 0.08174646 + - -0.005637585 + - -0.0050584516 + - 0.3750294 + - 0.02168084 + - -0.25826964 + - -0.19115049 + - 0.019687427 + - 0.15831095 + - 0.17990932 + - 0.09904669 + - 0.17532851 + - -0.039752185 + - 0.04863175 + - 0.029793553 + - 0.08850191 + - -0.01592831 + - 0.21538942 + - 0.09732712 + - 0.09232605 + - -0.091231674 + - 0.10609922 + - 0.043832004 + - -0.10640623 + - 0.08489147 + - 0.04431653 + - 0.023893518 + - -0.15143631 + - -0.22157513 + - -0.11050336 + - 0.1986084 + - 0.06093728 + - -0.22391902 + - 0.014142846 + - 0.06885495 + - 0.09849708 + - -0.026863217 + - 0.14304173 + - 0.076973915 + - -0.56769407 + - 0.068780564 + - 0.011393113 + - 0.083705924 + - 0.17389144 + - -0.09296382 + - -0.0649436 + - 0.10102264 + - 0.18848872 + - -0.22794342 + - -0.1980791 + - 0.22418061 + - -0.15084109 + - -0.05869646 + - -0.15543489 + - -0.14013693 + - -0.085921936 + - -0.082529545 + - 0.06805109 + - 0.11077402 + - 0.1268141 + - -0.025759999 + - -0.18887122 + - 0.087002635 + - 0.088409044 + - 0.019075057 + - 0.008799266 + - 0.14075688 + - -0.12541755 + - 0.055423524 + - -0.0075538456 + - -0.14015447 + - -0.008787375 + - -0.17148098 + - -0.08783855 + - -0.014716504 + - -0.11856145 + - -0.06526465 + - 0.033766195 + - 0.35832804 + - 0.059388086 + - -0.14059094 + - 0.10855703 + - -0.030095669 + - 0.21720451 + - 0.073314905 + - -0.032731526 + - -0.16067661 + - 0.1679392 + - 0.0710777 + - 0.043400154 + - -0.01865819 + - 0.19516611 + - -0.10571844 + - 0.011376504 + - 0.26630217 + - 0.06102047 + - 0.0015256815 + - -0.074195 + - 0.07154043 + - -0.17808689 + - 0.07855365 + - -0.066502884 + - 0.040891405 + - -0.15360266 + - -0.038400024 + - 0.008419072 + - 0.11232594 + - -0.07825171 + - -0.015996547 + - -0.17991604 + - -0.5049186 + - 0.057419356 + - 0.5042876 + - 0.10655181 + - 0.029467769 + - 0.029370304 + - -0.04865489 + - 0.019493787 + - 0.089312665 + - -0.08889742 + - -0.12700476 + - 0.2072115 + - -0.14586627 + - 0.03591722 + - 0.029396981 + - 0.07089223 + - 0.18540342 + - 0.16841984 + - 0.19383268 + - -0.23919001 + - 0.17487612 + - -0.10670453 + - 0.3699415 + - 0.20554982 + - 0.3360114 + - -0.00211578 + - -0.0062531102 + - 0.13318782 + - 0.042299837 + - -0.022591282 + - 0.21573539 + - 0.20633076 + - -0.12068413 + - -0.056131534 + - 0.11783004 + - 0.106287085 + - -0.0071663745 + - 0.09280118 + - 0.015454187 + - 0.07208367 + - -0.025747975 + - 0.10033824 + - -0.000000000000000000000000000000013713392 + - 0.013944132 + - -0.07654248 + - 0.092849605 + - 0.24584456 + - -0.03181016 + - 0.066669956 + - -0.017198281 + - -0.10530462 + - 0.0062116743 + - 0.027922861 + - 0.097609125 + - 0.050841898 + - -0.016232688 + - 0.20561625 + - 0.00011033332 + - -0.16871035 + - -0.008334615 + - -0.047528327 + - 0.23204532 + - 0.13006495 + - -0.036949012 + - 0.04797119 + - -0.05414153 + - 0.1572214 + - -0.058532238 + - 0.04005173 + - 0.058657203 + - -0.03762678 + - -0.077547215 + - 0.03628941 + - -0.04232575 + - 0.09098175 + - -0.091589995 + - -0.31326088 + - -0.1341427 + - 0.20892066 + - -0.0876219 + - -0.08829888 + - -0.06109316 + - 0.008874761 + - -0.32534224 + - -0.15062615 + - 0.11961415 + - 0.08501181 + - 0.028596353 + - -0.1435614 + - 0.17803949 + - -0.07015467 + - -0.035641257 + - -0.48409817 + - 0.1750572 + - -0.020943759 + - -0.2172896 + - 0.22215575 + - 0.13692467 + - 0.05614651 + - -0.23825884 + - 0.0426597 + - -0.118801385 + - 0.071790144 + - 0.13846457 + - -0.035383575 + - -0.031353958 + - 0.017535353 + - 0.10815448 + - 0.16320917 + - 0.12439737 + - -0.37409076 + - -0.09227429 + - -0.16852394 + - 0.09624899 + - 0.14395395 + - -0.08071096 + - 0.24003762 + - 0.4158629 + - -0.02762894 + - -0.250193 + - 0.074508265 + - -0.019745603 + - -0.07329736 + - -0.06997734 + - -0.05530451 + - 0.13796145 + - -0.032568812 + - -0.025506506 + - -0.20485309 + - -0.06077178 + - -0.019952856 + - 0.092864215 + - -0.09165968 + - -0.099001765 + - 0.114508115 + - -0.02410335 + - -0.09898942 + - 0.37397614 + - 0.05107207 + - 0.026171206 + - 0.16527535 + - 0.0523237 + - 0.13473174 + - -0.16964449 + - -0.17827144 + - -0.19209479 + - 0.10672604 + - 0.14778891 + - 0.017917681 + - -0.115696564 + - 0.2823314 + - -0.044632476 + - -0.019546505 + - -0.0429974 + - 0.023230856 + - 0.023940228 + - 0.1087048 + - 0.14769658 + - -0.14757086 + - 0.037430294 + - 0.10151087 + - -0.21917719 + - 0.057499606 + - -0.124046266 + - -0.067563534 + - -0.08167868 + - 0.05006276 + - -0.09725629 + - -0.09966069 + - -0.1337331 + - -0.11532431 + - 0.13464594 + - -0.38920707 + - 0.033048492 + - 0.22859757 + - 0.0000005431597 + - -0.28594342 + - 0.21452601 + - 0.05994026 + - -0.08473271 + - 0.16790694 + - 0.097346365 + - -0.1859468 + - 0.013851713 + - 0.14540187 + - -0.2864298 + - 0.084233835 + - 0.05553878 + - -0.1102695 + - 0.013080144 + - 0.0037903525 + - -0.14850788 + - 0.033950657 + - 0.18054155 + - 0.047004506 + - 0.020254284 + - -0.12408017 + - 0.08635384 + - 0.04478557 + - 0.08798403 + - 0.042283304 + - -0.25738376 + - 0.19432145 + - 0.15602367 + - 0.29974163 + - -0.087618954 + - 0.17019044 + - 0.016903708 + - 0.22306933 + - 0.09129502 + - 0.08517691 + - 0.085561186 + - 0.07300954 + - 0.08034944 + - 0.034267142 + - -0.056822307 + - 0.03783495 + - 0.0043490306 + - -0.07171796 + - 0.10795584 + - 0.25047752 + - -0.25994498 + - -0.0765808 + - -0.0000032167882 + - 0.19443414 + - -0.16857074 + - 0.0045782086 + - 0.097900845 + - 0.06582883 + - -0.10884841 + - -0.07293213 + - -0.06717838 + - 0.02578507 + - -0.06937619 + - 0.015003309 + - 0.038800895 + - -0.062013477 + - 0.01371877 + - -0.07681371 + - -0.008723067 + - -0.037219036 + - 0.20839602 + - -0.078250244 + - 0.00000000000000000000000000000000062696617 + - 0.0104573835 + - -0.09542714 + - 0.097902596 + - -0.13897178 + - -0.09676167 + - -0.18027315 + - -0.19236411 + - -0.061794464 + - 0.04496181 + - -0.0054197093 + - -0.006008029 +- - -0.06475065 + - 0.33712706 + - -0.14175116 + - 0.052035905 + - -0.13789001 + - 0.07724611 + - 0.04551335 + - 0.016143817 + - -0.056740537 + - 0.0090807825 + - -0.011974009 + - -0.10114498 + - -0.090158895 + - 0.032281615 + - 0.22942714 + - 0.0404403 + - 0.10294159 + - -0.090808645 + - 0.1822812 + - -0.10317896 + - -0.2206535 + - -0.22507028 + - -0.102162234 + - 0.025781244 + - -0.14931516 + - -0.044441465 + - -0.030249264 + - -0.07648663 + - -0.054247696 + - 0.10225811 + - 0.15002802 + - -0.16432618 + - 0.18166737 + - 0.1361931 + - 0.000003043756 + - -0.08137339 + - 0.12739335 + - -0.00030452758 + - -0.05946795 + - -0.072080195 + - -0.033940706 + - 0.12873195 + - 0.114497334 + - 0.022829577 + - -0.16736253 + - -0.19112739 + - 0.15495728 + - -0.037558492 + - -0.059166864 + - 0.09985021 + - 0.07194662 + - -0.27833953 + - 0.15637812 + - -0.04860385 + - 0.08117379 + - -0.19673681 + - 0.09352045 + - 0.019232685 + - -0.07185303 + - -0.19835642 + - -0.11954272 + - 0.068300694 + - 0.22443847 + - 0.06339857 + - 0.024933934 + - -0.01166923 + - 0.056982864 + - -0.08364274 + - 0.06136787 + - 0.20109402 + - -0.3820454 + - -0.04334843 + - -0.15557125 + - -0.008468285 + - -0.23513518 + - 0.029900411 + - -0.06786451 + - -0.05216239 + - 0.06207799 + - -0.03954105 + - -0.030544205 + - -0.06072782 + - 0.086840115 + - 0.026396837 + - -0.033547986 + - 0.027023042 + - -0.124186754 + - 0.07934598 + - -0.121846735 + - 0.045179285 + - 0.17432739 + - -0.10224894 + - 0.032315157 + - 0.113564305 + - -0.06440152 + - -0.09116975 + - 0.0709618 + - -0.038327888 + - -0.022418175 + - -0.08876782 + - -0.0715397 + - -0.12532349 + - -0.12512779 + - -0.0149289565 + - -0.06562938 + - 0.13372134 + - -0.1940402 + - 0.18972912 + - 0.019823726 + - -0.09882231 + - -0.10612951 + - -0.036326677 + - -0.1273827 + - 0.18409544 + - -0.16242576 + - 0.03427008 + - -0.031950966 + - -0.07988275 + - -0.13571307 + - -0.11924949 + - -0.22720124 + - -0.029633645 + - 0.008427473 + - 0.04274279 + - -0.3103068 + - -0.01940459 + - 0.0135571165 + - 0.009102533 + - 0.16823113 + - -0.018045992 + - 0.034985457 + - -0.04692433 + - -0.04524728 + - 0.032136895 + - 0.12251385 + - 0.45903882 + - -0.023811083 + - 0.008053689 + - -0.31536177 + - -0.05613655 + - -0.013156188 + - -0.19453892 + - 0.17801689 + - -0.1967123 + - -0.06541049 + - -0.07504271 + - 0.07593502 + - -0.20038389 + - -0.056914188 + - -0.16438638 + - -0.07700507 + - 0.10124758 + - 0.08901652 + - -0.15104182 + - 0.30369624 + - -0.06370989 + - 0.25135455 + - 0.11858301 + - -0.13693285 + - -0.07854626 + - 0.04437478 + - 0.10236746 + - 0.033018462 + - -0.042637516 + - -0.008893043 + - -0.033970494 + - -0.22554806 + - -0.040436376 + - -0.095060185 + - -0.0061508846 + - -0.088985145 + - -0.06251959 + - -0.1692501 + - 0.08859493 + - 0.2881075 + - 0.10445894 + - 0.10671769 + - 0.4559068 + - 0.054834973 + - 0.080345415 + - 0.059364382 + - 0.038727827 + - -0.08633737 + - 0.30585498 + - -0.1547778 + - 0.012283092 + - 0.21888307 + - 0.13243225 + - -0.063436694 + - -0.1519925 + - 0.020122122 + - -0.28161797 + - 0.035098836 + - -0.11262058 + - 0.013483077 + - -0.1003277 + - -0.020057965 + - -0.07653631 + - -0.074825585 + - 0.19173 + - -0.12572709 + - -0.32032108 + - -0.032926127 + - 0.15433857 + - -0.032372706 + - -0.12054897 + - -0.17286065 + - -0.047776602 + - 0.029789688 + - 0.051661395 + - 0.072469786 + - 0.14690113 + - 0.086883806 + - 0.084756 + - -0.092880726 + - -0.0053124377 + - 0.0034856685 + - 0.2691674 + - -0.113665156 + - -0.092250586 + - -0.031899367 + - -0.05169354 + - -0.28465527 + - -0.23618518 + - -0.13580966 + - -0.11444667 + - 0.022452347 + - 0.10263221 + - -0.08218548 + - 0.083217844 + - -0.056876045 + - 0.0024962164 + - 0.111144 + - -0.06303172 + - -0.13544394 + - -0.018042997 + - -0.10892241 + - 0.041999802 + - 0.0047603454 + - -0.30297318 + - 0.11274454 + - 0.19599655 + - 0.062472116 + - -0.08905003 + - 0.06553057 + - 0.019675415 + - 0.08732292 + - -0.120767444 + - 0.06541059 + - -0.19594619 + - -0.013489276 + - -0.1072589 + - 0.32825488 + - 0.12208841 + - -0.026577365 + - -0.02741907 + - 0.06581857 + - -0.07720178 + - -0.058933593 + - -0.22149727 + - 0.122261815 + - -0.16244125 + - -0.020157788 + - 0.10244696 + - 0.037783723 + - 0.07700518 + - 0.09804714 + - -0.02862602 + - 0.09940613 + - -0.1392541 + - -0.015645998 + - -0.009325528 + - 0.087433614 + - 0.13179907 + - -0.0894436 + - -0.10932846 + - 0.028757492 + - 0.07428954 + - 0.018444553 + - 0.02427994 + - 0.09771563 + - -0.15868083 + - -0.006501302 + - -0.100139655 + - -0.008057592 + - 0.07707733 + - 0.24860857 + - 0.19249237 + - -0.06657104 + - -0.11561342 + - 0.06370909 + - 0.17703734 + - 0.05651348 + - -0.12902357 + - -0.022009216 + - 0.044961825 + - -0.073992416 + - 0.22660655 + - 0.07401124 + - -0.074756384 + - 0.0614088 + - 0.13851629 + - 0.016149294 + - -0.00008136593 + - -0.10632111 + - -0.030238645 + - -0.16649571 + - 0.04842777 + - -0.21277918 + - 0.3237326 + - 0.15415423 + - -0.15784603 + - 0.05418475 + - -0.054205958 + - 0.13925105 + - -0.19317451 + - -0.023153024 + - -0.06516852 + - -0.03161787 + - 0.11253063 + - -0.110176794 + - -0.06388152 + - 0.27117717 + - 0.184774 + - 0.05806862 + - 0.0065298826 + - -0.048073985 + - -0.07583904 + - -0.075820535 + - 0.013749566 + - 0.024615498 + - -0.060311537 + - -0.1009022 + - -0.0010090708 + - 0.0849885 + - -0.15542553 + - -0.030280937 + - 0.1184157 + - -0.15792118 + - -0.12070315 + - -0.10186779 + - 0.063829124 + - -0.04977309 + - 0.21039914 + - 0.25450113 + - 0.04943824 + - 0.10634431 + - 0.061316974 + - -0.047657304 + - -0.11259057 + - 0.05087237 + - 0.21330963 + - 0.03827187 + - 0.01579702 + - -0.11828666 + - -0.016174655 + - 0.022171633 + - 0.055545673 + - 0.098994404 + - -0.004587755 + - 0.24082209 + - -0.025626596 + - 0.10811425 + - 0.30680975 + - -0.24657254 + - 0.09897917 + - -0.10226925 + - 0.12677927 + - -0.1679013 + - 0.06997283 + - -0.0045832205 + - -0.019270133 + - -0.16264722 + - 0.11857714 + - -0.06381583 + - -0.10148819 + - -0.024535127 + - -0.01961963 + - 0.04324844 + - 0.07482642 + - 0.11480788 + - -0.058684684 + - -0.0548629 + - -0.06233355 + - -0.027914412 + - 0.13963512 + - -0.10575636 + - 0.2967415 + - 0.115350716 + - -0.18648154 + - 0.00039274513 + - -0.21157719 + - 0.018371604 + - -0.003163766 + - -0.090894245 + - 0.08057468 + - 0.10785875 + - -0.15137723 + - 0.06378007 + - -0.07422531 + - 0.0560889 + - -0.005544901 + - 0.0013478361 + - 0.08131672 + - -0.1928623 + - -0.07969918 + - 0.5150844 + - 0.1242103 + - -0.32855216 + - -0.014635231 + - 0.07982317 + - -0.056389008 + - 0.28786844 + - 0.1629194 + - 0.3053615 + - -0.075237855 + - -0.02718401 + - 0.137033 + - 0.00794136 + - -0.066489965 + - 0.12686528 + - 0.03170129 + - 0.10565731 + - -0.25607097 + - 0.18204275 + - 0.15449835 + - -0.11354614 + - 0.17431213 + - -0.041769117 + - 0.057580195 + - -0.14109196 + - -0.16917884 + - -0.13315466 + - 0.2594295 + - -0.07860398 + - -0.4296813 + - 0.123887815 + - 0.10548571 + - -0.007038437 + - 0.13670681 + - 0.023882017 + - 0.11235825 + - -0.0880842 + - 0.17141774 + - -0.023203263 + - 0.053196125 + - -0.02036841 + - -0.13157065 + - 0.008601256 + - 0.17556128 + - 0.10897486 + - -0.18568581 + - -0.06447924 + - -0.013316389 + - -0.22341321 + - 0.0066190725 + - -0.21494879 + - -0.26789355 + - -0.05595779 + - 0.039494403 + - 0.13627982 + - 0.14024672 + - -0.0004471743 + - -0.049826987 + - -0.23961723 + - 0.27922222 + - 0.38424692 + - 0.041992962 + - -0.07246545 + - 0.14357486 + - -0.13833891 + - 0.05892088 + - 0.0017191176 + - -0.10713938 + - 0.04001938 + - -0.0105663 + - -0.1988481 + - -0.028776925 + - -0.23325555 + - 0.07941235 + - -0.01887183 + - 0.17537385 + - 0.051417883 + - -0.23219742 + - 0.09033197 + - -0.011265257 + - 0.25523794 + - 0.22917548 + - -0.09161632 + - -0.06195857 + - 0.1519913 + - 0.10051529 + - 0.15026347 + - -0.048955575 + - 0.13259996 + - -0.058143415 + - -0.14899646 + - 0.19905607 + - 0.084696665 + - -0.008468419 + - 0.07614456 + - 0.04875207 + - -0.0048194053 + - 0.026098212 + - 0.036835615 + - -0.015285287 + - 0.031592384 + - -0.06361369 + - 0.13195892 + - 0.06482987 + - -0.10637157 + - -0.060943548 + - -0.18748543 + - -0.54974014 + - 0.04801406 + - 0.23979402 + - 0.14714275 + - -0.054425098 + - -0.16696495 + - 0.030215632 + - 0.09437077 + - 0.1378043 + - -0.13712801 + - -0.036485642 + - 0.230801 + - 0.034753162 + - 0.12060306 + - 0.01180067 + - 0.080816336 + - 0.21263748 + - -0.04714243 + - 0.1565331 + - -0.20088743 + - 0.13413838 + - -0.015308449 + - 0.038290683 + - 0.25618553 + - 0.20476617 + - 0.05209563 + - 0.060143463 + - 0.18522844 + - 0.020869957 + - 0.0075611025 + - 0.058742266 + - 0.012285703 + - -0.23167786 + - -0.043589324 + - 0.26582578 + - 0.009258557 + - -0.1425056 + - 0.12729023 + - 0.022439126 + - 0.049839698 + - 0.0421742 + - 0.18166488 + - -0.000000000000000000000000000000012499292 + - 0.103163995 + - -0.05430429 + - -0.054672696 + - 0.17008808 + - -0.066542014 + - 0.059293658 + - 0.017657654 + - -0.15854876 + - -0.05222595 + - 0.0047795353 + - 0.051855512 + - 0.0352904 + - 0.034962162 + - 0.14688052 + - 0.13598913 + - -0.035507467 + - 0.03383821 + - -0.054707922 + - 0.1995539 + - 0.051447507 + - 0.03514959 + - 0.19956113 + - -0.05845413 + - -0.008600336 + - -0.017348416 + - 0.155088 + - 0.036906432 + - -0.04071436 + - -0.11985378 + - 0.10415024 + - -0.054113485 + - -0.08921566 + - -0.13636023 + - -0.35326388 + - -0.111752026 + - 0.16440913 + - -0.13304165 + - -0.13099185 + - -0.2829798 + - 0.03898227 + - -0.17178635 + - -0.10204554 + - 0.13978001 + - 0.046594508 + - 0.040197406 + - 0.016296847 + - 0.07453176 + - -0.15364414 + - -0.09620586 + - -0.24804537 + - 0.13618189 + - -0.0029801074 + - -0.19595183 + - -0.011356416 + - 0.1126391 + - 0.042537138 + - -0.18500969 + - 0.027491068 + - -0.18080166 + - 0.020186273 + - 0.12992173 + - -0.07889845 + - -0.043032616 + - 0.15096262 + - 0.010250083 + - 0.10918203 + - 0.12378682 + - -0.19984958 + - 0.15038845 + - -0.08964345 + - 0.16091354 + - 0.13041532 + - 0.012451995 + - 0.09699828 + - 0.07000344 + - 0.022317193 + - -0.1575195 + - -0.009294838 + - 0.031454537 + - 0.026599366 + - -0.082437254 + - -0.04766414 + - 0.1263798 + - -0.08744175 + - -0.07411719 + - -0.37032387 + - -0.016279034 + - 0.08042236 + - 0.0025371136 + - -0.02265308 + - -0.18817607 + - 0.080791295 + - 0.09486802 + - -0.14504743 + - 0.30864793 + - 0.19436565 + - 0.07068619 + - 0.05771176 + - 0.15146007 + - 0.14523074 + - 0.058398284 + - -0.37407824 + - -0.21980305 + - 0.1451309 + - 0.16861217 + - 0.067839265 + - -0.1439077 + - 0.10559644 + - -0.043534145 + - 0.043152228 + - -0.08219958 + - -0.009243945 + - 0.13166928 + - -0.039912745 + - 0.092459366 + - -0.30168343 + - 0.061620057 + - 0.032123424 + - -0.21774918 + - 0.08006613 + - -0.08450318 + - -0.27870572 + - -0.20452508 + - 0.10423844 + - -0.057627518 + - -0.2044372 + - -0.1538881 + - -0.14312407 + - -0.07244383 + - -0.28287134 + - 0.031917546 + - 0.1983079 + - 0.0000005078695 + - -0.20361191 + - 0.22766949 + - -0.0027158912 + - -0.17534426 + - 0.0986491 + - 0.15511763 + - -0.08987458 + - -0.022937348 + - 0.25020316 + - 0.031223899 + - 0.15010984 + - 0.17677958 + - -0.048674416 + - -0.009754543 + - -0.12539786 + - -0.2453353 + - -0.031083353 + - 0.15103376 + - 0.048078515 + - -0.0037201643 + - -0.2065951 + - 0.13898699 + - -0.035204135 + - -0.022253344 + - 0.20307001 + - -0.2325936 + - 0.052115098 + - 0.08860516 + - 0.36183935 + - -0.089039445 + - 0.18829532 + - -0.033968158 + - 0.034034174 + - 0.1172058 + - 0.01775891 + - -0.05514493 + - -0.029771114 + - 0.092063 + - 0.02050449 + - 0.20344524 + - 0.065226376 + - 0.044343784 + - 0.007050356 + - 0.024850504 + - 0.33572158 + - -0.2593131 + - -0.059291303 + - -0.011273357 + - 0.10736875 + - -0.23340902 + - 0.021531517 + - 0.032559887 + - 0.11942973 + - -0.04038915 + - -0.13375503 + - -0.042444594 + - 0.089463726 + - 0.015462227 + - -0.024202071 + - 0.034455687 + - -0.12616612 + - 0.11007497 + - -0.12980756 + - -0.082577154 + - 0.08773922 + - 0.1840197 + - 0.027039919 + - 0.0000000000000000000000000000000004736525 + - 0.012956939 + - -0.11109342 + - 0.11724128 + - -0.105111085 + - 0.0148514025 + - -0.16263343 + - -0.0377458 + - 0.05075184 + - -0.04843469 + - 0.09252987 + - -0.06836401 +- - -0.004420786 + - 0.027419962 + - -0.1616167 + - -0.029979402 + - -0.08660222 + - 0.08678703 + - 0.027493358 + - 0.107398726 + - 0.05104781 + - 0.027339742 + - 0.13470595 + - -0.18052399 + - -0.05329224 + - 0.14949453 + - 0.14610972 + - -0.23524708 + - 0.20616655 + - -0.3397513 + - 0.059257105 + - -0.10410823 + - -0.23810123 + - -0.1489444 + - -0.09425362 + - 0.011031375 + - -0.05103332 + - -0.1139506 + - -0.112183146 + - -0.071028 + - -0.12011776 + - 0.0047073783 + - 0.060182996 + - -0.12628876 + - 0.105850324 + - 0.29561067 + - 0.0000041586304 + - -0.1811317 + - 0.0052770153 + - -0.071960576 + - 0.025731472 + - 0.00045587122 + - 0.11923118 + - -0.0115226535 + - 0.086826906 + - 0.026518714 + - -0.15677418 + - -0.0813751 + - 0.20440616 + - -0.023678396 + - -0.028054722 + - 0.08695839 + - 0.07350312 + - -0.12961149 + - 0.12340251 + - -0.050101437 + - 0.10809434 + - -0.21349528 + - 0.18281566 + - -0.019796059 + - -0.005723916 + - -0.12216344 + - -0.1322154 + - -0.009920877 + - 0.12483403 + - 0.14238031 + - 0.090089455 + - 0.07062318 + - -0.017454416 + - -0.12112555 + - -0.05554181 + - 0.16586764 + - -0.12361728 + - -0.015444142 + - 0.097123265 + - 0.09460098 + - -0.06284019 + - 0.05550032 + - -0.036330868 + - -0.022036413 + - 0.03425035 + - -0.058480807 + - -0.24825603 + - -0.07062003 + - 0.12650032 + - -0.016772928 + - -0.09833181 + - 0.21930215 + - -0.09472515 + - 0.021384776 + - -0.03871077 + - -0.0407208 + - 0.18229568 + - -0.052649897 + - 0.053732987 + - 0.14848761 + - -0.0067738276 + - -0.056550097 + - 0.07664762 + - -0.039557584 + - 0.14235343 + - 0.041874543 + - -0.03246113 + - -0.15841499 + - -0.0070487186 + - 0.032964718 + - 0.06847586 + - 0.08781741 + - -0.30219755 + - 0.044852026 + - -0.1144141 + - 0.018415116 + - -0.18227018 + - -0.0792892 + - 0.023670634 + - 0.18198502 + - 0.078455 + - -0.097387746 + - -0.014216132 + - -0.099220395 + - -0.10617372 + - -0.05045269 + - -0.23798522 + - 0.05803583 + - -0.12576762 + - 0.08010645 + - -0.30990952 + - 0.05329874 + - -0.025368355 + - -0.055066448 + - 0.102904424 + - -0.025322884 + - 0.10121044 + - -0.12342099 + - 0.013715479 + - 0.098357886 + - 0.11090588 + - 0.30018446 + - -0.030087527 + - 0.16290833 + - -0.28141785 + - -0.07210453 + - 0.008374634 + - -0.11878294 + - 0.168475 + - -0.20741697 + - -0.120812945 + - -0.059772786 + - -0.035820402 + - -0.13826692 + - -0.07802371 + - -0.09239018 + - -0.17094325 + - 0.12542379 + - -0.11513346 + - -0.044694506 + - 0.4626891 + - 0.05875262 + - 0.11786518 + - 0.1550336 + - -0.18957117 + - 0.11157897 + - -0.045653757 + - -0.028826334 + - -0.01203759 + - 0.0022999968 + - 0.06784994 + - -0.009359408 + - -0.028710175 + - -0.094908595 + - -0.3153736 + - 0.1536491 + - -0.17456107 + - 0.080135174 + - -0.031358976 + - 0.18545647 + - 0.14939155 + - 0.24798551 + - 0.15747623 + - 0.39327917 + - 0.13094924 + - 0.06966378 + - 0.035704974 + - -0.03344127 + - 0.0023484863 + - 0.29291686 + - -0.096396774 + - 0.0898554 + - 0.050029073 + - -0.005385335 + - -0.123044856 + - -0.24711013 + - 0.15893465 + - -0.19801612 + - 0.014880212 + - -0.07721363 + - 0.16797507 + - -0.014254857 + - -0.018133428 + - -0.24566315 + - -0.056203876 + - 0.1341267 + - 0.04470589 + - -0.16656151 + - 0.02390538 + - 0.15551156 + - -0.037532605 + - -0.18235461 + - 0.011221368 + - -0.09690385 + - 0.06418655 + - -0.0039488226 + - 0.11661907 + - 0.117373936 + - 0.036605608 + - -0.014652033 + - 0.027271278 + - -0.16734456 + - 0.05555238 + - 0.33135006 + - -0.103344075 + - -0.13127686 + - -0.095397204 + - -0.048610903 + - -0.09249818 + - -0.14884742 + - -0.0788176 + - -0.20431782 + - 0.2003658 + - 0.05155316 + - -0.007068144 + - 0.005063096 + - 0.0072581153 + - -0.08930562 + - 0.13627814 + - 0.05589634 + - -0.16452011 + - 0.026290806 + - -0.049947497 + - 0.49758318 + - -0.06668948 + - -0.3837889 + - -0.0071505783 + - 0.06706179 + - 0.09329937 + - -0.12221455 + - 0.21490796 + - -0.060224086 + - 0.049702123 + - 0.0013858452 + - -0.1100952 + - -0.23900062 + - -0.020324565 + - -0.08484492 + - 0.20698488 + - 0.14172451 + - -0.046662603 + - 0.10868708 + - 0.14426869 + - 0.07425838 + - -0.1682269 + - -0.13927054 + - 0.08089134 + - -0.09275835 + - 0.14485821 + - 0.017470572 + - -0.059020266 + - 0.012682557 + - 0.1452243 + - 0.009883845 + - 0.0899297 + - -0.034893744 + - -0.026843954 + - -0.029870726 + - -0.13601977 + - 0.0983575 + - -0.17109528 + - -0.04903704 + - 0.17768276 + - 0.013460003 + - -0.10853982 + - 0.04584059 + - 0.14859433 + - -0.048934653 + - -0.022181807 + - -0.10019061 + - -0.118921295 + - 0.049151793 + - 0.1981371 + - 0.07657255 + - -0.04928053 + - -0.141993 + - 0.077458985 + - 0.10851521 + - 0.016884254 + - -0.008555118 + - 0.050149206 + - -0.0666753 + - -0.039057687 + - 0.10383655 + - 0.056429233 + - -0.0151678175 + - 0.100182146 + - 0.0033172574 + - 0.07315907 + - 0.031313717 + - -0.16871765 + - -0.010227457 + - -0.032868583 + - -0.06449665 + - -0.17806469 + - 0.29068044 + - 0.10763648 + - -0.067643344 + - 0.011101156 + - 0.091906525 + - 0.010063095 + - -0.19080976 + - -0.03649199 + - 0.0017690877 + - -0.06060883 + - 0.17612582 + - -0.11239407 + - -0.19914737 + - 0.32252392 + - 0.16995685 + - 0.087410234 + - -0.06533326 + - 0.015582427 + - 0.090538174 + - 0.051222917 + - 0.025838852 + - 0.09194174 + - 0.046952415 + - -0.28695506 + - 0.059804898 + - 0.058227215 + - -0.1057356 + - -0.07753155 + - 0.11888564 + - -0.2561023 + - -0.15013142 + - 0.0018867902 + - 0.07238126 + - -0.009997745 + - 0.1777181 + - -0.114635885 + - 0.0061113257 + - 0.07500661 + - 0.020278236 + - -0.08330003 + - -0.2131185 + - 0.052996337 + - 0.36267433 + - 0.025885016 + - -0.031348243 + - -0.10970456 + - -0.115292504 + - 0.010018564 + - -0.09707658 + - 0.156924 + - -0.09338824 + - 0.21330032 + - 0.025168832 + - 0.045505423 + - 0.094242916 + - -0.20971008 + - 0.07220375 + - 0.023094963 + - 0.056246605 + - -0.15639299 + - 0.24045242 + - 0.01839104 + - -0.06992495 + - -0.1337832 + - 0.07279357 + - 0.024936263 + - -0.2295045 + - 0.006979443 + - -0.025183823 + - -0.06627539 + - 0.1135766 + - 0.11095596 + - -0.33750677 + - 0.11182199 + - -0.049320556 + - -0.038080923 + - 0.04924152 + - -0.12964807 + - 0.28512186 + - -0.032134026 + - -0.096068315 + - -0.095035 + - -0.20970225 + - -0.09109283 + - -0.03878089 + - -0.1442731 + - 0.13042007 + - 0.31082958 + - -0.21090233 + - 0.020618692 + - -0.029270845 + - 0.10324406 + - -0.26634818 + - -0.015269566 + - -0.008011489 + - -0.12724985 + - -0.0013876045 + - 0.42889354 + - 0.1954978 + - -0.3422023 + - -0.148549 + - -0.053835485 + - -0.03801756 + - 0.19731908 + - 0.069232516 + - 0.16798678 + - 0.068595424 + - -0.03721924 + - 0.082337424 + - 0.108126126 + - -0.14102244 + - -0.007902092 + - 0.052839957 + - 0.13383672 + - -0.060511496 + - 0.026409198 + - 0.028993977 + - -0.21109848 + - 0.14536767 + - -0.048431024 + - -0.029665016 + - -0.20839006 + - -0.19400613 + - -0.10231665 + - 0.21174955 + - -0.08378738 + - -0.17910917 + - 0.010067375 + - 0.07236822 + - 0.011755129 + - -0.0320302 + - 0.15655467 + - 0.07449418 + - 0.08755148 + - 0.21800777 + - -0.053238086 + - 0.043627366 + - 0.09673715 + - -0.2828422 + - 0.06620627 + - 0.099808216 + - 0.13585809 + - -0.10952027 + - -0.2456486 + - -0.06734763 + - -0.08365268 + - -0.00879998 + - -0.10703902 + - -0.14027363 + - -0.06721389 + - -0.00092566386 + - 0.11242788 + - 0.097831585 + - -0.009346729 + - -0.054585956 + - -0.17441456 + - -0.0031936523 + - 0.19735312 + - 0.036639534 + - -0.0436908 + - 0.21028006 + - -0.24568056 + - 0.0064084334 + - -0.018593056 + - -0.14134544 + - -0.08336035 + - -0.04050009 + - -0.13268827 + - -0.14245877 + - -0.040191896 + - 0.0492316 + - 0.021231871 + - 0.18571728 + - 0.030760288 + - -0.017946413 + - 0.014403064 + - -0.01882299 + - 0.19869871 + - 0.12561508 + - -0.051496465 + - -0.14635079 + - 0.18311931 + - 0.026763787 + - 0.13716294 + - 0.10282504 + - 0.21621376 + - 0.031364392 + - -0.039411336 + - 0.077637896 + - 0.086268604 + - 0.2097215 + - 0.009232157 + - 0.010834695 + - -0.024789542 + - 0.012997924 + - -0.19756629 + - 0.13490993 + - 0.06568665 + - 0.026274674 + - -0.030339679 + - 0.19056204 + - 0.06933397 + - -0.11443933 + - -0.083539784 + - -0.2637686 + - 0.13392077 + - 0.25417334 + - 0.16649355 + - -0.06342762 + - -0.1417161 + - -0.09888911 + - 0.04146059 + - 0.024229111 + - -0.10813081 + - -0.035810743 + - 0.15271495 + - -0.14070024 + - 0.073239595 + - 0.04532357 + - 0.08123757 + - 0.28000706 + - 0.10992405 + - 0.2512519 + - -0.18247277 + - 0.1733103 + - 0.059882 + - 0.025535006 + - 0.16570145 + - 0.31426495 + - -0.086397216 + - 0.018261403 + - -0.015880562 + - -0.095143706 + - -0.04764175 + - 0.114480205 + - 0.015228722 + - -0.22359093 + - -0.008395918 + - 0.4045463 + - -0.026248412 + - -0.0016123597 + - 0.0026083654 + - 0.12968367 + - -0.04194365 + - 0.15950689 + - 0.17712046 + - -0.000000000000000000000000000000012737996 + - 0.089412615 + - -0.10603499 + - 0.069971256 + - 0.1537131 + - 0.08375001 + - 0.0075506684 + - 0.008164106 + - 0.00009706279 + - -0.059308443 + - 0.046210427 + - 0.06307668 + - 0.07544799 + - -0.013471264 + - 0.048947588 + - 0.017189767 + - -0.07503986 + - -0.064986564 + - -0.04623988 + - 0.17466874 + - 0.015326883 + - -0.006160618 + - 0.116573766 + - -0.05582782 + - -0.120536745 + - -0.037854806 + - 0.08082837 + - 0.14193755 + - -0.11767628 + - -0.053145424 + - 0.09813563 + - -0.023762962 + - 0.122932605 + - -0.06183554 + - -0.30244768 + - -0.053950474 + - 0.1708365 + - -0.08948821 + - -0.054630965 + - -0.05801726 + - 0.050661806 + - -0.33371168 + - -0.20403634 + - 0.14362948 + - 0.032370128 + - -0.10913627 + - 0.038363036 + - 0.16223782 + - -0.21462081 + - 0.003890749 + - -0.37308612 + - -0.07598319 + - -0.09390862 + - -0.14541024 + - -0.011219093 + - 0.10655406 + - 0.05981803 + - -0.2544577 + - -0.0051008225 + - -0.106497765 + - 0.112351954 + - 0.22575727 + - 0.046641983 + - 0.061672132 + - 0.08544625 + - 0.17143393 + - 0.18675762 + - 0.07798463 + - -0.08616705 + - 0.031220369 + - -0.12023964 + - 0.24005303 + - 0.1647744 + - 0.014556345 + - 0.11357348 + - 0.1221549 + - -0.14748423 + - -0.1378438 + - -0.14876232 + - 0.057176374 + - -0.04967194 + - -0.053611383 + - -0.06955277 + - 0.14195812 + - -0.028967243 + - -0.084419586 + - -0.10253978 + - 0.00030887313 + - -0.046865113 + - 0.10731158 + - 0.021738404 + - -0.0937269 + - 0.15814939 + - -0.0549189 + - -0.18193938 + - 0.26328725 + - 0.026548099 + - 0.06186671 + - 0.05999615 + - 0.02931362 + - 0.033682816 + - -0.13455649 + - -0.31578544 + - -0.26809636 + - 0.07028587 + - 0.1650772 + - 0.119040474 + - -0.17798845 + - 0.11918339 + - 0.0017626184 + - -0.09534768 + - -0.0760423 + - 0.015855331 + - 0.030370496 + - -0.016393647 + - -0.051726274 + - -0.20223777 + - 0.05704348 + - 0.065264866 + - -0.18166539 + - 0.110611536 + - -0.13850802 + - -0.092681006 + - -0.23469616 + - 0.08327341 + - -0.1402264 + - -0.19000529 + - -0.14506477 + - -0.09055831 + - 0.13498951 + - -0.3312012 + - -0.096904814 + - 0.084602125 + - 0.00000058464695 + - -0.14828165 + - 0.26357803 + - 0.07114583 + - -0.15667817 + - 0.11096846 + - 0.09670213 + - -0.049863327 + - -0.08330751 + - 0.12556082 + - -0.09108615 + - 0.06191024 + - 0.09453551 + - -0.14783727 + - -0.015763026 + - -0.078805596 + - -0.14568976 + - -0.15316994 + - 0.19461975 + - -0.108109295 + - 0.014803005 + - 0.014474355 + - 0.13505685 + - 0.020447124 + - -0.04726296 + - 0.14928228 + - -0.1588309 + - 0.10101085 + - 0.07546347 + - 0.18822443 + - -0.030287053 + - -0.00217532 + - 0.072573826 + - 0.07247881 + - 0.16291979 + - -0.0102506075 + - -0.04919537 + - -0.11686828 + - 0.08818571 + - 0.071251616 + - 0.047625817 + - 0.0049321093 + - 0.08887799 + - -0.008548211 + - -0.023090526 + - 0.3169742 + - -0.15728287 + - -0.17121355 + - -0.030387934 + - 0.12891978 + - -0.040258534 + - -0.10908512 + - 0.034231678 + - 0.016930873 + - -0.15393196 + - -0.0774111 + - -0.009508994 + - 0.12401702 + - 0.057620093 + - 0.18657097 + - 0.14283995 + - -0.16454358 + - -0.06268874 + - -0.18714187 + - -0.008794114 + - 0.049454868 + - 0.14536381 + - 0.0014856085 + - 0.00000000000000000000000000000000023386465 + - -0.022283621 + - -0.012463525 + - 0.072043456 + - -0.019247036 + - -0.14670372 + - -0.039640788 + - -0.072815835 + - 0.07458181 + - 0.1433007 + - 0.057272676 + - -0.038751613 +- - -0.008910274 + - -0.054565273 + - -0.12195712 + - 0.025669076 + - -0.036598563 + - 0.047402374 + - 0.03157418 + - -0.07253268 + - -0.011330459 + - 0.036170494 + - 0.19945763 + - -0.032298442 + - -0.09530462 + - 0.08609141 + - 0.15214017 + - -0.0035922443 + - 0.16655186 + - -0.17176719 + - 0.05585183 + - -0.18788157 + - -0.1689649 + - -0.13300738 + - -0.038565457 + - -0.021205848 + - 0.048419174 + - -0.105280116 + - -0.019491876 + - -0.02400672 + - -0.20176306 + - 0.03086565 + - 0.041808918 + - -0.13533463 + - 0.14058383 + - 0.17040005 + - 0.000006183513 + - 0.00042198598 + - 0.059436798 + - -0.015129127 + - -0.057977386 + - 0.03820453 + - 0.026016409 + - 0.12502223 + - 0.0048778574 + - 0.017117925 + - -0.12815404 + - -0.20866033 + - 0.16352588 + - -0.035879318 + - -0.04619617 + - 0.10124758 + - 0.08996484 + - -0.25029525 + - 0.14458522 + - -0.14981851 + - 0.115655184 + - -0.17653438 + - 0.12063606 + - -0.010719571 + - -0.043100502 + - -0.20731889 + - -0.12536375 + - 0.022562426 + - 0.07933127 + - 0.0144947115 + - 0.12373194 + - -0.10730533 + - 0.04138149 + - -0.14265649 + - 0.096669436 + - 0.08331527 + - -0.1186315 + - 0.06662379 + - -0.044793986 + - 0.07256485 + - -0.08844555 + - -0.17489207 + - 0.0052419687 + - 0.03704266 + - -0.008510234 + - 0.0023670122 + - -0.08577498 + - -0.035334166 + - 0.161576 + - 0.07096997 + - -0.06938943 + - 0.01525001 + - -0.1226988 + - -0.011252138 + - -0.08828943 + - -0.0439424 + - 0.09815787 + - -0.13514584 + - 0.12107032 + - 0.03903827 + - -0.13664848 + - 0.030541122 + - 0.10571483 + - -0.057925902 + - 0.039413728 + - -0.011397831 + - -0.11568802 + - -0.17692827 + - -0.10389672 + - 0.030040614 + - -0.08055263 + - 0.12390855 + - -0.15398581 + - 0.073183425 + - -0.014523465 + - 0.09414847 + - -0.014516532 + - 0.0071824547 + - -0.03977232 + - 0.124266066 + - -0.051951207 + - -0.13072273 + - 0.041591592 + - 0.009813938 + - -0.080812655 + - -0.09946684 + - -0.088276125 + - 0.1379223 + - -0.15743731 + - 0.12324898 + - -0.15189686 + - 0.11602777 + - -0.11919706 + - 0.03429476 + - 0.1304905 + - 0.032345228 + - 0.080057345 + - -0.04439579 + - 0.004834925 + - 0.03966265 + - 0.06934975 + - 0.21126169 + - 0.009278588 + - 0.04264958 + - -0.19617218 + - -0.07915654 + - 0.025053296 + - -0.10552977 + - 0.09166077 + - -0.20329188 + - -0.010927698 + - -0.16994412 + - 0.14040174 + - -0.18441966 + - -0.08548971 + - -0.04557322 + - -0.05976249 + - 0.072277114 + - -0.1685805 + - -0.19548663 + - 0.22707993 + - 0.045585565 + - 0.10375484 + - 0.022469832 + - -0.11270517 + - 0.049720768 + - 0.0423123 + - 0.07298611 + - -0.049896657 + - -0.12504788 + - 0.057052463 + - -0.013040323 + - -0.061254233 + - -0.06569108 + - -0.2132637 + - 0.01576071 + - 0.05894836 + - 0.12367457 + - -0.016164 + - 0.15405534 + - 0.23868626 + - 0.1909697 + - 0.1252487 + - 0.29457802 + - -0.07542831 + - -0.016792586 + - 0.050800513 + - -0.14487436 + - 0.02809057 + - 0.14386943 + - 0.15535554 + - 0.009607891 + - 0.1401624 + - 0.15708406 + - -0.14978062 + - -0.25596866 + - 0.076689176 + - -0.25307935 + - 0.0050894786 + - -0.046436813 + - 0.121041566 + - -0.054980315 + - 0.03493897 + - -0.2381958 + - -0.0730151 + - 0.13480294 + - 0.0061275186 + - -0.16455582 + - -0.031506684 + - 0.032118283 + - -0.06733416 + - -0.08245931 + - -0.058207694 + - -0.12321706 + - 0.0018203026 + - -0.032953974 + - 0.019783339 + - 0.20219558 + - -0.035005517 + - 0.06885209 + - -0.033442758 + - -0.11912495 + - 0.027240118 + - 0.23431505 + - -0.18192686 + - -0.05001629 + - -0.058236644 + - -0.0071809813 + - -0.06450544 + - -0.14490068 + - -0.062487017 + - -0.18027325 + - 0.12164335 + - 0.035046138 + - 0.037096027 + - 0.14920181 + - 0.10429064 + - 0.10423096 + - 0.13901462 + - 0.006310357 + - -0.1464091 + - -0.015410457 + - -0.027223527 + - 0.17491254 + - 0.005508053 + - -0.33206415 + - 0.0073049376 + - 0.17783158 + - 0.03131944 + - -0.11780935 + - 0.18924539 + - -0.10125908 + - -0.12117845 + - -0.09332779 + - -0.02411932 + - -0.14141358 + - -0.11153098 + - -0.12649187 + - 0.19372901 + - 0.1180507 + - -0.041599404 + - 0.07548996 + - 0.039891534 + - 0.04987625 + - -0.0726238 + - -0.101532444 + - 0.12701298 + - -0.06384063 + - 0.022536153 + - 0.020398814 + - 0.15552628 + - 0.07134856 + - 0.12867425 + - -0.0036186725 + - -0.014663361 + - -0.07088007 + - -0.011073742 + - 0.02048925 + - 0.018766273 + - 0.08290519 + - -0.11183471 + - -0.044170685 + - 0.015695289 + - -0.020585611 + - -0.1088114 + - 0.05761957 + - 0.028718425 + - 0.04825559 + - -0.12944582 + - -0.13534611 + - -0.013514761 + - 0.04603354 + - 0.029381126 + - 0.14746428 + - -0.13748378 + - -0.12741743 + - 0.031198096 + - 0.15485753 + - 0.026988454 + - -0.13510236 + - -0.033310596 + - -0.08801929 + - -0.052196156 + - 0.06250547 + - -0.05921222 + - -0.00161645 + - 0.08807348 + - 0.1346306 + - 0.09812433 + - 0.015137341 + - -0.06534323 + - -0.05293638 + - 0.04177037 + - 0.0030267246 + - -0.14261967 + - 0.23346569 + - 0.06489515 + - -0.04761603 + - 0.019166125 + - 0.05322725 + - -0.024990149 + - -0.1652978 + - -0.038109913 + - -0.06865469 + - 0.0104221925 + - 0.07853831 + - -0.059590586 + - -0.041712843 + - 0.25685474 + - 0.18575467 + - 0.083786756 + - -0.16845487 + - -0.09066576 + - 0.07617232 + - -0.07839133 + - 0.124103606 + - 0.07402859 + - -0.031393606 + - -0.13694578 + - 0.070161685 + - 0.029159693 + - -0.13564228 + - -0.08298673 + - 0.094934724 + - -0.10154206 + - -0.07144005 + - -0.002797841 + - 0.13236609 + - -0.063126996 + - 0.08257504 + - -0.052299272 + - -0.04669644 + - 0.089844555 + - -0.040215936 + - 0.0026708134 + - -0.053421747 + - -0.03243829 + - 0.26671308 + - 0.0992704 + - -0.05620777 + - -0.09723615 + - -0.038224984 + - -0.101751775 + - -0.062463112 + - 0.07321725 + - 0.012067419 + - 0.12956506 + - 0.07003863 + - 0.10337484 + - 0.11891955 + - -0.2790534 + - 0.08491489 + - 0.0046353326 + - 0.11855523 + - -0.025623254 + - 0.042283636 + - -0.14862944 + - -0.13218313 + - -0.19326995 + - 0.07766345 + - -0.09152194 + - -0.15843731 + - -0.009108083 + - 0.04853797 + - 0.04336735 + - 0.08677218 + - 0.12444542 + - -0.06110668 + - -0.111476906 + - -0.00095471786 + - -0.08332438 + - 0.07176633 + - -0.07123914 + - 0.17464143 + - 0.04949277 + - -0.0795075 + - -0.01317983 + - -0.12556948 + - -0.12150484 + - 0.17429346 + - -0.02797759 + - -0.06891987 + - 0.08516611 + - -0.13833198 + - 0.074759334 + - -0.08974743 + - 0.07585784 + - -0.04019625 + - -0.097725734 + - 0.08703019 + - -0.15731293 + - 0.06031183 + - 0.2891303 + - 0.05913639 + - -0.18258101 + - -0.017629437 + - 0.06967924 + - -0.005261101 + - 0.22040144 + - 0.040585224 + - 0.20042875 + - -0.11593357 + - -0.11605781 + - 0.017085362 + - 0.18554726 + - -0.10457015 + - 0.035882413 + - 0.0146886725 + - 0.12574339 + - -0.12264382 + - 0.22551814 + - 0.057903275 + - -0.11119679 + - 0.018587299 + - 0.008361823 + - -0.015286264 + - -0.13892357 + - -0.038242538 + - -0.09090763 + - 0.2518348 + - 0.021462135 + - -0.07717142 + - 0.0073208697 + - 0.056773543 + - 0.06668055 + - -0.039036233 + - 0.10475901 + - 0.046955436 + - -0.013402864 + - 0.17672601 + - 0.04054186 + - 0.16615596 + - -0.011493301 + - -0.10806451 + - 0.095892705 + - 0.054112464 + - 0.07922548 + - -0.14633825 + - -0.107641324 + - -0.063487336 + - 0.09458386 + - 0.016801387 + - -0.075485185 + - -0.12890828 + - 0.08762818 + - 0.016244391 + - 0.13347363 + - 0.06538721 + - 0.08797858 + - -0.057039198 + - -0.14861251 + - 0.08426265 + - 0.056293674 + - 0.009831687 + - 0.012851607 + - -0.011228284 + - -0.13627322 + - 0.030696731 + - -0.03371571 + - -0.093487464 + - 0.011716841 + - -0.14365645 + - -0.0021983003 + - -0.077436306 + - -0.045111917 + - 0.067353405 + - -0.040750258 + - 0.15898478 + - 0.13486984 + - -0.108416975 + - -0.023330042 + - 0.025353853 + - 0.1750494 + - 0.15973572 + - -0.06996034 + - -0.15988389 + - 0.18715163 + - 0.05415591 + - 0.19236375 + - -0.03404795 + - 0.2122934 + - -0.019138265 + - -0.13201842 + - 0.10573674 + - 0.11774129 + - 0.07327462 + - -0.12620734 + - 0.10063351 + - 0.0021428019 + - 0.083243065 + - -0.21587811 + - -0.047137044 + - 0.08463209 + - 0.019950485 + - -0.018845428 + - 0.019641023 + - -0.08672236 + - -0.06178731 + - -0.10864287 + - -0.2546639 + - 0.022070471 + - 0.3194406 + - 0.06664276 + - -0.11238105 + - -0.09296127 + - -0.07713151 + - -0.016009882 + - -0.04031401 + - -0.110283434 + - -0.07125233 + - 0.043865975 + - -0.0671642 + - 0.10387507 + - 0.14590879 + - 0.11077732 + - 0.16685443 + - 0.14835402 + - 0.13127694 + - 0.0003902472 + - 0.156434 + - -0.08338104 + - 0.11977878 + - 0.22023709 + - 0.19294892 + - -0.11098276 + - -0.015483508 + - 0.08496958 + - -0.10777412 + - -0.00065322965 + - 0.14930677 + - 0.11893313 + - -0.22008847 + - -0.032242898 + - 0.3072476 + - 0.008312458 + - 0.02993419 + - -0.059781257 + - 0.17893714 + - -0.007103207 + - -0.07353973 + - 0.17913996 + - -0.000000000000000000000000000000024026484 + - 0.0039214427 + - -0.022728844 + - -0.035731845 + - 0.13696113 + - -0.12849775 + - 0.046373155 + - 0.08427487 + - -0.16670573 + - -0.043358397 + - 0.038488083 + - 0.06612244 + - -0.048215043 + - 0.017686531 + - 0.1382427 + - 0.038064864 + - -0.13434054 + - 0.0004509422 + - 0.008300142 + - 0.17588644 + - 0.048306413 + - -0.11660727 + - 0.06342014 + - -0.1106079 + - 0.045894474 + - 0.070458084 + - -0.014584936 + - 0.0008840044 + - -0.114594705 + - -0.059375852 + - -0.051070213 + - -0.055369556 + - 0.020320931 + - -0.10086362 + - -0.1659918 + - -0.15259206 + - 0.26973587 + - -0.2027169 + - -0.0917392 + - -0.07261718 + - 0.029829284 + - -0.22790319 + - -0.17098425 + - 0.22584288 + - -0.0564033 + - 0.01734019 + - 0.06079967 + - 0.08089117 + - -0.08338457 + - -0.14140306 + - -0.18827999 + - -0.0014449093 + - 0.027207375 + - -0.24742615 + - -0.00023278221 + - -0.029790996 + - 0.063060045 + - -0.16862202 + - 0.037120566 + - -0.084945455 + - 0.07416934 + - 0.12796126 + - -0.045406375 + - 0.014949055 + - 0.13996276 + - 0.1137398 + - 0.20952289 + - 0.17017984 + - -0.09306656 + - 0.14263926 + - -0.039128102 + - 0.049717 + - 0.07322177 + - -0.007119404 + - 0.1822174 + - 0.15475264 + - 0.009140503 + - -0.192194 + - -0.023998134 + - 0.035811298 + - 0.10429328 + - -0.0917749 + - 0.08318548 + - 0.10504049 + - 0.019381043 + - -0.034521963 + - -0.19487971 + - 0.002262365 + - -0.010338312 + - 0.0030169627 + - -0.04142757 + - -0.12851727 + - 0.13556728 + - -0.07703697 + - -0.17818289 + - 0.13272686 + - 0.010864125 + - 0.1270166 + - 0.07761635 + - -0.013364129 + - 0.113226354 + - -0.02382505 + - -0.18267168 + - -0.21273462 + - 0.00572889 + - 0.15333776 + - 0.031236727 + - -0.047734812 + - 0.15318954 + - -0.0422639 + - -0.100510456 + - -0.04850572 + - -0.06502575 + - 0.119464554 + - -0.0062905718 + - 0.06745807 + - -0.22004497 + - 0.072222084 + - -0.009184012 + - 0.00319692 + - 0.080283396 + - -0.056641586 + - -0.0137076415 + - -0.07377067 + - 0.047799133 + - -0.059755508 + - -0.18530697 + - -0.15484875 + - -0.14945446 + - 0.065527506 + - -0.3102535 + - -0.008492329 + - 0.053917777 + - 0.00000071844124 + - -0.2758804 + - 0.13711764 + - 0.1000807 + - -0.18187042 + - 0.1994956 + - 0.11528443 + - -0.08407981 + - 0.003123043 + - 0.24605045 + - -0.12780957 + - -0.027485846 + - 0.10292874 + - -0.15744253 + - 0.0919667 + - -0.045241375 + - -0.15253225 + - -0.12053478 + - 0.17173854 + - -0.016056553 + - 0.08185807 + - -0.031852756 + - 0.14935157 + - 0.11312494 + - -0.10723662 + - 0.10331909 + - -0.24604844 + - 0.13225277 + - 0.17722017 + - 0.15100719 + - -0.15991843 + - 0.086162254 + - -0.034199767 + - 0.11815569 + - 0.026594251 + - -0.021302644 + - -0.069665894 + - -0.11310478 + - 0.14963722 + - 0.08888577 + - 0.011854559 + - 0.030062955 + - 0.012756174 + - 0.037534814 + - -0.011464726 + - 0.20886534 + - -0.22473544 + - -0.027539682 + - -0.04468487 + - 0.0014901168 + - -0.021486057 + - -0.024197256 + - -0.025673477 + - 0.08420412 + - -0.080005094 + - -0.036326874 + - -0.07087634 + - 0.11071267 + - 0.009464046 + - 0.056569714 + - 0.06133256 + - -0.19243565 + - 0.06080566 + - -0.13532643 + - -0.01693482 + - 0.064103566 + - 0.17706211 + - 0.028734889 + - 0.000000000000000000000000000000000007419987 + - -0.003631481 + - 0.057738245 + - 0.06747049 + - -0.12363014 + - -0.09443995 + - -0.099604435 + - -0.018160466 + - 0.062302742 + - -0.014145991 + - 0.029513303 + - -0.10671879 From 8cc712085fe52b33bcb485b09bb7bffb3c355c8d Mon Sep 17 00:00:00 2001 From: kozistr Date: Wed, 25 Dec 2024 17:05:58 +0900 Subject: [PATCH 04/14] feature: flashmodernbert --- .../candle/src/models/flash_modernbert.rs | 191 +++++++++++------- 1 file changed, 120 insertions(+), 71 deletions(-) diff --git a/backends/candle/src/models/flash_modernbert.rs b/backends/candle/src/models/flash_modernbert.rs index 9f15a3ed..07fdc477 100644 --- a/backends/candle/src/models/flash_modernbert.rs +++ b/backends/candle/src/models/flash_modernbert.rs @@ -2,6 +2,7 @@ use crate::flash_attn::flash_attn_varlen; use crate::layers::{LayerNorm, Linear}; use crate::models::modernbert::{ ClassificationHead, ModernBertClassificationHead, ModernBertConfig, ModernBertEmbeddings, + ModernBertMLP, }; use crate::models::Model; use candle::{DType, Device, IndexOp, Result, Tensor}; @@ -12,10 +13,6 @@ struct ModernBertAttention { wqkv: Linear, wo: Linear, - local_attention: (i64, i64), - cos: Tensor, - sin: Tensor, - num_attention_heads: usize, attention_head_size: usize, softmax_scale: f64, @@ -25,30 +22,36 @@ struct ModernBertAttention { impl ModernBertAttention { pub fn load(vb: VarBuilder, config: &BertConfig) -> Result { - let wi_weight = vb - .pp("Wi") - .get((config.hidden_size, config.intermediate_size * 2), "weight")?; - let wi_bias = vb - .pp("Wi") - .get((config.intermediate_size * 2,), "bias") - .ok(); - let wi = Linear::new(wi_weight, wi_bias, None); - - let wo_weight = vb - .pp("Wo") - .get((config.intermediate_size * 2, config.hidden_size), "weight")?; - let wo_bias = vb.pp("Wo").get((config.hidden_size,), "bias").ok(); + let attention_head_size = config.hidden_size / config.num_attention_heads; + let hidden_size = config.hidden_size; + + let wqkv_weight = vb + .pp("Wqkv") + .get((hidden_size * 3, hidden_size), "weight")?; + let wqkv_bias = if config.attention_bias { + vb.pp("Wqkv").get(hidden_size * 3, "bias").ok() + } else { + None + }; + let wqkv: Linear = Linear::new(wqkv_weight, wqkv_bias, None); + let wo_weight = vb.pp("Wo").get((hidden_size, hidden_size), "weight")?; + let wo_bias = if config.attention_bias { + vb.pp("Wo").get(hidden_size, "bias").ok() + } else { + None + }; let wo = Linear::new(wo_weight, wo_bias, None); - let activation = Some(config.hidden_activation.clone()); + let softmax_scale = 1. / (attention_head_size as f64).sqrt(); Ok(Self { - wi, + wqkv, wo, - activation, - intermediate_size: config.intermediate_size, - span: tracing::span!(tracing::Level::TRACE, "mlp"), + num_attention_heads: config.num_attention_heads, + attention_head_size, + softmax_scale, + span: tracing::span!(tracing::Level::TRACE, "attention"), }) } @@ -56,6 +59,8 @@ impl ModernBertAttention { &self, hidden_states: &Tensor, cu_seqlens: &Tensor, + cos: &Tensor, + sin: &Tensor, max_s: usize, ) -> Result { let _enter = self.span.enter(); @@ -73,9 +78,8 @@ impl ModernBertAttention { let key_layer = &qkv[1].contiguous()?; let value_layer = &qkv[2]; - let query_layer = - apply_rotary(query_layer, &self.cos, &self.sin, self.attention_head_size)?; - let key_layer = apply_rotary(key_layer, &self.cos, &self.sin, self.attention_head_size)?; + let query_layer = apply_rotary(query_layer, cos, sin, self.attention_head_size)?; + let key_layer = apply_rotary(key_layer, cos, sin, self.attention_head_size)?; let attention = flash_attn_varlen( &query_layer, @@ -88,8 +92,7 @@ impl ModernBertAttention { max_s, self.softmax_scale, false, - self.local_attention[0], - self.local_attention[1], + self.local_attention, )?; let attention = attention.flatten_from(candle::D::Minus2)?; @@ -110,7 +113,7 @@ struct ModernBertEncoderLayer { impl ModernBertEncoderLayer { pub fn load(vb: VarBuilder, index: usize, config: &ModernBertConfig) -> Result { - let attn_norm = if index > 0 { + let attn_norm = if index != 0 { Some(LayerNorm::load( vb.pp("attn_norm"), config.hidden_size, @@ -120,7 +123,7 @@ impl ModernBertEncoderLayer { None }; - let attn = ModernBertAttention::load(vb.pp("attn"), index, config)?; + let attn = ModernBertAttention::load(vb.pp("attn"), config)?; let mlp_norm = LayerNorm::load( vb.pp("mlp_norm"), @@ -143,30 +146,38 @@ impl ModernBertEncoderLayer { fn forward( &self, hidden_states: &Tensor, - attention_mask: &Tensor, - silding_attention_mask: &Tensor, + cu_seqlens: &Tensor, + cos: &Tensor, + sin: &Tensor, + max_s: usize, ) -> Result { let _enter = self.span.enter(); - let mut hidden_states = hidden_states.clone(); + let residual = hidden_states.clone(); - if let Some(attn_norm) = &self.attn_norm { - hidden_states = attn_norm.forward(&hidden_states, None)?; - } + let attn_norm = if let Some(attn_norm) = &self.attn_norm { + attn_norm.forward(hidden_states, None)? + } else { + hidden_states.clone() + }; + + let attn_outputs = self.attn.forward(&attn_norm, cu_seqlens, cos, sin, max_s)?; + + let hidden_states = residual.add(&attn_outputs)?; - let hidden_states = - self.attn - .forward(&hidden_states, attention_mask, silding_attention_mask)?; let mlp_output = self .mlp .forward(&self.mlp_norm.forward(&hidden_states, None)?)?; - hidden_states.broadcast_add(&mlp_output) + hidden_states.add(&mlp_output) } } struct ModernBertEncoder { layers: Vec, + + global_attn_every_n_layers: usize, + span: tracing::Span, } @@ -178,22 +189,29 @@ impl ModernBertEncoder { let span = tracing::span!(tracing::Level::TRACE, "encoder"); - Ok(ModernBertEncoder { layers, span }) + Ok(ModernBertEncoder { + layers, + global_attn_every_n_layers: config.global_attn_every_n_layers, + span, + }) } fn forward( &self, hidden_states: &Tensor, - attention_mask: &Tensor, - silding_attention_mask: &Tensor, + cu_seqlens: &Tensor, + rotary_cache: &HashMap, + max_s: usize, ) -> Result { let _enter = self.span.enter(); let mut hidden_states = hidden_states.clone(); - for layer in self.layers.iter() { - hidden_states = - layer.forward(&hidden_states, attention_mask, silding_attention_mask)?; + for (index, layer) in self.layers.iter().enumerate() { + let use_local_attention = index % self.global_attn_every_n_layers != 0; + let (cos, sin) = &rotary_cache[&use_local_attention]; + + hidden_states = layer.forward(&hidden_states, cu_seqlens, cos, sin, max_s)?; } Ok(hidden_states) @@ -208,6 +226,10 @@ pub struct FlashModernBertModel { classifier: Option>, local_attention: usize, + rotary_dim: usize, + rotary_cache: HashMap, + pad_token_id: u32, + num_attention_heads: usize, device: Device, dtype: DType, @@ -251,11 +273,34 @@ impl FlashModernBertModel { let embeddings = ModernBertEmbeddings::load(vb.pp("model.embeddings"), config)?; let encoder = ModernBertEncoder::load(vb.pp("model.layers"), config)?; let final_norm = LayerNorm::load( - vb.pp("final_norm"), + vb.pp("model.final_norm"), config.hidden_size, config.norm_eps as f32, )?; + let rotary_dim = config.hidden_size / config.num_attention_heads; + let mut rotary_cache: HashMap = HashMap::new(); + + for use_local_attention in [true, false] { + let rope_theta = if use_local_attention { + config.local_rope_theta + } else { + config.global_rope_theta + }; + + let max_position_embeddings = if use_local_attention { + config.max_position_embeddings + } else { + config.local_attention + }; + + let inv_freqs = get_inv_freqs(rotary_dim, rope_theta as f32, vb.device(), None)?; + + let (cos, sin) = get_cos_sin(max_position_embeddings, &inv_freqs, vb.dtype(), true)?; + + rotary_cache.insert(use_local_attention, (cos, sin)); + } + Ok(Self { embeddings, encoder, @@ -263,6 +308,10 @@ impl FlashModernBertModel { pool, classifier, local_attention: config.local_attention, + rotary_dim, + rotary_cache, + pad_token_id: config.pad_token_id as u32, + num_attention_heads: config.num_attention_heads, device: vb.device().clone(), dtype: vb.dtype(), span: tracing::span!(tracing::Level::TRACE, "model"), @@ -273,6 +322,7 @@ impl FlashModernBertModel { &self, attention_mask: Option<&Tensor>, input_shape: &Shape, + num_attention_heads: usize, ) -> Result { let extended_attention_mask = if let Some(attention_mask) = attention_mask { attention_mask.squeeze(2)? @@ -283,16 +333,9 @@ impl FlashModernBertModel { .unsqueeze(1)? .to_dtype(self.dtype)?; - let min_value = match self.dtype { - DType::F32 => f32::MIN as f64, - _ => -65504.0_f64, // f16 minumum value - }; - - let extended_attention_mask = ((1.0 - extended_attention_mask)? * min_value)?; - let (bs, seq_len) = input_shape.dims2()?; let extended_attention_mask = - extended_attention_mask.broadcast_as((bs, 1, seq_len, seq_len))?; + extended_attention_mask.broadcast_as((bs, num_attention_heads, seq_len, seq_len))?; Ok(extended_attention_mask) } @@ -302,28 +345,24 @@ impl FlashModernBertModel { attention_mask: &Tensor, local_attention: usize, ) -> Result { + let attention_mask = attention_mask.to_dtype(DType::U8)?; let mask_shape = attention_mask.shape(); let (_, _, seq_len, _) = mask_shape.dims4()?; let rows = Tensor::arange(0, seq_len as i64, attention_mask.device())?.unsqueeze(0)?; + let rows = rows.broadcast_as((seq_len, seq_len))?; + let distance = (&rows - &rows.t()?)?.abs()?; let window_size = local_attention / 2; let window_mask = distance .le(window_size as i64)? .unsqueeze(0)? - .unsqueeze(0)?; - - let dtype = attention_mask.dtype(); - let min_value = match dtype { - DType::F32 => f32::MIN as f64, - _ => -65504.0, // f16 minimum value - }; + .unsqueeze(0)? + .broadcast_as(mask_shape)?; - let inverted_window_mask = window_mask.eq(0_i64)?; - let min_value_tensor = Tensor::full(min_value, mask_shape, attention_mask.device())?; - let sliding_window_mask = - attention_mask.where_cond(&inverted_window_mask, &min_value_tensor)?; + let zero_tensor = Tensor::zeros_like(&attention_mask)?; + let sliding_window_mask = attention_mask.where_cond(&window_mask, &zero_tensor)?; Ok(sliding_window_mask) } @@ -335,22 +374,32 @@ impl FlashModernBertModel { let shape = batch.input_ids.len(); let input_ids = Tensor::from_vec(batch.input_ids, shape, &self.device)?; + let position_ids = Tensor::from_vec(batch.position_ids, shape, &self.device)?; let cu_seqlens = Tensor::from_vec( batch.cumulative_seq_lengths.clone(), batch_size + 1, &self.device, )?; - let global_attention_mask = - self.get_global_attention_mask(attention_mask.as_ref(), input_ids.shape())?; - let silding_attention_mask = - self.get_silding_window_mask(&global_attention_mask, self.local_attention)?; + let mut rotary_cache: HashMap = HashMap::new(); + for use_local_attention in [true, false] { + let (cos, sin) = &self.rotary_cache[&use_local_attention]; + + let cos = cos.index_select(&position_ids, 0)?; + let sin = sin.index_select(&position_ids, 0)?; + + let cos = cos.reshape((batch_size, 1, max_length, self.rotary_dim))?; + let sin = sin.reshape((batch_size, 1, max_length, self.rotary_dim))?; + + rotary_cache.insert(use_local_attention, (cos, sin)); + } let hidden_states = self.embeddings.forward(&input_ids)?; let hidden_states = self.encoder.forward( &hidden_states, - &global_attention_mask, - &silding_attention_mask, + &cu_seqlens, + &rotary_cache, + batch.max_length as usize, )?; let outputs = self.final_norm.forward(&hidden_states, None)?; From eb5932c3ee79fc1581734afe87e0c908bd3cac2c Mon Sep 17 00:00:00 2001 From: kozistr Date: Wed, 25 Dec 2024 17:11:56 +0900 Subject: [PATCH 05/14] docs: README --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5c7b9680..f0fda88b 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ Ember, GTE and E5. TEI implements many features such as: #### Text Embeddings Text Embeddings Inference currently supports Nomic, BERT, CamemBERT, XLM-RoBERTa models with absolute positions, JinaBERT -model with Alibi positions and Mistral, Alibaba GTE, Qwen2 models with Rope positions, and MPNet. +model with Alibi positions and Mistral, Alibaba GTE, Qwen2 models with Rope positions, MPNet, and ModernBert. Below are some examples of the currently supported models: @@ -82,6 +82,7 @@ Below are some examples of the currently supported models: | N/A | 0.1B | JinaBERT | [jinaai/jina-embeddings-v2-base-en](https://hf.co/jinaai/jina-embeddings-v2-base-en) | | N/A | 0.1B | JinaBERT | [jinaai/jina-embeddings-v2-base-code](https://hf.co/jinaai/jina-embeddings-v2-base-code) | | N/A | 0.1B | MPNet | [sentence-transformers/all-mpnet-base-v2](https://hf.co/sentence-transformers/all-mpnet-base-v2) | +| N/A | 0.4B | ModernBert | [answerdotai/ModernBERT-large](https://hf.co/answerdotai/ModernBERT-large) | To explore the list of best performing text embeddings models, visit the [Massive Text Embedding Benchmark (MTEB) Leaderboard](https://huggingface.co/spaces/mteb/leaderboard). From 3253fc7a3c86bbc282a7de7d5c8219df0cb02650 Mon Sep 17 00:00:00 2001 From: kozistr Date: Thu, 26 Dec 2024 08:26:33 +0900 Subject: [PATCH 06/14] feature: flashmodernbert --- backends/candle/src/flash_attn.rs | 11 +++- backends/candle/src/layers/layer_norm.rs | 9 ++- .../candle/src/models/flash_distilbert.rs | 1 + backends/candle/src/models/flash_gte.rs | 1 + backends/candle/src/models/flash_jina.rs | 1 + backends/candle/src/models/flash_jina_code.rs | 1 + backends/candle/src/models/flash_mistral.rs | 1 + .../candle/src/models/flash_modernbert.rs | 58 +++++++++---------- backends/candle/src/models/flash_nomic.rs | 1 + backends/candle/src/models/flash_qwen2.rs | 1 + backends/candle/src/models/modernbert.rs | 2 +- 11 files changed, 50 insertions(+), 37 deletions(-) diff --git a/backends/candle/src/flash_attn.rs b/backends/candle/src/flash_attn.rs index f2016928..8dbe58cf 100644 --- a/backends/candle/src/flash_attn.rs +++ b/backends/candle/src/flash_attn.rs @@ -32,6 +32,7 @@ pub(crate) fn flash_attn_varlen( softmax_scale: f32, causal: bool, window_size_left: Option, + window_size_right: Option, ) -> Result { let runtime_compute_cap = get_runtime_compute_cap(); @@ -39,7 +40,7 @@ pub(crate) fn flash_attn_varlen( if alibi_slopes.is_some() { candle::bail!("Flash attention v1 does not support alibi"); } - if window_size_left.is_some() { + if window_size_left.is_some() | window_size_right.is_some() { candle::bail!("Flash attention v1 does not support attention windowing"); } @@ -65,7 +66,13 @@ pub(crate) fn flash_attn_varlen( { use candle_flash_attn::{flash_attn_varlen_alibi_windowed, flash_attn_varlen_windowed}; - let window_size_right = if causal { Some(0) } else { None }; + let window_size_right = if causal { + Some(0) + } else if window_size_right.is_some() { + window_size_right + } else { + None + }; let attention = if let Some(alibi_slopes) = alibi_slopes { flash_attn_varlen_alibi_windowed( diff --git a/backends/candle/src/layers/layer_norm.rs b/backends/candle/src/layers/layer_norm.rs index c67b12dd..932e1b95 100644 --- a/backends/candle/src/layers/layer_norm.rs +++ b/backends/candle/src/layers/layer_norm.rs @@ -72,12 +72,17 @@ impl LayerNorm { &hidden_states, &residual, &self.weight, - &self.bias, + self.bias.as_ref(), self.epsilon, )?; Ok(result) } else { - layer_norm(&hidden_states, &self.weight, &self.bias, self.epsilon) + layer_norm( + &hidden_states, + &self.weight, + self.bias.as_ref(), + self.epsilon, + ) }?; result.reshape(original_shape) } diff --git a/backends/candle/src/models/flash_distilbert.rs b/backends/candle/src/models/flash_distilbert.rs index 7f060601..b107e1e3 100644 --- a/backends/candle/src/models/flash_distilbert.rs +++ b/backends/candle/src/models/flash_distilbert.rs @@ -85,6 +85,7 @@ impl DistilBertAttention { self.softmax_scale, false, None, + None, )?; let attention = attention.flatten_from(candle::D::Minus2)?; diff --git a/backends/candle/src/models/flash_gte.rs b/backends/candle/src/models/flash_gte.rs index b9bb4cdf..f4aac07e 100644 --- a/backends/candle/src/models/flash_gte.rs +++ b/backends/candle/src/models/flash_gte.rs @@ -87,6 +87,7 @@ impl GTEAttention { self.softmax_scale, false, None, + None, )?; let attention = attention.flatten_from(candle::D::Minus2)?; diff --git a/backends/candle/src/models/flash_jina.rs b/backends/candle/src/models/flash_jina.rs index 83c5b0a4..947fac6c 100644 --- a/backends/candle/src/models/flash_jina.rs +++ b/backends/candle/src/models/flash_jina.rs @@ -106,6 +106,7 @@ impl JinaAttention { self.softmax_scale, false, None, + None, )?; let attention = attention.flatten_from(candle::D::Minus2)?; diff --git a/backends/candle/src/models/flash_jina_code.rs b/backends/candle/src/models/flash_jina_code.rs index 56ab1976..745786dc 100644 --- a/backends/candle/src/models/flash_jina_code.rs +++ b/backends/candle/src/models/flash_jina_code.rs @@ -142,6 +142,7 @@ impl JinaCodeAttention { self.softmax_scale, false, None, + None, )?; let attention = attention.flatten_from(candle::D::Minus2)?; diff --git a/backends/candle/src/models/flash_mistral.rs b/backends/candle/src/models/flash_mistral.rs index 70538269..19955259 100644 --- a/backends/candle/src/models/flash_mistral.rs +++ b/backends/candle/src/models/flash_mistral.rs @@ -105,6 +105,7 @@ impl MistralAttention { self.softmax_scale, true, self.window_size_left, + None, )?; let attention = attention.flatten_from(candle::D::Minus2)?; diff --git a/backends/candle/src/models/flash_modernbert.rs b/backends/candle/src/models/flash_modernbert.rs index 07fdc477..73aeeeb4 100644 --- a/backends/candle/src/models/flash_modernbert.rs +++ b/backends/candle/src/models/flash_modernbert.rs @@ -1,11 +1,13 @@ +use std::collections::HashMap; + use crate::flash_attn::flash_attn_varlen; -use crate::layers::{LayerNorm, Linear}; +use crate::layers::{apply_rotary, get_cos_sin, get_inv_freqs, LayerNorm, Linear}; use crate::models::modernbert::{ ClassificationHead, ModernBertClassificationHead, ModernBertConfig, ModernBertEmbeddings, ModernBertMLP, }; use crate::models::Model; -use candle::{DType, Device, IndexOp, Result, Tensor}; +use candle::{DType, Device, IndexOp, Result, Shape, Tensor}; use candle_nn::VarBuilder; use text_embeddings_backend_core::{Batch, ModelType, Pool}; @@ -15,13 +17,15 @@ struct ModernBertAttention { num_attention_heads: usize, attention_head_size: usize, - softmax_scale: f64, + softmax_scale: f32, + local_attention: usize, + use_local_attention: bool, span: tracing::Span, } impl ModernBertAttention { - pub fn load(vb: VarBuilder, config: &BertConfig) -> Result { + pub fn load(vb: VarBuilder, index: usize, config: &ModernBertConfig) -> Result { let attention_head_size = config.hidden_size / config.num_attention_heads; let hidden_size = config.hidden_size; @@ -43,7 +47,9 @@ impl ModernBertAttention { }; let wo = Linear::new(wo_weight, wo_bias, None); - let softmax_scale = 1. / (attention_head_size as f64).sqrt(); + let softmax_scale = (1. / (attention_head_size as f64).sqrt()) as f32; + + let use_local_attention = index % config.global_attn_every_n_layers != 0; Ok(Self { wqkv, @@ -51,6 +57,8 @@ impl ModernBertAttention { num_attention_heads: config.num_attention_heads, attention_head_size, softmax_scale, + local_attention: config.local_attention / 2 as usize, + use_local_attention, span: tracing::span!(tracing::Level::TRACE, "attention"), }) } @@ -81,6 +89,12 @@ impl ModernBertAttention { let query_layer = apply_rotary(query_layer, cos, sin, self.attention_head_size)?; let key_layer = apply_rotary(key_layer, cos, sin, self.attention_head_size)?; + let attention_size = if self.use_local_attention { + Some(self.local_attention) + } else { + None + }; + let attention = flash_attn_varlen( &query_layer, &key_layer, @@ -92,7 +106,8 @@ impl ModernBertAttention { max_s, self.softmax_scale, false, - self.local_attention, + attention_size, + attention_size, )?; let attention = attention.flatten_from(candle::D::Minus2)?; @@ -123,7 +138,7 @@ impl ModernBertEncoderLayer { None }; - let attn = ModernBertAttention::load(vb.pp("attn"), config)?; + let attn = ModernBertAttention::load(vb.pp("attn"), index, config)?; let mlp_norm = LayerNorm::load( vb.pp("mlp_norm"), @@ -238,7 +253,7 @@ pub struct FlashModernBertModel { } impl FlashModernBertModel { - pub fn load(vb: VarBuilder, config: &BertConfig, model_type: ModelType) -> Result { + pub fn load(vb: VarBuilder, config: &ModernBertConfig, model_type: ModelType) -> Result { match vb.device() { Device::Cuda(_) => {} _ => candle::bail!("FlashModernBert requires Cuda"), @@ -388,8 +403,8 @@ impl FlashModernBertModel { let cos = cos.index_select(&position_ids, 0)?; let sin = sin.index_select(&position_ids, 0)?; - let cos = cos.reshape((batch_size, 1, max_length, self.rotary_dim))?; - let sin = sin.reshape((batch_size, 1, max_length, self.rotary_dim))?; + let cos = cos.reshape((batch_size, 1, batch.max_length, self.rotary_dim))?; + let sin = sin.reshape((batch_size, 1, batch.max_length, self.rotary_dim))?; rotary_cache.insert(use_local_attention, (cos, sin)); } @@ -465,28 +480,7 @@ impl FlashModernBertModel { } } Pool::Splade => { - let splade_head = self.splade.as_ref().unwrap(); - let relu_log = splade_head.forward(&outputs)?; - - if batch_size > 1 { - let results: Result> = batch - .pooled_indices - .into_iter() - .map(|i| { - let i = i as usize; - let start = batch.cumulative_seq_lengths[i]; - let len = batch.cumulative_seq_lengths[i + 1] - start; - - relu_log - .narrow(0, start as usize, len as usize)? - .max_keepdim(0) - }) - .collect(); - - Some(Tensor::cat(&results?, 0)?) - } else { - Some(relu_log.max_keepdim(0)?) - } + unreachable!(); } } } else { diff --git a/backends/candle/src/models/flash_nomic.rs b/backends/candle/src/models/flash_nomic.rs index 057db768..5683a86c 100644 --- a/backends/candle/src/models/flash_nomic.rs +++ b/backends/candle/src/models/flash_nomic.rs @@ -83,6 +83,7 @@ impl NomicAttention { self.softmax_scale, false, None, + None, )?; let attention = attention.flatten_from(D::Minus2)?; diff --git a/backends/candle/src/models/flash_qwen2.rs b/backends/candle/src/models/flash_qwen2.rs index c6662047..7053c4c8 100644 --- a/backends/candle/src/models/flash_qwen2.rs +++ b/backends/candle/src/models/flash_qwen2.rs @@ -113,6 +113,7 @@ impl Qwen2Attention { self.softmax_scale, false, None, + None, )?; let attention = attention.flatten_from(candle::D::Minus2)?; diff --git a/backends/candle/src/models/modernbert.rs b/backends/candle/src/models/modernbert.rs index afdef81f..98fb185c 100644 --- a/backends/candle/src/models/modernbert.rs +++ b/backends/candle/src/models/modernbert.rs @@ -77,7 +77,7 @@ impl ModernBertEmbeddings { } } -struct ModernBertMLP { +pub struct ModernBertMLP { wi: Linear, wo: Linear, activation: Option, From 9de3025a692bef80975d9b7a7ac1249f998aef03 Mon Sep 17 00:00:00 2001 From: kozistr Date: Thu, 26 Dec 2024 08:30:46 +0900 Subject: [PATCH 07/14] feature: flashmodernbert --- backends/candle/src/models/flash_bert.rs | 1 + backends/candle/src/models/flash_modernbert.rs | 7 ++++--- backends/candle/src/models/modernbert.rs | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/backends/candle/src/models/flash_bert.rs b/backends/candle/src/models/flash_bert.rs index bfd29cab..9b14d9a0 100644 --- a/backends/candle/src/models/flash_bert.rs +++ b/backends/candle/src/models/flash_bert.rs @@ -104,6 +104,7 @@ impl BertAttention { self.softmax_scale, false, None, + None, )?; let attention = attention.flatten_from(candle::D::Minus2)?; diff --git a/backends/candle/src/models/flash_modernbert.rs b/backends/candle/src/models/flash_modernbert.rs index 73aeeeb4..6f3a7312 100644 --- a/backends/candle/src/models/flash_modernbert.rs +++ b/backends/candle/src/models/flash_modernbert.rs @@ -387,6 +387,7 @@ impl FlashModernBertModel { let batch_size = batch.len(); let shape = batch.input_ids.len(); + let max_length = batch.max_length as usize; let input_ids = Tensor::from_vec(batch.input_ids, shape, &self.device)?; let position_ids = Tensor::from_vec(batch.position_ids, shape, &self.device)?; @@ -403,8 +404,8 @@ impl FlashModernBertModel { let cos = cos.index_select(&position_ids, 0)?; let sin = sin.index_select(&position_ids, 0)?; - let cos = cos.reshape((batch_size, 1, batch.max_length, self.rotary_dim))?; - let sin = sin.reshape((batch_size, 1, batch.max_length, self.rotary_dim))?; + let cos = cos.reshape((batch_size, 1, max_length, self.rotary_dim))?; + let sin = sin.reshape((batch_size, 1, max_length, self.rotary_dim))?; rotary_cache.insert(use_local_attention, (cos, sin)); } @@ -414,7 +415,7 @@ impl FlashModernBertModel { &hidden_states, &cu_seqlens, &rotary_cache, - batch.max_length as usize, + max_length, )?; let outputs = self.final_norm.forward(&hidden_states, None)?; diff --git a/backends/candle/src/models/modernbert.rs b/backends/candle/src/models/modernbert.rs index 98fb185c..5ebe17f1 100644 --- a/backends/candle/src/models/modernbert.rs +++ b/backends/candle/src/models/modernbert.rs @@ -644,7 +644,7 @@ impl ModernBertModel { } else { ( batch.input_ids, - vec![batch.max_length as f32], + vec![max_length as f32], batch.position_ids, None, ) From d29dec6dab3526b63d3b7c8a0a1f967815a20aee Mon Sep 17 00:00:00 2001 From: kozistr Date: Thu, 26 Dec 2024 08:34:31 +0900 Subject: [PATCH 08/14] feature: flashmodernbert --- .../candle/src/models/flash_modernbert.rs | 55 ------------------- 1 file changed, 55 deletions(-) diff --git a/backends/candle/src/models/flash_modernbert.rs b/backends/candle/src/models/flash_modernbert.rs index 6f3a7312..dc38ae60 100644 --- a/backends/candle/src/models/flash_modernbert.rs +++ b/backends/candle/src/models/flash_modernbert.rs @@ -240,11 +240,8 @@ pub struct FlashModernBertModel { pool: Pool, classifier: Option>, - local_attention: usize, rotary_dim: usize, rotary_cache: HashMap, - pad_token_id: u32, - num_attention_heads: usize, device: Device, dtype: DType, @@ -322,66 +319,14 @@ impl FlashModernBertModel { final_norm, pool, classifier, - local_attention: config.local_attention, rotary_dim, rotary_cache, - pad_token_id: config.pad_token_id as u32, - num_attention_heads: config.num_attention_heads, device: vb.device().clone(), dtype: vb.dtype(), span: tracing::span!(tracing::Level::TRACE, "model"), }) } - fn get_global_attention_mask( - &self, - attention_mask: Option<&Tensor>, - input_shape: &Shape, - num_attention_heads: usize, - ) -> Result { - let extended_attention_mask = if let Some(attention_mask) = attention_mask { - attention_mask.squeeze(2)? - } else { - Tensor::ones(input_shape, DType::F32, &self.device)? - } - .unsqueeze(1)? - .unsqueeze(1)? - .to_dtype(self.dtype)?; - - let (bs, seq_len) = input_shape.dims2()?; - let extended_attention_mask = - extended_attention_mask.broadcast_as((bs, num_attention_heads, seq_len, seq_len))?; - - Ok(extended_attention_mask) - } - - fn get_silding_window_mask( - &self, - attention_mask: &Tensor, - local_attention: usize, - ) -> Result { - let attention_mask = attention_mask.to_dtype(DType::U8)?; - let mask_shape = attention_mask.shape(); - let (_, _, seq_len, _) = mask_shape.dims4()?; - - let rows = Tensor::arange(0, seq_len as i64, attention_mask.device())?.unsqueeze(0)?; - let rows = rows.broadcast_as((seq_len, seq_len))?; - - let distance = (&rows - &rows.t()?)?.abs()?; - - let window_size = local_attention / 2; - let window_mask = distance - .le(window_size as i64)? - .unsqueeze(0)? - .unsqueeze(0)? - .broadcast_as(mask_shape)?; - - let zero_tensor = Tensor::zeros_like(&attention_mask)?; - let sliding_window_mask = attention_mask.where_cond(&window_mask, &zero_tensor)?; - - Ok(sliding_window_mask) - } - pub fn forward(&self, batch: Batch) -> Result<(Option, Option)> { let _enter = self.span.enter(); From d970c48dc5d36625b76253dced78af29da0a47c5 Mon Sep 17 00:00:00 2001 From: kozistr Date: Thu, 26 Dec 2024 08:42:25 +0900 Subject: [PATCH 09/14] feature: flashmodernbert --- backends/candle/src/models/flash_modernbert.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/backends/candle/src/models/flash_modernbert.rs b/backends/candle/src/models/flash_modernbert.rs index dc38ae60..a2d71612 100644 --- a/backends/candle/src/models/flash_modernbert.rs +++ b/backends/candle/src/models/flash_modernbert.rs @@ -7,7 +7,7 @@ use crate::models::modernbert::{ ModernBertMLP, }; use crate::models::Model; -use candle::{DType, Device, IndexOp, Result, Shape, Tensor}; +use candle::{DType, Device, IndexOp, Result, Tensor}; use candle_nn::VarBuilder; use text_embeddings_backend_core::{Batch, ModelType, Pool}; @@ -244,7 +244,6 @@ pub struct FlashModernBertModel { rotary_cache: HashMap, device: Device, - dtype: DType, span: tracing::Span, } @@ -322,7 +321,6 @@ impl FlashModernBertModel { rotary_dim, rotary_cache, device: vb.device().clone(), - dtype: vb.dtype(), span: tracing::span!(tracing::Level::TRACE, "model"), }) } From 3df381ab00c276ea868fe5eefc02fd987fb9a64c Mon Sep 17 00:00:00 2001 From: kozistr Date: Mon, 6 Jan 2025 11:34:50 +0900 Subject: [PATCH 10/14] update: attention_mask --- backends/candle/src/models/modernbert.rs | 33 ++++++++---------------- 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/backends/candle/src/models/modernbert.rs b/backends/candle/src/models/modernbert.rs index 5ebe17f1..26bfbc8d 100644 --- a/backends/candle/src/models/modernbert.rs +++ b/backends/candle/src/models/modernbert.rs @@ -480,10 +480,6 @@ impl ModernBertModel { candle::bail!("`splade` is not supported for ModernBert") } - if pool == Pool::LastToken { - candle::bail!("`last_token` is not supported for ModernBert"); - } - (pool, None) } }; @@ -540,7 +536,6 @@ impl ModernBertModel { &self, attention_mask: Option<&Tensor>, input_shape: &Shape, - num_attention_heads: usize, ) -> Result { let extended_attention_mask = if let Some(attention_mask) = attention_mask { attention_mask.squeeze(2)? @@ -552,17 +547,17 @@ impl ModernBertModel { .to_dtype(self.dtype)?; let (bs, seq_len) = input_shape.dims2()?; - let extended_attention_mask = - extended_attention_mask.broadcast_as((bs, num_attention_heads, seq_len, seq_len))?; + let extended_attention_mask = extended_attention_mask.broadcast_as(( + bs, + self.num_attention_heads, + seq_len, + seq_len, + ))?; Ok(extended_attention_mask) } - fn get_silding_window_mask( - &self, - attention_mask: &Tensor, - local_attention: usize, - ) -> Result { + fn get_silding_window_mask(&self, attention_mask: &Tensor) -> Result { let attention_mask = attention_mask.to_dtype(DType::U8)?; let mask_shape = attention_mask.shape(); let (_, _, seq_len, _) = mask_shape.dims4()?; @@ -572,9 +567,9 @@ impl ModernBertModel { let distance = (&rows - &rows.t()?)?.abs()?; - let window_size = local_attention / 2; + let window_size = (self.local_attention / 2) as i64; let window_mask = distance - .le(window_size as i64)? + .le(window_size)? .unsqueeze(0)? .unsqueeze(0)? .broadcast_as(mask_shape)?; @@ -656,14 +651,10 @@ impl ModernBertModel { Tensor::from_vec(input_lengths, (batch_size, 1), &self.device)?.to_dtype(self.dtype)?; let global_attention_mask = self - .get_global_attention_mask( - attention_mask.as_ref(), - input_ids.shape(), - self.num_attention_heads, - )? + .get_global_attention_mask(attention_mask.as_ref(), input_ids.shape())? .to_dtype(self.dtype)?; let silding_attention_mask = self - .get_silding_window_mask(&global_attention_mask, self.local_attention)? + .get_silding_window_mask(&global_attention_mask)? .to_dtype(self.dtype)?; let min_value = match self.dtype { @@ -703,12 +694,10 @@ impl ModernBertModel { let pooled_indices_length = batch.pooled_indices.len(); let mut outputs = outputs.clone(); - // Only use pooled_indices if at least one member of the batch ask for raw embeddings let pooled_indices = if has_raw_requests { let pooled_indices = Tensor::from_vec(batch.pooled_indices, pooled_indices_length, &self.device)?; - // Select values in the batch outputs = outputs.index_select(&pooled_indices, 0)?; Some(pooled_indices) } else { From 1fe761f779ac6f465011b05513786e6e11ed4ce9 Mon Sep 17 00:00:00 2001 From: kozistr Date: Mon, 6 Jan 2025 11:35:45 +0900 Subject: [PATCH 11/14] update: enable last_token pooling --- backends/candle/src/models/flash_modernbert.rs | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/backends/candle/src/models/flash_modernbert.rs b/backends/candle/src/models/flash_modernbert.rs index a2d71612..8cee9f30 100644 --- a/backends/candle/src/models/flash_modernbert.rs +++ b/backends/candle/src/models/flash_modernbert.rs @@ -273,10 +273,6 @@ impl FlashModernBertModel { candle::bail!("`splade` is not supported for ModernBert") } - if pool == Pool::LastToken { - candle::bail!("`last_token` is not supported for ModernBert"); - } - (pool, None) } }; @@ -354,12 +350,9 @@ impl FlashModernBertModel { } let hidden_states = self.embeddings.forward(&input_ids)?; - let hidden_states = self.encoder.forward( - &hidden_states, - &cu_seqlens, - &rotary_cache, - max_length, - )?; + let hidden_states = + self.encoder + .forward(&hidden_states, &cu_seqlens, &rotary_cache, max_length)?; let outputs = self.final_norm.forward(&hidden_states, None)?; let has_pooling_requests = !batch.pooled_indices.is_empty(); From ccb633c663fd666d2f25ad83158801a68e070878 Mon Sep 17 00:00:00 2001 From: kozistr Date: Mon, 6 Jan 2025 11:55:20 +0900 Subject: [PATCH 12/14] update: disable LastToken pooling for ModernBert --- backends/candle/src/models/modernbert.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/backends/candle/src/models/modernbert.rs b/backends/candle/src/models/modernbert.rs index 26bfbc8d..b4a8878f 100644 --- a/backends/candle/src/models/modernbert.rs +++ b/backends/candle/src/models/modernbert.rs @@ -480,6 +480,10 @@ impl ModernBertModel { candle::bail!("`splade` is not supported for ModernBert") } + if pool == Pool::LastToken { + candle::bail!("`LastToken` is not supported for ModernBert") + } + (pool, None) } }; From 3b20211a58d2b55cdbf95dbd713ed10869401eaa Mon Sep 17 00:00:00 2001 From: kozistr Date: Mon, 6 Jan 2025 12:10:28 +0900 Subject: [PATCH 13/14] update: support nomic-ai/modernbert-embed-base --- backends/candle/src/models/modernbert.rs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/backends/candle/src/models/modernbert.rs b/backends/candle/src/models/modernbert.rs index b4a8878f..43eafcd2 100644 --- a/backends/candle/src/models/modernbert.rs +++ b/backends/candle/src/models/modernbert.rs @@ -488,13 +488,22 @@ impl ModernBertModel { } }; - let embeddings = ModernBertEmbeddings::load(vb.pp("model.embeddings"), config)?; - let encoder = ModernBertEncoder::load(vb.pp("model.layers"), config)?; + let embeddings = ModernBertEmbeddings::load(vb.pp("model.embeddings"), config) + .or_else(|_| ModernBertEmbeddings::load(vb.pp("embeddings"), config))?; + let encoder = ModernBertEncoder::load(vb.pp("model.layers"), config) + .or_else(|_| ModernBertEncoder::load(vb.pp("layers"), config))?; let final_norm = LayerNorm::load( vb.pp("model.final_norm"), config.hidden_size, config.norm_eps as f32, - )?; + ) + .or_else(|_| { + LayerNorm::load( + vb.pp("final_norm"), + config.hidden_size, + config.norm_eps as f32, + ) + })?; let rotary_dim = config.hidden_size / config.num_attention_heads; let mut rotary_cache: HashMap = HashMap::new(); From 63c422494d13aba9ea60024d3693f86d072797a2 Mon Sep 17 00:00:00 2001 From: kozistr Date: Sun, 19 Jan 2025 21:38:55 +0900 Subject: [PATCH 14/14] fix: rotary embedding --- backends/candle/src/models/modernbert.rs | 29 +++++++++--------------- 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/backends/candle/src/models/modernbert.rs b/backends/candle/src/models/modernbert.rs index 43eafcd2..b747ed73 100644 --- a/backends/candle/src/models/modernbert.rs +++ b/backends/candle/src/models/modernbert.rs @@ -4,7 +4,7 @@ use crate::layers::{ apply_rotary, get_cos_sin, get_cublas_lt_wrapper, get_inv_freqs, HiddenAct, LayerNorm, Linear, }; use crate::models::Model; -use candle::{DType, Device, IndexOp, Module, Result, Shape, Tensor, D}; +use candle::{DType, Device, IndexOp, Module, Result, Tensor, D}; use candle_nn::{Embedding, VarBuilder}; use serde::Deserialize; use text_embeddings_backend_core::{Batch, ModelType, Pool}; @@ -454,7 +454,7 @@ pub struct ModernBertModel { local_attention: usize, rotary_dim: usize, - rotary_cache: HashMap, + inv_freqs_cache: HashMap, pad_token_id: u32, num_attention_heads: usize, @@ -506,7 +506,7 @@ impl ModernBertModel { })?; let rotary_dim = config.hidden_size / config.num_attention_heads; - let mut rotary_cache: HashMap = HashMap::new(); + let mut inv_freqs_cache: HashMap = HashMap::new(); for use_local_attention in [true, false] { let rope_theta = if use_local_attention { @@ -515,17 +515,9 @@ impl ModernBertModel { config.global_rope_theta }; - let max_position_embeddings = if use_local_attention { - config.max_position_embeddings - } else { - config.local_attention - }; - let inv_freqs = get_inv_freqs(rotary_dim, rope_theta as f32, vb.device(), None)?; - let (cos, sin) = get_cos_sin(max_position_embeddings, &inv_freqs, vb.dtype(), true)?; - - rotary_cache.insert(use_local_attention, (cos, sin)); + inv_freqs_cache.insert(use_local_attention, inv_freqs); } Ok(Self { @@ -536,7 +528,7 @@ impl ModernBertModel { classifier, local_attention: config.local_attention, rotary_dim, - rotary_cache, + inv_freqs_cache, pad_token_id: config.pad_token_id as u32, num_attention_heads: config.num_attention_heads, device: vb.device().clone(), @@ -548,18 +540,18 @@ impl ModernBertModel { fn get_global_attention_mask( &self, attention_mask: Option<&Tensor>, - input_shape: &Shape, + input_shape: &(usize, usize), ) -> Result { let extended_attention_mask = if let Some(attention_mask) = attention_mask { attention_mask.squeeze(2)? } else { - Tensor::ones(input_shape, DType::F32, &self.device)? + Tensor::ones(*input_shape, DType::F32, &self.device)? } .unsqueeze(1)? .unsqueeze(1)? .to_dtype(self.dtype)?; - let (bs, seq_len) = input_shape.dims2()?; + let (bs, seq_len) = *input_shape; let extended_attention_mask = extended_attention_mask.broadcast_as(( bs, self.num_attention_heads, @@ -664,7 +656,7 @@ impl ModernBertModel { Tensor::from_vec(input_lengths, (batch_size, 1), &self.device)?.to_dtype(self.dtype)?; let global_attention_mask = self - .get_global_attention_mask(attention_mask.as_ref(), input_ids.shape())? + .get_global_attention_mask(attention_mask.as_ref(), &shape)? .to_dtype(self.dtype)?; let silding_attention_mask = self .get_silding_window_mask(&global_attention_mask)? @@ -680,7 +672,8 @@ impl ModernBertModel { let mut rotary_cache: HashMap = HashMap::new(); for use_local_attention in [true, false] { - let (cos, sin) = &self.rotary_cache[&use_local_attention]; + let inv_freq = &self.inv_freqs_cache[&use_local_attention]; + let (cos, sin) = get_cos_sin(max_length, inv_freq, self.dtype, true)?; let cos = cos.index_select(&position_ids, 0)?; let sin = sin.index_select(&position_ids, 0)?;