From 00804d2364afed393918b321801f602de7c36bed Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Tue, 1 Nov 2022 15:57:40 +0000 Subject: [PATCH 01/26] bump toolchain Signed-off-by: Bugen Zhao --- rust-toolchain | 1 - rust-toolchain.toml | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) delete mode 100644 rust-toolchain create mode 100644 rust-toolchain.toml diff --git a/rust-toolchain b/rust-toolchain deleted file mode 100644 index 3a67502bb5cd9..0000000000000 --- a/rust-toolchain +++ /dev/null @@ -1 +0,0 @@ -nightly-2022-10-16 diff --git a/rust-toolchain.toml b/rust-toolchain.toml new file mode 100644 index 0000000000000..6f5e3d5f9c4ee --- /dev/null +++ b/rust-toolchain.toml @@ -0,0 +1,2 @@ +[toolchain] +channel = "nightly-2022-11-01" From 9a4495f10b437e3957d1f5fd7b877e2209e99605 Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Tue, 1 Nov 2022 15:57:43 +0000 Subject: [PATCH 02/26] fix clippy Signed-off-by: Bugen Zhao --- src/common/src/array/stream_chunk.rs | 2 +- src/connector/src/source/filesystem/s3/s3_dir.rs | 4 ++-- src/risedevtool/src/bin/risedev-dev.rs | 2 +- src/risedevtool/src/compose.rs | 6 +++--- src/risedevtool/src/compose_deploy.rs | 2 +- src/risedevtool/src/task/grafana_service.rs | 6 +++--- src/risedevtool/src/task/kafka_service.rs | 2 +- src/risedevtool/src/task/prometheus_service.rs | 2 +- src/risedevtool/src/task/zookeeper_service.rs | 2 +- src/source/src/parser/pb_parser.rs | 2 +- src/storage/src/hummock/iterator/merge_inner.rs | 4 ++-- src/stream/src/lib.rs | 1 - 12 files changed, 17 insertions(+), 18 deletions(-) diff --git a/src/common/src/array/stream_chunk.rs b/src/common/src/array/stream_chunk.rs index 162f7ea31ed8e..06fb6c5c6929b 100644 --- a/src/common/src/array/stream_chunk.rs +++ b/src/common/src/array/stream_chunk.rs @@ -244,7 +244,7 @@ impl StreamChunk { None => "".to_owned(), // NULL Some(scalar) => scalar.to_string(), }; - cells.push(Cell::new(&str)); + cells.push(Cell::new(str)); } table.add_row(cells); } diff --git a/src/connector/src/source/filesystem/s3/s3_dir.rs b/src/connector/src/source/filesystem/s3/s3_dir.rs index 55487569c0160..37c62afb3339a 100644 --- a/src/connector/src/source/filesystem/s3/s3_dir.rs +++ b/src/connector/src/source/filesystem/s3/s3_dir.rs @@ -135,8 +135,8 @@ pub async fn new_share_config( secret_access, session_token, } => SharedCredentialsProvider::new(aws_types::Credentials::from_keys( - &access_key, - &secret_access, + access_key, + secret_access, session_token, )), }; diff --git a/src/risedevtool/src/bin/risedev-dev.rs b/src/risedevtool/src/bin/risedev-dev.rs index 2f9d92393baab..e1053394afc4d 100644 --- a/src/risedevtool/src/bin/risedev-dev.rs +++ b/src/risedevtool/src/bin/risedev-dev.rs @@ -401,7 +401,7 @@ fn main() -> Result<()> { std::fs::write( Path::new(&env::var("PREFIX_CONFIG")?).join("risectl-env"), - &risectl_env, + risectl_env, )?; println!("All services started successfully."); diff --git a/src/risedevtool/src/compose.rs b/src/risedevtool/src/compose.rs index df8f356b81583..268f24f288a51 100644 --- a/src/risedevtool/src/compose.rs +++ b/src/risedevtool/src/compose.rs @@ -413,17 +413,17 @@ impl Compose for GrafanaConfig { let config_root = Path::new(&config.config_directory); std::fs::write( config_root.join("grafana.ini"), - &GrafanaGen.gen_custom_ini(self), + GrafanaGen.gen_custom_ini(self), )?; std::fs::write( config_root.join("grafana-risedev-datasource.yml"), - &GrafanaGen.gen_datasource_yml(self)?, + GrafanaGen.gen_datasource_yml(self)?, )?; std::fs::write( config_root.join("grafana-risedev-dashboard.yml"), - &GrafanaGen.gen_dashboard_yml(self, config_root, "/")?, + GrafanaGen.gen_dashboard_yml(self, config_root, "/")?, )?; let service = ComposeService { diff --git a/src/risedevtool/src/compose_deploy.rs b/src/risedevtool/src/compose_deploy.rs index 5e8e4b7e7da18..3f11ed253a8ad 100644 --- a/src/risedevtool/src/compose_deploy.rs +++ b/src/risedevtool/src/compose_deploy.rs @@ -241,7 +241,7 @@ fi x }; let deploy_sh = Path::new(output_directory).join("deploy.sh"); - fs::write(&deploy_sh, &shell_script)?; + fs::write(&deploy_sh, shell_script)?; let mut perms = fs::metadata(&deploy_sh)?.permissions(); perms.set_mode(perms.mode() | 0o755); fs::set_permissions(&deploy_sh, perms)?; diff --git a/src/risedevtool/src/task/grafana_service.rs b/src/risedevtool/src/task/grafana_service.rs index 2d1a18d1609e8..d90600a2c72b0 100644 --- a/src/risedevtool/src/task/grafana_service.rs +++ b/src/risedevtool/src/task/grafana_service.rs @@ -59,7 +59,7 @@ impl GrafanaService { std::fs::write( config_root.join("custom.ini"), - &GrafanaGen.gen_custom_ini(config), + GrafanaGen.gen_custom_ini(config), )?; let config_datasources_dir = config_root.join("provisioning").join("datasources"); @@ -67,7 +67,7 @@ impl GrafanaService { std::fs::create_dir_all(&config_datasources_dir)?; std::fs::write( config_datasources_dir.join("risedev-prometheus.yml"), - &GrafanaGen.gen_datasource_yml(config)?, + GrafanaGen.gen_datasource_yml(config)?, )?; let prefix_config = prefix_config.as_ref(); @@ -76,7 +76,7 @@ impl GrafanaService { std::fs::create_dir_all(&config_dashboards_dir)?; std::fs::write( config_dashboards_dir.join("risingwave-dashboard.yaml"), - &GrafanaGen.gen_dashboard_yml(config, prefix_config, prefix_config)?, + GrafanaGen.gen_dashboard_yml(config, prefix_config, prefix_config)?, )?; // std::fs::write( // config_dashboards_dir.join("aws-s3-dashboards.yaml"), diff --git a/src/risedevtool/src/task/kafka_service.rs b/src/risedevtool/src/task/kafka_service.rs index a88f57b9bb013..6079bc0512bcb 100644 --- a/src/risedevtool/src/task/kafka_service.rs +++ b/src/risedevtool/src/task/kafka_service.rs @@ -67,7 +67,7 @@ impl Task for KafkaService { let config_path = Path::new(&prefix_config).join(format!("{}.properties", self.id())); std::fs::write( &config_path, - &KafkaGen.gen_server_properties(&self.config, &path.to_string_lossy()), + KafkaGen.gen_server_properties(&self.config, &path.to_string_lossy()), )?; let mut cmd = self.kafka()?; diff --git a/src/risedevtool/src/task/prometheus_service.rs b/src/risedevtool/src/task/prometheus_service.rs index 94f1a8869210b..dbaceae5e1a88 100644 --- a/src/risedevtool/src/task/prometheus_service.rs +++ b/src/risedevtool/src/task/prometheus_service.rs @@ -65,7 +65,7 @@ impl Task for PrometheusService { std::fs::write( Path::new(&prefix_config).join("prometheus.yml"), - &PrometheusGen.gen_prometheus_yml(&self.config), + PrometheusGen.gen_prometheus_yml(&self.config), )?; let mut cmd = self.prometheus()?; diff --git a/src/risedevtool/src/task/zookeeper_service.rs b/src/risedevtool/src/task/zookeeper_service.rs index 71dc575801bca..441173f65db54 100644 --- a/src/risedevtool/src/task/zookeeper_service.rs +++ b/src/risedevtool/src/task/zookeeper_service.rs @@ -67,7 +67,7 @@ impl Task for ZooKeeperService { let config_path = Path::new(&prefix_config).join(format!("{}.properties", self.id())); std::fs::write( &config_path, - &ZooKeeperGen.gen_server_properties(&self.config, &path.to_string_lossy()), + ZooKeeperGen.gen_server_properties(&self.config, &path.to_string_lossy()), )?; let mut cmd = self.zookeeper()?; diff --git a/src/source/src/parser/pb_parser.rs b/src/source/src/parser/pb_parser.rs index 335265465baa8..714e118e24795 100644 --- a/src/source/src/parser/pb_parser.rs +++ b/src/source/src/parser/pb_parser.rs @@ -343,7 +343,7 @@ mod test { let dir = PathBuf::from("src/test_data"); format!( "file://{}", - std::fs::canonicalize(&dir).unwrap().to_str().unwrap() + std::fs::canonicalize(dir).unwrap().to_str().unwrap() ) } diff --git a/src/storage/src/hummock/iterator/merge_inner.rs b/src/storage/src/hummock/iterator/merge_inner.rs index fb9862af210f2..974a5b7297aa4 100644 --- a/src/storage/src/hummock/iterator/merge_inner.rs +++ b/src/storage/src/hummock/iterator/merge_inner.rs @@ -200,7 +200,7 @@ trait MergeIteratorNext { } impl MergeIteratorNext for OrderedMergeIteratorInner { - type HummockResultFuture<'a> = impl Future>; + type HummockResultFuture<'a> = impl Future> + 'a; fn next_inner(&mut self) -> Self::HummockResultFuture<'_> { async { @@ -248,7 +248,7 @@ impl MergeIteratorNext for OrderedMergeIteratorInner { } impl MergeIteratorNext for UnorderedMergeIteratorInner { - type HummockResultFuture<'a> = impl Future>; + type HummockResultFuture<'a> = impl Future> + 'a; fn next_inner(&mut self) -> Self::HummockResultFuture<'_> { async { diff --git a/src/stream/src/lib.rs b/src/stream/src/lib.rs index 9b90640bae202..f1f2508277b1e 100644 --- a/src/stream/src/lib.rs +++ b/src/stream/src/lib.rs @@ -26,7 +26,6 @@ #![feature(generators)] #![feature(proc_macro_hygiene)] #![feature(stmt_expr_attributes)] -#![feature(unzip_option)] #![feature(allocator_api)] #![feature(map_try_insert)] #![feature(result_option_inspect)] From ea98e26464a5505dc62573171a19a8bb577c736a Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Tue, 1 Nov 2022 16:30:17 +0000 Subject: [PATCH 03/26] use catalog error Signed-off-by: Bugen Zhao --- .../src/binder/relation/table_or_source.rs | 10 +- src/frontend/src/catalog/mod.rs | 2 + src/frontend/src/catalog/root_catalog.rs | 104 ++++++++++-------- src/frontend/src/handler/create_index.rs | 2 +- src/frontend/src/handler/drop_database.rs | 2 +- src/frontend/src/handler/drop_index.rs | 2 +- src/frontend/src/handler/drop_mv.rs | 2 +- src/frontend/src/handler/drop_schema.rs | 2 +- src/frontend/src/handler/drop_sink.rs | 2 +- src/frontend/src/handler/drop_source.rs | 2 +- src/frontend/src/handler/drop_table.rs | 2 +- src/frontend/src/scheduler/plan_fragmenter.rs | 4 +- 12 files changed, 78 insertions(+), 58 deletions(-) diff --git a/src/frontend/src/binder/relation/table_or_source.rs b/src/frontend/src/binder/relation/table_or_source.rs index 9de0e654d4a71..9a7193ac4ba44 100644 --- a/src/frontend/src/binder/relation/table_or_source.rs +++ b/src/frontend/src/binder/relation/table_or_source.rs @@ -142,10 +142,11 @@ impl Binder { { resolve_source_relation(source_catalog) } else { - return Err(RwError::from(CatalogError::NotFound( + return Err(CatalogError::NotFound( "table or source", table_name.to_string(), - ))); + ) + .into()); } } None => (|| { @@ -178,10 +179,7 @@ impl Binder { } } - Err(RwError::from(CatalogError::NotFound( - "table or source", - table_name.to_string(), - ))) + Err(CatalogError::NotFound("table or source", table_name.to_string()).into()) })()?, } }; diff --git a/src/frontend/src/catalog/mod.rs b/src/frontend/src/catalog/mod.rs index ff68e3fc2a13b..3c35b4f80df2b 100644 --- a/src/frontend/src/catalog/mod.rs +++ b/src/frontend/src/catalog/mod.rs @@ -88,6 +88,8 @@ pub fn row_id_column_desc(column_id: ColumnId) -> ColumnDesc { } } +pub type CatalogResult = std::result::Result; + #[derive(Error, Debug)] pub enum CatalogError { #[error("{0} not found: {1}")] diff --git a/src/frontend/src/catalog/root_catalog.rs b/src/frontend/src/catalog/root_catalog.rs index 84e81552b761b..db2d47049911d 100644 --- a/src/frontend/src/catalog/root_catalog.rs +++ b/src/frontend/src/catalog/root_catalog.rs @@ -16,9 +16,7 @@ use std::collections::HashMap; use std::sync::Arc; use itertools::Itertools; -use risingwave_common::bail; use risingwave_common::catalog::{CatalogVersion, IndexId, TableId, PG_CATALOG_SCHEMA_NAME}; -use risingwave_common::error::Result; use risingwave_common::session_config::{SearchPath, USER_NAME_WILD_CARD}; use risingwave_pb::catalog::{ Database as ProstDatabase, Index as ProstIndex, Schema as ProstSchema, Sink as ProstSink, @@ -26,7 +24,7 @@ use risingwave_pb::catalog::{ }; use super::source_catalog::SourceCatalog; -use super::{CatalogError, SinkId, SourceId}; +use super::{CatalogError, CatalogResult, SinkId, SourceId}; use crate::catalog::database_catalog::DatabaseCatalog; use crate::catalog::schema_catalog::SchemaCatalog; use crate::catalog::sink_catalog::SinkCatalog; @@ -195,31 +193,34 @@ impl Catalog { .drop_index(index_id); } - pub fn get_database_by_name(&self, db_name: &str) -> Result<&DatabaseCatalog> { + pub fn get_database_by_name(&self, db_name: &str) -> CatalogResult<&DatabaseCatalog> { self.database_by_name .get(db_name) - .ok_or_else(|| CatalogError::NotFound("database", db_name.to_string()).into()) + .ok_or_else(|| CatalogError::NotFound("database", db_name.to_string())) } - pub fn get_database_by_id(&self, db_id: &DatabaseId) -> Result<&DatabaseCatalog> { + pub fn get_database_by_id(&self, db_id: &DatabaseId) -> CatalogResult<&DatabaseCatalog> { let db_name = self .db_name_by_id .get(db_id) .ok_or_else(|| CatalogError::NotFound("db_id", db_id.to_string()))?; self.database_by_name .get(db_name) - .ok_or_else(|| CatalogError::NotFound("database", db_name.to_string()).into()) + .ok_or_else(|| CatalogError::NotFound("database", db_name.to_string())) } - pub fn get_all_schema_names(&self, db_name: &str) -> Result> { + pub fn get_all_schema_names(&self, db_name: &str) -> CatalogResult> { Ok(self.get_database_by_name(db_name)?.get_all_schema_names()) } - pub fn get_all_schema_info(&self, db_name: &str) -> Result> { + pub fn get_all_schema_info(&self, db_name: &str) -> CatalogResult> { Ok(self.get_database_by_name(db_name)?.get_all_schema_info()) } - pub fn iter_schemas(&self, db_name: &str) -> Result> { + pub fn iter_schemas( + &self, + db_name: &str, + ) -> CatalogResult> { Ok(self.get_database_by_name(db_name)?.iter_schemas()) } @@ -227,13 +228,17 @@ impl Catalog { self.database_by_name.keys().cloned().collect_vec() } - pub fn get_schema_by_name(&self, db_name: &str, schema_name: &str) -> Result<&SchemaCatalog> { + pub fn get_schema_by_name( + &self, + db_name: &str, + schema_name: &str, + ) -> CatalogResult<&SchemaCatalog> { self.get_database_by_name(db_name)? .get_schema_by_name(schema_name) - .ok_or_else(|| CatalogError::NotFound("schema", schema_name.to_string()).into()) + .ok_or_else(|| CatalogError::NotFound("schema", schema_name.to_string())) } - pub fn get_table_name_by_id(&self, table_id: TableId) -> Result { + pub fn get_table_name_by_id(&self, table_id: TableId) -> CatalogResult { self.get_table_by_id(&table_id).map(|table| table.name) } @@ -241,10 +246,10 @@ impl Catalog { &self, db_id: &DatabaseId, schema_id: &SchemaId, - ) -> Result<&SchemaCatalog> { + ) -> CatalogResult<&SchemaCatalog> { self.get_database_by_id(db_id)? .get_schema_by_id(schema_id) - .ok_or_else(|| CatalogError::NotFound("schema_id", schema_id.to_string()).into()) + .ok_or_else(|| CatalogError::NotFound("schema_id", schema_id.to_string())) } pub fn first_valid_schema( @@ -252,7 +257,7 @@ impl Catalog { db_name: &str, search_path: &SearchPath, user_name: &str, - ) -> Result<&SchemaCatalog> { + ) -> CatalogResult<&SchemaCatalog> { for path in search_path.real_path() { let mut schema_name: &str = path; if schema_name == USER_NAME_WILD_CARD { @@ -263,7 +268,10 @@ impl Catalog { return schema_catalog; } } - bail!("no schema has been selected to create in"); + Err(CatalogError::NotFound( + "first valid schema", + "no schema has been selected to create in".to_string(), + )) } #[inline(always)] @@ -272,10 +280,10 @@ impl Catalog { db_name: &str, schema_name: &str, table_name: &str, - ) -> Result<&Arc> { + ) -> CatalogResult<&Arc> { self.get_schema_by_name(db_name, schema_name)? .get_table_by_name(table_name) - .ok_or_else(|| CatalogError::NotFound("table", table_name.to_string()).into()) + .ok_or_else(|| CatalogError::NotFound("table", table_name.to_string())) } pub fn get_table_by_name<'a>( @@ -283,7 +291,7 @@ impl Catalog { db_name: &str, schema_path: SchemaPath<'a>, table_name: &str, - ) -> Result<(&Arc, &'a str)> { + ) -> CatalogResult<(&Arc, &'a str)> { match schema_path { SchemaPath::Name(schema_name) => self .get_table_by_name_with_schema_name(db_name, schema_name, table_name) @@ -301,16 +309,16 @@ impl Catalog { return Ok((table_catalog, schema_name)); } } - Err(CatalogError::NotFound("table", table_name.to_string()).into()) + Err(CatalogError::NotFound("table", table_name.to_string())) } } } - pub fn get_table_by_id(&self, table_id: &TableId) -> Result { + pub fn get_table_by_id(&self, table_id: &TableId) -> CatalogResult { self.table_by_id .get(table_id) .cloned() - .ok_or_else(|| CatalogError::NotFound("table id", table_id.to_string()).into()) + .ok_or_else(|| CatalogError::NotFound("table id", table_id.to_string())) } #[cfg(test)] @@ -324,11 +332,15 @@ impl Catalog { ); } - pub fn get_sys_table_by_name(&self, db_name: &str, table_name: &str) -> Result<&SystemCatalog> { + pub fn get_sys_table_by_name( + &self, + db_name: &str, + table_name: &str, + ) -> CatalogResult<&SystemCatalog> { self.get_schema_by_name(db_name, PG_CATALOG_SCHEMA_NAME) .unwrap() .get_system_table_by_name(table_name) - .ok_or_else(|| CatalogError::NotFound("table", table_name.to_string()).into()) + .ok_or_else(|| CatalogError::NotFound("table", table_name.to_string())) } #[inline(always)] @@ -337,10 +349,10 @@ impl Catalog { db_name: &str, schema_name: &str, source_name: &str, - ) -> Result<&Arc> { + ) -> CatalogResult<&Arc> { self.get_schema_by_name(db_name, schema_name)? .get_source_by_name(source_name) - .ok_or_else(|| CatalogError::NotFound("source", source_name.to_string()).into()) + .ok_or_else(|| CatalogError::NotFound("source", source_name.to_string())) } pub fn get_source_by_name<'a>( @@ -348,7 +360,7 @@ impl Catalog { db_name: &str, schema_path: SchemaPath<'a>, source_name: &str, - ) -> Result<(&Arc, &'a str)> { + ) -> CatalogResult<(&Arc, &'a str)> { match schema_path { SchemaPath::Name(schema_name) => self .get_source_by_name_with_schema_name(db_name, schema_name, source_name) @@ -366,7 +378,7 @@ impl Catalog { return Ok((source_catalog, schema_name)); } } - Err(CatalogError::NotFound("source", source_name.to_string()).into()) + Err(CatalogError::NotFound("source", source_name.to_string())) } } } @@ -377,10 +389,10 @@ impl Catalog { db_name: &str, schema_name: &str, sink_name: &str, - ) -> Result<&Arc> { + ) -> CatalogResult<&Arc> { self.get_schema_by_name(db_name, schema_name)? .get_sink_by_name(sink_name) - .ok_or_else(|| CatalogError::NotFound("sink", sink_name.to_string()).into()) + .ok_or_else(|| CatalogError::NotFound("sink", sink_name.to_string())) } pub fn get_sink_by_name<'a>( @@ -388,7 +400,7 @@ impl Catalog { db_name: &str, schema_path: SchemaPath<'a>, sink_name: &str, - ) -> Result<(&Arc, &'a str)> { + ) -> CatalogResult<(&Arc, &'a str)> { match schema_path { SchemaPath::Name(schema_name) => self .get_sink_by_name_with_schema_name(db_name, schema_name, sink_name) @@ -406,7 +418,7 @@ impl Catalog { return Ok((sink_catalog, schema_name)); } } - Err(CatalogError::NotFound("sink", sink_name.to_string()).into()) + Err(CatalogError::NotFound("sink", sink_name.to_string())) } } } @@ -417,10 +429,10 @@ impl Catalog { db_name: &str, schema_name: &str, index_name: &str, - ) -> Result<&Arc> { + ) -> CatalogResult<&Arc> { self.get_schema_by_name(db_name, schema_name)? .get_index_by_name(index_name) - .ok_or_else(|| CatalogError::NotFound("index", index_name.to_string()).into()) + .ok_or_else(|| CatalogError::NotFound("index", index_name.to_string())) } pub fn get_index_by_name<'a>( @@ -428,7 +440,7 @@ impl Catalog { db_name: &str, schema_path: SchemaPath<'a>, index_name: &str, - ) -> Result<(&Arc, &'a str)> { + ) -> CatalogResult<(&Arc, &'a str)> { match schema_path { SchemaPath::Name(schema_name) => self .get_index_by_name_with_schema_name(db_name, schema_name, index_name) @@ -446,7 +458,7 @@ impl Catalog { return Ok((index_catalog, schema_name)); } } - Err(CatalogError::NotFound("index", index_name.to_string()).into()) + Err(CatalogError::NotFound("index", index_name.to_string())) } } } @@ -457,25 +469,31 @@ impl Catalog { db_name: &str, schema_name: &str, relation_name: &str, - ) -> Result<()> { + ) -> CatalogResult<()> { let schema = self.get_schema_by_name(db_name, schema_name)?; // Resolve source first. if let Some(source) = schema.get_source_by_name(relation_name) { // TODO: check if it is a materialized source and improve the err msg if source.is_table() { - Err(CatalogError::Duplicated("table", relation_name.to_string()).into()) + Err(CatalogError::Duplicated("table", relation_name.to_string())) } else { - Err(CatalogError::Duplicated("source", relation_name.to_string()).into()) + Err(CatalogError::Duplicated( + "source", + relation_name.to_string(), + )) } } else if let Some(table) = schema.get_table_by_name(relation_name) { if table.is_index { - Err(CatalogError::Duplicated("index", relation_name.to_string()).into()) + Err(CatalogError::Duplicated("index", relation_name.to_string())) } else { - Err(CatalogError::Duplicated("materialized view", relation_name.to_string()).into()) + Err(CatalogError::Duplicated( + "materialized view", + relation_name.to_string(), + )) } } else if schema.get_sink_by_name(relation_name).is_some() { - Err(CatalogError::Duplicated("sink", relation_name.to_string()).into()) + Err(CatalogError::Duplicated("sink", relation_name.to_string())) } else { Ok(()) } diff --git a/src/frontend/src/handler/create_index.rs b/src/frontend/src/handler/create_index.rs index b8c1c991f39fd..2c09c6e0d271f 100644 --- a/src/frontend/src/handler/create_index.rs +++ b/src/frontend/src/handler/create_index.rs @@ -372,7 +372,7 @@ pub async fn handle_create_index( format!("relation \"{}\" already exists, skipping", index_name), )); } else { - return Err(e); + return Err(e.into()); } } } diff --git a/src/frontend/src/handler/drop_database.rs b/src/frontend/src/handler/drop_database.rs index fb0aa2ac81f0a..c5ebbb261db71 100644 --- a/src/frontend/src/handler/drop_database.rs +++ b/src/frontend/src/handler/drop_database.rs @@ -51,7 +51,7 @@ pub async fn handle_drop_database( format!("database \"{}\" does not exist, skipping", database_name), )) } else { - Err(err) + Err(err.into()) }; } } diff --git a/src/frontend/src/handler/drop_index.rs b/src/frontend/src/handler/drop_index.rs index 96346d744d75b..8898414a7583e 100644 --- a/src/frontend/src/handler/drop_index.rs +++ b/src/frontend/src/handler/drop_index.rs @@ -70,7 +70,7 @@ pub async fn handle_drop_index( format!("index \"{}\" does not exist, skipping", index_name), )) } else { - Err(err) + Err(err.into()) } } }; diff --git a/src/frontend/src/handler/drop_mv.rs b/src/frontend/src/handler/drop_mv.rs index 12099328e584e..0b5eb9993d3df 100644 --- a/src/frontend/src/handler/drop_mv.rs +++ b/src/frontend/src/handler/drop_mv.rs @@ -56,7 +56,7 @@ pub async fn handle_drop_mv( ), )) } else { - Err(e) + Err(e.into()) } } }; diff --git a/src/frontend/src/handler/drop_schema.rs b/src/frontend/src/handler/drop_schema.rs index 729f10b0c2fa7..e6e9d1a863901 100644 --- a/src/frontend/src/handler/drop_schema.rs +++ b/src/frontend/src/handler/drop_schema.rs @@ -53,7 +53,7 @@ pub async fn handle_drop_schema( format!("schema \"{}\" does not exist, skipping", schema_name), )) } else { - Err(err) + Err(err.into()) }; } } diff --git a/src/frontend/src/handler/drop_sink.rs b/src/frontend/src/handler/drop_sink.rs index b8001c67bdc25..de72f54bb9b8a 100644 --- a/src/frontend/src/handler/drop_sink.rs +++ b/src/frontend/src/handler/drop_sink.rs @@ -50,7 +50,7 @@ pub async fn handle_drop_sink( format!("sink \"{}\" does not exist, skipping", sink_name), )) } else { - Err(e) + Err(e.into()) } } }; diff --git a/src/frontend/src/handler/drop_source.rs b/src/frontend/src/handler/drop_source.rs index 739f96ecf6cb7..5c47261f0b323 100644 --- a/src/frontend/src/handler/drop_source.rs +++ b/src/frontend/src/handler/drop_source.rs @@ -51,7 +51,7 @@ pub async fn handle_drop_source( format!("source \"{}\" does not exist, skipping", source_name), )) } else { - Err(e) + Err(e.into()) } } }; diff --git a/src/frontend/src/handler/drop_table.rs b/src/frontend/src/handler/drop_table.rs index 1aa21eadcaf2f..2c95f961b9059 100644 --- a/src/frontend/src/handler/drop_table.rs +++ b/src/frontend/src/handler/drop_table.rs @@ -70,7 +70,7 @@ pub async fn handle_drop_table( format!("table \"{}\" does not exist, skipping", table_name), )) } else { - Err(e) + Err(e.into()) } } }; diff --git a/src/frontend/src/scheduler/plan_fragmenter.rs b/src/frontend/src/scheduler/plan_fragmenter.rs index 2377d174fbade..f92d52dc18f97 100644 --- a/src/frontend/src/scheduler/plan_fragmenter.rs +++ b/src/frontend/src/scheduler/plan_fragmenter.rs @@ -20,6 +20,7 @@ use anyhow::anyhow; use itertools::Itertools; use risingwave_common::buffer::{Bitmap, BitmapBuilder}; use risingwave_common::catalog::TableDesc; +use risingwave_common::error::RwError; use risingwave_common::types::{ParallelUnitId, VnodeMapping, VIRTUAL_NODE_COUNT}; use risingwave_common::util::scan_range::ScanRange; use risingwave_pb::batch_plan::plan_node::NodeBody; @@ -550,7 +551,8 @@ impl BatchPlanFragmenter { let table_catalog = self .catalog_reader .read_guard() - .get_table_by_id(&table_desc.table_id)?; + .get_table_by_id(&table_desc.table_id) + .map_err(RwError::from)?; let vnode_mapping = self .worker_node_manager .get_fragment_mapping(&table_catalog.fragment_id) From cb5aa4afa00448322bc86ddbfb363454fc1bcc14 Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Tue, 1 Nov 2022 17:21:17 +0000 Subject: [PATCH 04/26] Revert "use catalog error" This reverts commit ea98e26464a5505dc62573171a19a8bb577c736a. --- .../src/binder/relation/table_or_source.rs | 10 +- src/frontend/src/catalog/mod.rs | 2 - src/frontend/src/catalog/root_catalog.rs | 104 ++++++++---------- src/frontend/src/handler/create_index.rs | 2 +- src/frontend/src/handler/drop_database.rs | 2 +- src/frontend/src/handler/drop_index.rs | 2 +- src/frontend/src/handler/drop_mv.rs | 2 +- src/frontend/src/handler/drop_schema.rs | 2 +- src/frontend/src/handler/drop_sink.rs | 2 +- src/frontend/src/handler/drop_source.rs | 2 +- src/frontend/src/handler/drop_table.rs | 2 +- src/frontend/src/scheduler/plan_fragmenter.rs | 4 +- 12 files changed, 58 insertions(+), 78 deletions(-) diff --git a/src/frontend/src/binder/relation/table_or_source.rs b/src/frontend/src/binder/relation/table_or_source.rs index 9a7193ac4ba44..9de0e654d4a71 100644 --- a/src/frontend/src/binder/relation/table_or_source.rs +++ b/src/frontend/src/binder/relation/table_or_source.rs @@ -142,11 +142,10 @@ impl Binder { { resolve_source_relation(source_catalog) } else { - return Err(CatalogError::NotFound( + return Err(RwError::from(CatalogError::NotFound( "table or source", table_name.to_string(), - ) - .into()); + ))); } } None => (|| { @@ -179,7 +178,10 @@ impl Binder { } } - Err(CatalogError::NotFound("table or source", table_name.to_string()).into()) + Err(RwError::from(CatalogError::NotFound( + "table or source", + table_name.to_string(), + ))) })()?, } }; diff --git a/src/frontend/src/catalog/mod.rs b/src/frontend/src/catalog/mod.rs index 3c35b4f80df2b..ff68e3fc2a13b 100644 --- a/src/frontend/src/catalog/mod.rs +++ b/src/frontend/src/catalog/mod.rs @@ -88,8 +88,6 @@ pub fn row_id_column_desc(column_id: ColumnId) -> ColumnDesc { } } -pub type CatalogResult = std::result::Result; - #[derive(Error, Debug)] pub enum CatalogError { #[error("{0} not found: {1}")] diff --git a/src/frontend/src/catalog/root_catalog.rs b/src/frontend/src/catalog/root_catalog.rs index db2d47049911d..84e81552b761b 100644 --- a/src/frontend/src/catalog/root_catalog.rs +++ b/src/frontend/src/catalog/root_catalog.rs @@ -16,7 +16,9 @@ use std::collections::HashMap; use std::sync::Arc; use itertools::Itertools; +use risingwave_common::bail; use risingwave_common::catalog::{CatalogVersion, IndexId, TableId, PG_CATALOG_SCHEMA_NAME}; +use risingwave_common::error::Result; use risingwave_common::session_config::{SearchPath, USER_NAME_WILD_CARD}; use risingwave_pb::catalog::{ Database as ProstDatabase, Index as ProstIndex, Schema as ProstSchema, Sink as ProstSink, @@ -24,7 +26,7 @@ use risingwave_pb::catalog::{ }; use super::source_catalog::SourceCatalog; -use super::{CatalogError, CatalogResult, SinkId, SourceId}; +use super::{CatalogError, SinkId, SourceId}; use crate::catalog::database_catalog::DatabaseCatalog; use crate::catalog::schema_catalog::SchemaCatalog; use crate::catalog::sink_catalog::SinkCatalog; @@ -193,34 +195,31 @@ impl Catalog { .drop_index(index_id); } - pub fn get_database_by_name(&self, db_name: &str) -> CatalogResult<&DatabaseCatalog> { + pub fn get_database_by_name(&self, db_name: &str) -> Result<&DatabaseCatalog> { self.database_by_name .get(db_name) - .ok_or_else(|| CatalogError::NotFound("database", db_name.to_string())) + .ok_or_else(|| CatalogError::NotFound("database", db_name.to_string()).into()) } - pub fn get_database_by_id(&self, db_id: &DatabaseId) -> CatalogResult<&DatabaseCatalog> { + pub fn get_database_by_id(&self, db_id: &DatabaseId) -> Result<&DatabaseCatalog> { let db_name = self .db_name_by_id .get(db_id) .ok_or_else(|| CatalogError::NotFound("db_id", db_id.to_string()))?; self.database_by_name .get(db_name) - .ok_or_else(|| CatalogError::NotFound("database", db_name.to_string())) + .ok_or_else(|| CatalogError::NotFound("database", db_name.to_string()).into()) } - pub fn get_all_schema_names(&self, db_name: &str) -> CatalogResult> { + pub fn get_all_schema_names(&self, db_name: &str) -> Result> { Ok(self.get_database_by_name(db_name)?.get_all_schema_names()) } - pub fn get_all_schema_info(&self, db_name: &str) -> CatalogResult> { + pub fn get_all_schema_info(&self, db_name: &str) -> Result> { Ok(self.get_database_by_name(db_name)?.get_all_schema_info()) } - pub fn iter_schemas( - &self, - db_name: &str, - ) -> CatalogResult> { + pub fn iter_schemas(&self, db_name: &str) -> Result> { Ok(self.get_database_by_name(db_name)?.iter_schemas()) } @@ -228,17 +227,13 @@ impl Catalog { self.database_by_name.keys().cloned().collect_vec() } - pub fn get_schema_by_name( - &self, - db_name: &str, - schema_name: &str, - ) -> CatalogResult<&SchemaCatalog> { + pub fn get_schema_by_name(&self, db_name: &str, schema_name: &str) -> Result<&SchemaCatalog> { self.get_database_by_name(db_name)? .get_schema_by_name(schema_name) - .ok_or_else(|| CatalogError::NotFound("schema", schema_name.to_string())) + .ok_or_else(|| CatalogError::NotFound("schema", schema_name.to_string()).into()) } - pub fn get_table_name_by_id(&self, table_id: TableId) -> CatalogResult { + pub fn get_table_name_by_id(&self, table_id: TableId) -> Result { self.get_table_by_id(&table_id).map(|table| table.name) } @@ -246,10 +241,10 @@ impl Catalog { &self, db_id: &DatabaseId, schema_id: &SchemaId, - ) -> CatalogResult<&SchemaCatalog> { + ) -> Result<&SchemaCatalog> { self.get_database_by_id(db_id)? .get_schema_by_id(schema_id) - .ok_or_else(|| CatalogError::NotFound("schema_id", schema_id.to_string())) + .ok_or_else(|| CatalogError::NotFound("schema_id", schema_id.to_string()).into()) } pub fn first_valid_schema( @@ -257,7 +252,7 @@ impl Catalog { db_name: &str, search_path: &SearchPath, user_name: &str, - ) -> CatalogResult<&SchemaCatalog> { + ) -> Result<&SchemaCatalog> { for path in search_path.real_path() { let mut schema_name: &str = path; if schema_name == USER_NAME_WILD_CARD { @@ -268,10 +263,7 @@ impl Catalog { return schema_catalog; } } - Err(CatalogError::NotFound( - "first valid schema", - "no schema has been selected to create in".to_string(), - )) + bail!("no schema has been selected to create in"); } #[inline(always)] @@ -280,10 +272,10 @@ impl Catalog { db_name: &str, schema_name: &str, table_name: &str, - ) -> CatalogResult<&Arc> { + ) -> Result<&Arc> { self.get_schema_by_name(db_name, schema_name)? .get_table_by_name(table_name) - .ok_or_else(|| CatalogError::NotFound("table", table_name.to_string())) + .ok_or_else(|| CatalogError::NotFound("table", table_name.to_string()).into()) } pub fn get_table_by_name<'a>( @@ -291,7 +283,7 @@ impl Catalog { db_name: &str, schema_path: SchemaPath<'a>, table_name: &str, - ) -> CatalogResult<(&Arc, &'a str)> { + ) -> Result<(&Arc, &'a str)> { match schema_path { SchemaPath::Name(schema_name) => self .get_table_by_name_with_schema_name(db_name, schema_name, table_name) @@ -309,16 +301,16 @@ impl Catalog { return Ok((table_catalog, schema_name)); } } - Err(CatalogError::NotFound("table", table_name.to_string())) + Err(CatalogError::NotFound("table", table_name.to_string()).into()) } } } - pub fn get_table_by_id(&self, table_id: &TableId) -> CatalogResult { + pub fn get_table_by_id(&self, table_id: &TableId) -> Result { self.table_by_id .get(table_id) .cloned() - .ok_or_else(|| CatalogError::NotFound("table id", table_id.to_string())) + .ok_or_else(|| CatalogError::NotFound("table id", table_id.to_string()).into()) } #[cfg(test)] @@ -332,15 +324,11 @@ impl Catalog { ); } - pub fn get_sys_table_by_name( - &self, - db_name: &str, - table_name: &str, - ) -> CatalogResult<&SystemCatalog> { + pub fn get_sys_table_by_name(&self, db_name: &str, table_name: &str) -> Result<&SystemCatalog> { self.get_schema_by_name(db_name, PG_CATALOG_SCHEMA_NAME) .unwrap() .get_system_table_by_name(table_name) - .ok_or_else(|| CatalogError::NotFound("table", table_name.to_string())) + .ok_or_else(|| CatalogError::NotFound("table", table_name.to_string()).into()) } #[inline(always)] @@ -349,10 +337,10 @@ impl Catalog { db_name: &str, schema_name: &str, source_name: &str, - ) -> CatalogResult<&Arc> { + ) -> Result<&Arc> { self.get_schema_by_name(db_name, schema_name)? .get_source_by_name(source_name) - .ok_or_else(|| CatalogError::NotFound("source", source_name.to_string())) + .ok_or_else(|| CatalogError::NotFound("source", source_name.to_string()).into()) } pub fn get_source_by_name<'a>( @@ -360,7 +348,7 @@ impl Catalog { db_name: &str, schema_path: SchemaPath<'a>, source_name: &str, - ) -> CatalogResult<(&Arc, &'a str)> { + ) -> Result<(&Arc, &'a str)> { match schema_path { SchemaPath::Name(schema_name) => self .get_source_by_name_with_schema_name(db_name, schema_name, source_name) @@ -378,7 +366,7 @@ impl Catalog { return Ok((source_catalog, schema_name)); } } - Err(CatalogError::NotFound("source", source_name.to_string())) + Err(CatalogError::NotFound("source", source_name.to_string()).into()) } } } @@ -389,10 +377,10 @@ impl Catalog { db_name: &str, schema_name: &str, sink_name: &str, - ) -> CatalogResult<&Arc> { + ) -> Result<&Arc> { self.get_schema_by_name(db_name, schema_name)? .get_sink_by_name(sink_name) - .ok_or_else(|| CatalogError::NotFound("sink", sink_name.to_string())) + .ok_or_else(|| CatalogError::NotFound("sink", sink_name.to_string()).into()) } pub fn get_sink_by_name<'a>( @@ -400,7 +388,7 @@ impl Catalog { db_name: &str, schema_path: SchemaPath<'a>, sink_name: &str, - ) -> CatalogResult<(&Arc, &'a str)> { + ) -> Result<(&Arc, &'a str)> { match schema_path { SchemaPath::Name(schema_name) => self .get_sink_by_name_with_schema_name(db_name, schema_name, sink_name) @@ -418,7 +406,7 @@ impl Catalog { return Ok((sink_catalog, schema_name)); } } - Err(CatalogError::NotFound("sink", sink_name.to_string())) + Err(CatalogError::NotFound("sink", sink_name.to_string()).into()) } } } @@ -429,10 +417,10 @@ impl Catalog { db_name: &str, schema_name: &str, index_name: &str, - ) -> CatalogResult<&Arc> { + ) -> Result<&Arc> { self.get_schema_by_name(db_name, schema_name)? .get_index_by_name(index_name) - .ok_or_else(|| CatalogError::NotFound("index", index_name.to_string())) + .ok_or_else(|| CatalogError::NotFound("index", index_name.to_string()).into()) } pub fn get_index_by_name<'a>( @@ -440,7 +428,7 @@ impl Catalog { db_name: &str, schema_path: SchemaPath<'a>, index_name: &str, - ) -> CatalogResult<(&Arc, &'a str)> { + ) -> Result<(&Arc, &'a str)> { match schema_path { SchemaPath::Name(schema_name) => self .get_index_by_name_with_schema_name(db_name, schema_name, index_name) @@ -458,7 +446,7 @@ impl Catalog { return Ok((index_catalog, schema_name)); } } - Err(CatalogError::NotFound("index", index_name.to_string())) + Err(CatalogError::NotFound("index", index_name.to_string()).into()) } } } @@ -469,31 +457,25 @@ impl Catalog { db_name: &str, schema_name: &str, relation_name: &str, - ) -> CatalogResult<()> { + ) -> Result<()> { let schema = self.get_schema_by_name(db_name, schema_name)?; // Resolve source first. if let Some(source) = schema.get_source_by_name(relation_name) { // TODO: check if it is a materialized source and improve the err msg if source.is_table() { - Err(CatalogError::Duplicated("table", relation_name.to_string())) + Err(CatalogError::Duplicated("table", relation_name.to_string()).into()) } else { - Err(CatalogError::Duplicated( - "source", - relation_name.to_string(), - )) + Err(CatalogError::Duplicated("source", relation_name.to_string()).into()) } } else if let Some(table) = schema.get_table_by_name(relation_name) { if table.is_index { - Err(CatalogError::Duplicated("index", relation_name.to_string())) + Err(CatalogError::Duplicated("index", relation_name.to_string()).into()) } else { - Err(CatalogError::Duplicated( - "materialized view", - relation_name.to_string(), - )) + Err(CatalogError::Duplicated("materialized view", relation_name.to_string()).into()) } } else if schema.get_sink_by_name(relation_name).is_some() { - Err(CatalogError::Duplicated("sink", relation_name.to_string())) + Err(CatalogError::Duplicated("sink", relation_name.to_string()).into()) } else { Ok(()) } diff --git a/src/frontend/src/handler/create_index.rs b/src/frontend/src/handler/create_index.rs index 2c09c6e0d271f..b8c1c991f39fd 100644 --- a/src/frontend/src/handler/create_index.rs +++ b/src/frontend/src/handler/create_index.rs @@ -372,7 +372,7 @@ pub async fn handle_create_index( format!("relation \"{}\" already exists, skipping", index_name), )); } else { - return Err(e.into()); + return Err(e); } } } diff --git a/src/frontend/src/handler/drop_database.rs b/src/frontend/src/handler/drop_database.rs index c5ebbb261db71..fb0aa2ac81f0a 100644 --- a/src/frontend/src/handler/drop_database.rs +++ b/src/frontend/src/handler/drop_database.rs @@ -51,7 +51,7 @@ pub async fn handle_drop_database( format!("database \"{}\" does not exist, skipping", database_name), )) } else { - Err(err.into()) + Err(err) }; } } diff --git a/src/frontend/src/handler/drop_index.rs b/src/frontend/src/handler/drop_index.rs index 8898414a7583e..96346d744d75b 100644 --- a/src/frontend/src/handler/drop_index.rs +++ b/src/frontend/src/handler/drop_index.rs @@ -70,7 +70,7 @@ pub async fn handle_drop_index( format!("index \"{}\" does not exist, skipping", index_name), )) } else { - Err(err.into()) + Err(err) } } }; diff --git a/src/frontend/src/handler/drop_mv.rs b/src/frontend/src/handler/drop_mv.rs index 0b5eb9993d3df..12099328e584e 100644 --- a/src/frontend/src/handler/drop_mv.rs +++ b/src/frontend/src/handler/drop_mv.rs @@ -56,7 +56,7 @@ pub async fn handle_drop_mv( ), )) } else { - Err(e.into()) + Err(e) } } }; diff --git a/src/frontend/src/handler/drop_schema.rs b/src/frontend/src/handler/drop_schema.rs index e6e9d1a863901..729f10b0c2fa7 100644 --- a/src/frontend/src/handler/drop_schema.rs +++ b/src/frontend/src/handler/drop_schema.rs @@ -53,7 +53,7 @@ pub async fn handle_drop_schema( format!("schema \"{}\" does not exist, skipping", schema_name), )) } else { - Err(err.into()) + Err(err) }; } } diff --git a/src/frontend/src/handler/drop_sink.rs b/src/frontend/src/handler/drop_sink.rs index de72f54bb9b8a..b8001c67bdc25 100644 --- a/src/frontend/src/handler/drop_sink.rs +++ b/src/frontend/src/handler/drop_sink.rs @@ -50,7 +50,7 @@ pub async fn handle_drop_sink( format!("sink \"{}\" does not exist, skipping", sink_name), )) } else { - Err(e.into()) + Err(e) } } }; diff --git a/src/frontend/src/handler/drop_source.rs b/src/frontend/src/handler/drop_source.rs index 5c47261f0b323..739f96ecf6cb7 100644 --- a/src/frontend/src/handler/drop_source.rs +++ b/src/frontend/src/handler/drop_source.rs @@ -51,7 +51,7 @@ pub async fn handle_drop_source( format!("source \"{}\" does not exist, skipping", source_name), )) } else { - Err(e.into()) + Err(e) } } }; diff --git a/src/frontend/src/handler/drop_table.rs b/src/frontend/src/handler/drop_table.rs index 2c95f961b9059..1aa21eadcaf2f 100644 --- a/src/frontend/src/handler/drop_table.rs +++ b/src/frontend/src/handler/drop_table.rs @@ -70,7 +70,7 @@ pub async fn handle_drop_table( format!("table \"{}\" does not exist, skipping", table_name), )) } else { - Err(e.into()) + Err(e) } } }; diff --git a/src/frontend/src/scheduler/plan_fragmenter.rs b/src/frontend/src/scheduler/plan_fragmenter.rs index f92d52dc18f97..2377d174fbade 100644 --- a/src/frontend/src/scheduler/plan_fragmenter.rs +++ b/src/frontend/src/scheduler/plan_fragmenter.rs @@ -20,7 +20,6 @@ use anyhow::anyhow; use itertools::Itertools; use risingwave_common::buffer::{Bitmap, BitmapBuilder}; use risingwave_common::catalog::TableDesc; -use risingwave_common::error::RwError; use risingwave_common::types::{ParallelUnitId, VnodeMapping, VIRTUAL_NODE_COUNT}; use risingwave_common::util::scan_range::ScanRange; use risingwave_pb::batch_plan::plan_node::NodeBody; @@ -551,8 +550,7 @@ impl BatchPlanFragmenter { let table_catalog = self .catalog_reader .read_guard() - .get_table_by_id(&table_desc.table_id) - .map_err(RwError::from)?; + .get_table_by_id(&table_desc.table_id)?; let vnode_mapping = self .worker_node_manager .get_fragment_mapping(&table_catalog.fragment_id) From 19fc7ae4111917a9515db426be75fc0ac2393985 Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Tue, 1 Nov 2022 17:21:54 +0000 Subject: [PATCH 05/26] update image version Signed-off-by: Bugen Zhao --- ci/build-ci-image.sh | 2 +- ci/docker-compose.yml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ci/build-ci-image.sh b/ci/build-ci-image.sh index 71daea6665d3a..994fa547eace1 100755 --- a/ci/build-ci-image.sh +++ b/ci/build-ci-image.sh @@ -14,7 +14,7 @@ export RUST_TOOLCHAIN=$(cat ../rust-toolchain) # !!! CHANGE THIS WHEN YOU WANT TO BUMP CI IMAGE !!! # # AND ALSO docker-compose.yml # ###################################################### -export BUILD_ENV_VERSION=v20221027 +export BUILD_ENV_VERSION=v20221102 export BUILD_TAG="public.ecr.aws/x5u3w5h6/rw-build-env:${BUILD_ENV_VERSION}" diff --git a/ci/docker-compose.yml b/ci/docker-compose.yml index 48483efeab6c5..a8ee2bc540df4 100644 --- a/ci/docker-compose.yml +++ b/ci/docker-compose.yml @@ -42,12 +42,12 @@ services: retries: 5 rw-build-env: - image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221027 + image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221102 volumes: - ..:/risingwave regress-test-env: - image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221027 + image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221102 depends_on: db: condition: service_healthy @@ -55,7 +55,7 @@ services: - ..:/risingwave benchmark-env: - image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221027 + image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221102 depends_on: - kafka volumes: @@ -65,4 +65,4 @@ services: image: quay.io/pypa/manylinux2014_x86_64 working_dir: /mnt volumes: - - ..:/mnt \ No newline at end of file + - ..:/mnt From 0d5e293d2a9ae5f55bba32cda14b3c0c97c28245 Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Tue, 1 Nov 2022 17:28:43 +0000 Subject: [PATCH 06/26] do not use toml Signed-off-by: Bugen Zhao --- rust-toolchain | 1 + rust-toolchain.toml | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) create mode 100644 rust-toolchain delete mode 100644 rust-toolchain.toml diff --git a/rust-toolchain b/rust-toolchain new file mode 100644 index 0000000000000..6dc33dd94f1b5 --- /dev/null +++ b/rust-toolchain @@ -0,0 +1 @@ +nightly-2022-11-01 diff --git a/rust-toolchain.toml b/rust-toolchain.toml deleted file mode 100644 index 6f5e3d5f9c4ee..0000000000000 --- a/rust-toolchain.toml +++ /dev/null @@ -1,2 +0,0 @@ -[toolchain] -channel = "nightly-2022-11-01" From ce3b81d0fa54eeaadc3e826b60189b9e52ef30b6 Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Thu, 8 Dec 2022 13:16:18 +0800 Subject: [PATCH 07/26] bump to 1208 Signed-off-by: Bugen Zhao --- Cargo.lock | 1179 +++++++++++++++++++++++++---------------- ci/build-ci-image.sh | 2 +- ci/docker-compose.yml | 6 +- rust-toolchain | 2 +- 4 files changed, 724 insertions(+), 465 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7a7f8cc8d53f2..655c94ba81898 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -36,18 +36,18 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "0.7.18" +version = "0.7.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" +checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e" dependencies = [ "memchr", ] [[package]] name = "android_system_properties" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7ed72e1635e121ca3e79420540282af22da58be50de153d36f81ddc6b83aa9e" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" dependencies = [ "libc", ] @@ -60,9 +60,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" [[package]] name = "anyhow" -version = "1.0.62" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1485d4d2cc45e7b201ee3767015c96faa5904387c9d87c6efdd0fb511f12d305" +checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" dependencies = [ "backtrace", ] @@ -101,15 +101,6 @@ version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "983cd8b9d4b02a6dc6ffa557262eb5858a27a0038ffffe21a0f133eaa819a164" -[[package]] -name = "arrayvec" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" -dependencies = [ - "nodrop", -] - [[package]] name = "arrayvec" version = "0.7.2" @@ -144,30 +135,30 @@ version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e14485364214912d3b19cc3435dde4df66065127f05fa0d75c712f36f12c2f28" dependencies = [ - "concurrent-queue", + "concurrent-queue 1.2.4", "event-listener", "futures-core", ] [[package]] name = "async-executor" -version = "1.4.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965" +checksum = "17adb73da160dfb475c183343c8cccd80721ea5a605d3eb57125f0a7b7a92d0b" dependencies = [ + "async-lock", "async-task", - "concurrent-queue", + "concurrent-queue 2.0.0", "fastrand", "futures-lite", - "once_cell", "slab", ] [[package]] name = "async-global-executor" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0da5b41ee986eed3f524c380e6d64965aea573882a8907682ad100f7859305ca" +checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776" dependencies = [ "async-channel", "async-executor", @@ -180,16 +171,16 @@ dependencies = [ [[package]] name = "async-io" -version = "1.8.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ab006897723d9352f63e2b13047177c3982d8d79709d713ce7747a8f19fd1b0" +checksum = "e8121296a9f05be7f34aa4196b1747243b3b62e048bb7906f644f3fbfc490cf7" dependencies = [ + "async-lock", "autocfg", - "concurrent-queue", + "concurrent-queue 1.2.4", "futures-lite", "libc", "log", - "once_cell", "parking", "polling", "slab", @@ -200,11 +191,12 @@ dependencies = [ [[package]] name = "async-lock" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e97a171d191782fba31bb902b14ad94e24a68145032b7eedf871ab0bc0d077b6" +checksum = "c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685" dependencies = [ "event-listener", + "futures-lite", ] [[package]] @@ -273,9 +265,9 @@ checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524" [[package]] name = "async-trait" -version = "0.1.57" +version = "0.1.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76464446b8bc32758d7e88ee1a804d9914cd9b1cb264c029899680b0be29826f" +checksum = "1e805d94e6b5001b651426cf4cd446b1ab5f319d27bab5c644f61de0a804360c" dependencies = [ "proc-macro2", "quote", @@ -376,7 +368,7 @@ dependencies = [ "http", "hyper", "ring", - "time 0.3.13", + "time 0.3.15", "tokio", "tower", "tracing", @@ -562,7 +554,7 @@ dependencies = [ "percent-encoding", "regex", "ring", - "time 0.3.13", + "time 0.3.15", "tracing", ] @@ -594,7 +586,7 @@ dependencies = [ "http-body", "md-5", "pin-project-lite", - "sha1 0.10.4", + "sha1 0.10.5", "sha2", "tracing", ] @@ -694,10 +686,10 @@ version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e93b0c93a3b963da946a0b8ef3853a7252298eb75cdbfb21dad60f5ed0ded861" dependencies = [ - "itoa 1.0.3", + "itoa 1.0.4", "num-integer", "ryu", - "time 0.3.13", + "time 0.3.15", ] [[package]] @@ -727,20 +719,20 @@ dependencies = [ [[package]] name = "axum" -version = "0.5.15" +version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9de18bc5f2e9df8f52da03856bf40e29b747de5a84e43aefff90e3dc4a21529b" +checksum = "acee9fd5073ab6b045a275b3e709c163dd36c90685219cb21804a147b58dba43" dependencies = [ "async-trait", - "axum-core", + "axum-core 0.2.9", "bitflags", "bytes", "futures-util", "http", "http-body", "hyper", - "itoa 1.0.3", - "matchit", + "itoa 1.0.4", + "matchit 0.5.0", "memchr", "mime", "percent-encoding", @@ -756,11 +748,56 @@ dependencies = [ "tower-service", ] +[[package]] +name = "axum" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08b108ad2665fa3f6e6a517c3d80ec3e77d224c47d605167aefaa5d7ef97fa48" +dependencies = [ + "async-trait", + "axum-core 0.3.0", + "bitflags", + "bytes", + "futures-util", + "http", + "http-body", + "hyper", + "itoa 1.0.4", + "matchit 0.7.0", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "sync_wrapper", + "tower", + "tower-http", + "tower-layer", + "tower-service", +] + [[package]] name = "axum-core" -version = "0.2.8" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37e5939e02c56fecd5c017c37df4238c0a839fa76b7f97acdd7efb804fd181cc" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http", + "http-body", + "mime", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum-core" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9f0c0a60006f2a293d82d571f635042a72edf927539b7685bd62d361963839b" +checksum = "79b8558f5a0581152dc94dcd289132a1d377494bdeafcd41869b3258e3e2ad92" dependencies = [ "async-trait", "bytes", @@ -768,6 +805,7 @@ dependencies = [ "http", "http-body", "mime", + "rustversion", "tower-layer", "tower-service", ] @@ -789,9 +827,9 @@ dependencies = [ [[package]] name = "base64" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "bcc" @@ -878,9 +916,9 @@ dependencies = [ [[package]] name = "block-buffer" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" +checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" dependencies = [ "generic-array", ] @@ -913,9 +951,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.11.0" +version = "3.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d" +checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" [[package]] name = "bytecount" @@ -925,9 +963,9 @@ checksum = "2c676a478f63e9fa2dd5368a42f28bba0d6c560b775f38583c8bbaa7fcd67c9c" [[package]] name = "bytemuck" -version = "1.12.1" +version = "1.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f5715e491b5a1598fc2bef5a606847b5dc1d48ea625bd3c02c00de8285591da" +checksum = "aaa3a8d9a1ca92e282c96a32d6511b695d7d994d1d102ba85d279f9b2756947f" [[package]] name = "byteorder" @@ -946,9 +984,9 @@ dependencies = [ [[package]] name = "bytes-utils" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1934a3ef9cac8efde4966a92781e77713e1ba329f1d42e446c7d7eba340d8ef1" +checksum = "e47d3a8076e283f3acd27400535992edb3ba4b5bb72f8891ad8fbe7932a7d4b9" dependencies = [ "bytes", "either", @@ -1016,7 +1054,7 @@ checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" dependencies = [ "camino", "cargo-platform", - "semver 1.0.13", + "semver 1.0.14", "serde", "serde_json", ] @@ -1035,9 +1073,9 @@ checksum = "a2698f953def977c68f935bb0dfa959375ad4638570e969e2f1e9f433cbf1af6" [[package]] name = "cc" -version = "1.0.73" +version = "1.0.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" +checksum = "76a284da2e6fe2092f2353e51713435363112dfd60030e22add80be333fb928f" dependencies = [ "jobserver", ] @@ -1059,15 +1097,16 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.22" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1" +checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" dependencies = [ "iana-time-zone", "js-sys", "num-integer", "num-traits", - "time 0.1.43", + "serde", + "time 0.1.44", "wasm-bindgen", "winapi", ] @@ -1125,9 +1164,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.3.3" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a050e2153c5be08febd6734e29298e844fdb0fa21aeddd63b4eb7baa106c69b" +checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3" dependencies = [ "glob", "libc", @@ -1147,9 +1186,9 @@ dependencies = [ [[package]] name = "clap" -version = "3.2.17" +version = "3.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29e724a68d9319343bb3328c9cc2dfde263f4b3142ee1059a9980580171c954b" +checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" dependencies = [ "atty", "bitflags", @@ -1159,14 +1198,14 @@ dependencies = [ "once_cell", "strsim", "termcolor", - "textwrap 0.15.0", + "textwrap 0.16.0", ] [[package]] name = "clap_derive" -version = "3.2.17" +version = "3.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13547f7012c01ab4a0e8f8967730ada8f9fdf419e8b6c792788f39cf4e46eefa" +checksum = "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65" dependencies = [ "heck", "proc-macro-error", @@ -1186,9 +1225,9 @@ dependencies = [ [[package]] name = "cmake" -version = "0.1.48" +version = "0.1.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8ad8cef104ac57b68b89df3208164d228503abbdce70f6880ffa3d970e7443a" +checksum = "db34956e100b30725f2eb215f90d4871051239535632f84fea3bc92722c66b7c" dependencies = [ "cc", ] @@ -1205,6 +1244,16 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] + [[package]] name = "combine" version = "4.6.6" @@ -1217,9 +1266,9 @@ dependencies = [ [[package]] name = "comfy-table" -version = "6.0.0" +version = "6.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "121d8a5b0346092c18a4b2fd6f620d7a06f0eb7ac0a45860939a0884bc579c56" +checksum = "1090f39f45786ec6dc6286f8ea9c75d0a7ef0a0d3cda674cef0c3af7b307fbc2" dependencies = [ "crossterm", "strum", @@ -1236,15 +1285,24 @@ dependencies = [ "cache-padded", ] +[[package]] +name = "concurrent-queue" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd7bef69dc86e3c610e4e7aed41035e2a7ed12e72dd7530f61327a6579a4390b" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "console" -version = "0.15.1" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89eab4d20ce20cea182308bca13088fecea9c05f6776cf287205d41a0ed3c847" +checksum = "c050367d967ced717c04b65d8c619d863ef9292ce0c5760028655a2fb298718c" dependencies = [ "encode_unicode", + "lazy_static", "libc", - "once_cell", "terminal_size", "unicode-width", "winapi", @@ -1313,9 +1371,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.3" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1079fb8528d9f9c888b1e8aa651e6e079ade467323d58f75faf1d30b1808f540" +checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" dependencies = [ "libc", ] @@ -1406,7 +1464,7 @@ dependencies = [ "atty", "cast", "ciborium", - "clap 3.2.17", + "clap 3.2.23", "criterion-plot 0.5.0", "itertools", "lazy_static", @@ -1513,9 +1571,9 @@ dependencies = [ [[package]] name = "crossterm" -version = "0.23.2" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2102ea4f781910f8a5b98dd061f4c2023f479ce7bb1236330099ceb5a93cf17" +checksum = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67" dependencies = [ "bitflags", "crossterm_winapi", @@ -1570,9 +1628,9 @@ dependencies = [ [[package]] name = "ctor" -version = "0.1.23" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdffe87e1d521a10f9696f833fe502293ea446d7f256c06128293a4119bdf4cb" +checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" dependencies = [ "quote", "syn", @@ -1595,9 +1653,9 @@ dependencies = [ [[package]] name = "curl-sys" -version = "0.4.56+curl-7.83.1" +version = "0.4.59+curl-7.86.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6093e169dd4de29e468fa649fbae11cdcd5551c81fe5bf1b0677adad7ef3d26f" +checksum = "6cfce34829f448b08f55b7db6d0009e23e2e86a34e8c2b366269bf5799b4a407" dependencies = [ "cc", "libc", @@ -1608,6 +1666,50 @@ dependencies = [ "winapi", ] +[[package]] +name = "cxx" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97abf9f0eca9e52b7f81b945524e76710e6cb2366aead23b7d4fbf72e281f888" +dependencies = [ + "cc", + "cxxbridge-flags", + "cxxbridge-macro", + "link-cplusplus", +] + +[[package]] +name = "cxx-build" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cc32cc5fea1d894b77d269ddb9f192110069a8a9c1f1d441195fba90553dea3" +dependencies = [ + "cc", + "codespan-reporting", + "once_cell", + "proc-macro2", + "quote", + "scratch", + "syn", +] + +[[package]] +name = "cxxbridge-flags" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ca220e4794c934dc6b1207c3b42856ad4c302f2df1712e9f8d2eec5afaacf1f" + +[[package]] +name = "cxxbridge-macro" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b846f081361125bfc8dc9d3940c84e1fd83ba54bbca7b17cd29483c828be0704" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "darling" version = "0.13.4" @@ -1620,12 +1722,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.14.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4529658bdda7fd6769b8614be250cdcfc3aeb0ee72fe66f9e41e5e5eb73eac02" +checksum = "b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa" dependencies = [ - "darling_core 0.14.1", - "darling_macro 0.14.1", + "darling_core 0.14.2", + "darling_macro 0.14.2", ] [[package]] @@ -1644,9 +1746,9 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.14.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "649c91bc01e8b1eac09fb91e8dbc7d517684ca6be8ebc75bb9cafc894f9fdb6f" +checksum = "a784d2ccaf7c98501746bf0be29b2022ba41fd62a2e622af997a03e9f972859f" dependencies = [ "fnv", "ident_case", @@ -1669,11 +1771,11 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.14.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddfc69c5bfcbd2fc09a0f38451d2daf0e372e367986a83906d1b0dbc88134fb5" +checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e" dependencies = [ - "darling_core 0.14.1", + "darling_core 0.14.2", "quote", "syn", ] @@ -1695,14 +1797,15 @@ source = "git+https://github.com/risingwavelabs/darwin-libproc.git?rev=a502be24b [[package]] name = "dashmap" -version = "5.3.4" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3495912c9c1ccf2e18976439f4443f3fee0fd61f424ff99fde6a66b15ecb448f" +checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc" dependencies = [ "cfg-if", "hashbrown", "lock_api", - "parking_lot_core 0.9.3", + "once_cell", + "parking_lot_core 0.9.4", ] [[package]] @@ -1774,9 +1877,9 @@ checksum = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198" [[package]] name = "digest" -version = "0.10.3" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" dependencies = [ "block-buffer", "crypto-common", @@ -1789,12 +1892,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" -[[package]] -name = "dtoa" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0" - [[package]] name = "duct" version = "0.13.5" @@ -1848,24 +1945,45 @@ dependencies = [ [[package]] name = "enum-iterator" -version = "1.1.3" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45a0ac4aeb3a18f92eaf09c6bb9b3ac30ff61ca95514fc58cbead1c9a6bf5401" +checksum = "91a4ec26efacf4aeff80887a175a419493cb6f8b5480d26387eb0bd038976187" dependencies = [ "enum-iterator-derive", ] [[package]] name = "enum-iterator-derive" -version = "1.0.2" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b13f1e69590421890f90448c3cd5f554746a31adc6dc0dac406ec6901db8dc25" +checksum = "828de45d0ca18782232dfb8f3ea9cc428e8ced380eb26a520baaacfc70de39ce" dependencies = [ "proc-macro2", "quote", "syn", ] +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "error-chain" version = "0.12.4" @@ -1877,9 +1995,9 @@ dependencies = [ [[package]] name = "etcd-client" -version = "0.10.1" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ddd9c55213f01e9316a52a2f691f30f2aacd0a2a534f87fb84bdc9d5e507ea4" +checksum = "b1259da3b15ec7e54bd7203adb2c4335adb9ca1d47b56220d650e52c247e824a" dependencies = [ "http", "prost", @@ -1899,12 +2017,12 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "fail" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3245a0ca564e7f3c797d20d833a6870f57a728ac967d5225b3ffdef4465011" +checksum = "fe5e43d0f78a42ad591453aedb1d7ae631ce7ee445c7643691055a9ed8d3b01c" dependencies = [ - "lazy_static", "log", + "once_cell", "rand 0.8.5", ] @@ -1999,19 +2117,18 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" dependencies = [ - "matches", "percent-encoding", ] [[package]] name = "frunk" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd67cf7d54b7e72d0ea76f3985c3747d74aee43e0218ad993b7903ba7a5395e" +checksum = "a89c703bf50009f383a0873845357cc400a95fc535f836feddfe015d7df6e1e0" dependencies = [ "frunk_core", "frunk_derives", @@ -2020,15 +2137,15 @@ dependencies = [ [[package]] name = "frunk_core" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1246cf43ec80bf8b2505b5c360b8fb999c97dabd17dbb604d85558d5cbc25482" +checksum = "2a446d01a558301dca28ef43222864a9fa2bd9a2e71370f769d5d5d5ec9f3537" [[package]] name = "frunk_derives" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dbc4f084ec5a3f031d24ccedeb87ab2c3189a2f33b8d070889073837d5ea09e" +checksum = "b83164912bb4c97cfe0772913c7af7387ee2e00cb6d4636fb65a35b3d0c8f173" dependencies = [ "frunk_proc_macro_helpers", "quote", @@ -2037,9 +2154,9 @@ dependencies = [ [[package]] name = "frunk_proc_macro_helpers" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99f11257f106c6753f5ffcb8e601fb39c390a088017aaa55b70c526bff15f63e" +checksum = "015425591bbeb0f5b8a75593340f1789af428e9f887a4f1e36c0c471f067ef50" dependencies = [ "frunk_core", "proc-macro2", @@ -2049,9 +2166,9 @@ dependencies = [ [[package]] name = "frunk_proc_macros" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a078bd8459eccbb85e0b007b8f756585762a72a9efc53f359b371c3b6351dbcc" +checksum = "ea01524f285deab48affffb342b97f186e657b119c3f1821ac531780e0fbfae0" dependencies = [ "frunk_core", "frunk_proc_macros_impl", @@ -2060,9 +2177,9 @@ dependencies = [ [[package]] name = "frunk_proc_macros_impl" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ffba99f0fa4f57e42f57388fbb9a0ca863bc2b4261f3c5570fed579d5df6c32" +checksum = "0a802d974cc18ee7fe1a7868fc9ce31086294fd96ba62f8da64ecb44e92a2653" dependencies = [ "frunk_core", "frunk_proc_macro_helpers", @@ -2100,9 +2217,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f21eda599937fba36daeb58a22e8f5cee2d14c4a17b5b7739c7c8e5e3b8230c" +checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0" dependencies = [ "futures-channel", "futures-core", @@ -2137,9 +2254,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30bdd20c28fadd505d0fd6712cdfcb0d4b5648baf45faef7f852afb2399bb050" +checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" dependencies = [ "futures-core", "futures-sink", @@ -2147,9 +2264,9 @@ dependencies = [ [[package]] name = "futures-concurrency" -version = "3.0.2" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49242554e83bfb20ec3fa39db8fbdd349ed7c905efd39dfb9b83a517f41b05b1" +checksum = "113411b30b3a4fd9aba3eb9654f436976b71bc7f709318aeae7f8e90f74a71d6" dependencies = [ "async-trait", "futures-core", @@ -2158,15 +2275,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e5aa3de05362c3fb88de6531e6296e85cde7739cccad4b9dfeeb7f6ebce56bf" +checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" [[package]] name = "futures-executor" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ff63c23854bee61b6e9cd331d523909f238fc7636290b96826e9cfa5faa00ab" +checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2" dependencies = [ "futures-core", "futures-task", @@ -2175,9 +2292,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbf4d2a7a308fd4578637c0b17c7e1c7ba127b8f6ba00b29f717e9655d85eb68" +checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" [[package]] name = "futures-lite" @@ -2196,9 +2313,9 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42cd15d1c7456c04dbdf7e88bcd69760d74f3a798d6444e16974b505b0e62f17" +checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" dependencies = [ "proc-macro2", "quote", @@ -2207,15 +2324,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b20ba5a92e727ba30e72834706623d94ac93a725410b6a6b6fbc1b07f7ba56" +checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" [[package]] name = "futures-task" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6508c467c73851293f390476d4491cf4d227dbabcd4170f3bb6044959b294f1" +checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" [[package]] name = "futures-timer" @@ -2225,9 +2342,9 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" [[package]] name = "futures-util" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44fb6cb1be61cc1d2e43b262516aafcf63b241cffdb1d3fa115f91d9c7b09c90" +checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" dependencies = [ "futures-channel", "futures-core", @@ -2329,9 +2446,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca32592cf21ac7ccab1825cd87f6c9b3d9022c44d086172ed0966bec8af30be" +checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" dependencies = [ "bytes", "fnv", @@ -2354,9 +2471,9 @@ checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" [[package]] name = "halfbrown" -version = "0.1.15" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce69ed202df415a3d4a01e6f3341320ca88b9bd4f0bf37be6fa239cdea06d9bf" +checksum = "ff8ba437813c5a31783dd9a21ce4f555583dc9b048af6bd2b12217394ed9c199" dependencies = [ "hashbrown", "serde", @@ -2373,9 +2490,9 @@ dependencies = [ [[package]] name = "hdrhistogram" -version = "7.5.1" +version = "7.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea9fe3952d32674a14e0975009a3547af9ea364995b5ec1add2e23c2ae523ab" +checksum = "7f19b9f54f7c7f55e31401bb647626ce0cf0f67b0004982ce815b3ee72a02aa8" dependencies = [ "base64", "byteorder", @@ -2423,7 +2540,7 @@ checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" dependencies = [ "bytes", "fnv", - "itoa 1.0.3", + "itoa 1.0.4", ] [[package]] @@ -2445,9 +2562,9 @@ checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29" [[package]] name = "http-serde" -version = "1.1.0" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d98b3d9662de70952b14c4840ee0f37e23973542a363e2275f4b9d024ff6cca" +checksum = "0e272971f774ba29341db2f686255ff8a979365a26fb9e4277f6b6d9ec0cdd5e" dependencies = [ "http", "serde", @@ -2476,9 +2593,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.7.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "httpdate" @@ -2494,9 +2611,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.20" +version = "0.14.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02c929dc5c39e335a03c405292728118860721b10190d98c2a0f0efd5baafbac" +checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" dependencies = [ "bytes", "futures-channel", @@ -2507,7 +2624,7 @@ dependencies = [ "http-body", "httparse", "httpdate", - "itoa 1.0.3", + "itoa 1.0.4", "pin-project-lite", "socket2", "tokio", @@ -2543,17 +2660,28 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.46" +version = "0.1.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad2bfd338099682614d3ee3fe0cd72e0b6a41ca6a87f6a74a3bd593c91650501" +checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" dependencies = [ "android_system_properties", "core-foundation-sys", + "iana-time-zone-haiku", "js-sys", "wasm-bindgen", "winapi", ] +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +dependencies = [ + "cxx", + "cxx-build", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -2562,11 +2690,10 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.2.3" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" dependencies = [ - "matches", "unicode-bidi", "unicode-normalization", ] @@ -2579,13 +2706,14 @@ checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" dependencies = [ "autocfg", "hashbrown", + "serde", ] [[package]] name = "indextree" -version = "4.4.0" +version = "4.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42b4b46b3311ebd8e5cd44f6b03b36e0f48a70552cf6b036afcebc5626794066" +checksum = "497f036ac2fae75c34224648a77802e5dd4e9cfb56f4713ab6b12b7160a0523b" [[package]] name = "indicatif" @@ -2607,14 +2735,14 @@ checksum = "64e9829a50b42bb782c1df523f78d332fe371b10c661e78b7a3c34b0198e9fac" [[package]] name = "inferno" -version = "0.11.7" +version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9709543bd6c25fdc748da2bed0f6855b07b7e93a203ae31332ac2101ab2f4782" +checksum = "bd2fa5a9ad16dedcfabbc87f048ee6dd40d4944736fe4c5d362fb01df1209de1" dependencies = [ "ahash", "atty", "indexmap", - "itoa 1.0.3", + "itoa 1.0.4", "log", "num-format", "once_cell", @@ -2638,11 +2766,17 @@ version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02" +[[package]] +name = "io-lifetimes" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" + [[package]] name = "ipnet" -version = "2.5.0" +version = "2.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b" +checksum = "f88c5561171189e69df9d98bcf18fd5f9558300f7ea7b801eb8a0fd748bd8745" [[package]] name = "isahc" @@ -2694,24 +2828,24 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" [[package]] name = "itoa" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754" +checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" [[package]] name = "jobserver" -version = "0.1.24" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa" +checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.59" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "258451ab10b34f8af53416d1fdab72c22e805f0c92a1136d59470ec0b11138b2" +checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" dependencies = [ "wasm-bindgen", ] @@ -2836,9 +2970,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.132" +version = "0.2.137" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" +checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" [[package]] name = "libflate" @@ -2862,9 +2996,9 @@ dependencies = [ [[package]] name = "libloading" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" dependencies = [ "cfg-if", "winapi", @@ -2876,7 +3010,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79529479c298f5af41375b0c1a77ef670d450b4c9cd7949d2b43af08121b20ec" dependencies = [ - "clap 3.2.17", + "clap 3.2.23", "termcolor", "threadpool", ] @@ -2893,12 +3027,27 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "link-cplusplus" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369" +dependencies = [ + "cc", +] + [[package]] name = "linked-hash-map" version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" +[[package]] +name = "linux-raw-sys" +version = "0.0.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d" + [[package]] name = "local_stats_alloc" version = "0.2.0-alpha" @@ -2908,9 +3057,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53" +checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" dependencies = [ "autocfg", "scopeguard", @@ -2945,9 +3094,9 @@ dependencies = [ [[package]] name = "lz4" -version = "1.23.3" +version = "1.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4edcb94251b1c375c459e5abe9fb0168c1c826c3370172684844f8f3f8d1a885" +checksum = "7e9e2dd86df36ce760a60f6ff6ad526f7ba1f14ba0356f8254fb6905e6494df1" dependencies = [ "libc", "lz4-sys", @@ -2965,9 +3114,9 @@ dependencies = [ [[package]] name = "lzma-sys" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e06754c4acf47d49c727d5665ca9fb828851cda315ed3bd51edd148ef78a8772" +checksum = "5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27" dependencies = [ "cc", "libc", @@ -2985,9 +3134,9 @@ dependencies = [ [[package]] name = "madsim" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8baee8a4fb804e3adca6e11212ef1f3d6bbf44f4aac71b3182ab4bc2cfc1b1ff" +checksum = "a5b15031e1ca7bb25f51c6ddb36f9ec8e10aa184e21987c49118e18a1141f7a8" dependencies = [ "ahash", "async-channel", @@ -3012,15 +3161,19 @@ dependencies = [ [[package]] name = "madsim-etcd-client" -version = "0.2.8" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6c5383c2297a0a3306fbcc0475a6ab1decb5b49c3cd20adae6fd8d149dbde0" +checksum = "f83388bf9b75da759e6ebc7470e8ab4911314504eb75e16946de66f56a5608ea" dependencies = [ "etcd-client", "futures-util", "http", "madsim", + "serde", + "serde_with 2.1.0", "spin 0.9.4", + "thiserror", + "toml", "tonic", "tracing", ] @@ -3031,7 +3184,7 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8abbe137adbf2023c066b8acb3fdef0a4bec6494642ef2174d060fc99a9f80ea" dependencies = [ - "darling 0.14.1", + "darling 0.14.2", "proc-macro2", "quote", "syn", @@ -3063,9 +3216,9 @@ dependencies = [ [[package]] name = "madsim-tokio" -version = "0.2.7" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36e91b9b30c3e60c3bc10897d2eeca4a88b31d74a790b655cc46abbecb0a3fb5" +checksum = "a95122ce38cd63608a480fa7ebd8216f79ba8228cea34744e1a93e9c49f21872" dependencies = [ "futures-lite", "madsim", @@ -3074,11 +3227,12 @@ dependencies = [ [[package]] name = "madsim-tonic" -version = "0.2.4" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efddb30ea11cec8e8a74c73e24ee8dce75746c55152542a6d3a04393926a5792" +checksum = "796f59e9fe0c88487a23a946a52c25c7761d32d41c5afd6e3e212fea8e291d0e" dependencies = [ "async-stream", + "chrono", "futures-util", "madsim", "tonic", @@ -3087,9 +3241,9 @@ dependencies = [ [[package]] name = "madsim-tonic-build" -version = "0.2.0" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8935b76be4cc11e9f254c513fd6d31afe1585e21edb4c5d19b29ff6b2a9445a5" +checksum = "0243f3ed18b8d3fcd902c846ae454ec53cd7a48f6b9cd48f195a7df86cb2b65f" dependencies = [ "prettyplease", "proc-macro2", @@ -3126,11 +3280,17 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73cbba799671b762df5a175adf59ce145165747bb891505c43d09aefbbf38beb" +[[package]] +name = "matchit" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40" + [[package]] name = "md-5" -version = "0.10.1" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658646b21e0b72f7866c7038ab086d3d5e1cd6271f060fd37defb241949d0582" +checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" dependencies = [ "digest", ] @@ -3161,9 +3321,9 @@ dependencies = [ [[package]] name = "memmap2" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95af15f345b17af2efc8ead6080fb8bc376f8cec1b35277b935637595fe77498" +checksum = "4b182332558b18d807c4ce1ca8ca983b34c3ee32765e47b3f0f69b90355cc1dc" dependencies = [ "libc", ] @@ -3240,9 +3400,9 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc" +checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" dependencies = [ "adler", ] @@ -3260,21 +3420,21 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf" +checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] name = "moka" -version = "0.9.3" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a89c33e91526792a0260425073c3db0b472cdca2cc6fcaa666dd6e65450462a" +checksum = "7b49a05f67020456541f4f29cbaa812016a266a86ec76f96d3873d459c68fe5e" dependencies = [ "async-io", "async-lock", @@ -3286,6 +3446,7 @@ dependencies = [ "once_cell", "parking_lot 0.12.1", "quanta", + "rustc_version 0.4.0", "scheduled-thread-pool", "skeptic", "smallvec", @@ -3297,9 +3458,9 @@ dependencies = [ [[package]] name = "more-asserts" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5474f8732dc7e0635ae9df6595bcd39cd30e3cfe8479850d4fa3e69306c19712" +checksum = "1fafa6961cabd9c63bcd77a45d7e3b7f3b552b70417831fb0f56db717e72407e" [[package]] name = "multimap" @@ -3372,7 +3533,7 @@ dependencies = [ "smallvec", "subprocess", "thiserror", - "time 0.3.13", + "time 0.3.15", "uuid", ] @@ -3384,9 +3545,9 @@ checksum = "034a0ad7deebf0c2abcf2435950a6666c3c15ea9d8fad0c0f48efa8a7f843fed" [[package]] name = "native-tls" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd7e2f3618557f980e0b17e8856252eee3c97fa12c54dff0ca290fb6266ca4a9" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" dependencies = [ "lazy_static", "libc", @@ -3412,12 +3573,6 @@ dependencies = [ "memoffset", ] -[[package]] -name = "nodrop" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" - [[package]] name = "nom" version = "2.2.1" @@ -3436,9 +3591,9 @@ dependencies = [ [[package]] name = "ntapi" -version = "0.3.7" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f" +checksum = "bc51db7b362b205941f71232e56c625156eb9a929f8cf74a428fd5bc094a4afc" dependencies = [ "winapi", ] @@ -3477,12 +3632,12 @@ dependencies = [ [[package]] name = "num-format" -version = "0.4.0" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bafe4179722c2894288ee77a9f044f02811c86af699344c498b0840c698a2465" +checksum = "54b862ff8df690cf089058c98b183676a7ed0f974cc08b426800093227cbff3b" dependencies = [ - "arrayvec 0.4.12", - "itoa 0.4.8", + "arrayvec", + "itoa 1.0.4", ] [[package]] @@ -3506,9 +3661,9 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" +checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" dependencies = [ "hermit-abi", "libc", @@ -3561,9 +3716,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.13.1" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "074864da206b4973b84eb91683020dbefd6a8c3f0f38e054d93954e891935e4e" +checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" [[package]] name = "oorandom" @@ -3573,9 +3728,9 @@ checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" [[package]] name = "openssl" -version = "0.10.41" +version = "0.10.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "618febf65336490dfcf20b73f885f5651a0c89c64c2d4a8c3662585a70bf5bd0" +checksum = "12fc0523e3bd51a692c8850d075d74dc062ccf251c0110668cbd921917118a13" dependencies = [ "bitflags", "cfg-if", @@ -3605,18 +3760,18 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "111.22.0+1.1.1q" +version = "111.24.0+1.1.1s" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f31f0d509d1c1ae9cada2f9539ff8f37933831fd5098879e482aa687d659853" +checksum = "3498f259dab01178c6228c6b00dcef0ed2a2d5e20d648c017861227773ea4abd" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.75" +version = "0.9.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5f9bd0c2710541a3cda73d6f9ac4f1b240de4ae261065d309dbe73d9dceb42f" +checksum = "b03b84c3b2d099b81f0953422b4d4ad58761589d0229b5506356afca05a3670a" dependencies = [ "autocfg", "cc", @@ -3717,9 +3872,9 @@ dependencies = [ [[package]] name = "os_str_bytes" -version = "6.3.0" +version = "6.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff" +checksum = "7b5bf27447411e9ee3ff51186bf7a08e16c341efdde93f4d823e8844429bed7e" [[package]] name = "overload" @@ -3751,7 +3906,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core 0.9.3", + "parking_lot_core 0.9.4", ] [[package]] @@ -3770,9 +3925,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929" +checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0" dependencies = [ "backtrace", "cfg-if", @@ -3781,7 +3936,7 @@ dependencies = [ "redox_syscall", "smallvec", "thread-id", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -3821,24 +3976,24 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.8" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9423e2b32f7a043629287a536f21951e8c6a82482d0acb1eeebfc90bc2225b22" +checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" [[package]] name = "path-absolutize" -version = "3.0.13" +version = "3.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3de4b40bd9736640f14c438304c09538159802388febb02c8abaae0846c1f13" +checksum = "0f1d4993b16f7325d90c18c3c6a3327db7808752db8d208cea0acee0abd52c52" dependencies = [ "path-dedot", ] [[package]] name = "path-dedot" -version = "3.0.17" +version = "3.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d611d5291372b3738a34ebf0d1f849e58b1dcc1101032f76a346eaa1f8ddbb5b" +checksum = "9a81540d94551664b72b72829b12bd167c73c9d25fbac0e04fafa8023f7e4901" dependencies = [ "once_cell", ] @@ -3882,9 +4037,9 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" +checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "petgraph" @@ -4004,15 +4159,15 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" +checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" [[package]] name = "plotters" -version = "0.3.2" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9428003b84df1496fb9d6eeee9c5f8145cb41ca375eb0dad204328888832811f" +checksum = "2538b639e642295546c50fcd545198c9d64ee2a38620a628724a3b266d5fbf97" dependencies = [ "num-traits", "plotters-backend", @@ -4029,19 +4184,20 @@ checksum = "193228616381fecdc1224c62e96946dfbc73ff4384fba576e052ff8c1bea8142" [[package]] name = "plotters-svg" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0918736323d1baff32ee0eade54984f6f201ad7e97d5cfb5d6ab4a358529615" +checksum = "f9a81d2759aae1dae668f783c308bc5c8ebd191ff4184aaa1b37f65a6ae5a56f" dependencies = [ "plotters-backend", ] [[package]] name = "polling" -version = "2.2.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "685404d509889fade3e86fe3a5803bca2ec09b0c0778d5ada6ec8bf7a8de5259" +checksum = "ab4609a838d88b73d8238967b60dd115cc08d38e2bbaf51ee1e4b695f89122e2" dependencies = [ + "autocfg", "cfg-if", "libc", "log", @@ -4051,13 +4207,13 @@ dependencies = [ [[package]] name = "postgres" -version = "0.19.3" +version = "0.19.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8bbcd5f6deb39585a0d9f4ef34c4a41c25b7ad26d23c75d837d78c8e7adc85f" +checksum = "960c214283ef8f0027974c03e9014517ced5db12f021a9abb66185a5751fab0a" dependencies = [ "bytes", "fallible-iterator", - "futures", + "futures-util", "log", "tokio", "tokio-postgres", @@ -4117,9 +4273,9 @@ dependencies = [ [[package]] name = "pprof" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bba88ee898c63351101af3e60c66c5398c517681ce533eef8caff10ecf11ec1" +checksum = "d6472bfed9475542ac46c518734a8d06d71b0f6cb2c17f904aa301711a57786f" dependencies = [ "backtrace", "cfg-if", @@ -4138,15 +4294,15 @@ dependencies = [ [[package]] name = "ppv-lite86" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "prettyplease" -version = "0.1.18" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "697ae720ee02011f439e0701db107ffe2916d83f718342d65d7f8bf7b8a5fee9" +checksum = "c142c0e46b57171fe0c528bee8c5b7569e80f0c17e377cd0e30ea57dbc11bb51" dependencies = [ "proc-macro2", "syn", @@ -4195,9 +4351,9 @@ checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" [[package]] name = "proc-macro2" -version = "1.0.46" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94e2ef8dbfc347b10c094890f778ee2e36ca9bb4262e86dc99cd217e35f3470b" +checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" dependencies = [ "unicode-ident", ] @@ -4215,6 +4371,19 @@ dependencies = [ "libc", ] +[[package]] +name = "procfs" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dfb6451c91904606a1abe93e83a8ec851f45827fa84273f256ade45dc095818" +dependencies = [ + "bitflags", + "byteorder", + "hex", + "lazy_static", + "rustix", +] + [[package]] name = "procinfo" version = "0.4.2" @@ -4228,9 +4397,9 @@ dependencies = [ [[package]] name = "prometheus" -version = "0.13.1" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cface98dfa6d645ea4c789839f176e4b072265d085bfcc48eaa8d137f58d3c39" +checksum = "449811d15fbdf5ceb5c1144416066429cf82316e2ec8ce0c1f6f8a02e7bbcf8c" dependencies = [ "cfg-if", "fnv", @@ -4238,16 +4407,16 @@ dependencies = [ "libc", "memchr", "parking_lot 0.12.1", - "procfs", + "procfs 0.14.1", "protobuf", "thiserror", ] [[package]] name = "prost" -version = "0.11.0" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "399c3c31cdec40583bb68f0b18403400d01ec4289c383aa047560439952c4dd7" +checksum = "a0841812012b2d4a6145fae9a6af1534873c32aa67fff26bd09f8fa42c83f95a" dependencies = [ "bytes", "prost-derive", @@ -4255,9 +4424,9 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.11.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f835c582e6bd972ba8347313300219fed5bfa52caf175298d860b61ff6069bb" +checksum = "1d8b442418ea0822409d9e7d047cbf1e7e9e1760b172bf9982cf29d517c93511" dependencies = [ "bytes", "heck", @@ -4266,18 +4435,20 @@ dependencies = [ "log", "multimap", "petgraph", + "prettyplease", "prost", "prost-types", "regex", + "syn", "tempfile", "which", ] [[package]] name = "prost-derive" -version = "0.11.0" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7345d5f0e08c0536d7ac7229952590239e77abf0a0100a1b1d890add6ea96364" +checksum = "164ae68b6587001ca506d3bf7f1000bfa248d0e1217b618108fba4ec1d0cc306" dependencies = [ "anyhow", "itertools", @@ -4309,9 +4480,9 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.11.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dfaa718ad76a44b3415e6c4d53b17c8f99160dcb3a99b10470fce8ad43f6e3e" +checksum = "747761bc3dc48f9a34553bf65605cf6cb6288ba219f3450b4275dbd81539551a" dependencies = [ "bytes", "prost", @@ -4319,9 +4490,9 @@ dependencies = [ [[package]] name = "protobuf" -version = "2.27.1" +version = "2.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf7e6d18738ecd0902d30d1ad232c9125985a3422929b16c65517b38adc14f96" +checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" [[package]] name = "pulldown-cmark" @@ -4373,16 +4544,16 @@ dependencies = [ "mach", "once_cell", "raw-cpuid", - "wasi 0.10.2+wasi-snapshot-preview1", + "wasi 0.10.0+wasi-snapshot-preview1", "web-sys", "winapi", ] [[package]] name = "quick-xml" -version = "0.23.0" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9279fbdacaad3baf559d8cabe0acc3d06e30ea14931af31af79578ac0946decc" +checksum = "11bafc859c6815fbaffbbbf4229ecb767ac913fecb27f9ad4343662e9ef099ea" dependencies = [ "memchr", ] @@ -4423,7 +4594,7 @@ checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha 0.3.1", - "rand_core 0.6.3", + "rand_core 0.6.4", ] [[package]] @@ -4443,7 +4614,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core 0.6.3", + "rand_core 0.6.4", ] [[package]] @@ -4457,9 +4628,9 @@ dependencies = [ [[package]] name = "rand_core" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ "getrandom 0.2.7", ] @@ -4475,9 +4646,9 @@ dependencies = [ [[package]] name = "raw-cpuid" -version = "10.5.0" +version = "10.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6aa2540135b6a94f74c7bc90ad4b794f822026a894f3d7bcd185c100d13d4ad6" +checksum = "a6823ea29436221176fe662da99998ad3b4db2c7f31e7b6f5fe43adccd6320bb" dependencies = [ "bitflags", ] @@ -4508,9 +4679,9 @@ dependencies = [ [[package]] name = "rdkafka-sys" -version = "4.2.0+1.8.2" +version = "4.3.0+1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e542c6863b04ce0fa0c5719bc6b7b348cf8dd21af1bb03c9db5f9805b2a6473" +checksum = "d222a401698c7f2010e3967353eae566d9934dcda49c29910da922414ab4e3f4" dependencies = [ "cmake", "libc", @@ -4523,15 +4694,15 @@ dependencies = [ [[package]] name = "redis" -version = "0.21.5" +version = "0.21.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a80b5f38d7f5a020856a0e16e40a9cfabf88ae8f0e4c2dcd8a3114c1e470852" +checksum = "571c252c68d09a2ad3e49edd14e9ee48932f3e0f27b06b4ea4c9b2a706d31103" dependencies = [ "async-trait", "combine", - "dtoa", - "itoa 0.4.8", + "itoa 1.0.4", "percent-encoding", + "ryu", "sha1 0.6.1", "url", ] @@ -4553,9 +4724,9 @@ checksum = "f4ed1d73fb92eba9b841ba2aef69533a060ccc0d3ec71c90aeda5996d4afb7a9" [[package]] name = "regex" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" +checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" dependencies = [ "aho-corasick", "memchr", @@ -4573,9 +4744,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.27" +version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "remove_dir_all" @@ -4588,9 +4759,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.12" +version = "0.11.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "431949c384f4e2ae07605ccaa56d1d9d2ecdb5cadd4f9577ccfab29f2e5149fc" +checksum = "68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c" dependencies = [ "base64", "bytes", @@ -4631,9 +4802,9 @@ checksum = "4389f1d5789befaf6029ebd9f7dac4af7f7e3d61b69d4f30e2ac02b57e7712b0" [[package]] name = "rgb" -version = "0.8.33" +version = "0.8.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3b221de559e4a29df3b957eec92bc0de6bc8eaf6ca9cfed43e5e1d67ff65a34" +checksum = "3603b7d71ca82644f79b5a06d1220e9a58ede60bd32255f698cb1af8838b8db3" dependencies = [ "bytemuck", ] @@ -4660,7 +4831,7 @@ dependencies = [ "anyhow", "bytes", "chrono", - "clap 3.2.17", + "clap 3.2.23", "console", "dialoguer", "enum-iterator", @@ -4673,7 +4844,7 @@ dependencies = [ "regex", "serde", "serde_json", - "serde_with", + "serde_with 1.14.0", "serde_yaml 0.8.26", "tempfile", "workspace-hack", @@ -4747,7 +4918,7 @@ dependencies = [ "bcc", "bytes", "bytesize", - "clap 3.2.17", + "clap 3.2.23", "futures", "hdrhistogram", "isahc", @@ -4783,7 +4954,7 @@ name = "risingwave_cmd" version = "0.2.0-alpha" dependencies = [ "anyhow", - "clap 3.2.17", + "clap 3.2.23", "global_stats_alloc", "log", "madsim-tokio", @@ -4806,7 +4977,7 @@ name = "risingwave_cmd_all" version = "0.2.0-alpha" dependencies = [ "anyhow", - "clap 3.2.17", + "clap 3.2.23", "global_stats_alloc", "log", "madsim-tokio", @@ -4862,7 +5033,7 @@ dependencies = [ "paste", "pin-project", "postgres-types", - "procfs", + "procfs 0.12.0", "procinfo", "prometheus", "prost", @@ -4911,7 +5082,7 @@ version = "0.2.0-alpha" dependencies = [ "anyhow", "bytes", - "clap 3.2.17", + "clap 3.2.23", "itertools", "madsim-tokio", "madsim-tonic", @@ -4938,7 +5109,7 @@ dependencies = [ name = "risingwave_compactor" version = "0.2.0-alpha" dependencies = [ - "clap 3.2.17", + "clap 3.2.23", "madsim-tokio", "madsim-tonic", "parking_lot 0.12.1", @@ -4969,7 +5140,7 @@ dependencies = [ "byteorder", "bytes", "chrono", - "clap 3.2.17", + "clap 3.2.23", "crc32fast", "dyn-clone", "either", @@ -5063,7 +5234,7 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "serde_with", + "serde_with 1.14.0", "smallvec", "static_assertions", "strum", @@ -5088,7 +5259,7 @@ dependencies = [ "anyhow", "bytes", "chrono", - "clap 3.2.17", + "clap 3.2.23", "comfy-table", "futures", "itertools", @@ -5157,7 +5328,7 @@ dependencies = [ "async-trait", "byteorder", "bytes", - "clap 3.2.17", + "clap 3.2.23", "derivative", "downcast-rs", "dyn-clone", @@ -5257,11 +5428,11 @@ dependencies = [ "assert_matches", "async-stream", "async-trait", - "axum", + "axum 0.5.17", "byteorder", "bytes", "chrono", - "clap 3.2.17", + "clap 3.2.23", "crc32fast", "derivative", "either", @@ -5368,8 +5539,8 @@ dependencies = [ "risingwave_frontend", "risingwave_sqlparser", "serde", - "serde_with", - "serde_yaml 0.9.9", + "serde_with 1.14.0", + "serde_yaml 0.9.14", "tempfile", "walkdir", "workspace-hack", @@ -5380,7 +5551,7 @@ name = "risingwave_regress_test" version = "0.2.0-alpha" dependencies = [ "anyhow", - "clap 3.2.17", + "clap 3.2.23", "madsim-tokio", "path-absolutize", "similar", @@ -5436,7 +5607,7 @@ name = "risingwave_simulation" version = "0.1.0" dependencies = [ "async-trait", - "clap 3.2.17", + "clap 3.2.23", "futures", "glob", "madsim", @@ -5464,7 +5635,7 @@ version = "0.1.0" dependencies = [ "anyhow", "async-trait", - "clap 3.2.17", + "clap 3.2.23", "futures", "itertools", "madsim", @@ -5571,7 +5742,7 @@ version = "0.2.0-alpha" dependencies = [ "anyhow", "chrono", - "clap 3.2.17", + "clap 3.2.23", "futures", "itertools", "libtest-mimic", @@ -5755,7 +5926,7 @@ version = "1.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee9164faf726e4f3ece4978b25ca877ddc6802fa77f38cdccb32c7f805ecd70c" dependencies = [ - "arrayvec 0.7.2", + "arrayvec", "byteorder", "bytes", "num-traits", @@ -5791,7 +5962,21 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.13", + "semver 1.0.14", +] + +[[package]] +name = "rustix" +version = "0.35.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "727a1a6d65f786ec22df8a81ca3121107f235970dc1705ed681d3e6e8b9cd5f9" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys 0.42.0", ] [[package]] @@ -5841,7 +6026,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" dependencies = [ "lazy_static", - "windows-sys", + "windows-sys 0.36.1", ] [[package]] @@ -5859,6 +6044,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +[[package]] +name = "scratch" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" + [[package]] name = "security-framework" version = "2.7.0" @@ -5893,9 +6084,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f6841e709003d68bb2deee8c343572bf446003ec20a583e76f7b15cebf3711" +checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" dependencies = [ "serde", ] @@ -5908,9 +6099,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.143" +version = "1.0.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53e8e5d5b70924f74ff5c6d64d9a5acd91422117c60f48c4e07855238a254553" +checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" dependencies = [ "serde_derive", ] @@ -5937,9 +6128,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.143" +version = "1.0.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3d8e8de557aee63c26b85b947f5e59b690d0454c753f3adeb5cd7835ab88391" +checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" dependencies = [ "proc-macro2", "quote", @@ -5948,11 +6139,11 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.83" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38dd04e3c8279e75b31ef29dbdceebfe5ad89f4d0937213c53f7d49d01b3d5a7" +checksum = "6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45" dependencies = [ - "itoa 1.0.3", + "itoa 1.0.4", "ryu", "serde", ] @@ -5975,7 +6166,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ "form_urlencoded", - "itoa 1.0.3", + "itoa 1.0.4", "ryu", "serde", ] @@ -5987,7 +6178,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff" dependencies = [ "serde", - "serde_with_macros", + "serde_with_macros 1.5.2", +] + +[[package]] +name = "serde_with" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25bf4a5a814902cd1014dbccfa4d4560fb8432c779471e96e035602519f82eef" +dependencies = [ + "base64", + "chrono", + "hex", + "indexmap", + "serde", + "serde_json", + "serde_with_macros 2.1.0", + "time 0.3.15", ] [[package]] @@ -6002,6 +6209,18 @@ dependencies = [ "syn", ] +[[package]] +name = "serde_with_macros" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3452b4c0f6c1e357f73fdb87cd1efabaa12acf328c7a528e252893baeb3f4aa" +dependencies = [ + "darling 0.14.2", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "serde_yaml" version = "0.8.26" @@ -6016,12 +6235,12 @@ dependencies = [ [[package]] name = "serde_yaml" -version = "0.9.9" +version = "0.9.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f50845f68d5c693aac7d72a25415ddd21cb8182c04eafe447b73af55a05f9e1b" +checksum = "6d232d893b10de3eb7258ff01974d6ee20663d8e833263c99409d4b13a0209da" dependencies = [ "indexmap", - "itoa 1.0.3", + "itoa 1.0.4", "ryu", "serde", "unsafe-libyaml", @@ -6075,9 +6294,9 @@ dependencies = [ [[package]] name = "sha1" -version = "0.10.4" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "006769ba83e921b3085caa8334186b00cf92b4cb1a6cf4632fbccc8eff5c7549" +checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" dependencies = [ "cfg-if", "cpufeatures", @@ -6092,9 +6311,9 @@ checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012" [[package]] name = "sha2" -version = "0.10.2" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676" +checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ "cfg-if", "cpufeatures", @@ -6176,7 +6395,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de454f4996c6ab2e8d9cfdc4cb937908c22faaed1929a425399ba3da1745c165" dependencies = [ "chrono", - "itoa 1.0.3", + "itoa 1.0.4", "ryu", "simd-json", "simd-json-derive-int", @@ -6203,9 +6422,9 @@ checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" [[package]] name = "similar" -version = "2.2.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62ac7f900db32bf3fd12e0117dd3dc4da74bc52ebaac97f39668446d89694803" +checksum = "420acb44afdae038210c99e69aae24109f32f15500aa708e81d46c9f29d55fcf" [[package]] name = "siphasher" @@ -6259,9 +6478,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" dependencies = [ "serde", ] @@ -6274,9 +6493,9 @@ checksum = "45456094d1983e2ee2a18fdfebce3189fa451699d0502cb8e3b49dba5ba41451" [[package]] name = "socket2" -version = "0.4.4" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0" +checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" dependencies = [ "libc", "winapi", @@ -6428,9 +6647,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "symbolic-common" -version = "9.1.1" +version = "9.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e555b2c3ebd97b963c8a3e94ce5e5137ba42da4a26687f81c700d8de1c997f0" +checksum = "800963ba330b09a2ae4a4f7c6392b81fbc2784099a98c1eac68c3437aa9382b2" dependencies = [ "debugid", "memmap2", @@ -6440,9 +6659,9 @@ dependencies = [ [[package]] name = "symbolic-demangle" -version = "9.1.1" +version = "9.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71a1425bccf0a24c68c9faea6c4f1f84b4865a3dd5976454d8a796c80216e38a" +checksum = "2b940a1fdbc72bb3369e38714efe6cd332dbbe46d093cf03d668b9ac390d1ad0" dependencies = [ "cpp_demangle", "rustc-demangle", @@ -6451,9 +6670,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.102" +version = "1.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fcd952facd492f9be3ef0d0b7032a6e442ee9b361d4acc2b1d0c4aaa5f613a1" +checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" dependencies = [ "proc-macro2", "quote", @@ -6476,23 +6695,11 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20518fe4a4c9acf048008599e464deb21beeae3d3578418951a189c235a7a9a8" -[[package]] -name = "synstructure" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "unicode-xid", -] - [[package]] name = "sysinfo" -version = "0.26.2" +version = "0.26.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae2421f3e16b3afd4aa692d23b83d0ba42ee9b0081d5deeb7d21428d7195fb1" +checksum = "c375d5fd899e32847b8566e10598d6e9f1d9b55ec6de3cdf9e7da4bdc51371bc" dependencies = [ "cfg-if", "core-foundation-sys", @@ -6559,24 +6766,24 @@ dependencies = [ [[package]] name = "textwrap" -version = "0.15.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.34" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c1b05ca9d106ba7d2e31a9dab4a64e7be2cce415321966ea3132c49a656e252" +checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.34" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8f2591983642de85c921015f3f070c665a197ed69e417af436115e3a1407487" +checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" dependencies = [ "proc-macro2", "quote", @@ -6648,9 +6855,9 @@ dependencies = [ [[package]] name = "tikv-jemalloc-sys" -version = "0.5.1+5.3.0-patched" +version = "0.5.2+5.3.0-patched" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "931e876f91fed0827f863a2d153897790da0b24d882c721a79cb3beb0b903261" +checksum = "ec45c14da997d0925c7835883e4d5c181f196fa142f8c19d7643d1e9af2592c3" dependencies = [ "cc", "fs_extra", @@ -6669,23 +6876,25 @@ dependencies = [ [[package]] name = "time" -version = "0.1.43" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" +checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" dependencies = [ "libc", + "wasi 0.10.0+wasi-snapshot-preview1", "winapi", ] [[package]] name = "time" -version = "0.3.13" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db76ff9fa4b1458b3c7f077f3ff9887394058460d21e634355b273aaf11eea45" +checksum = "d634a985c4d4238ec39cacaed2e7ae552fbd3c476b552c1deac3021b7d7eaf0c" dependencies = [ - "itoa 1.0.3", + "itoa 1.0.4", "libc", "num_threads", + "serde", ] [[package]] @@ -6823,9 +7032,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df54d54117d6fdc4e4fea40fe1e4e566b3505700e148a6827e59b34b0d2600d9" +checksum = "d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce" dependencies = [ "futures-core", "pin-project-lite", @@ -6834,9 +7043,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45" +checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" dependencies = [ "bytes", "futures-core", @@ -6857,13 +7066,13 @@ dependencies = [ [[package]] name = "tonic" -version = "0.8.0" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "498f271adc46acce75d66f639e4d35b31b2394c295c82496727dafa16d465dd2" +checksum = "8f219fad3b929bef19b1f86fbc0358d35daed8f2cac972037ac0dc10bbb8d5fb" dependencies = [ "async-stream", "async-trait", - "axum", + "axum 0.6.1", "base64", "bytes", "futures-core", @@ -6889,9 +7098,9 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.8.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fbcd2800e34e743b9ae795867d5f77b535d3a3be69fd731e39145719752df8c" +checksum = "48c6fd7c2581e36d63388a9e04c350c21beb7a8b059580b2e93993c526899ddc" dependencies = [ "prettyplease", "proc-macro2", @@ -6947,9 +7156,9 @@ dependencies = [ [[package]] name = "tower-layer" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "343bc9466d3fe6b0f960ef45960509f84480bf4fd96f92901afe7ff3df9d3a62" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" [[package]] name = "tower-service" @@ -6959,9 +7168,9 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.36" +version = "0.1.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fce9567bd60a67d08a16488756721ba392f24f29006402881e43b19aac64307" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ "cfg-if", "log", @@ -6972,9 +7181,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11c75893af559bc8e10716548bdef5cb2b983f8e637db9d0e15126b61b484ee2" +checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" dependencies = [ "proc-macro2", "quote", @@ -7040,7 +7249,7 @@ dependencies = [ "sharded-slab", "smallvec", "thread_local", - "time 0.3.13", + "time 0.3.15", "tracing", "tracing-core", "tracing-log", @@ -7077,9 +7286,9 @@ dependencies = [ [[package]] name = "triomphe" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe1b3800b35f9b936c28dc59dbda91b195371269396784d931fe2a5a2be3d2f" +checksum = "f1ee9bd9239c339d714d657fac840c6d2a4f9c45f4f9ec7b0975113458be78db" dependencies = [ "serde", "stable_deref_trait", @@ -7145,36 +7354,30 @@ checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" [[package]] name = "unicode-ident" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd" +checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" [[package]] name = "unicode-normalization" -version = "0.1.21" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" dependencies = [ "tinyvec", ] [[package]] name = "unicode-width" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" - -[[package]] -name = "unicode-xid" -version = "0.2.3" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" [[package]] name = "unsafe-libyaml" -version = "0.2.2" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "931179334a56395bcf64ba5e0ff56781381c1a5832178280c7d7f91d1679aeb0" +checksum = "c1e5fa573d8ac5f1a856f8d7be41d390ee973daf97c806b2c1a465e4e1406e68" [[package]] name = "untrusted" @@ -7184,22 +7387,21 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "url" -version = "2.2.2" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" +checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" dependencies = [ "form_urlencoded", "idna", - "matches", "percent-encoding", "serde", ] [[package]] name = "urlencoding" -version = "2.1.0" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b90931029ab9b034b300b797048cf23723400aa757e8a2bfb9d748102f9821" +checksum = "e8db7427f936968176eaa7cdf81b7f98b980b18495ec28f1b5791ac3bfe3eea9" [[package]] name = "uuid" @@ -7235,7 +7437,7 @@ checksum = "c0a635407649b66e125e4d2ffd208153210179f8c7c8b71c030aa2ad3eeb4c8f" dependencies = [ "float-cmp", "halfbrown", - "itoa 1.0.3", + "itoa 1.0.4", "ryu", ] @@ -7292,9 +7494,9 @@ checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" [[package]] name = "wasi" -version = "0.10.2+wasi-snapshot-preview1" +version = "0.10.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" +checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" [[package]] name = "wasi" @@ -7304,9 +7506,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.82" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7652e3f6c4706c8d9cd54832c4a4ccb9b5336e2c3bd154d5cccfbf1c1f5f7d" +checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -7314,9 +7516,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.82" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "662cd44805586bd52971b9586b1df85cdbbd9112e4ef4d8f41559c334dc6ac3f" +checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" dependencies = [ "bumpalo", "log", @@ -7329,9 +7531,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.32" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa76fb221a1f8acddf5b54ace85912606980ad661ac7a503b4570ffd3a624dad" +checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" dependencies = [ "cfg-if", "js-sys", @@ -7341,9 +7543,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.82" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b260f13d3012071dfb1512849c033b1925038373aea48ced3012c09df952c602" +checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7351,9 +7553,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.82" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be8e654bdd9b79216c2929ab90721aa82faf65c48cdf08bdc4e7f51357b80da" +checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" dependencies = [ "proc-macro2", "quote", @@ -7364,15 +7566,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.82" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6598dd0bd3c7d51095ff6531a5b23e02acdc81804e30d8f07afb77b7215a140a" +checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" [[package]] name = "web-sys" -version = "0.3.59" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed055ab27f941423197eb86b2035720b1a3ce40504df082cac2ecc6ed73335a1" +checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" dependencies = [ "js-sys", "wasm-bindgen", @@ -7389,13 +7591,13 @@ dependencies = [ [[package]] name = "which" -version = "4.2.5" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c4fb54e6113b6a8772ee41c3404fb0301ac79604489467e0a9ce1f3e97c24ae" +checksum = "1c831fbbee9e129a8cf93e7747a82da9d95ba8e16621cae60ec2cdc849bacb7b" dependencies = [ "either", - "lazy_static", "libc", + "once_cell", ] [[package]] @@ -7435,43 +7637,100 @@ version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" dependencies = [ - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_msvc", + "windows_aarch64_msvc 0.36.1", + "windows_i686_gnu 0.36.1", + "windows_i686_msvc 0.36.1", + "windows_x86_64_gnu 0.36.1", + "windows_x86_64_msvc 0.36.1", +] + +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc 0.42.0", + "windows_i686_gnu 0.42.0", + "windows_i686_msvc 0.42.0", + "windows_x86_64_gnu 0.42.0", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc 0.42.0", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" + [[package]] name = "windows_aarch64_msvc" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" + [[package]] name = "windows_i686_gnu" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" +[[package]] +name = "windows_i686_gnu" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" + [[package]] name = "windows_i686_msvc" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" +[[package]] +name = "windows_i686_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" + [[package]] name = "windows_x86_64_gnu" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" + [[package]] name = "windows_x86_64_msvc" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" + [[package]] name = "winreg" version = "0.10.1" @@ -7483,9 +7742,9 @@ dependencies = [ [[package]] name = "wiremock" -version = "0.5.14" +version = "0.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc3c7b7557dbfdad6431b5a51196c9110cef9d83f6a9b26699f35cdc0ae113ec" +checksum = "249dc68542861d17eae4b4e5e8fb381c2f9e8f255a84f6771d5fdf8b6c03ce3c" dependencies = [ "assert-json-diff", "async-trait", @@ -7526,7 +7785,7 @@ dependencies = [ "bytes", "cc", "chrono", - "clap 3.2.17", + "clap 3.2.23", "criterion 0.3.6", "crossbeam-channel", "crossbeam-deque", @@ -7563,7 +7822,7 @@ dependencies = [ "num-integer", "num-traits", "parking_lot 0.12.1", - "parking_lot_core 0.9.3", + "parking_lot_core 0.9.4", "petgraph", "phf", "phf_shared", @@ -7571,7 +7830,7 @@ dependencies = [ "prometheus", "prost", "rand 0.8.5", - "rand_core 0.6.3", + "rand_core 0.6.4", "regex", "regex-automata", "regex-syntax", @@ -7585,7 +7844,7 @@ dependencies = [ "syn", "tikv-jemalloc-sys", "tikv-jemallocator", - "time 0.3.13", + "time 0.3.15", "tokio", "tokio-stream", "tokio-util", @@ -7601,9 +7860,9 @@ dependencies = [ [[package]] name = "wyz" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b31594f29d27036c383b53b59ed3476874d518f0efb151b27a4c275141390e" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" dependencies = [ "tap", ] @@ -7644,13 +7903,13 @@ dependencies = [ [[package]] name = "zerocopy-derive" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0fbc82b82efe24da867ee52e015e58178684bd9dd64c34e66bdf21da2582a9f" +checksum = "6505e6815af7de1746a08f69c69606bb45695a17149517680f3b2149713b19a3" dependencies = [ "proc-macro2", + "quote", "syn", - "synstructure", ] [[package]] diff --git a/ci/build-ci-image.sh b/ci/build-ci-image.sh index 994fa547eace1..0b5b9a6ba851e 100755 --- a/ci/build-ci-image.sh +++ b/ci/build-ci-image.sh @@ -14,7 +14,7 @@ export RUST_TOOLCHAIN=$(cat ../rust-toolchain) # !!! CHANGE THIS WHEN YOU WANT TO BUMP CI IMAGE !!! # # AND ALSO docker-compose.yml # ###################################################### -export BUILD_ENV_VERSION=v20221102 +export BUILD_ENV_VERSION=v20221208 export BUILD_TAG="public.ecr.aws/x5u3w5h6/rw-build-env:${BUILD_ENV_VERSION}" diff --git a/ci/docker-compose.yml b/ci/docker-compose.yml index a8ee2bc540df4..5b576d2ea48dc 100644 --- a/ci/docker-compose.yml +++ b/ci/docker-compose.yml @@ -42,12 +42,12 @@ services: retries: 5 rw-build-env: - image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221102 + image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221208 volumes: - ..:/risingwave regress-test-env: - image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221102 + image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221208 depends_on: db: condition: service_healthy @@ -55,7 +55,7 @@ services: - ..:/risingwave benchmark-env: - image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221102 + image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221208 depends_on: - kafka volumes: diff --git a/rust-toolchain b/rust-toolchain index 6dc33dd94f1b5..92cbb6faeaccb 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1 +1 @@ -nightly-2022-11-01 +nightly-2022-12-08 From 445f2104eabd39d451642bc5f99f2f0f890776ef Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Thu, 8 Dec 2022 16:33:19 +0800 Subject: [PATCH 08/26] switch to 11-21 Signed-off-by: Bugen Zhao --- rust-toolchain | 2 +- src/batch/src/task/consistent_hash_shuffle_channel.rs | 4 ++-- src/storage/src/store_impl.rs | 2 +- src/stream/src/executor/mod.rs | 2 -- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/rust-toolchain b/rust-toolchain index 92cbb6faeaccb..608fe7aad6a63 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1 +1 @@ -nightly-2022-12-08 +nightly-2022-11-21 diff --git a/src/batch/src/task/consistent_hash_shuffle_channel.rs b/src/batch/src/task/consistent_hash_shuffle_channel.rs index bc1747fb3bf6e..a6bc81b7ff771 100644 --- a/src/batch/src/task/consistent_hash_shuffle_channel.rs +++ b/src/batch/src/task/consistent_hash_shuffle_channel.rs @@ -107,7 +107,7 @@ fn generate_new_data_chunks( } impl ChanSender for ConsistentHashShuffleSender { - type SendFuture<'a> = impl Future>; + type SendFuture<'a> = impl Future> + 'a; fn send(&mut self, chunk: Option) -> Self::SendFuture<'_> { async move { @@ -152,7 +152,7 @@ impl ConsistentHashShuffleSender { } impl ChanReceiver for ConsistentHashShuffleReceiver { - type RecvFuture<'a> = impl Future>>; + type RecvFuture<'a> = impl Future>> + 'a; fn recv(&mut self) -> Self::RecvFuture<'_> { async move { diff --git a/src/storage/src/store_impl.rs b/src/storage/src/store_impl.rs index 2a0139e99fdd1..2884c8fe248af 100644 --- a/src/storage/src/store_impl.rs +++ b/src/storage/src/store_impl.rs @@ -409,7 +409,7 @@ pub mod verify { impl StateStore for VerifyStateStore { type Local = VerifyStateStore; - type NewLocalFuture<'a> = impl Future + Send; + type NewLocalFuture<'a> = impl Future + Send + 'a; define_state_store_associated_type!(); diff --git a/src/stream/src/executor/mod.rs b/src/stream/src/executor/mod.rs index aabdd63c06956..82588dae851b1 100644 --- a/src/stream/src/executor/mod.rs +++ b/src/stream/src/executor/mod.rs @@ -670,7 +670,6 @@ pub type PkIndicesRef<'a> = &'a [usize]; pub type PkDataTypes = SmallVec<[DataType; 1]>; /// Expect the first message of the given `stream` as a barrier. -#[track_caller] pub async fn expect_first_barrier( stream: &mut (impl MessageStream + Unpin), ) -> StreamExecutorResult { @@ -686,7 +685,6 @@ pub async fn expect_first_barrier( } /// Expect the first message of the given `stream` as a barrier. -#[track_caller] pub async fn expect_first_barrier_from_aligned_stream( stream: &mut (impl AlignedMessageStream + Unpin), ) -> StreamExecutorResult { From 39d21dfc7a5c009fc61c724a125412affd0d98a1 Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Thu, 8 Dec 2022 16:37:11 +0800 Subject: [PATCH 09/26] fix clippy Signed-off-by: Bugen Zhao --- src/storage/hummock_sdk/src/key_cmp.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/storage/hummock_sdk/src/key_cmp.rs b/src/storage/hummock_sdk/src/key_cmp.rs index 9268dc0639b49..27052efa7c592 100644 --- a/src/storage/hummock_sdk/src/key_cmp.rs +++ b/src/storage/hummock_sdk/src/key_cmp.rs @@ -114,15 +114,15 @@ mod tests { let key3 = UserKey::for_test(TableId::new(1), b"0".to_vec()); assert_eq!( - KeyComparator::compare_user_key_cross_format(&key1.encode(), &key1), + KeyComparator::compare_user_key_cross_format(key1.encode(), &key1), Ordering::Equal ); assert_eq!( - KeyComparator::compare_user_key_cross_format(&key1.encode(), &key2), + KeyComparator::compare_user_key_cross_format(key1.encode(), &key2), Ordering::Less ); assert_eq!( - KeyComparator::compare_user_key_cross_format(&key2.encode(), &key3), + KeyComparator::compare_user_key_cross_format(key2.encode(), &key3), Ordering::Less ); } From b47eed028834a76aae209aec1c767a1af633e533 Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Thu, 8 Dec 2022 16:43:13 +0800 Subject: [PATCH 10/26] generate hakari Signed-off-by: Bugen Zhao --- Cargo.lock | 4 ---- ci/scripts/build.sh | 2 +- src/workspace-hack/Cargo.toml | 6 ------ 3 files changed, 1 insertion(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f019652ebc5a4..2c2b53fac6e96 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6054,7 +6054,6 @@ dependencies = [ "bytes", "num-traits", "postgres", - "rand 0.8.5", "serde", "tokio-postgres", ] @@ -7960,7 +7959,6 @@ dependencies = [ "crossbeam-channel", "crossbeam-deque", "crossbeam-epoch", - "crossbeam-utils", "either", "fail", "fixedbitset", @@ -8001,7 +7999,6 @@ dependencies = [ "petgraph", "phf", "phf_shared", - "postgres-types", "proc-macro2", "prometheus", "prost 0.11.2", @@ -8012,7 +8009,6 @@ dependencies = [ "regex-syntax", "reqwest", "ring", - "rust_decimal", "scopeguard", "serde", "smallvec", diff --git a/ci/scripts/build.sh b/ci/scripts/build.sh index 735943ee1b0e0..12878f20db245 100755 --- a/ci/scripts/build.sh +++ b/ci/scripts/build.sh @@ -28,7 +28,7 @@ echo "--- Rust cargo-sort check" cargo sort -c -w echo "--- Rust cargo-hakari check" -cargo hakari verify +cargo hakari generate --diff echo "--- Rust format check" cargo fmt --all -- --check diff --git a/src/workspace-hack/Cargo.toml b/src/workspace-hack/Cargo.toml index 50fd4a57551c8..8115c5730d9fd 100644 --- a/src/workspace-hack/Cargo.toml +++ b/src/workspace-hack/Cargo.toml @@ -28,7 +28,6 @@ criterion = { version = "0.4", features = ["async", "async_futures", "async_toki crossbeam-channel = { version = "0.5", features = ["crossbeam-utils", "std"] } crossbeam-deque = { version = "0.8", features = ["crossbeam-epoch", "crossbeam-utils", "std"] } crossbeam-epoch = { version = "0.9", features = ["alloc", "once_cell", "std"] } -crossbeam-utils = { version = "0.8", features = ["once_cell", "std"] } either = { version = "1", features = ["use_std"] } fail = { version = "0.5", default-features = false, features = ["failpoints"] } fixedbitset = { version = "0.4", features = ["std"] } @@ -69,7 +68,6 @@ parking_lot_core = { version = "0.9", default-features = false, features = ["bac petgraph = { version = "0.6", features = ["graphmap", "matrix_graph", "stable_graph"] } phf = { version = "0.11", features = ["std", "uncased"] } phf_shared = { version = "0.11", features = ["std", "uncased"] } -postgres-types = { git = "https://github.com/madsim-rs/rust-postgres.git", rev = "87ca1dc", default-features = false, features = ["chrono-04", "derive", "postgres-derive", "with-chrono-0_4"] } prometheus = { version = "0.13", features = ["libc", "process", "procfs", "protobuf"] } prost = { version = "0.11", features = ["no-recursion-limit", "prost-derive", "std"] } prost-types = { version = "0.11", features = ["std"] } @@ -79,7 +77,6 @@ regex = { version = "1", features = ["aho-corasick", "memchr", "perf", "perf-cac regex-syntax = { version = "0.6", features = ["unicode", "unicode-age", "unicode-bool", "unicode-case", "unicode-gencat", "unicode-perl", "unicode-script", "unicode-segment"] } reqwest = { version = "0.11", features = ["__tls", "default-tls", "hyper-tls", "json", "native-tls-crate", "serde_json", "tokio-native-tls"] } ring = { version = "0.16", features = ["alloc", "dev_urandom_fallback", "once_cell", "std"] } -rust_decimal = { version = "1", features = ["byteorder", "bytes", "db-tokio-postgres", "postgres", "rand", "serde", "std", "tokio-postgres"] } scopeguard = { version = "1", features = ["use_std"] } serde = { version = "1", features = ["alloc", "derive", "rc", "serde_derive", "std"] } smallvec = { version = "1", default-features = false, features = ["serde", "union", "write"] } @@ -114,7 +111,6 @@ criterion = { version = "0.4", features = ["async", "async_futures", "async_toki crossbeam-channel = { version = "0.5", features = ["crossbeam-utils", "std"] } crossbeam-deque = { version = "0.8", features = ["crossbeam-epoch", "crossbeam-utils", "std"] } crossbeam-epoch = { version = "0.9", features = ["alloc", "once_cell", "std"] } -crossbeam-utils = { version = "0.8", features = ["once_cell", "std"] } either = { version = "1", features = ["use_std"] } fail = { version = "0.5", default-features = false, features = ["failpoints"] } fixedbitset = { version = "0.4", features = ["std"] } @@ -155,7 +151,6 @@ parking_lot_core = { version = "0.9", default-features = false, features = ["bac petgraph = { version = "0.6", features = ["graphmap", "matrix_graph", "stable_graph"] } phf = { version = "0.11", features = ["std", "uncased"] } phf_shared = { version = "0.11", features = ["std", "uncased"] } -postgres-types = { git = "https://github.com/madsim-rs/rust-postgres.git", rev = "87ca1dc", default-features = false, features = ["chrono-04", "derive", "postgres-derive", "with-chrono-0_4"] } proc-macro2 = { version = "1", features = ["proc-macro", "span-locations"] } prometheus = { version = "0.13", features = ["libc", "process", "procfs", "protobuf"] } prost = { version = "0.11", features = ["no-recursion-limit", "prost-derive", "std"] } @@ -166,7 +161,6 @@ regex = { version = "1", features = ["aho-corasick", "memchr", "perf", "perf-cac regex-syntax = { version = "0.6", features = ["unicode", "unicode-age", "unicode-bool", "unicode-case", "unicode-gencat", "unicode-perl", "unicode-script", "unicode-segment"] } reqwest = { version = "0.11", features = ["__tls", "default-tls", "hyper-tls", "json", "native-tls-crate", "serde_json", "tokio-native-tls"] } ring = { version = "0.16", features = ["alloc", "dev_urandom_fallback", "once_cell", "std"] } -rust_decimal = { version = "1", features = ["byteorder", "bytes", "db-tokio-postgres", "postgres", "rand", "serde", "std", "tokio-postgres"] } scopeguard = { version = "1", features = ["use_std"] } serde = { version = "1", features = ["alloc", "derive", "rc", "serde_derive", "std"] } smallvec = { version = "1", default-features = false, features = ["serde", "union", "write"] } From 9b59c710dcd4f3b32d50f05b084e914d520ccfd2 Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Thu, 8 Dec 2022 17:39:45 +0800 Subject: [PATCH 11/26] bump docker version Signed-off-by: Bugen Zhao --- ci/build-ci-image.sh | 2 +- ci/docker-compose.yml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ci/build-ci-image.sh b/ci/build-ci-image.sh index 0b5b9a6ba851e..7b401ce4b688c 100755 --- a/ci/build-ci-image.sh +++ b/ci/build-ci-image.sh @@ -14,7 +14,7 @@ export RUST_TOOLCHAIN=$(cat ../rust-toolchain) # !!! CHANGE THIS WHEN YOU WANT TO BUMP CI IMAGE !!! # # AND ALSO docker-compose.yml # ###################################################### -export BUILD_ENV_VERSION=v20221208 +export BUILD_ENV_VERSION=v20221208-2 export BUILD_TAG="public.ecr.aws/x5u3w5h6/rw-build-env:${BUILD_ENV_VERSION}" diff --git a/ci/docker-compose.yml b/ci/docker-compose.yml index b9ede12fd9a7a..ab8370eb7b973 100644 --- a/ci/docker-compose.yml +++ b/ci/docker-compose.yml @@ -61,14 +61,14 @@ services: - "5980:8681" source-test-env: - image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221208 + image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221208-2 depends_on: - mysql volumes: - ..:/risingwave sink-test-env: - image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221208 + image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221208-2 depends_on: - mysql - db @@ -76,12 +76,12 @@ services: - ..:/risingwave rw-build-env: - image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221208 + image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221208-2 volumes: - ..:/risingwave regress-test-env: - image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221208 + image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221208-2 depends_on: db: condition: service_healthy @@ -89,7 +89,7 @@ services: - ..:/risingwave benchmark-env: - image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221208 + image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221208-2 depends_on: - kafka volumes: From 50c9fdde8a6bc074f49020caea31d45fa1289a41 Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Mon, 12 Dec 2022 06:18:41 +0000 Subject: [PATCH 12/26] bump to 12-12 Signed-off-by: Bugen Zhao --- ci/build-ci-image.sh | 2 +- ci/docker-compose.yml | 10 ++--- rust-toolchain | 2 +- .../hummock/compactor/compaction_filter.rs | 2 +- src/storage/src/hummock/compactor/mod.rs | 38 +++++++++---------- src/storage/src/hummock/sstable/writer.rs | 2 +- 6 files changed, 27 insertions(+), 29 deletions(-) diff --git a/ci/build-ci-image.sh b/ci/build-ci-image.sh index 7b401ce4b688c..d16aa4343e966 100755 --- a/ci/build-ci-image.sh +++ b/ci/build-ci-image.sh @@ -14,7 +14,7 @@ export RUST_TOOLCHAIN=$(cat ../rust-toolchain) # !!! CHANGE THIS WHEN YOU WANT TO BUMP CI IMAGE !!! # # AND ALSO docker-compose.yml # ###################################################### -export BUILD_ENV_VERSION=v20221208-2 +export BUILD_ENV_VERSION=v20221212 export BUILD_TAG="public.ecr.aws/x5u3w5h6/rw-build-env:${BUILD_ENV_VERSION}" diff --git a/ci/docker-compose.yml b/ci/docker-compose.yml index ab8370eb7b973..d749a203df35e 100644 --- a/ci/docker-compose.yml +++ b/ci/docker-compose.yml @@ -61,14 +61,14 @@ services: - "5980:8681" source-test-env: - image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221208-2 + image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221212 depends_on: - mysql volumes: - ..:/risingwave sink-test-env: - image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221208-2 + image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221212 depends_on: - mysql - db @@ -76,12 +76,12 @@ services: - ..:/risingwave rw-build-env: - image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221208-2 + image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221212 volumes: - ..:/risingwave regress-test-env: - image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221208-2 + image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221212 depends_on: db: condition: service_healthy @@ -89,7 +89,7 @@ services: - ..:/risingwave benchmark-env: - image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221208-2 + image: public.ecr.aws/x5u3w5h6/rw-build-env:v20221212 depends_on: - kafka volumes: diff --git a/rust-toolchain b/rust-toolchain index 608fe7aad6a63..2f95ad6c7a554 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1 +1 @@ -nightly-2022-11-21 +nightly-2022-12-12 diff --git a/src/storage/src/hummock/compactor/compaction_filter.rs b/src/storage/src/hummock/compactor/compaction_filter.rs index 2991b740adc8d..0bb801892c099 100644 --- a/src/storage/src/hummock/compactor/compaction_filter.rs +++ b/src/storage/src/hummock/compactor/compaction_filter.rs @@ -18,7 +18,7 @@ use dyn_clone::DynClone; use risingwave_common::catalog::hummock::TABLE_OPTION_DUMMY_RETENTION_SECOND; use risingwave_hummock_sdk::key::FullKey; -pub trait CompactionFilter: Send + DynClone { +pub trait CompactionFilter: Send + Sync + DynClone { fn should_delete(&mut self, _: FullKey<&[u8]>) -> bool { false } diff --git a/src/storage/src/hummock/compactor/mod.rs b/src/storage/src/hummock/compactor/mod.rs index b41ac0ba146c5..278fd987aee0d 100644 --- a/src/storage/src/hummock/compactor/mod.rs +++ b/src/storage/src/hummock/compactor/mod.rs @@ -33,7 +33,7 @@ pub use compaction_filter::{ }; pub use context::{CompactorContext, Context}; use futures::future::try_join_all; -use futures::{stream, StreamExt, TryFutureExt}; +use futures::{stream, StreamExt}; pub use iterator::ConcatSstableIterator; use itertools::Itertools; use risingwave_common::constants::hummock::CompactionFilterFlag; @@ -737,25 +737,23 @@ impl Compactor { let tracker_cloned = task_progress.clone(); let context_cloned = self.context.clone(); - upload_join_handles.push( - upload_join_handle - .map_err(HummockError::sstable_upload_error) - .and_then(move |upload_result| async move { - upload_result?; - if let Some(tracker) = tracker_cloned { - tracker.inc_ssts_uploaded(); - } - if context_cloned.is_share_buffer_compact { - context_cloned - .stats - .shared_buffer_to_sstable_size - .observe(sst_size as _); - } else { - context_cloned.stats.compaction_upload_sst_counts.inc(); - } - Ok(()) - }), - ); + upload_join_handles.push(async move { + let _ = upload_join_handle + .await + .map_err(HummockError::sstable_upload_error)??; + if let Some(tracker) = tracker_cloned { + tracker.inc_ssts_uploaded(); + } + if context_cloned.is_share_buffer_compact { + context_cloned + .stats + .shared_buffer_to_sstable_size + .observe(sst_size as _); + } else { + context_cloned.stats.compaction_upload_sst_counts.inc(); + } + Ok::<_, HummockError>(()) + }); } // Check if there are any failed uploads. Report all of those SSTs. diff --git a/src/storage/src/hummock/sstable/writer.rs b/src/storage/src/hummock/sstable/writer.rs index b2f70357755b5..dd4e5ae8ab15f 100644 --- a/src/storage/src/hummock/sstable/writer.rs +++ b/src/storage/src/hummock/sstable/writer.rs @@ -19,7 +19,7 @@ use crate::hummock::{HummockResult, SstableBuilderOptions, SstableMeta}; /// A consumer of SST data. #[async_trait::async_trait] -pub trait SstableWriter: Send { +pub trait SstableWriter: Send + Sync { type Output; /// Write an SST block to the writer. From 80e6be10ccdc43cbbf6ec46eb8149764126aa7cf Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Mon, 12 Dec 2022 06:37:46 +0000 Subject: [PATCH 13/26] fix manual clippy Signed-off-by: Bugen Zhao --- .cargo/config.toml | 1 + src/common/src/types/chrono_wrapper.rs | 12 +++++------- src/meta/src/lib.rs | 5 ----- src/storage/src/hummock/error.rs | 12 ++++-------- src/storage/src/hummock/file_cache/store.rs | 2 +- src/storage/src/lib.rs | 2 +- src/storage/src/table/streaming_table/mem_table.rs | 11 +++++++---- src/stream/src/common/table/state_table.rs | 4 ++-- 8 files changed, 21 insertions(+), 28 deletions(-) diff --git a/.cargo/config.toml b/.cargo/config.toml index b1ebab352a5da..9c7c066cb0020 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -26,6 +26,7 @@ rustflags = [ # lints # TODO: use lint configuration in cargo https://github.com/rust-lang/cargo/issues/5034 "-Funused_must_use", + "-Aclippy::uninlined_format_args", "-Wclippy::dbg_macro", "-Wclippy::disallowed_methods", "-Wclippy::disallowed_types", diff --git a/src/common/src/types/chrono_wrapper.rs b/src/common/src/types/chrono_wrapper.rs index f9069e60a6c8e..a92a6196e49f1 100644 --- a/src/common/src/types/chrono_wrapper.rs +++ b/src/common/src/types/chrono_wrapper.rs @@ -160,9 +160,8 @@ impl NaiveDateWrapper { pub fn with_days_value(days: i32) -> value_encoding::Result { Ok(NaiveDateWrapper::new( - #[allow(clippy::unnecessary_lazy_evaluations)] NaiveDate::from_num_days_from_ce_opt(days) - .ok_or_else(|| ValueEncodingError::InvalidNaiveDateEncoding(days))?, + .ok_or(ValueEncodingError::InvalidNaiveDateEncoding(days))?, )) } @@ -214,10 +213,9 @@ impl NaiveTimeWrapper { } pub fn with_secs_nano_value(secs: u32, nano: u32) -> value_encoding::Result { - #[allow(clippy::unnecessary_lazy_evaluations)] // TODO: remove in toolchain bump Ok(NaiveTimeWrapper::new( NaiveTime::from_num_seconds_from_midnight_opt(secs, nano) - .ok_or_else(|| ValueEncodingError::InvalidNaiveTimeEncoding(secs, nano))?, + .ok_or(ValueEncodingError::InvalidNaiveTimeEncoding(secs, nano))?, )) } @@ -267,9 +265,9 @@ impl NaiveDateTimeWrapper { pub fn with_secs_nsecs_value(secs: i64, nsecs: u32) -> value_encoding::Result { Ok(NaiveDateTimeWrapper::new({ - #[allow(clippy::unnecessary_lazy_evaluations)] // TODO: remove in toolchain bump - NaiveDateTime::from_timestamp_opt(secs, nsecs) - .ok_or_else(|| ValueEncodingError::InvalidNaiveDateTimeEncoding(secs, nsecs))? + NaiveDateTime::from_timestamp_opt(secs, nsecs).ok_or( + ValueEncodingError::InvalidNaiveDateTimeEncoding(secs, nsecs), + )? })) } diff --git a/src/meta/src/lib.rs b/src/meta/src/lib.rs index fd97c378b653a..bc9e7b977bb19 100644 --- a/src/meta/src/lib.rs +++ b/src/meta/src/lib.rs @@ -12,11 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#![expect(clippy::iter_kv_map, reason = "FIXME: fix later")] -#![expect( - clippy::or_fun_call, - reason = "https://github.com/rust-lang/rust-clippy/issues/8574" -)] #![allow(clippy::derive_partial_eq_without_eq)] #![feature(trait_alias)] #![feature(binary_heap_drain_sorted)] diff --git a/src/storage/src/hummock/error.rs b/src/storage/src/hummock/error.rs index a7fe279db6210..05b7d1d4b1252 100644 --- a/src/storage/src/hummock/error.rs +++ b/src/storage/src/hummock/error.rs @@ -35,7 +35,7 @@ enum HummockErrorInner { #[error("Mock error {0}.")] MockError(String), #[error("ObjectStore failed with IO error {0}.")] - ObjectIoError(ObjectError), + ObjectIoError(Box), #[error("Meta error {0}.")] MetaError(String), #[error("Invalid WriteBatch.")] @@ -70,7 +70,7 @@ pub struct HummockError { impl HummockError { pub fn object_io_error(error: ObjectError) -> HummockError { - HummockErrorInner::ObjectIoError(error).into() + HummockErrorInner::ObjectIoError(error.into()).into() } pub fn invalid_format_version(v: u32) -> HummockError { @@ -150,7 +150,7 @@ impl From for HummockError { impl From for HummockError { fn from(error: ObjectError) -> Self { - HummockErrorInner::ObjectIoError(error).into() + HummockErrorInner::ObjectIoError(error.into()).into() } } @@ -163,11 +163,7 @@ impl std::fmt::Debug for HummockError { if let Some(backtrace) = (&self.inner as &dyn Error).request_ref::() { write!(f, " backtrace of inner error:\n{}", backtrace)?; } else { - write!( - f, - " backtrace of `TracedHummockError`:\n{}", - self.backtrace - )?; + write!(f, " backtrace of `HummockError`:\n{}", self.backtrace)?; } Ok(()) } diff --git a/src/storage/src/hummock/file_cache/store.rs b/src/storage/src/hummock/file_cache/store.rs index 13521263f9727..8ce4f308f3315 100644 --- a/src/storage/src/hummock/file_cache/store.rs +++ b/src/storage/src/hummock/file_cache/store.rs @@ -380,7 +380,7 @@ where .instrument(tracing::trace_span!("meta_file_read_lock")) .await; - let (bloc, _key) = guard.get(slot).ok_or_else(|| Error::InvalidSlot(slot))?; + let (bloc, _key) = guard.get(slot).ok_or(Error::InvalidSlot(slot))?; let offset = bloc.bidx as u64 * self.block_size as u64; let blen = bloc.blen(self.block_size as u32) as usize; diff --git a/src/storage/src/lib.rs b/src/storage/src/lib.rs index 60b354eec9a09..c8e7591f0c514 100644 --- a/src/storage/src/lib.rs +++ b/src/storage/src/lib.rs @@ -41,7 +41,7 @@ #![feature(error_generic_member_access)] #![feature(provide_any)] #![feature(let_chains)] -#![expect(clippy::result_large_err, reason = "FIXME: HummockError is large")] +// #![expect(clippy::result_large_err, reason = "FIXME: HummockError is large")] #![feature(associated_type_bounds)] pub mod hummock; diff --git a/src/storage/src/table/streaming_table/mem_table.rs b/src/storage/src/table/streaming_table/mem_table.rs index 900521cc8d17c..6d0f8b9eec422 100644 --- a/src/storage/src/table/streaming_table/mem_table.rs +++ b/src/storage/src/table/streaming_table/mem_table.rs @@ -43,7 +43,7 @@ pub enum MemTableError { }, } -type Result = std::result::Result; +type Result = std::result::Result>; impl Default for MemTable { fn default() -> Self { @@ -85,7 +85,8 @@ impl MemTable { key: e.key().clone(), prev: e.get().clone(), new: RowOp::Insert(value), - }), + } + .into()), }, } } @@ -107,7 +108,8 @@ impl MemTable { key: e.key().clone(), prev: e.get().clone(), new: RowOp::Delete(old_value), - }), + } + .into()), RowOp::Update(value) => { let (original_old_value, original_new_value) = std::mem::take(value); debug_assert_eq!(original_new_value, old_value); @@ -135,7 +137,8 @@ impl MemTable { key: e.key().clone(), prev: e.get().clone(), new: RowOp::Update((old_value, new_value)), - }), + } + .into()), RowOp::Update(value) => { let (original_old_value, original_new_value) = std::mem::take(value); debug_assert_eq!(original_new_value, old_value); diff --git a/src/stream/src/common/table/state_table.rs b/src/stream/src/common/table/state_table.rs index b0e660aecc331..038a664719298 100644 --- a/src/stream/src/common/table/state_table.rs +++ b/src/stream/src/common/table/state_table.rs @@ -499,8 +499,8 @@ impl StateTable { } // write impl StateTable { - fn handle_mem_table_error(&self, e: MemTableError) { - match e { + fn handle_mem_table_error(&self, e: Box) { + match *e { MemTableError::Conflict { key, prev, new } => { let (vnode, key) = deserialize_pk_with_vnode(&key, &self.pk_serde).unwrap(); panic!( From 091a9dbb5bf481f9e2dde28744161aec668cdc8b Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Mon, 12 Dec 2022 06:42:44 +0000 Subject: [PATCH 14/26] auto fix clippy Signed-off-by: Bugen Zhao --- src/common/src/error.rs | 4 +--- src/common/src/util/sort_util.rs | 2 +- src/frontend/src/expr/type_inference/func.rs | 16 ++++++++-------- src/meta/src/barrier/mod.rs | 2 +- src/meta/src/barrier/recovery.rs | 2 +- .../hummock/manager/compaction_group_manager.rs | 8 ++++---- src/meta/src/manager/cluster.rs | 8 ++++---- src/meta/src/stream/scheduler.rs | 4 ++-- src/sqlparser/src/tokenizer.rs | 6 +++--- src/storage/hummock_test/src/test_utils.rs | 2 +- src/storage/src/hummock/compactor/mod.rs | 2 +- src/storage/src/hummock/mod.rs | 4 ++-- src/storage/src/hummock/sstable/utils.rs | 2 +- src/stream/src/common/table/state_table.rs | 1 + src/stream/src/executor/dml.rs | 2 +- .../src/task/barrier_manager/managed_state.rs | 4 ++-- 16 files changed, 34 insertions(+), 35 deletions(-) diff --git a/src/common/src/error.rs b/src/common/src/error.rs index 6caa1d1ead310..69180e75cd598 100644 --- a/src/common/src/error.rs +++ b/src/common/src/error.rs @@ -243,9 +243,7 @@ impl PartialEq for RwError { impl PartialEq for ErrorCode { fn eq(&self, other: &Self) -> bool { match (self, other) { - (&ErrorCode::InternalError(ref msg), &ErrorCode::InternalError(ref msg2)) => { - msg == msg2 - } + (ErrorCode::InternalError(msg), ErrorCode::InternalError(msg2)) => msg == msg2, (_, _) => false, } } diff --git a/src/common/src/util/sort_util.rs b/src/common/src/util/sort_util.rs index b944d4540633c..c4a4bad599c38 100644 --- a/src/common/src/util/sort_util.rs +++ b/src/common/src/util/sort_util.rs @@ -125,7 +125,7 @@ impl PartialEq for HeapElem { impl Eq for HeapElem {} -fn compare_values<'a, T>(lhs: Option<&T>, rhs: Option<&T>, order_type: &'a OrderType) -> Ordering +fn compare_values(lhs: Option<&T>, rhs: Option<&T>, order_type: &OrderType) -> Ordering where T: Ord, { diff --git a/src/frontend/src/expr/type_inference/func.rs b/src/frontend/src/expr/type_inference/func.rs index db325e50fc4f1..b762cf52bcae5 100644 --- a/src/frontend/src/expr/type_inference/func.rs +++ b/src/frontend/src/expr/type_inference/func.rs @@ -317,10 +317,10 @@ fn infer_type_for_special( /// 4e in `PostgreSQL`. See [`narrow_category`] for details. /// 5. Attempt to narrow down candidates by assuming all arguments are same type. This covers Rule /// 4f in `PostgreSQL`. See [`narrow_same_type`] for details. -fn infer_type_name<'a, 'b>( +fn infer_type_name<'a>( sig_map: &'a FuncSigMap, func_type: ExprType, - inputs: &'b [Option], + inputs: &[Option], ) -> Result<&'a FuncSign> { let candidates = sig_map .0 @@ -423,9 +423,9 @@ fn implicit_ok(source: DataTypeName, target: DataTypeName, eq_ok: bool) -> bool /// [rule 4a src]: https://github.com/postgres/postgres/blob/86a4dc1e6f29d1992a2afa3fac1a0b0a6e84568c/src/backend/parser/parse_func.c#L907-L947 /// [rule 4c src]: https://github.com/postgres/postgres/blob/86a4dc1e6f29d1992a2afa3fac1a0b0a6e84568c/src/backend/parser/parse_func.c#L1062-L1104 /// [rule 4d src]: https://github.com/postgres/postgres/blob/86a4dc1e6f29d1992a2afa3fac1a0b0a6e84568c/src/backend/parser/parse_func.c#L1106-L1153 -fn top_matches<'a, 'b>( +fn top_matches<'a>( candidates: &'a [FuncSign], - inputs: &'b [Option], + inputs: &[Option], ) -> Vec<&'a FuncSign> { let mut best_exact = 0; let mut best_preferred = 0; @@ -483,9 +483,9 @@ fn top_matches<'a, 'b>( /// src] /// /// [rule 4e src]: https://github.com/postgres/postgres/blob/86a4dc1e6f29d1992a2afa3fac1a0b0a6e84568c/src/backend/parser/parse_func.c#L1164-L1298 -fn narrow_category<'a, 'b>( +fn narrow_category<'a>( candidates: Vec<&'a FuncSign>, - inputs: &'b [Option], + inputs: &[Option], ) -> Vec<&'a FuncSign> { const BIASED_TYPE: DataTypeName = DataTypeName::Varchar; let Ok(categories) = inputs.iter().enumerate().map(|(i, actual)| { @@ -565,9 +565,9 @@ fn narrow_category<'a, 'b>( /// /// [rule 4f src]: https://github.com/postgres/postgres/blob/86a4dc1e6f29d1992a2afa3fac1a0b0a6e84568c/src/backend/parser/parse_func.c#L1300-L1355 /// [Rule 2]: https://www.postgresql.org/docs/current/typeconv-oper.html#:~:text=then%20assume%20it%20is%20the%20same%20type%20as%20the%20other%20argument%20for%20this%20check -fn narrow_same_type<'a, 'b>( +fn narrow_same_type<'a>( candidates: Vec<&'a FuncSign>, - inputs: &'b [Option], + inputs: &[Option], ) -> Vec<&'a FuncSign> { let Ok(Some(same_type)) = inputs.iter().try_fold(None, |acc, cur| match (acc, cur) { (None, t) => Ok(*t), diff --git a/src/meta/src/barrier/mod.rs b/src/meta/src/barrier/mod.rs index f624259d9a904..9b050c0644fca 100644 --- a/src/meta/src/barrier/mod.rs +++ b/src/meta/src/barrier/mod.rs @@ -631,7 +631,7 @@ where let result = self.inject_barrier_inner(command_context.clone()).await; match result { Ok(node_need_collect) => { - let _ = tokio::spawn(Self::collect_barrier( + tokio::spawn(Self::collect_barrier( node_need_collect, self.env.stream_client_pool_ref(), command_context, diff --git a/src/meta/src/barrier/recovery.rs b/src/meta/src/barrier/recovery.rs index 7a9e2b2e96bb7..fddf823faa76e 100644 --- a/src/meta/src/barrier/recovery.rs +++ b/src/meta/src/barrier/recovery.rs @@ -333,7 +333,7 @@ where /// Reset all compute nodes by calling `force_stop_actors`. async fn reset_compute_nodes(&self, info: &BarrierActorInfo) -> MetaResult<()> { - let futures = info.node_map.iter().map(|(_, worker_node)| async move { + let futures = info.node_map.values().map(|worker_node| async move { let client = self.env.stream_client_pool().get(worker_node).await?; debug!(worker = ?worker_node.id, "force stop actors"); client diff --git a/src/meta/src/hummock/manager/compaction_group_manager.rs b/src/meta/src/hummock/manager/compaction_group_manager.rs index b20f95997c3de..cb55b9c19aad0 100644 --- a/src/meta/src/hummock/manager/compaction_group_manager.rs +++ b/src/meta/src/hummock/manager/compaction_group_manager.rs @@ -746,16 +746,16 @@ mod tests { let registered_number = |inner: &CompactionGroupManagerInner| { inner .compaction_groups - .iter() - .map(|(_, cg)| cg.member_table_ids.len()) + .values() + .map(|cg| cg.member_table_ids.len()) .sum::() }; let table_option_number = |inner: &CompactionGroupManagerInner| { inner .compaction_groups - .iter() - .map(|(_, cg)| cg.table_id_to_options().len()) + .values() + .map(|cg| cg.table_id_to_options().len()) .sum::() }; diff --git a/src/meta/src/manager/cluster.rs b/src/meta/src/manager/cluster.rs index 1a96eb705fcb2..48cc9ca998b28 100644 --- a/src/meta/src/manager/cluster.rs +++ b/src/meta/src/manager/cluster.rs @@ -443,8 +443,8 @@ impl ClusterManagerCore { worker_state: Option, ) -> Vec { self.workers - .iter() - .map(|(_, worker)| worker.to_protobuf()) + .values() + .map(|worker| worker.to_protobuf()) .filter(|w| w.r#type == worker_type as i32) .filter(|w| match worker_state { None => true, @@ -475,8 +475,8 @@ impl ClusterManagerCore { ]; let mut ret = HashMap::new(); self.workers - .iter() - .map(|(_, worker)| worker.worker_type()) + .values() + .map(|worker| worker.worker_type()) .filter(|worker_type| MONITORED_WORKER_TYPES.contains(worker_type)) .for_each(|worker_type| { ret.entry(worker_type) diff --git a/src/meta/src/stream/scheduler.rs b/src/meta/src/stream/scheduler.rs index 07481415ca9ad..63821d6f5e611 100644 --- a/src/meta/src/stream/scheduler.rs +++ b/src/meta/src/stream/scheduler.rs @@ -138,8 +138,8 @@ impl Scheduler { .push(p); } let mut parallel_units: LinkedList<_> = parallel_units_map - .into_iter() - .map(|(_k, v)| v.into_iter()) + .into_values() + .map(|v| v.into_iter()) .collect(); // Visit the parallel units in a round-robin manner on each worker. diff --git a/src/sqlparser/src/tokenizer.rs b/src/sqlparser/src/tokenizer.rs index de3c1dcb804d5..b96c53aa5a5e2 100644 --- a/src/sqlparser/src/tokenizer.rs +++ b/src/sqlparser/src/tokenizer.rs @@ -427,7 +427,7 @@ impl<'a> Tokenizer<'a> { } // numbers and period '0'..='9' | '.' => { - let mut s = peeking_take_while(chars, |ch| matches!(ch, '0'..='9')); + let mut s = peeking_take_while(chars, |ch| ch.is_ascii_digit()); // match binary literal that starts with 0x if s == "0" && chars.peek() == Some(&'x') { @@ -444,7 +444,7 @@ impl<'a> Tokenizer<'a> { s.push('.'); chars.next(); } - s += &peeking_take_while(chars, |ch| matches!(ch, '0'..='9')); + s += &peeking_take_while(chars, |ch| ch.is_ascii_digit()); // No number -> Token::Period if s == "." { @@ -461,7 +461,7 @@ impl<'a> Tokenizer<'a> { s.push('-'); chars.next(); } - s += &peeking_take_while(chars, |ch| matches!(ch, '0'..='9')); + s += &peeking_take_while(chars, |ch| ch.is_ascii_digit()); return Ok(Some(Token::Number(s))); } // Not a scientific number diff --git a/src/storage/hummock_test/src/test_utils.rs b/src/storage/hummock_test/src/test_utils.rs index 7777ee10d0773..fe91f93d2b832 100644 --- a/src/storage/hummock_test/src/test_utils.rs +++ b/src/storage/hummock_test/src/test_utils.rs @@ -145,7 +145,7 @@ pub async fn prepare_first_valid_version( HummockObserverNode::new(Arc::new(FilterKeyExtractorManager::default()), tx.clone()), ) .await; - let _ = observer_manager.start().await; + observer_manager.start().await; let hummock_version = match rx.recv().await { Some(HummockEvent::VersionUpdate(pin_version_response::Payload::PinnedVersion( version, diff --git a/src/storage/src/hummock/compactor/mod.rs b/src/storage/src/hummock/compactor/mod.rs index 278fd987aee0d..ad93dca9fbaf2 100644 --- a/src/storage/src/hummock/compactor/mod.rs +++ b/src/storage/src/hummock/compactor/mod.rs @@ -738,7 +738,7 @@ impl Compactor { let tracker_cloned = task_progress.clone(); let context_cloned = self.context.clone(); upload_join_handles.push(async move { - let _ = upload_join_handle + upload_join_handle .await .map_err(HummockError::sstable_upload_error)??; if let Some(tracker) = tracker_cloned { diff --git a/src/storage/src/hummock/mod.rs b/src/storage/src/hummock/mod.rs index f1f6ed511f09d..5e68b8d1433fa 100644 --- a/src/storage/src/hummock/mod.rs +++ b/src/storage/src/hummock/mod.rs @@ -163,7 +163,7 @@ impl HummockStorage { HummockObserverNode::new(filter_key_extractor_manager.clone(), event_tx.clone()), ) .await; - let _ = observer_manager.start().await; + observer_manager.start().await; let hummock_version = match event_rx.recv().await { Some(HummockEvent::VersionUpdate(pin_version_response::Payload::PinnedVersion(version))) => version, @@ -499,7 +499,7 @@ impl HummockStorageV1 { HummockObserverNode::new(filter_key_extractor_manager.clone(), event_tx.clone()), ) .await; - let _ = observer_manager.start().await; + observer_manager.start().await; let hummock_version = match event_rx.recv().await { Some(HummockEvent::VersionUpdate(pin_version_response::Payload::PinnedVersion(version))) => version, diff --git a/src/storage/src/hummock/sstable/utils.rs b/src/storage/src/hummock/sstable/utils.rs index 2749dcbe47755..437fb8ad935d3 100644 --- a/src/storage/src/hummock/sstable/utils.rs +++ b/src/storage/src/hummock/sstable/utils.rs @@ -29,7 +29,7 @@ unsafe fn u32(ptr: *const u8) -> u32 { } #[inline] -pub fn bytes_diff<'a, 'b>(base: &'a [u8], target: &'b [u8]) -> &'b [u8] { +pub fn bytes_diff<'a>(base: &[u8], target: &'a [u8]) -> &'a [u8] { let end = cmp::min(base.len(), target.len()); let mut i = 0; unsafe { diff --git a/src/stream/src/common/table/state_table.rs b/src/stream/src/common/table/state_table.rs index 038a664719298..1fe5198ac246a 100644 --- a/src/stream/src/common/table/state_table.rs +++ b/src/stream/src/common/table/state_table.rs @@ -499,6 +499,7 @@ impl StateTable { } // write impl StateTable { + #[expect(boxed_local)] fn handle_mem_table_error(&self, e: Box) { match *e { MemTableError::Conflict { key, prev, new } => { diff --git a/src/stream/src/executor/dml.rs b/src/stream/src/executor/dml.rs index 1371e51c0354d..1e56be236b03f 100644 --- a/src/stream/src/executor/dml.rs +++ b/src/stream/src/executor/dml.rs @@ -198,7 +198,7 @@ mod tests { tx.push_chunk(stream_chunk3); // Message from batch - let _ = dml_manager.write_chunk(&table_id, batch_chunk).unwrap(); + dml_manager.write_chunk(&table_id, batch_chunk).unwrap(); // Consume the 1st message from upstream executor let msg = dml_executor.next().await.unwrap().unwrap(); diff --git a/src/stream/src/task/barrier_manager/managed_state.rs b/src/stream/src/task/barrier_manager/managed_state.rs index 5eb675400e8ca..5e12df5aa5a4c 100644 --- a/src/stream/src/task/barrier_manager/managed_state.rs +++ b/src/stream/src/task/barrier_manager/managed_state.rs @@ -97,8 +97,8 @@ impl ManagedBarrierState { if to_notify { while let Some(( _, - &BarrierState { - inner: ref barrier_inner, + BarrierState { + inner: barrier_inner, .. }, )) = self.epoch_barrier_state_map.first_key_value() From 80b655d4d941ff8c1815da3ad8527bdbe77354a1 Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Mon, 12 Dec 2022 06:44:52 +0000 Subject: [PATCH 15/26] fix show Signed-off-by: Bugen Zhao --- e2e_test/ddl/show.slt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e2e_test/ddl/show.slt b/e2e_test/ddl/show.slt index d1d3627331c1d..5db68aa650732 100644 --- a/e2e_test/ddl/show.slt +++ b/e2e_test/ddl/show.slt @@ -41,8 +41,8 @@ query T rowsort show schemas; ---- information_schema -public pg_catalog +public query T show tables; From 3693e6c326c75cede333361affa65d140a2ccaf8 Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Mon, 12 Dec 2022 06:57:18 +0000 Subject: [PATCH 16/26] fix hash zip Signed-off-by: Bugen Zhao --- src/stream/src/common/table/state_table.rs | 2 +- .../executor/managed_state/join/iter_utils.rs | 98 ------------------- .../src/executor/managed_state/join/mod.rs | 37 ++----- src/tests/simulation/tests/nexmark_q4.rs | 1 - 4 files changed, 9 insertions(+), 129 deletions(-) delete mode 100644 src/stream/src/executor/managed_state/join/iter_utils.rs diff --git a/src/stream/src/common/table/state_table.rs b/src/stream/src/common/table/state_table.rs index 1fe5198ac246a..f7971950f85b2 100644 --- a/src/stream/src/common/table/state_table.rs +++ b/src/stream/src/common/table/state_table.rs @@ -499,7 +499,7 @@ impl StateTable { } // write impl StateTable { - #[expect(boxed_local)] + #[expect(clippy::boxed_local)] fn handle_mem_table_error(&self, e: Box) { match *e { MemTableError::Conflict { key, prev, new } => { diff --git a/src/stream/src/executor/managed_state/join/iter_utils.rs b/src/stream/src/executor/managed_state/join/iter_utils.rs deleted file mode 100644 index 822571f836bc2..0000000000000 --- a/src/stream/src/executor/managed_state/join/iter_utils.rs +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2022 Singularity Data -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -use std::borrow::Cow; -use std::cmp::Ordering; - -use futures::future::join; -use futures::{pin_mut, Stream, StreamExt}; -use futures_async_stream::try_stream; -use risingwave_common::row::Row; -use risingwave_storage::error::StorageError; - -/// Zip two streams of primary key and rows into a single stream, sorted by order key. -/// We should ensure that the order key from different streams are unique. -#[try_stream(ok = (Cow<'a, Row>, Cow<'a, Row>), error = StorageError)] -pub async fn zip_by_order_key<'a, S>(stream1: S, stream2: S) -where - S: Stream>, Cow<'a, Row>)> + 'a, -{ - let (stream1, stream2) = (stream1.peekable(), stream2.peekable()); - pin_mut!(stream1); - pin_mut!(stream2); - - loop { - match join(stream1.as_mut().peek(), stream2.as_mut().peek()).await { - (None, _) | (_, None) => break, - - (Some((left_key, _)), Some((right_key, _))) => match left_key.cmp(right_key) { - Ordering::Greater => { - stream2.next().await; - } - Ordering::Less => { - stream1.next().await; - } - Ordering::Equal => { - let row_l = stream1.next().await.unwrap().1; - let row_r = stream2.next().await.unwrap().1; - yield (row_l, row_r); - } - }, - } - } -} - -#[cfg(test)] -mod tests { - use futures_async_stream::for_await; - use risingwave_common::types::ScalarImpl; - - use super::*; - - fn gen_row_with_pk(i: i64) -> (Cow<'static, Vec>, Cow<'static, Row>) { - ( - Cow::Owned(i.to_be_bytes().to_vec()), - Cow::Owned(Row::new(vec![Some(ScalarImpl::Int64(i))])), - ) - } - - #[tokio::test] - async fn test_zip_by_order_key() { - let stream1 = futures::stream::iter(vec![ - gen_row_with_pk(0), - gen_row_with_pk(3), - gen_row_with_pk(6), - gen_row_with_pk(9), - ]); - - let stream2 = futures::stream::iter(vec![ - gen_row_with_pk(2), - gen_row_with_pk(3), - gen_row_with_pk(9), - gen_row_with_pk(10), - ]); - - let zipped = zip_by_order_key(stream1, stream2); - - let expected_results = vec![3, 9]; - - #[for_await] - for (i, result) in zipped.enumerate() { - let (res0, res1) = result.unwrap(); - let expected_res = gen_row_with_pk(expected_results[i]); - assert_eq!(res0, expected_res.1); - assert_eq!(res1, expected_res.1); - } - } -} diff --git a/src/stream/src/executor/managed_state/join/mod.rs b/src/stream/src/executor/managed_state/join/mod.rs index 06ab941101659..2c350d49b7501 100644 --- a/src/stream/src/executor/managed_state/join/mod.rs +++ b/src/stream/src/executor/managed_state/join/mod.rs @@ -12,7 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -mod iter_utils; mod join_entry_state; use std::alloc::Global; @@ -22,6 +21,7 @@ use std::sync::Arc; use fixedbitset::FixedBitSet; use futures::future::try_join; +use futures::StreamExt; use futures_async_stream::for_await; pub(super) use join_entry_state::JoinEntryState; use local_stats_alloc::{SharedStatsAlloc, StatsAlloc}; @@ -36,7 +36,6 @@ use risingwave_common::util::ordered::OrderedRowSerde; use risingwave_common::util::sort_util::OrderType; use risingwave_storage::StateStore; -use self::iter_utils::zip_by_order_key; use crate::cache::{cache_may_stale, EvictableHashMap, ExecutorCache, LruManagerRef}; use crate::common::table::state_table::StateTable; use crate::executor::error::StreamExecutorResult; @@ -354,34 +353,14 @@ impl JoinHashMap { let (table_iter, degree_table_iter) = try_join(table_iter_fut, degree_table_iter_fut).await?; - // TODO(chi): fix this after Rust compiler bug is resolved - // https://github.com/risingwavelabs/risingwave/issues/5977 - // Given that matched keys are generally small, we can safely fetch it all instead of - // making it a stream. - - let mut table_data = vec![]; - let mut degree_table_data = vec![]; - - #[for_await] - for x in table_iter { - table_data.push(x?); - } - #[for_await] - for x in degree_table_iter { - degree_table_data.push(x?); - } - - // We need this because ttl may remove some entries from table but leave the entries - // with the same stream key in degree table. - let zipped_iter = zip_by_order_key( - futures::stream::iter(table_data.into_iter()), - futures::stream::iter(degree_table_data.into_iter()), - ); - - #[for_await] - for row_and_degree in zipped_iter { - let (row, degree): (Cow<'_, Row>, Cow<'_, Row>) = row_and_degree?; + for (row, degree) in table_iter.zip(degree_table_iter) { + let (pk1, row) = row?; + let (pk2, degree) = degree?; + debug_assert_eq!( + pk1, pk2, + "mismatched pk in degree table: pk1: {pk1:?}, pk2: {pk2:?}", + ); let pk = row .as_ref() .project(&self.state.pk_indices) diff --git a/src/tests/simulation/tests/nexmark_q4.rs b/src/tests/simulation/tests/nexmark_q4.rs index d1b6f4720ffdb..dae508098c7c5 100644 --- a/src/tests/simulation/tests/nexmark_q4.rs +++ b/src/tests/simulation/tests/nexmark_q4.rs @@ -110,7 +110,6 @@ async fn nexmark_q4_materialize_agg() -> Result<()> { } #[madsim::test] -#[ignore = "there's some problem for scaling nexmark source"] async fn nexmark_q4_source() -> Result<()> { nexmark_q4_common(vec![identity_contains("source: \"bid\"")]).await } From c19529540ccc97cc5c860a279437bd787be949b1 Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Mon, 12 Dec 2022 07:23:25 +0000 Subject: [PATCH 17/26] fix e2es Signed-off-by: Bugen Zhao --- e2e_test/database/test.slt | 2 +- e2e_test/source/basic/datagen.slt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/e2e_test/database/test.slt b/e2e_test/database/test.slt index 3c271b7a588fe..d177d4e419c6f 100644 --- a/e2e_test/database/test.slt +++ b/e2e_test/database/test.slt @@ -4,8 +4,8 @@ query T rowsort show schemas; ---- information_schema -public pg_catalog +public statement ok create table ddl_t (v1 int); diff --git a/e2e_test/source/basic/datagen.slt b/e2e_test/source/basic/datagen.slt index a33ee000f3a3e..b0d71698603c3 100644 --- a/e2e_test/source/basic/datagen.slt +++ b/e2e_test/source/basic/datagen.slt @@ -22,6 +22,7 @@ query II rowsort select v1, v2 from s1 where v1 is not null limit 15; ---- 1 11 +10 20 2 12 3 13 4 14 @@ -30,7 +31,6 @@ select v1, v2 from s1 where v1 is not null limit 15; 7 17 8 18 9 19 -10 20 statement ok drop source s1; @@ -136,4 +136,4 @@ select l.len, count(*) > 2*10 from (select length(s1.c1) as len from s1) as l gr 100 t statement ok -drop source s1; \ No newline at end of file +drop source s1; From 59a684b7bb06bdae30887478561b07fb9adcbe4b Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Mon, 12 Dec 2022 08:41:32 +0000 Subject: [PATCH 18/26] fix rowsort Signed-off-by: Bugen Zhao --- e2e_test/source/basic/kafka.slt | 26 +++++++++++++------------- e2e_test/source/basic/pubsub.slt | 22 +++++++++++----------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/e2e_test/source/basic/kafka.slt b/e2e_test/source/basic/kafka.slt index 7d5820fc55710..16b10a7566792 100644 --- a/e2e_test/source/basic/kafka.slt +++ b/e2e_test/source/basic/kafka.slt @@ -317,26 +317,26 @@ flush; query IT rowsort select v1, v2 from source_mv1; ---- +0 name5 0 name9 -3 name2 -7 name5 +1 name0 1 name7 +2 name0 +2 name3 +3 name2 3 name9 4 name6 -5 name3 -8 name8 -9 name2 -2 name3 4 name7 -7 name0 -1 name0 -2 name0 -6 name3 -0 name5 +5 name3 5 name8 +6 name3 6 name4 +7 name0 +7 name5 +8 name8 8 name9 9 name2 +9 name2 query II select sum_v1, count_v2 from source_mv2; @@ -346,10 +346,10 @@ select sum_v1, count_v2 from source_mv2; query ITTT rowsort select id, first_name, last_name, email from s8; ---- -1004 Anne1 Kretchmar annek@noanswer.org 1001 Sally Thomas sally.thomas@acme.com -1003 Edward Walker ed@walker.com 1002 George Bailey gbailey@foobar.com +1003 Edward Walker ed@walker.com +1004 Anne1 Kretchmar annek@noanswer.org 1005 add add2 add query IITFFBTT diff --git a/e2e_test/source/basic/pubsub.slt b/e2e_test/source/basic/pubsub.slt index 81172d6a324c0..1f0409affc6dc 100644 --- a/e2e_test/source/basic/pubsub.slt +++ b/e2e_test/source/basic/pubsub.slt @@ -67,26 +67,26 @@ flush; query IT rowsort select v1, v2 FROM s2; ---- +0 name5 0 name9 -3 name2 -7 name5 +1 name0 1 name7 +2 name0 +2 name3 +3 name2 3 name9 4 name6 -5 name3 -8 name8 -9 name2 -2 name3 4 name7 -7 name0 -1 name0 -2 name0 -6 name3 -0 name5 +5 name3 5 name8 +6 name3 6 name4 +7 name0 +7 name5 +8 name8 8 name9 9 name2 +9 name2 statement ok DROP SOURCE s2; From 754782f78ca0212578e818a47fd2d5d89578d2de Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Mon, 12 Dec 2022 09:01:41 +0000 Subject: [PATCH 19/26] fix simulation Signed-off-by: Bugen Zhao --- src/storage/src/hummock/file_cache/mod.rs | 1 + src/tests/simulation/src/cluster.rs | 56 +++++-------------- src/tests/simulation/src/ctl_ext.rs | 41 ++++---------- src/tests/simulation/src/nexmark.rs | 6 +- src/tests/simulation/src/slt.rs | 2 +- .../tests/cascade_materialized_view.rs | 8 +-- src/tests/simulation/tests/dynamic_filter.rs | 4 +- src/tests/simulation/tests/nexmark_q4.rs | 19 +++---- src/tests/simulation/tests/nexmark_source.rs | 2 +- 9 files changed, 45 insertions(+), 94 deletions(-) diff --git a/src/storage/src/hummock/file_cache/mod.rs b/src/storage/src/hummock/file_cache/mod.rs index 7aff34472fb2c..bf5ad568ab7c1 100644 --- a/src/storage/src/hummock/file_cache/mod.rs +++ b/src/storage/src/hummock/file_cache/mod.rs @@ -30,6 +30,7 @@ where F: FnOnce() -> error::Result + Send + 'static, T: Send + 'static, { + #[cfg_attr(madsim, expect(deprecated))] match tokio::task::spawn_blocking(f).await { Ok(res) => res, Err(_) => Err(error::Error::Other("background task failed".to_string())), diff --git a/src/tests/simulation/src/cluster.rs b/src/tests/simulation/src/cluster.rs index 80302021f217f..f95266bdad223 100644 --- a/src/tests/simulation/src/cluster.rs +++ b/src/tests/simulation/src/cluster.rs @@ -20,7 +20,7 @@ use std::time::Duration; use anyhow::{bail, Result}; use clap::Parser; -use futures::future::{join_all, BoxFuture}; +use futures::future::join_all; use madsim::runtime::{Handle, NodeHandle}; use rand::Rng; use sqllogictest::AsyncDB; @@ -102,11 +102,7 @@ pub struct Cluster { } impl Cluster { - pub fn start(conf: Configuration) -> BoxFuture<'static, Result> { - Box::pin(Self::start_inner(conf)) - } - - async fn start_inner(conf: Configuration) -> Result { + pub async fn start(conf: Configuration) -> Result { let handle = madsim::runtime::Handle::current(); println!("seed = {}", handle.seed()); println!("{:#?}", conf); @@ -266,12 +262,9 @@ impl Cluster { } /// Run a SQL query from the client. - pub fn run(&mut self, sql: &str) -> BoxFuture<'_, Result> { - Box::pin(self.run_inner(sql.to_string())) - } - - async fn run_inner(&mut self, sql: String) -> Result { + pub async fn run(&mut self, sql: impl Into) -> Result { let frontend = self.rand_frontend_ip(); + let sql = sql.into(); let result = self .client @@ -298,20 +291,10 @@ impl Cluster { } /// Run a SQL query from the client and wait until the condition is met. - pub fn wait_until( - &mut self, - sql: &str, - p: impl FnMut(&str) -> bool + Send + 'static, - interval: Duration, - timeout: Duration, - ) -> BoxFuture<'_, Result> { - Box::pin(self.wait_until_inner(sql.to_string(), p, interval, timeout)) - } - - async fn wait_until_inner( + pub async fn wait_until( &mut self, - sql: String, - mut p: impl FnMut(&str) -> bool + Send + 'static, + sql: impl Into + Clone, + mut p: impl FnMut(&str) -> bool, interval: Duration, timeout: Duration, ) -> Result { @@ -319,7 +302,7 @@ impl Cluster { let mut interval = madsim::time::interval(interval); loop { interval.tick().await; - let result = self.run(&sql).await?; + let result = self.run(sql.clone()).await?; if p(&result) { return Ok::<_, anyhow::Error>(result); } @@ -332,24 +315,15 @@ impl Cluster { } } - async fn wait_until_non_empty_inner( - &mut self, - sql: String, - interval: Duration, - timeout: Duration, - ) -> Result { - self.wait_until_inner(sql, |r| !r.trim().is_empty(), interval, timeout) - .await - } - /// Run a SQL query from the client and wait until the return result is not empty. - pub fn wait_until_non_empty( + pub async fn wait_until_non_empty( &mut self, sql: &str, interval: Duration, timeout: Duration, - ) -> BoxFuture<'_, Result> { - Box::pin(self.wait_until_non_empty_inner(sql.to_string(), interval, timeout)) + ) -> Result { + self.wait_until(sql, |r| !r.trim().is_empty(), interval, timeout) + .await } /// Kill some nodes and restart them in 2s. @@ -357,7 +331,7 @@ impl Cluster { let mut nodes = vec![]; if opts.kill_meta { if rand::thread_rng().gen_bool(0.5) { - nodes.push(format!("meta")); + nodes.push("meta".to_string()); } } if opts.kill_frontend { @@ -400,12 +374,12 @@ impl Cluster { let t = rand::thread_rng().gen_range(Duration::from_secs(0)..Duration::from_secs(1)); tokio::time::sleep(t).await; tracing::info!("kill {name}"); - madsim::runtime::Handle::current().kill(&name); + madsim::runtime::Handle::current().kill(name); let t = rand::thread_rng().gen_range(Duration::from_secs(0)..Duration::from_secs(1)); tokio::time::sleep(t).await; tracing::info!("restart {name}"); - madsim::runtime::Handle::current().restart(&name); + madsim::runtime::Handle::current().restart(name); })) .await; } diff --git a/src/tests/simulation/src/ctl_ext.rs b/src/tests/simulation/src/ctl_ext.rs index da454f6c2e42b..37f711fe873ba 100644 --- a/src/tests/simulation/src/ctl_ext.rs +++ b/src/tests/simulation/src/ctl_ext.rs @@ -18,7 +18,6 @@ use std::sync::Arc; use anyhow::{anyhow, Result}; use clap::Parser; -use futures::future::BoxFuture; use itertools::Itertools; use madsim::rand::thread_rng; use rand::seq::{IteratorRandom, SliceRandom}; @@ -197,9 +196,9 @@ impl Fragment { impl Cluster { /// Locate fragments that satisfy all the predicates. - async fn locate_fragments_inner( + pub async fn locate_fragments( &mut self, - predicates: Vec, + predicates: impl IntoIterator, ) -> Result> { let predicates = predicates.into_iter().collect_vec(); @@ -230,17 +229,10 @@ impl Cluster { Ok(fragments) } - pub fn locate_fragments( - &mut self, - predicates: Vec, - ) -> BoxFuture<'_, Result>> { - Box::pin(self.locate_fragments_inner(predicates)) - } - /// Locate exactly one fragment that satisfies all the predicates. - async fn locate_one_fragment_inner( + pub async fn locate_one_fragment( &mut self, - predicates: Vec, + predicates: impl IntoIterator, ) -> Result { let [fragment]: [_; 1] = self .locate_fragments(predicates) @@ -250,16 +242,9 @@ impl Cluster { Ok(fragment) } - pub fn locate_one_fragment( - &mut self, - predicates: Vec, - ) -> BoxFuture<'_, Result> { - Box::pin(self.locate_one_fragment_inner(predicates)) - } - /// Locate a random fragment that is reschedulable. pub async fn locate_random_fragment(&mut self) -> Result { - self.locate_fragments(vec![predicate::can_reschedule()]) + self.locate_fragments([predicate::can_reschedule()]) .await? .into_iter() .choose(&mut thread_rng()) @@ -268,9 +253,7 @@ impl Cluster { /// Locate some random fragments that are reschedulable. pub async fn locate_random_fragments(&mut self) -> Result> { - let fragments = self - .locate_fragments(vec![predicate::can_reschedule()]) - .await?; + let fragments = self.locate_fragments([predicate::can_reschedule()]).await?; let len = thread_rng().gen_range(1..=fragments.len()); let selected = fragments .into_iter() @@ -280,12 +263,14 @@ impl Cluster { /// Locate a fragment with the given id. pub async fn locate_fragment_by_id(&mut self, id: u32) -> Result { - self.locate_one_fragment(vec![predicate::id(id)]).await + self.locate_one_fragment([predicate::id(id)]).await } /// Reschedule with the given `plan`. Check the document of /// [`risingwave_ctl::cmd_impl::meta::reschedule`] for more details. - async fn reschedule_inner(&mut self, plan: String) -> Result<()> { + pub async fn reschedule(&mut self, plan: impl Into) -> Result<()> { + let plan = plan.into(); + self.ctl .spawn(async move { let opts = risingwave_ctl::CliOpts::parse_from([ @@ -293,7 +278,7 @@ impl Cluster { "meta", "reschedule", "--plan", - &plan, + plan.as_ref(), ]); risingwave_ctl::start(opts).await }) @@ -301,8 +286,4 @@ impl Cluster { Ok(()) } - - pub fn reschedule(&mut self, plan: String) -> BoxFuture<'_, Result<()>> { - Box::pin(self.reschedule_inner(plan)) - } } diff --git a/src/tests/simulation/src/nexmark.rs b/src/tests/simulation/src/nexmark.rs index a763581c45257..850149471237d 100644 --- a/src/tests/simulation/src/nexmark.rs +++ b/src/tests/simulation/src/nexmark.rs @@ -66,7 +66,7 @@ impl NexmarkCluster { output }; - self.run(&format!( + self.run(format!( r#" create source auction ( id INTEGER, @@ -87,7 +87,7 @@ with ( )) .await?; - self.run(&format!( + self.run(format!( r#" create source bid ( auction INTEGER, @@ -103,7 +103,7 @@ with ( )) .await?; - self.run(&format!( + self.run(format!( r#" create source person ( id INTEGER, diff --git a/src/tests/simulation/src/slt.rs b/src/tests/simulation/src/slt.rs index df4cb1ea45d99..e219e50795414 100644 --- a/src/tests/simulation/src/slt.rs +++ b/src/tests/simulation/src/slt.rs @@ -68,7 +68,7 @@ pub async fn run_slt_task(cluster: Arc, glob: &str, opts: &KillOpts) { // spawn a background task to kill nodes let handle = if should_kill { let cluster = cluster.clone(); - let opts = opts.clone(); + let opts = *opts; Some(tokio::spawn(async move { let t = thread_rng().gen_range(Duration::default()..Duration::from_secs(1)); tokio::time::sleep(t).await; diff --git a/src/tests/simulation/tests/cascade_materialized_view.rs b/src/tests/simulation/tests/cascade_materialized_view.rs index 656bbf9d6d511..eb3a2271dff59 100644 --- a/src/tests/simulation/tests/cascade_materialized_view.rs +++ b/src/tests/simulation/tests/cascade_materialized_view.rs @@ -38,7 +38,7 @@ async fn test_simple_cascade_materialized_view() -> Result<()> { cluster.run(MV1).await?; let fragment = cluster - .locate_one_fragment(vec![ + .locate_one_fragment([ identity_contains("materialize"), no_identity_contains("chain"), no_identity_contains("hashjoin"), @@ -54,7 +54,7 @@ async fn test_simple_cascade_materialized_view() -> Result<()> { assert_eq!(fragment.inner.actors.len(), 1); let chain_fragment = cluster - .locate_one_fragment(vec![identity_contains("chain")]) + .locate_one_fragment([identity_contains("chain")]) .await?; assert_eq!( @@ -84,7 +84,7 @@ async fn test_simple_cascade_materialized_view() -> Result<()> { assert_eq!(fragment.inner.actors.len(), 6); let chain_fragment = cluster - .locate_one_fragment(vec![identity_contains("chain")]) + .locate_one_fragment([identity_contains("chain")]) .await?; assert_eq!( @@ -126,7 +126,7 @@ async fn test_diamond_cascade_materialized_view() -> Result<()> { cluster.run(MV5).await?; let fragment = cluster - .locate_one_fragment(vec![ + .locate_one_fragment([ identity_contains("materialize"), no_identity_contains("chain"), no_identity_contains("hashjoin"), diff --git a/src/tests/simulation/tests/dynamic_filter.rs b/src/tests/simulation/tests/dynamic_filter.rs index c873087de73d9..14be53c2bb54c 100644 --- a/src/tests/simulation/tests/dynamic_filter.rs +++ b/src/tests/simulation/tests/dynamic_filter.rs @@ -37,11 +37,11 @@ async fn test_dynamic_filter() -> Result<()> { sleep(Duration::from_secs(5)).await; let dynamic_filter_fragment = cluster - .locate_one_fragment(vec![identity_contains("dynamicFilter")]) + .locate_one_fragment([identity_contains("dynamicFilter")]) .await?; let materialize_fragments = cluster - .locate_fragments(vec![identity_contains("materialize")]) + .locate_fragments([identity_contains("materialize")]) .await?; let upstream_fragment_ids: HashSet<_> = dynamic_filter_fragment diff --git a/src/tests/simulation/tests/nexmark_q4.rs b/src/tests/simulation/tests/nexmark_q4.rs index dae508098c7c5..e90a86f1333a5 100644 --- a/src/tests/simulation/tests/nexmark_q4.rs +++ b/src/tests/simulation/tests/nexmark_q4.rs @@ -17,7 +17,6 @@ use std::time::Duration; use anyhow::Result; -use futures::future::BoxFuture; use madsim::time::sleep; use risingwave_simulation::cluster::Configuration; use risingwave_simulation::ctl_ext::predicate::{ @@ -68,7 +67,7 @@ async fn nexmark_q4_ref() -> Result<()> { Ok(()) } -async fn nexmark_q4_common_inner(predicates: Vec) -> Result<()> { +async fn nexmark_q4_common(predicates: impl IntoIterator) -> Result<()> { let mut cluster = init().await?; let fragment = cluster.locate_one_fragment(predicates).await?; @@ -96,13 +95,9 @@ async fn nexmark_q4_common_inner(predicates: Vec) -> Result<()> Ok(()) } -fn nexmark_q4_common(predicates: Vec) -> BoxFuture<'static, Result<()>> { - Box::pin(nexmark_q4_common_inner(predicates)) -} - #[madsim::test] async fn nexmark_q4_materialize_agg() -> Result<()> { - nexmark_q4_common(vec![ + nexmark_q4_common([ identity_contains("materialize"), identity_contains("hashagg"), ]) @@ -111,12 +106,12 @@ async fn nexmark_q4_materialize_agg() -> Result<()> { #[madsim::test] async fn nexmark_q4_source() -> Result<()> { - nexmark_q4_common(vec![identity_contains("source: \"bid\"")]).await + nexmark_q4_common([identity_contains("source: \"bid\"")]).await } #[madsim::test] async fn nexmark_q4_agg_join() -> Result<()> { - nexmark_q4_common(vec![ + nexmark_q4_common([ identity_contains("hashagg"), identity_contains("hashjoin"), upstream_fragment_count(2), @@ -129,7 +124,7 @@ async fn nexmark_q4_cascade() -> Result<()> { let mut cluster = init().await?; let fragment_1 = cluster - .locate_one_fragment(vec![ + .locate_one_fragment([ identity_contains("materialize"), identity_contains("hashagg"), ]) @@ -137,7 +132,7 @@ async fn nexmark_q4_cascade() -> Result<()> { let id_1 = fragment_1.id(); let fragment_2 = cluster - .locate_one_fragment(vec![ + .locate_one_fragment([ identity_contains("hashagg"), identity_contains("hashjoin"), upstream_fragment_count(2), @@ -177,7 +172,7 @@ async fn nexmark_q4_materialize_agg_cache_invalidation() -> Result<()> { let mut cluster = init().await?; let fragment = cluster - .locate_one_fragment(vec![ + .locate_one_fragment([ identity_contains("materialize"), identity_contains("hashagg"), ]) diff --git a/src/tests/simulation/tests/nexmark_source.rs b/src/tests/simulation/tests/nexmark_source.rs index 4d98e2af18ea0..3787fae003eb6 100644 --- a/src/tests/simulation/tests/nexmark_source.rs +++ b/src/tests/simulation/tests/nexmark_source.rs @@ -41,7 +41,7 @@ async fn nexmark_source() -> Result<()> { macro_rules! reschedule { () => { let fragments = cluster - .locate_fragments(vec![identity_contains("StreamSource")]) + .locate_fragments([identity_contains("StreamSource")]) .await?; assert_eq!(fragments.len(), 3); for fragment in fragments { From fc6bf2c6f610ce6995d5ab0db250b1409e063729 Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Mon, 12 Dec 2022 09:08:04 +0000 Subject: [PATCH 20/26] no need for row sort Signed-off-by: Bugen Zhao --- e2e_test/ch_benchmark/batch/q1.slt.part | 2 +- e2e_test/ch_benchmark/batch/q10.slt.part | 2 +- e2e_test/ch_benchmark/batch/q11.slt.part | 2 +- e2e_test/ch_benchmark/batch/q12.slt.part | 2 +- e2e_test/ch_benchmark/batch/q13.slt.part | 2 +- e2e_test/ch_benchmark/batch/q14.slt.part | 2 +- e2e_test/ch_benchmark/batch/q15.slt.part | 2 +- e2e_test/ch_benchmark/batch/q17.slt.part | 2 +- e2e_test/ch_benchmark/batch/q18.slt.part | 2 +- e2e_test/ch_benchmark/batch/q2.slt.part | 2 +- e2e_test/ch_benchmark/batch/q20.slt.part | 2 +- e2e_test/ch_benchmark/batch/q21.slt.part | 2 +- e2e_test/ch_benchmark/batch/q22.slt.part | 2 +- e2e_test/ch_benchmark/batch/q3.slt.part | 2 +- e2e_test/ch_benchmark/batch/q4.slt.part | 2 +- e2e_test/ch_benchmark/batch/q6.slt.part | 2 +- e2e_test/ch_benchmark/batch/q9.slt.part | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/e2e_test/ch_benchmark/batch/q1.slt.part b/e2e_test/ch_benchmark/batch/q1.slt.part index 964894ade6c6c..7daf6829f5c0a 100644 --- a/e2e_test/ch_benchmark/batch/q1.slt.part +++ b/e2e_test/ch_benchmark/batch/q1.slt.part @@ -1,4 +1,4 @@ -query IIIIII rowsort +query IIIIII select ol_number, sum(ol_quantity) as sum_qty, sum(ol_amount) as sum_amount, diff --git a/e2e_test/ch_benchmark/batch/q10.slt.part b/e2e_test/ch_benchmark/batch/q10.slt.part index dfac8b7a986ff..2641c06317650 100644 --- a/e2e_test/ch_benchmark/batch/q10.slt.part +++ b/e2e_test/ch_benchmark/batch/q10.slt.part @@ -32,4 +32,4 @@ order by revenue desc; 9 BARBARATION 0 L06gN 6BBBLikkwg2mw2 410-137-9683 BRAZIL 8 BARBARCALLY 0 N6yNyL6RmBgLkwRRw4 218-218-7646 PERU 8 BARBARCALLY 0 Lw2kykmRN2kgiR2P6w0R 186-295-3252 PERU - 6 BARBARESE 0 w06kwPywyLw44y 816-833-4268 PERU \ No newline at end of file + 6 BARBARESE 0 w06kwPywyLw44y 816-833-4268 PERU diff --git a/e2e_test/ch_benchmark/batch/q11.slt.part b/e2e_test/ch_benchmark/batch/q11.slt.part index 9c055409a0778..baa3b024d7cd4 100644 --- a/e2e_test/ch_benchmark/batch/q11.slt.part +++ b/e2e_test/ch_benchmark/batch/q11.slt.part @@ -1,4 +1,4 @@ -query II rowsort +query II select st_i_id, sum(st_order_cnt) as ordercount from stock, supplier, nation where (st_w_id * st_i_id) % 10000 = s_suppkey diff --git a/e2e_test/ch_benchmark/batch/q12.slt.part b/e2e_test/ch_benchmark/batch/q12.slt.part index aff61b3249568..badc8bb7efa4a 100644 --- a/e2e_test/ch_benchmark/batch/q12.slt.part +++ b/e2e_test/ch_benchmark/batch/q12.slt.part @@ -1,4 +1,4 @@ -query III rowsort +query III select o_ol_cnt, sum(case when o_carrier_id = 1 or o_carrier_id = 2 then 1 else 0 end) as high_line_count, sum(case when o_carrier_id <> 1 and o_carrier_id <> 2 then 1 else 0 end) as low_line_count diff --git a/e2e_test/ch_benchmark/batch/q13.slt.part b/e2e_test/ch_benchmark/batch/q13.slt.part index 01f958cc8b7c5..d2e194f01a6fd 100644 --- a/e2e_test/ch_benchmark/batch/q13.slt.part +++ b/e2e_test/ch_benchmark/batch/q13.slt.part @@ -1,4 +1,4 @@ -query II rowsort +query II select c_count, count(*) as custdist from (select c_id, count(o_id) from customer left outer join orders on ( diff --git a/e2e_test/ch_benchmark/batch/q14.slt.part b/e2e_test/ch_benchmark/batch/q14.slt.part index a19e94ade4cfb..18b649a5ebc76 100644 --- a/e2e_test/ch_benchmark/batch/q14.slt.part +++ b/e2e_test/ch_benchmark/batch/q14.slt.part @@ -1,5 +1,5 @@ # thread 'risingwave-main' panicked at 'cannot convert ArrayImpl::Decimal to concrete type Float64', src/common/src/array/mod.rs:394:1 -query R rowsort +query R select 100.00 * sum(case when i_data like 'PR%' then ol_amount else 0 end) / (1+sum(ol_amount)) as promo_revenue from orderline, item where ol_i_id = i_id and ol_delivery_d::timestamp >= '2007-01-02 00:00:00.000000'::timestamp diff --git a/e2e_test/ch_benchmark/batch/q15.slt.part b/e2e_test/ch_benchmark/batch/q15.slt.part index e1e7c8c7f75cc..e06a58d848067 100644 --- a/e2e_test/ch_benchmark/batch/q15.slt.part +++ b/e2e_test/ch_benchmark/batch/q15.slt.part @@ -1,4 +1,4 @@ -query ITTTR rowsort +query ITTTR with revenue (supplier_no, total_revenue) as ( select (st_w_id * st_i_id) % 10000 as supplier_no, sum(ol_amount) as total_revenue diff --git a/e2e_test/ch_benchmark/batch/q17.slt.part b/e2e_test/ch_benchmark/batch/q17.slt.part index 5903ccdb17b7e..7020e14c96818 100644 --- a/e2e_test/ch_benchmark/batch/q17.slt.part +++ b/e2e_test/ch_benchmark/batch/q17.slt.part @@ -1,4 +1,4 @@ -query R rowsort +query R select sum(ol_amount) / 2.0 as avg_yearly from orderline, (select i_id, avg(ol_quantity) as a from item, orderline diff --git a/e2e_test/ch_benchmark/batch/q18.slt.part b/e2e_test/ch_benchmark/batch/q18.slt.part index 6a6c4eddbe4ce..14092d1c70d94 100644 --- a/e2e_test/ch_benchmark/batch/q18.slt.part +++ b/e2e_test/ch_benchmark/batch/q18.slt.part @@ -1,4 +1,4 @@ -query TIITIR rowsort +query TIITIR select c_last, c_id o_id, o_entry_d, o_ol_cnt, sum(ol_amount) from customer, orders, orderline where c_id = o_c_id diff --git a/e2e_test/ch_benchmark/batch/q2.slt.part b/e2e_test/ch_benchmark/batch/q2.slt.part index 02410574e64f7..08133f0e4cb21 100644 --- a/e2e_test/ch_benchmark/batch/q2.slt.part +++ b/e2e_test/ch_benchmark/batch/q2.slt.part @@ -1,4 +1,4 @@ -query ITTITTTT rowsort +query ITTITTTT select s_suppkey, s_name, n_name, i_id, i_name, s_address, s_phone, s_comment from item, supplier, stock, nation, region, (select st_i_id as m_i_id, diff --git a/e2e_test/ch_benchmark/batch/q20.slt.part b/e2e_test/ch_benchmark/batch/q20.slt.part index cc37b7d2cfa07..911c521788db0 100644 --- a/e2e_test/ch_benchmark/batch/q20.slt.part +++ b/e2e_test/ch_benchmark/batch/q20.slt.part @@ -1,4 +1,4 @@ -query TT rowsort +query TT select s_name, s_address from supplier, nation where s_suppkey in diff --git a/e2e_test/ch_benchmark/batch/q21.slt.part b/e2e_test/ch_benchmark/batch/q21.slt.part index d75d7cba2e11b..393ca789a5944 100644 --- a/e2e_test/ch_benchmark/batch/q21.slt.part +++ b/e2e_test/ch_benchmark/batch/q21.slt.part @@ -1,4 +1,4 @@ -query TT rowsort +query TT select s_name, count(*) as numwait from supplier, orderline l1, orders, stock, nation where ol_o_id = o_id diff --git a/e2e_test/ch_benchmark/batch/q22.slt.part b/e2e_test/ch_benchmark/batch/q22.slt.part index 70f6e5cf7ae4f..9724eca9e590f 100644 --- a/e2e_test/ch_benchmark/batch/q22.slt.part +++ b/e2e_test/ch_benchmark/batch/q22.slt.part @@ -1,4 +1,4 @@ -query TIR rowsort +query TIR select substr(c_state,1,1) as country, count(*) as numcust, sum(c_balance) as totacctbal diff --git a/e2e_test/ch_benchmark/batch/q3.slt.part b/e2e_test/ch_benchmark/batch/q3.slt.part index 53c2653a43eb8..a9729d74c63ff 100644 --- a/e2e_test/ch_benchmark/batch/q3.slt.part +++ b/e2e_test/ch_benchmark/batch/q3.slt.part @@ -1,4 +1,4 @@ -query IIIIT rowsort +query IIIIT select ol_o_id, ol_w_id, ol_d_id, sum(ol_amount) as revenue, o_entry_d from customer, neworder, orders, orderline diff --git a/e2e_test/ch_benchmark/batch/q4.slt.part b/e2e_test/ch_benchmark/batch/q4.slt.part index 76fffcca606d3..14c138cd1237c 100644 --- a/e2e_test/ch_benchmark/batch/q4.slt.part +++ b/e2e_test/ch_benchmark/batch/q4.slt.part @@ -1,4 +1,4 @@ -query II rowsort +query II select o_ol_cnt, count(*) as order_count from orders where o_entry_d >= '2007-01-02 00:00:00.000000' diff --git a/e2e_test/ch_benchmark/batch/q6.slt.part b/e2e_test/ch_benchmark/batch/q6.slt.part index 8d4f43b45100a..d031e4617f090 100644 --- a/e2e_test/ch_benchmark/batch/q6.slt.part +++ b/e2e_test/ch_benchmark/batch/q6.slt.part @@ -1,4 +1,4 @@ -query R rowsort +query R select sum(ol_amount) as revenue from orderline where ol_delivery_d >= '1999-01-01 00:00:00.000000' diff --git a/e2e_test/ch_benchmark/batch/q9.slt.part b/e2e_test/ch_benchmark/batch/q9.slt.part index b671a21d6084f..4bd47e6e72e04 100644 --- a/e2e_test/ch_benchmark/batch/q9.slt.part +++ b/e2e_test/ch_benchmark/batch/q9.slt.part @@ -1,4 +1,4 @@ -query TTR rowsort +query TTR select n_name, extract(year from o_entry_d::timestamp) as l_year, sum(ol_amount) as sum_profit from item, stock, supplier, orderline, orders, nation where ol_i_id = st_i_id From 6609c9328597d81425fbcad1d9a9c961b834da0f Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Mon, 12 Dec 2022 09:30:54 +0000 Subject: [PATCH 21/26] fix ch benchmark Signed-off-by: Bugen Zhao --- ci/scripts/e2e-source-test.sh | 3 +- ci/scripts/run-e2e-test.sh | 1 - e2e_test/ch_benchmark/batch/ch_benchmark.slt | 29 + e2e_test/ch_benchmark/batch/q10.slt.part | 40 +- e2e_test/ch_benchmark/batch/q14.slt.part | 1 + e2e_test/ch_benchmark/batch/q16.slt.part | 2994 +++++++++--------- e2e_test/ch_benchmark/batch/q3.slt.part | 36 +- src/risedevtool/src/bin/risedev-config.rs | 2 +- 8 files changed, 1567 insertions(+), 1539 deletions(-) diff --git a/ci/scripts/e2e-source-test.sh b/ci/scripts/e2e-source-test.sh index 02e522fac9487..1f0f7da63b500 100755 --- a/ci/scripts/e2e-source-test.sh +++ b/ci/scripts/e2e-source-test.sh @@ -87,7 +87,6 @@ pkill -f connector-service.jar cargo make ci-kill echo "--- e2e test w/ Rust frontend - source with kafka and pubsub" -cargo make clean-data cargo make ci-start ci-kafka-plus-pubsub ./scripts/source/prepare_ci_kafka.sh cargo run --bin prepare_ci_pubsub @@ -95,4 +94,4 @@ sqllogictest -p 4566 -d dev './e2e_test/source/basic/*.slt' echo "--- Run CH-benCHmark" ./risedev slt -p 4566 -d dev './e2e_test/ch_benchmark/batch/ch_benchmark.slt' -./risedev slt -p 4566 -d dev './e2e_test/ch_benchmark/streaming/*.slt' \ No newline at end of file +./risedev slt -p 4566 -d dev './e2e_test/ch_benchmark/streaming/*.slt' diff --git a/ci/scripts/run-e2e-test.sh b/ci/scripts/run-e2e-test.sh index f83a16de8ff00..0f0f6e2d0d0c5 100755 --- a/ci/scripts/run-e2e-test.sh +++ b/ci/scripts/run-e2e-test.sh @@ -72,7 +72,6 @@ cargo make ci-kill if [[ "$RUN_COMPACTION" -eq "1" ]]; then echo "--- e2e, ci-compaction-test, nexmark_q7" - cargo make clean-data cargo make ci-start ci-compaction-test # Please make sure the regression is expected before increasing the timeout. sqllogictest -p 4566 -d dev './e2e_test/compaction/ingest_rows.slt' diff --git a/e2e_test/ch_benchmark/batch/ch_benchmark.slt b/e2e_test/ch_benchmark/batch/ch_benchmark.slt index 048a471edd23b..fa385bdbb8a8f 100644 --- a/e2e_test/ch_benchmark/batch/ch_benchmark.slt +++ b/e2e_test/ch_benchmark/batch/ch_benchmark.slt @@ -5,9 +5,11 @@ statement ok SET QUERY_MODE TO distributed; # Create tpch tables + include ../../tpch/create_tables.slt.part # Drop unneeded tables + statement ok DROP TABLE lineitem; @@ -24,44 +26,71 @@ statement ok DROP TABLE part; # Insert data to tpch tables + include ../../tpch/insert_nation.slt.part + include ../../tpch/insert_region.slt.part + include ../../tpch/insert_supplier.slt.part # Create materialized sources from tpcc tables + include ../create_sources.slt.part # Ensure that the upstream data is fully consumed + statement ok flush; # Run CH-benCHmark queries + include ./q1.slt.part + include ./q2.slt.part + include ./q3.slt.part + include ./q4.slt.part + # include ./q5.slt.part --> no output + include ./q6.slt.part + # include ./q7.slt.part --> no output # include ./q8.slt.part --> no output + include ./q9.slt.part + include ./q10.slt.part + include ./q11.slt.part + include ./q12.slt.part + include ./q13.slt.part + include ./q14.slt.part + include ./q15.slt.part + include ./q16.slt.part + include ./q17.slt.part + include ./q18.slt.part + # include ./q19.slt.part --> precision error + include ./q20.slt.part + include ./q21.slt.part + include ./q22.slt.part include ../drop_sources.slt.part # Drop tpch tables + statement ok DROP TABLE supplier; diff --git a/e2e_test/ch_benchmark/batch/q10.slt.part b/e2e_test/ch_benchmark/batch/q10.slt.part index 2641c06317650..af9d8c4b4d42a 100644 --- a/e2e_test/ch_benchmark/batch/q10.slt.part +++ b/e2e_test/ch_benchmark/batch/q10.slt.part @@ -13,23 +13,23 @@ where c_id = o_c_id group by c_id, c_last, c_city, c_phone, n_name order by revenue desc; ---- - 9 BARBARATION 998 Bgyigg02R06By 766-299-8660 BRAZIL - 8 BARBARCALLY 543 wLyBmkikB2044 908-531-5952 PERU - 9 BARBARATION 132.42 iiw0Bg2PPBR 42k iw 513-596-8472 ALGERIA - 9 BARBARATION 21 2P6wNkN24NgP 912-655-1882 PERU - 10 BARBAREING 21 wLm0 iPyNkmNPmwmB 993-592-8926 BRAZIL - 7 BARBARANTI 0 NRPB2B P 0BBw20yRN 746-634-7967 PERU - 7 BARBARANTI 0 L00wi2iB2R Lw LP2 254-684-5865 EGYPT - 10 BARBAREING 0 26PP6i0y20yiP4PLmNyP 897-842-8196 PERU - 8 BARBARCALLY 0 wPw2BP6RRkPk PBL42 517-371-7996 PERU - 6 BARBARESE 0 Big igy RyLR 702-728-7110 EGYPT - 8 BARBARCALLY 0 0LiiPPwggy 415-587-9162 BRAZIL - 10 BARBAREING 0 yLk444 LB Rk 222BL 910-889-6085 EGYPT - 7 BARBARANTI 0 i6By BL wmk R 228-534-4528 PERU - 9 BARBARATION 0 wBNy20gmNiLP kymBR0 121-143-7689 PERU - 7 BARBARANTI 0 46R4Rg PBBw 207-246-2175 EGYPT - 7 BARBARANTI 0 PgN2y 422Lw gP 714-875-8566 FRANCE - 9 BARBARATION 0 L06gN 6BBBLikkwg2mw2 410-137-9683 BRAZIL - 8 BARBARCALLY 0 N6yNyL6RmBgLkwRRw4 218-218-7646 PERU - 8 BARBARCALLY 0 Lw2kykmRN2kgiR2P6w0R 186-295-3252 PERU - 6 BARBARESE 0 w06kwPywyLw44y 816-833-4268 PERU +10 BARBAREING 0 26PP6i0y20yiP4PLmNyP 897-842-8196 PERU +10 BARBAREING 0 yLk444 LB Rk 222BL 910-889-6085 EGYPT +10 BARBAREING 21 wLm0 iPyNkmNPmwmB 993-592-8926 BRAZIL +6 BARBARESE 0 Big igy RyLR 702-728-7110 EGYPT +6 BARBARESE 0 w06kwPywyLw44y 816-833-4268 PERU +7 BARBARANTI 0 46R4Rg PBBw 207-246-2175 EGYPT +7 BARBARANTI 0 L00wi2iB2R Lw LP2 254-684-5865 EGYPT +7 BARBARANTI 0 NRPB2B P 0BBw20yRN 746-634-7967 PERU +7 BARBARANTI 0 PgN2y 422Lw gP 714-875-8566 FRANCE +7 BARBARANTI 0 i6By BL wmk R 228-534-4528 PERU +8 BARBARCALLY 0 0LiiPPwggy 415-587-9162 BRAZIL +8 BARBARCALLY 0 Lw2kykmRN2kgiR2P6w0R 186-295-3252 PERU +8 BARBARCALLY 0 N6yNyL6RmBgLkwRRw4 218-218-7646 PERU +8 BARBARCALLY 0 wPw2BP6RRkPk PBL42 517-371-7996 PERU +8 BARBARCALLY 543 wLyBmkikB2044 908-531-5952 PERU +9 BARBARATION 0 L06gN 6BBBLikkwg2mw2 410-137-9683 BRAZIL +9 BARBARATION 0 wBNy20gmNiLP kymBR0 121-143-7689 PERU +9 BARBARATION 132.42 iiw0Bg2PPBR 42k iw 513-596-8472 ALGERIA +9 BARBARATION 21 2P6wNkN24NgP 912-655-1882 PERU +9 BARBARATION 998 Bgyigg02R06By 766-299-8660 BRAZIL diff --git a/e2e_test/ch_benchmark/batch/q14.slt.part b/e2e_test/ch_benchmark/batch/q14.slt.part index 18b649a5ebc76..cf6a3c2dbf617 100644 --- a/e2e_test/ch_benchmark/batch/q14.slt.part +++ b/e2e_test/ch_benchmark/batch/q14.slt.part @@ -1,4 +1,5 @@ # thread 'risingwave-main' panicked at 'cannot convert ArrayImpl::Decimal to concrete type Float64', src/common/src/array/mod.rs:394:1 + query R select 100.00 * sum(case when i_data like 'PR%' then ol_amount else 0 end) / (1+sum(ol_amount)) as promo_revenue from orderline, item diff --git a/e2e_test/ch_benchmark/batch/q16.slt.part b/e2e_test/ch_benchmark/batch/q16.slt.part index a378db19472d9..92528bcc219c9 100644 --- a/e2e_test/ch_benchmark/batch/q16.slt.part +++ b/e2e_test/ch_benchmark/batch/q16.slt.part @@ -13,1500 +13,1500 @@ where i_id = st_i_id group by i_name, substr(i_data, 1, 3), i_price order by supplier_cnt desc; ---- - 01uXuK6OZMODiUhZYqZ HpH 75.52 1 - 07aYp3TpS3pCsDM BIc 75.23 1 - 07jjDag1YcdxlZP154kSU Pyx 26.65 1 - 0CE4MnYQ9nyebKYTXZ6la Zpk 58.31 1 - 0cwtAiCvQwY1y2pLMTtUq e37 1.16 1 - 0DD7nJVZPX9K1QI1 Zaf 11.39 1 - 0egbqpQyvZL63n 8Nz 6.44 1 - 0embTdtNyiEuE1JYT4AI 5Gm 63.15 1 - 0F55aN1ZZYELTEU1nGr HGj 73.52 1 - 0FljyS8XJP6gHLwEgJmQY2c IxG 6.45 1 - 0G1hQ1ExajUPzQ2yOmHz Q3s 37.32 1 - 0I5ILKiFX2LLbAaISFr N8r 50.47 1 - 0inz3j2V9HITtly FGP 87.03 1 - 0j0eT9e3wJkll6xGB6PJ Qnn 50.06 1 - 0J136pDbmZCEMPUwEk dVO 13.33 1 - 0jPzybyTKB4l5W jPH 58.44 1 - 0nFShQXFGwt2VQd5 nWM 85.79 1 - 0PrMPMp4rmvXTMopEG2WKgpo sY0 93.29 1 - 0RBB9b7MYaFSSY3DODqP7 cy5 4.27 1 - 0SD3M25OEUzX5KXIzyV J1k 75.5 1 - 0TmKzqDa4k4jLjEQgm8VD24 Bg2 58.62 1 - 0uunc2fQ8ungFUMGXSI2XiRr MoQ 45.54 1 - 0vxugnQUNvBdJzgcDrz2e 1bW 1.12 1 - 0wLfOnrI3lFydeP 1lZ 74.06 1 - 0XLLV6spwwlnM3WQ 1Fv 80.76 1 - 0xrwC40rHAQIpx6jplVLR ImN 54.81 1 - 0XuK2i7G2ygK5P vfz 68.18 1 - 0yutzesK1nDc0QJRAeof R3J 31.47 1 - 0z7olVfNXWNXfhG8OEGWt 5sQ 17.04 1 - 0ZXLkFqG9uJ2ZqDBVm4W Iyl 2.39 1 - 0ZYulphBWFzzVhbopWB5sRcO sMU 72.51 1 - 12UAZ0wdnLEVVQpsh0BT7 vFu 4.34 1 - 15K6z7GHDqQh1Z8JUND7JS5 dgH 91.4 1 - 18JkL67LfysPmMAyGy4AQUj ln3 36.98 1 - 19QoIfAcs7MvHq4HWLczL ISR 9.93 1 - 1d01IShXdDLXxsq3 7rw 43.41 1 - 1etc5ANYFJyJmKAqQ9ZLc NBI 47.76 1 - 1FchvojM13bOJ5dKsMpvqCE 3P5 12.47 1 - 1gc8yvClZUNzUVOtXIUxO 8DO 17.67 1 - 1gJrHpBOwxH7oDo1JSqPy eJl 56.75 1 - 1HO2hmGtPbnx5eqKByP 8w1 92.52 1 - 1JQQvRXDuJQWlKiHbN 9t8 41.31 1 - 1KmIXNGL5R9gMJKNYopWl3 wFb 3.92 1 - 1MyjiSoO6LGEtOaJmppw W4a 43.85 1 - 1nCV8NcKQjn0BUMqh mJQ 42.49 1 - 1QzoYSwvyyU6o2SuNll69Be YBi 58.23 1 - 1R84QZh2NZ8GHnqOUwXR dFa 37.55 1 - 1rwBIhPfllzfkqORzc mvD 84.3 1 - 1SrAieqkGPKYvaNZI03amiou 3IW 71.77 1 - 1T07PxRuW822PlxyRONOm9 Ntm 38.18 1 - 1udkwSOGXIcIO4odN4mpO JEf 78.63 1 - 1UvmDizBLbYocU5Nx2kBh HWR 70.6 1 - 1wNlTDhBxDy9pg1t mXJ 62.51 1 - 1x4h6cd4oFGerRvftfWiv Wb0 58.09 1 - 1XIAa19ulNozTHw 34m 65.16 1 - 1z7hqLI60armfJR HHp 12.66 1 - 27yhzsXIpV506A2 qB2 44.83 1 - 28aH3x9EAYPG1RvrHs Nob 89.76 1 - 2bVqfwvKbtvpvS9lvokZOaQP 8N4 6.81 1 - 2CmGCNYlnla9x0hYE6nkz17T Ge0 54.05 1 - 2dOuOvMzNa794mfXfab iqe 95.62 1 - 2DVIShlnyj6QdJE8tSC c9o 33.96 1 - 2eKq9Za122IRHLkrnh5I42X f1Z 13.4 1 - 2g52LR3zMP2i1mPaZ3g ynH 52.52 1 - 2GLER9h3QY2bhbdA6CK36LyJ fm1 10.46 1 - 2GXn7LpECQQDGi4v1wEr 2VP 2.19 1 - 2HabGOdRtH4pxHO nyB 13.46 1 - 2HV4ClRg4DjvVW7gk1Md 9EN 15.52 1 - 2IusJjiygZinz0huhs1Wyx soe 72.83 1 - 2KYf1Lv3DA4gh3w8b rZs 60.44 1 - 2NljUxzNts1xtOMFaLCk8c4 1LW 30.03 1 - 2oP4TTilONMlepaeUTX2H 0JA 59.54 1 - 2p60ZsDO9Gfy9PYU sys 61.17 1 - 2qCbVcpHLzUPfAewtNVc0dD5 Ifc 72.59 1 - 2qkTLJ62rHd63evB69up Bvx 24.31 1 - 2qNHseYOehC5FV gf2 82.73 1 - 2RPE559VzWN0G1VAOCYmKO K4i 71.21 1 - 2s0lR0P7tbwYI7evJ L55 33.96 1 - 2TnUNcFERiiCNqn3F3ccxa SAT 83.84 1 - 2V1RlsmHYia0hT mkR 22.79 1 - 2vpHzFDpCgoPWSVzT40pPG5 vnp 18.12 1 - 2VSBF0bCzxNhDGL 3kW 75.25 1 - 2VZmD79KsjictWK74GGwjeS 9db 45.13 1 - 2wzqCCkL8gUkRWc1k NdN 77.59 1 - 2Z8orBZAbJSnamlR HhZ 54.97 1 - 300oDwvuSmWpAWJ5hbHk NWY 73.41 1 - 35mvTwvJJ7zZStHT dBh 6.5 1 - 38sP5pVGfceozKc hrs 69.86 1 - 39AvjAgtuA6Sy8BcunZOv K1X 58.17 1 - 39hfOXhwUigq0UnB4 Bp1 90.02 1 - 3ABzYWHvv9FjVi pzD 68.04 1 - 3cQ1MsSTnSmjnfzHZo6IWE 9xw 40.28 1 - 3DcnWpHFzCuyMu IzB 7.98 1 - 3Eq5jXIcCsxR3Rc c4X 57.87 1 - 3eqa267X8jU6om5GHMiTI V6j 90.4 1 - 3gZgg2iLfUmYTBR G01 39.97 1 - 3jmHp42gq0Xbck34hC pQ1 62.22 1 - 3k02bgHbYFY1ZVA79clTWj3r wum 62.76 1 - 3K2NkH9n6YThEGawTN7ij5 6P9 39.97 1 - 3KOpSYDpYfEtLhGRgYVix9V XY3 77.61 1 - 3kQmYMpABeL9Fla KMq 61.47 1 - 3myNTLT01RQpDKcrE aMS 75.33 1 - 3nvXvTE6JQ5z80cak3oRX Y4V 93.68 1 - 3OJB5qJW1cgqO3JAE JRV 78.88 1 - 3qEXIlYHLfzDPuCns kgu 56.13 1 - 3R7WuTbpvZUb5aH8onY qZP 47.75 1 - 3rl6Rp9M1cu3vIbKy3VZPAR AwT 87.74 1 - 3rnVwM0CkS89krQWfywnndl C1C 77.26 1 - 3ThKi5S6Cc5ifN 75P 15.07 1 - 3tiCmI8H2Azy3QBzrXpm bu4 75.63 1 - 3tU6P6Uw1hkfWnK1yMedSNq sYS 90.49 1 - 3U8AzCOwfjgS4RHumu8do VKf 10.93 1 - 3Uk21kVmjqfgu1Upyo6UV dLY 86.1 1 - 3V1uT4HmP7dGjefiFHL6g y2u 28.43 1 - 3Vc8cb5rWRunDjMRVuO DDw 43.15 1 - 3YUGkPko4spNRqs5vU7o5 yxp 61.46 1 - 48e7v4yeun7nkKCn CG8 30.81 1 - 49NmzJTnSOdfcer uiD 91.65 1 - 4ap5L86I9N4o6CCYvDsk SjT 43.66 1 - 4AZnQvvsDCupgTHYlgHJMi5J Y9a 36.76 1 - 4boPmV9IzZ27nNV rhn 9.36 1 - 4eztr0l7XpAJDtRlHq RcR 70.69 1 - 4GswP9lVt14oUlP2upG2q 0Lv 45.11 1 - 4Ha2KoPaQqAFuoPY fd0 38.81 1 - 4Hxpz7iX50rxW886VhHXigw fRd 50.71 1 - 4I376OEcNXQc7lam XUZ 80.47 1 - 4ITYwi7mC1gSZvxweyBEOBan ZVH 84.87 1 - 4JJMcZjZtUSGJ7oR4dE pQH 87.1 1 - 4KTGz1GH2OLasUqOk ygs 84.61 1 - 4Ll23jur0FD4nAjh 2Yz 39.4 1 - 4mgFAjtvriX1JNk7rnJ98rn1 PCX 60.89 1 - 4MNJeZprl08AIGHAJO7HAm Egl 42.25 1 - 4PXGohN3FzrI85 vd7 3.25 1 - 4Qz9D4O5tAeVFmMB0GL2Y BOf 60.12 1 - 4TlC0HDgZEAGsuZ8fq oVw 99.79 1 - 4UwppJQdwghEoZJdakYDO 81C 46.43 1 - 4WBmUyeTwKCBUMFa8Ku3Ini Omd 76.11 1 - 4xLfR2LtElmCG18gGG 6lK 87.54 1 - 4YoLClWCZdrTBAaxp XtP 72.44 1 - 536wlJlRD6XdEI AST 24.59 1 - 566cawOsOsW4jKu jTj 64.62 1 - 57jRLEvhC70vpY9TT eKR 2.03 1 - 5d5GxAD5Xz02SQM8qi 3mG 80.04 1 - 5DDF4nWRzaRVoP61rt5 8OS 97.13 1 - 5efu0qAiUFVuxxSwptHl Tcn 48.74 1 - 5Fk6SvdQ5aZlqAs1z5gEv y27 99.59 1 - 5fxjgD4VobVCFVyvWKw3flox uvK 62.2 1 - 5IsIzgweXipH5z TZ9 50.19 1 - 5JIxvfplUTutABiR6iqquxT3 UFj 94.42 1 - 5K0SqxD8WVEvXII KRT 5.7 1 - 5OCb7j0IfRYaPjHbex9wC 4Pi 37.76 1 - 5OidY1SPIPIXarfL492190w EWD 24.19 1 - 5p2b2Ifwi1ZuIlmWWsP 9Cn 99.21 1 - 5Thm5C86Ujyk1xaYBiH1Z zol 53.87 1 - 5W7Cc7utqPUduQH e9w 69.65 1 - 5wu6VwjYzU2XBlGQ 47A 93.35 1 - 5WXZVf8liaJScjU2Rvha sUx 9.26 1 - 5XLzOBNP8xhci6ABduY5WJK6 eqW 35.63 1 - 5xZF9H7wXuwQah6ozG8 Aaf 52.68 1 - 5y2usGdjbBekjHaNR5Ln vs5 30.79 1 - 5ZHGysQtIiH9JimlltPWziA9 sUi 45.59 1 - 5zjAKxhqJBohOEytNInJhkA Mdj 43.14 1 - 61mrIYj5GVFU69Hg9OatBF SFn 55.12 1 - 67xpLHTxQwpOlYZQwRri Jhf 84.88 1 - 6AaE9FzSJ4aDIP BQv 91.77 1 - 6bHlYLAG8QHj4XvCDXLrIwXc 2uA 15.09 1 - 6Cid5cHWE0Jhvbf3J 3er 27.68 1 - 6cZx72GFdt25mVc7AjLWjfT bdl 59.29 1 - 6D7RVkgWk2bnmhsrBn5SgAgR FrX 14.55 1 - 6dQCixVfPK0ZQ7HU 1SI 50.63 1 - 6e5PB50Um2nsON3Cx 4ID 65.56 1 - 6ESn3imNefey3XCV8HBp0sn bzE 22.18 1 - 6EVCwF10JoQEpwa QS2 80.64 1 - 6ex3KLAokE11KoXstCy avV 72.98 1 - 6Fxn98E4iF3jfFC9fdcAaV9B j7b 5.04 1 - 6gSSrGFDR4aB98DjB 7f9 60.05 1 - 6H3pGnNeCVsHlaqvePHdnB cDb 61.2 1 - 6hejCEJaJ1FLkHacbfdN0BZ seZ 37.17 1 - 6Iw1USG8emyFZmjUc GBv 47.98 1 - 6O42vF13NWukYGum9eNzcv 7qv 39.27 1 - 6PgMxngZPNRnj23GWJUef8 YvN 78.56 1 - 6pLDbjXLY57HlD kjD 39.26 1 - 6PX4rFXrE9DHKZNQoRrzz YEG 36.12 1 - 6q3dxALZj0gBIt CFw 14.25 1 - 6qjUjtqITDLjOJGJL6vO 6d3 62.29 1 - 6v2mHTEGGqR8sqAP1qUWlz Zn8 87.87 1 - 6WFuGuN5nT5MSeSPVptx yUh 63.22 1 - 6y1RUqB9hAq13DWU 4E1 65.47 1 - 7038A20mvPMdL0Tdg6YBo gQX 94.13 1 - 714mrZnEovj5X9 xoc 91.37 1 - 74FpqbrVGbroXFzevznO7 nxw 68.81 1 - 77UlRl9uiYm7oe1gDqAleq Qrf 7.5 1 - 7a15QhItetfTZMw lrE 12.29 1 - 7aArq6vlvvcjKzx0D wU8 17.21 1 - 7C8Ct1uo16Ytg4g082q3 o74 50.67 1 - 7cKdnL3mg1NFEIwNZ3cm Dix 15.77 1 - 7dpSRUiiDs11nFzF gn7 60.76 1 - 7DYyIBiqXj0jWYr DnK 29.41 1 - 7fbmxdUnxIol0avVYxR Mn5 84.85 1 - 7GGctlwyuIIOtF6rknjJipd KDT 98.4 1 - 7GUxd5Db5DvYnY 1yo 33.1 1 - 7HOIKWGSTIo6oSZDsUJ1cbO VgP 79.33 1 - 7i3AtnvkRInMqRLgS6c1lUn lcf 76.58 1 - 7Ianh5mGmeAOTw14r ori 45 1 - 7iGc7POUuDtG3DXogP3Dx Csh 32.61 1 - 7M6gx4o1mE14IrN0GOAitrdj KT7 64.27 1 - 7NP93V2hko9HdotpNFj wjN 19.59 1 - 7PxurGSq8yDvt7c wor 68.24 1 - 7q1VcxgtxOax0uihVP4 eE6 33.83 1 - 7ry0140hywcAKaoZg Ern 40.62 1 - 7tUuzFlUUdxJLk oD3 88.57 1 - 7tYij9P4iJTc8bQbMNmAZt F0J 8.94 1 - 7Vi8cLVDUeypkptmG9en gLV 80.17 1 - 7VZxzGYTsR3UYuAax ZAI 68.95 1 - 7wjWYq8oGBxwYI fJm 67.6 1 - 7xAnW0EwRHp4GR DdL 43.16 1 - 7y9qcDzViNZNLuG6f23BYi CN4 3.22 1 - 7z0MWQSy1GZhRNlgBho iwP 8.17 1 - 7Z1DN0ASYM3S40VXQ8dHSjJh Bwd 7.22 1 - 83bOSm7TfAD9OAv7Fw CdU 27.48 1 - 87uzzaHkdMSx6js1m0fY Odb 89.63 1 - 87zWFcjqF35LYcVt7A8 2LO 30.38 1 - 89NEZhJ3UnjPcrATwB1tZl PaX 34.34 1 - 89PLWOTGJBZ8dm xda 23.5 1 - 8c6XsicYBPr7fpd9r6pf2pe XSO 86.43 1 - 8eb2Pv2tbwp5ZBEXgDL9m wxc 23.91 1 - 8GA7wxUD6GFT48LLT axn 35.7 1 - 8gl6ruVJi4Sqsqtkg6SE dZ6 11.11 1 - 8gxCwhG3ZI5uS4CUP6uKA vVi 63.09 1 - 8Jwx1gKigArR3EEgZJ9XmHFX Bp0 27.2 1 - 8kp3b7GuUtUKIXBSBoc1PVV 6ne 77.25 1 - 8lwJQ2YhxZOJUP5HSh2TU KDn 9.42 1 - 8N6cAtUlBbvAW0Iz1LgkuN zmS 29.56 1 - 8oIENyH69O9ija hkk 44.74 1 - 8OkwaYFfoISRWXkcQSq gIS 85.76 1 - 8OvqF2FrBbTL7mNeF2 ALH 18.93 1 - 8Sx0gcbAFZ48vnXANPoQ7 OcF 74.8 1 - 8T3lJaTvZHY2vA A1W 2.48 1 - 8WGccvW3OYjz96jE deE 88.34 1 - 8wJRn5bkPT3GO08dYNI5C MdR 25.14 1 - 8Wo8hsuoth4MVjq6JT1bopKV eAJ 92.28 1 - 8WPZL576afA7S4nfw51qs3MF zyL 26.86 1 - 8ZlJH5WwFTs9ZZIIjwVI qIa 32.59 1 - 90QBpHSk4UAB49uUn McN 66.62 1 - 914oNpnwBAXXOFocdb0 f4p 67.25 1 - 946rW7iiQldO7gjU 6du 46.97 1 - 95xkmPy8aan6FGGfFhcsYj1B PDH 4.31 1 - 96pqRpUoKRYSwO QY9 48.9 1 - 9765InZBeEvVYk Qbt 57.7 1 - 9awoVwqe8FEcgJQfFJ FkY 71.27 1 - 9B7GBbwhGmR4d5qudx CHi 92.64 1 - 9bNV4WMYAum1TwqYCT9XuZ p8q 27.21 1 - 9cPYYTiXEyUgKUsu6uAYNBB mdX 57.77 1 - 9e0hEfx0B96dXvrJabce 9Pl 40.88 1 - 9G614pk4d5F4asNDl YCU 3.34 1 - 9gGgeP1EpEVELrmWrkYJlPz VIh 86.51 1 - 9HQKEdIKzGUQsJSCsaHWwh Jyw 70.6 1 - 9IrUrS20qjpQeoQL Ago 18.29 1 - 9JjqU3EskbDHNt AVT 68.79 1 - 9KZXjE0hHBjjWgNsz4l32 Wgt 64.24 1 - 9lfMdCdBGwqbEtnU jwq 81.56 1 - 9ma1cYNnsSjd010d8n nwS 67.13 1 - 9mEPJpH5dGBkggzfOtzdyO Qwk 67.11 1 - 9Mlr4wWav0CuaUHxX0dT8S5 zb8 27.14 1 - 9MV8yNk6CYTlmgbdQrsmLb WcO 53.92 1 - 9MyEcJV9oYGtqpoeizPOfD5 YNx 54.35 1 - 9om9GszdJdFiVt5 wSB 82.33 1 - 9q6R7WHCEtrSGpDqESIYHHo VZu 42.96 1 - 9uPt07zv4k0muOmiJd 28u 85.52 1 - 9wVIpEIFau7wWvhG1EyyC b6Y 69.74 1 - 9X1eY230dGLgvtoSxZIzzw xIV 12.08 1 - a0I1a1RFf4zLH1D YAM 48.26 1 - A17AHiDCgIwKL1xMg X8B 71.39 1 - A1wk9yteGWCZQBr3C S7t 22.65 1 - a1YFKlWCHRPoz9IL6Luloa Eme 4.62 1 - A3dJP7RwfLbLDc9C6E zFT 11.66 1 - a7LCN189wUUjodznR3cGxSg 1Fu 74.79 1 - a83PNz8oZNDVGfLV9rKT0Tsh sFw 57.93 1 - a8ieSTL7yDEet1 fqt 95.35 1 - A8sSOqsEgmavpqduc8Xalg 5Os 73.48 1 - A8ZECWjx3AM21K6hc 806 75.36 1 - aa5hqRRvupUCDu9NCBsP6zZ vB9 39.52 1 - AAaEXNeuplOBwpu56e 1fr 48.32 1 - aaiFxWjUtXKRBumYmSqlgYRb Vy0 68.36 1 - aakp3Rb901rsOLDuWlm GAE 45.86 1 - ABrVvjo7Ez5J0B93Lrm B02 57.63 1 - AbRxrcWgjKMt9bog gmz 20.96 1 - acdVTPFnqogRx9gikMWsB 8jH 55.89 1 - AcouBSuAPwcncQmAs62YJ40I Pe7 94.18 1 - aEBQJ8fKJtHEKnaVi ghc 89.09 1 - afyrl7dgzuV480wawSrZjz l8R 27.44 1 - ajqkL1CxrCwaYpU Bw5 61.41 1 - ammmvqZaFqTlmSzq4f8lYIU2 vkL 99.73 1 - ANJGTo3gd9sSWXuB8 b51 64.75 1 - aNodcnMUwPoH4OoUN6 eup 8.35 1 - aNQ9iQNqbBKfMXzTUebiM oLS 9.06 1 - Ao65nk6BN9RdSjIvq7K vaw 43.62 1 - AoHcBTANC2iHwI8Q2JQe wRI 74.05 1 - aoU0VA3a8te7m3n3GPZYAy jHb 41.24 1 - Ap9fxOb4BgatnhrOYd Jhn 85.44 1 - AprMxezhKQkiI90 76f 95.36 1 - Aqd3WDzYIKtvZ0 fRv 78.31 1 - AQou1VPfElDotJ1iO0fMBe Faw 94.58 1 - AsmUT5Ddf8pOhhShTD yse 48.1 1 - ASXqv2YwLuIrLDi JZY 13.66 1 - atEN6joI3hy6HjfHz0 rqd 73.18 1 - Au2WFtP6KvuHiJJqXMHL BdJ 55.44 1 - aUADZmMjgFUxAkrHFx4bfRWZ 2Cd 84.55 1 - aUceCKfUdwp9dv Aex 33.22 1 - AuIpQu5q7Y2xx0 ADu 93.97 1 - aujyOBelqlItTXnygq tZk 13.88 1 - av1XVN3DkkMXa5Sx2gF mXG 22.18 1 - AvoRviqVfUwbndMiqp0nrXDV Pq5 40.26 1 - aXDoaEFeEKvLQRrjUXxdJwkl 5hh 68.43 1 - AxkjceMzM0Ap1FW Oga 84.37 1 - aYHElUwXeTTN4OCtUdt2H0 CEf 13.25 1 - Az6rlX7ZwlOkEPaZM La9 48.48 1 - az7p1Ca7EXYyYqweozRXs hHh 71.25 1 - AzB4zjIpYKNQJ0ipKH5Rb2 avb 40.18 1 - AztNBsoJYVC2n3r88zLmm5m hmw 43.48 1 - b1EohMuu3RFu0ODf 7D0 60.11 1 - B5dTiQWK4iABJuDQ gYD 95.69 1 - B5jsXCoZFMg11Z7Q3lfT4 Ne0 80.94 1 - B5s1E8kVO5zlpNEg5Ola 3Y9 35.44 1 - B6ms9OTDMi3eRAl9f HOF 55.19 1 - b7YSy12TSvJ4qmC8q N2k 56.22 1 - b8n7j410XuVh28CWuoMSeOt3 mhI 48.37 1 - BA578yFXXEEvny83VQk J20 40.41 1 - bAbnWECURh65qStcK5v DMr 22.28 1 - bB64XGJKBFr6Qo b3q 47.14 1 - bBeIYE38Pf8orcL7 mFn 42.48 1 - bbQcAYd5yUpIvoV4dWzI2fR wor 52.26 1 - BBtHQGFadWW7TY 4sv 97.53 1 - BCnDSGmdP1bUZcv1Yst4 jMM 80.25 1 - bcWm1WTcUUblbCsO QeD 68.85 1 - bDNRIv4PwbWiLcePGkt3J5i9 Xi5 86.21 1 - BdzUqfkACxCh3X7ZmXhpB vTD 52.71 1 - beA2y6z30s7oejMo pVy 50.15 1 - BEMkU6IJOUUmRL11VA JKE 39.62 1 - beUihKBvtpQwClc7P2L hoT 17.65 1 - BFrj8zsR50LywQJX6YRGuI0g ajl 31.7 1 - BG1QTcketZjbqnon 1O5 54.5 1 - BGJs6d3Aw8Kzoy Y2r 76.38 1 - bHcWXuIKQHeZVYckcbXU WkI 86.64 1 - bi2SGgPy13Wo8NDq shK 83.74 1 - bI7NQK0ayJdC3yVs naY 25.36 1 - BJLAO7KAYYdCgayAR Gba 7.82 1 - BjMgnMf4ju3cNJCeJorx D3i 40.96 1 - bkNT9eFwou8H5Ibrp0OTQIEK oUb 1.95 1 - BLxHyPe5wEuBL8e 2Tv 71.12 1 - bm1J81ixcngRDKP lY8 76.78 1 - bmm0lD9EwbCu79JiYcOI4kD apd 44.79 1 - bmSINAUvvNcdpRYZhO7 fPd 58.55 1 - BnWHlIWyi7z5icgInv5y M7h 5.3 1 - Bo8Ofln8Jl7ZTjIv 6z9 98.75 1 - bPKwejTJTCVkvNFdp hOn 19.73 1 - BracujQqozBU4B02w7Q V1t 43.38 1 - BTeqjDrbpfedOB97sKvo 2Tf 50.11 1 - BuqCgwuEKSLEXJbl7DYRYb1 CGM 69.47 1 - BUVXXhD5ZzCR1WSeYwFWC lXj 20.79 1 - BXpSIKok1i8bc0PBnj qfy 84.98 1 - Bz47cqfPkoXb18trv X4z 68.65 1 - c3bY5UHCcUeeL3kP 0XL 44.89 1 - c4HHPES3FZpMSJA8XYUeCPq GGb 31.41 1 - C5VbStJKARPNGGF bGg 25.29 1 - c68sxu623O8YDChZb 3or 28.31 1 - c69Wxuv2337UfUHrWDpkW94s jgc 76.03 1 - c72RcUM6kquID2BKMlI IKD 29.04 1 - c7KB3B3mGVLPL52Qjp AJQ 30.2 1 - c8K63odATjtt15wQGJmOgcg zYo 76.82 1 - cai0tg9EbojcgUSntIJ vzi 58.26 1 - CBjTJV2FR9ssRFWFxg uWy 46.35 1 - CC9v9P1cgR8CMRIa kag 38.05 1 - CCdirLrXki1nXilEYs0 Q7W 21.2 1 - CCV6dlwGGoHIdKf bdV 9.23 1 - ccyBivg6Og74uT qQO 98.23 1 - CflHQWTmYsYAQsaX6by ETQ 94.66 1 - cFwoWbof5taOcG2vO4NjVT8 fQz 53.52 1 - cg3qrHbpImojf6nFb4 Y5k 80.83 1 - cGG3cq9x36uAwKS bL9 8.49 1 - cHEKcUfelRkA1x 2a2 87.56 1 - cHGbyopcwn1sOJ3C1JaI 7y4 32.28 1 - ChpXXVI7HTKrQyzhWVYo 54z 74.59 1 - CL6yDYFT0iZqye Rli 19.63 1 - cL8iBoVhGmje8H0uzL gRF 33.07 1 - ClfAiKgpzjXO3alYdzfk UQK 24.89 1 - cMA9992gTjrTg1Fk6nCvS jyM 23.1 1 - CncETr7GBhksF5BnNb8Z tal 45.04 1 - cnch8V5fWDlpXH5gbQ zij 96.72 1 - cNDs0qxsFtQmNQhSCaOAc drH 85.07 1 - colbQo9bGmba9WP9yk hwf 90.3 1 - CP5vTwPc32OeGLsl Yx7 37.9 1 - CR444XAMHXYXTTwLfQR fMZ 98.68 1 - CRAc9VAflcz2tFFIZ jke 96.43 1 - csiDTpZeRu6KzdVEUkO7 csT 41.4 1 - ct9kDgus7GwujDa9njCon2S gnF 8.04 1 - CtmKhoBRnKWRQoJh Ht9 19.52 1 - cUNUne059wJJBjNc rCn 13.41 1 - CUUpEQEwbFdyJLPEIjE PVw 69.44 1 - cvdVs87UJyWPqILO5K6e XHC 59 1 - Cw8yMBd6tgk8WlZc 5GY 28.8 1 - cy3bHMkkHU3Kw4hMefmsgGpZ xOx 23.54 1 - CYJgePy5xZp2aclCtxsNKwr bRN 61.92 1 - CzOQqWCoj6S5vfPc8dT VQb 85.14 1 - CZuzywAYPka3z1vwBznlBEU zJq 52.65 1 - CzxoxkRQwJ0TcU3 eIZ 24.74 1 - D0b2m9ci32rRDbsYAx2OVatq QMi 38.02 1 - D4E3tGkTmMFFURPzZWpDT bbd 43.95 1 - D4Eg193yy1u2ab2lbcCoZ8c jUd 77.03 1 - d63n3xCzy9nbQk2x XnE 6.43 1 - d6gBO8IeXWzefO wbh 7.09 1 - D73MrWHMB6sVfCMsIDZ YTR 69.58 1 - D86Hpl2U2PU0aRjbB2zy 896 2.71 1 - daaJtWWiBE4jEnOFIRIQ6vh JTP 54.24 1 - DAbqyatqL6RNfOU sIo 94.58 1 - DBEY5elKomZVss08MmwTJtQ lGG 29.58 1 - dbS4HiRkxXxsqFArX Od1 76.76 1 - DCiyeiMTAKkeKdLWxk gHA 75.53 1 - DdbzS1Pc0I7Sx2I0bwiB6o hhR 63.43 1 - ddy7faiV2W5bru6bBjNBh L4Z 45.05 1 - DEp8fSabNYG6dUnBz9j ddO 11.36 1 - desg7VfLwOTSLE27HqYY Xbf 47.72 1 - df9o64ZVbq5kzsWEaaDT8tOi ga4 45.58 1 - DFdHiGsuSimk9tRbD7 Ln0 9.1 1 - dFEHtMz9mS14i0Yh dlO 54.97 1 - Dffzyrp2r3cmvEkyT7kH g25 92.56 1 - DGbeDwQDRUGKdSCrERPep dwn 55.19 1 - DGe1fA0tG4x0Y1F Z5E 88.76 1 - DGgSsFrTFpoi5C9DByr0WR XYo 99.99 1 - dhjVtCO2GdYxYE35LjnO aPk 90.09 1 - DiEiunaSiCY6NupQphS VnU 5.59 1 - diPp5Vu2b3FCDRiZwS uEA 27.95 1 - DITSpIICX8xjnobtqfX9 MQq 15.74 1 - diVJmsHNgwOtPEkd2 UHk 18.17 1 - DjAAAbpSCSkZkt1962A4 bKJ 48.24 1 - DjLfQWnpDD9lS9 y34 20.76 1 - dkVmWP2ZbXcQJCWbV6 wbp 23.65 1 - dkyoPwq0OS7NFX0noKC289 lrQ 38.2 1 - DL5sVnriKozl0Xd pWw 13.3 1 - dmajuncDjFIHNFrsZ aDQ 86.62 1 - DMHthiCcfdutxyaQfJt ANZ 49.55 1 - dmXu6Jusowkx2mT7p XDz 54.51 1 - DN88TyvqAlo0gNJ FtN 66.65 1 - DNB0kXgywLwfC3tUTgQ0l0 dsx 32.34 1 - DNQ5jyUkyI7Vpx74fSzyk6F 0Y1 82.3 1 - dOU9tRM7rifaGvJg tNW 18.46 1 - dP9WhVsOtSgHeSc7 qvo 92.04 1 - DPJwFp2rqttDmYfn 3FC 2.1 1 - DpYMKuCfq2CWeLvMC4sZ bCf 21.49 1 - dSWBiSQt1mKuS1Pm 99H 89.13 1 - DSxzmVDcRH9gsXRjO VSh 6.24 1 - DtCEabdrzm1tJabBp soz 14.77 1 - dTpL52LZU1bQhpHm1n4 pY0 28.45 1 - dUGDERmG8Vrnzj1CRQzcYU hfv 59.64 1 - dyA1aReE4XTAMsFrCyJjJUw6 DRW 16.45 1 - dyaFdJOlQj8RmqwU3kR9wd 9wb 8.62 1 - DZLflGTUx5rk2GFNQz 5zO 1.56 1 - dzp2Sgi6QZxxLejXi meb 31.94 1 - dZsyKuI6hJF9DzCd7ga6 g58 39.23 1 - e08I7ldipVbAzdci BNW 97.9 1 - e4rQdkzeNRUbIKyA WEu 51.64 1 - E4XCGvwjfaTDHjyiLvflhHOw s8g 78.11 1 - E6dSpkzC7rgMw83pQl1 P39 26.57 1 - e9g9AVNUrKNhRRtHfqBGtnLN nxy 52.17 1 - e9KDWFtPmHwMoCp56S 7Ps 50.04 1 - eAcHdsfyXS8nxYWk Mcc 58.16 1 - eaDCbG8rix0gzeKR5DQT DD4 53.44 1 - eADG98VOOEdQwx KME 6.41 1 - ecP3AI7w4yVvwk5 zLL 42.52 1 - eCZCT2xLDHkTlJ fWM 36.75 1 - ed8L2wdxiNc86DSg7xmOGM F92 89.53 1 - eFZxoCg67FkKJUSGuU usf 83.56 1 - EIqeCV1LyTse8DM wcq 88 1 - EiTDCyafUZfWDFXQMRW0bED 8DY 44.1 1 - ejvVQSuMtiZfWkcL O98 63.82 1 - ekmN97mJTm2eT1L WfH 44.15 1 - EnNdeREPTldPRIt LEu 21.64 1 - eNUw7B7Qryvi1fQSkQVB3vZ JRo 19.4 1 - Eoi9GiXCspUj8LDZ0Bg 1Gf 70.5 1 - eoNmcZZAlKPuIG5KFgn coA 26.27 1 - eOYP8MztMrQ3kE5BgBA Bdx 34.49 1 - epbF3M9VM4IlxGY Ci3 83.7 1 - EQhjeKCZKj9FbTLAZv1B96 G1z 22.08 1 - eqhYTsngwylVxKCCfTO4IKHX gqf 72.61 1 - ErAb56xD8pf555qNassG XhY 29.92 1 - essawDgvkdN8OytblGOOAHX E4i 97.32 1 - eSWaeN354IZCXYLf4WW3XK SlW 61.39 1 - ESwJbwgKXkb2te 0l7 89.19 1 - eTZtcP4XTBAGXP arC 14.12 1 - evhqR1IxBQPNjGud9 EK0 77.2 1 - EVvjOMXtGC0jwdFNybFQNx csl 1.91 1 - EW6wexpJd1gmIce sjk 31.22 1 - Ew7o4OjmhL2dtIAw1yutOk8D g3h 48.81 1 - eWdLHgE1dcx5pPJt 5mc 9.86 1 - EwhuPEN7OiwWF4q ete 66.44 1 - ewQ3ArVcOzw1ogm U8h 13.74 1 - Ex7bDUL8AqWUXTjIzYGA cWw 7.97 1 - EyMegzSdt28ykbxFeufsbVL gOw 91.06 1 - eZ3cV55kkZSlskmKrHekl7Z1 MYU 25.98 1 - Ezhqbc7At8Jn8q1RmZnJm A8Z 33.75 1 - f03TYXbdYkqz6kveKs9 Xm0 96.71 1 - f1mklqyXiMP7dOqMXJxWOwK6 YOM 50.68 1 - f1YL4SteqKeAgU1CefuURhF 9tr 96.93 1 - f2UsAY5ZP9UeJwk xC0 13.44 1 - f4uNzlSUBx2oac0oXtFj afS 28.64 1 - F6iHs5PMGRhH6v rHY 26.4 1 - F7cGzjaNlHu1zwpVtB OpE 42.18 1 - F8sItBZdDWaV7jeghje t0T 68.12 1 - FAWfHOhIan2Kg9fmzXrbklDF kLt 94.09 1 - fAZGgCJ3Fz2EaHd WnR 32.82 1 - fbEhfFT2WHwwhfUoxHH Dwr 38.48 1 - fBKFpYmbTSCurZwIBSC M3C 81.05 1 - FBkn79ijeNnQlJ FRT 70.11 1 - fC0pOjJCEzNkLUJC0jpm5jI xin 69.03 1 - fdcXsEKktWhgzsjYmyN4 F8m 10.36 1 - fEajBZOY3Q5OI6K99FW kBJ 81.3 1 - fG3613AQ0emkzdvX0oXZn CRi 51.44 1 - fgvY6TooB2ZTcJpEV5rTj4TL j2q 49.89 1 - fhYd8bR1CrmDrpenFY3 Meh 32.38 1 - FIAJUM8nnrHNa2va rRU 68.45 1 - fJYuteqa2fygw9prwdSV BgF 74.57 1 - fklohpdUdcUrvlmPdx SCY 56.22 1 - fKqrXY2iItUCflY1 zNW 68.18 1 - fL65j4xPQMMKeFtbBXvIgG1 mVv 97.19 1 - FlMrnPDhi3yIcQyPCH3gTPQ RTk 30.76 1 - FM9kzHbLGAqX4BD Kos 81.88 1 - FmbNGWMfiYt5m2j7 Tjz 70.77 1 - fmvj8i2csSbNAJP0 Urd 65.65 1 - fn76aJacxbh3RqZ060qkvxa rCK 29.59 1 - fNj0gPW9u1tKetV4XyO U5r 72.18 1 - FnRIWPBtJtx2CVGH2cC ETL 38.62 1 - FocqCYqnoXH10QFlFlyAM Xnq 19.52 1 - fOGulO7lbAJ3li30yYtadX aZU 49.56 1 - Fohz04gcGrCdqEzu4bB 5pw 41.61 1 - FOInEELTDAC0HdOXrR ull 90.82 1 - FOPiT4q7ipPm7q aot 68.26 1 - FPZexJxJ29Sk5TOWLb lnI 16.7 1 - FR52rnusSALHmeMhRguAeb 87L 37.18 1 - fTaRsKFYtUbCuDWp0YAMp ESE 94.78 1 - FtkTSk0SxuuEQpiuMzU7 06w 21.92 1 - fUk27ftwVIAveXDvilM ad5 27.65 1 - Fv8Cf0UWjc9m9t bDu 86.87 1 - fwe32cDW2S6x5g9tYmX1029v vUI 30.67 1 - fwQRaqSzyapTBNRY8h YTi 84.46 1 - fXqxhjhiqpioGKN XFC 99.44 1 - FyiDfYOp0Wo1dJ9 QDT 75.49 1 - fYq0b2ZyNUanvTtMrrhg 4Kt 13.15 1 - fZaI8AUqdtHfeyCq P4H 44.69 1 - G1IOV9K2NNS3xo9pGhUwyGy 56J 53.15 1 - g3C2HgCVqKzbG4Zn qiU 34.64 1 - g4j6Af6X7hAQlC8kV 1Z2 94.04 1 - g5zRx3qwv4QOu68c1AFQFuIc Mxq 99.61 1 - G6cNZtVI7yBJ6k2MceMxl v3d 73.98 1 - G6mlrxMRhCcG2r8 8OI 63.52 1 - g84ZHD9K0suew2BUFTiFz m0V 71.23 1 - gaCAaBGswfXtfCBfPlDE OF2 14.47 1 - gbRk5qYfwgDOh1F YZc 47.25 1 - gc8GbXA81WZw7F7W2vJ6 YZo 90.77 1 - GCrpuIkldMx9zavdwBqX QIL 86.79 1 - GEOh0768Ww2ngRsFgB26zxZf l7B 11.98 1 - gey8CaKBqdhvVYLp U49 74.12 1 - gFG1jBh5jgQNqDEdFVR FgT 90.09 1 - GG9JFc5ppg31GCk5pThel5qT PPl 78.39 1 - GH3DziNv1WyKzfZyay Ho0 9.96 1 - gHH6wWJcIFEki8lidH trc 16.63 1 - Ghu9qsGonYemNWb ZsK 6.11 1 - gHvTRO6CFuayHg6NqbiKpKQ l2e 37.66 1 - GicoS1qyqPsWMeth RbY 48.21 1 - GIGa8AU8vcUeFYHD2w4Am1 c6n 10.31 1 - gJH5WV0yMvzQsFfQNO2g LRb 5.21 1 - glJCE2ic334kqM14sckDx9Yn Nlb 20.95 1 - GM5o8awaZXgwZyUjkhk SBq 54.65 1 - gMBEZ5rY0IxiDn vfX 33.2 1 - gNW2s6x8BY3CnQpaMgDDJ g1R 57.29 1 - GNZ1hGReENDmqr yH9 85.63 1 - gPahrTSE52dMgk vss 89.98 1 - gPHLtWz0iYkJnTSGDVBR4 jgS 62.07 1 - GpK5sURU3bDLrEjU G0w 4.61 1 - gPmMspDGLd4G497wOW4ZWLf j5K 83.18 1 - gqUG8XAT4pfEUXP tfB 97.45 1 - Gr23IV925fKi7kGMEcHa0KbL nsc 54.87 1 - GRiJH8TNFBW4CMeswtLMiFXe OAf 93.35 1 - GS100o0r4lRObBILN 2KW 36.24 1 - gtwRabCr9rVx81MngNIgain h1P 61.94 1 - guJje5wDM7bLBUIu wO8 86.7 1 - gUKV6ROlCtV9GNPkM3w 0FU 7.23 1 - gUrg1FzLkbooCBE22WIg4 SxM 21 1 - gusEY3Jn4eYrpelKN GVO 47.37 1 - Gv73AOi3n6w811eomSRj wRX 65.81 1 - GvkTMzGc4svwCmYaMIeJFDE iLQ 59.62 1 - gvSYL2kDTjx5150V1D5B2I aHp 21.24 1 - gWXcbNTDbDW4pLxQN5A O47 96.15 1 - GxTE4TZEdPiuB6N9mOCQB dmo 25.21 1 - GyVEetmIcJ6fP2kHGEq 3YM 41.56 1 - GZiE22zWjXdVKuPGh 5kL 14.06 1 - GZvjdWZKmC56ZcCsUT25cT QuX 4.69 1 - h0pWROTb8ipNNPDQLi2051k AEE 23.92 1 - h0wcljP38NtCfWlQKeWji OE6 79.83 1 - h35IrwBUXTRIDtRF 18m 17 1 - h3s7EHQkCrYLpxo nY0 45.18 1 - h6LRC7dwMCl2CJQaTBNlEOKJ Qor 93.35 1 - h8RjoESuZyGyDVXyK 46e 14.13 1 - h8UPMYMGWcN5P1z1eaYRl dzy 37.48 1 - H9CkWXT1pJzsSFec tuF 10.04 1 - h9hdpGErcPLbLbEY8RfNxk x7K 19.26 1 - Ha1F2qejGQlTDtgyHxMA3 f2L 95.87 1 - hA1lXHgPGbLKcS0XG oPF 51.97 1 - hAdhqUNLC7oqNbtwNz 2Cx 15.37 1 - hb6al633PbyzEiSluDhy8q aCr 34.61 1 - hB7peFFIHN7EvgQKc5qqHzz YG9 57.44 1 - HBEKMzlxUSdweOlMTQ6BXVx 6sJ 77.76 1 - hc6cCZUTgz3YSWkZ3DS Lqy 63.33 1 - HcwWn3UDpvEj4RUnInVLK MFl 10.47 1 - hFz013C0fFFd6HIMfth8AEi mn5 14.36 1 - Hi8VoPf1qW0j6mvsMmCgHWAg AP4 15.23 1 - hIR3LKeudaVVMqmHr3lKjTOj wHA 25.78 1 - hJ8mOg8mPy2I9v0HmzZC9 S0z 2.48 1 - hk4mZI3SF2UubimAnMg3i Mcn 23.69 1 - HKRnrsgsgCcnpX51Okx9b4Lr sor 67.91 1 - HLJJl5jSsxF3o32 uqp 95.36 1 - hlY6G6OkrQlKpUKvx Mdi 50.98 1 - hMtBlFE2zJyiq2C750AJv7ka by3 52.75 1 - Hntwm3wq5XLM7zA UYk 19.64 1 - HnU56EFm3cfhV633K bYU 65.4 1 - HpLOzAkdn8FOHzT amS 22.04 1 - hPZJLAz1KlsLZok9 DQs 46.24 1 - hSxKK0vhNaSjPVX7Ce3KjhMP XGA 87.44 1 - HTp5tNSF2fGwUDB3W4MmOQ 5ou 8.65 1 - hTSKR6g5foDADbVPsoSh6 MG1 80.5 1 - hU8wE9aFQL1JBTCP 2hN 84.82 1 - HvGYq9LUleLAYUcpASlD xtu 58.19 1 - HvyuBEjAdjIuZHWqro tCT 32.16 1 - hWbG9bE0Wp48BE08P7hb m7S 54.19 1 - Hx4VG3aN7HF1gIA89cCXoiMm vUH 78.66 1 - HXzvDkiu7s7lpZ s8D 25.65 1 - hZldgiYJTbp0aoA2Nb1h 3Jb 46.95 1 - i0JH6SycK19B2UM1V4bidJke cGO 87.27 1 - i1beqaWK1HPC00z22t3hLrp c3s 37.25 1 - I2BEHEOhPMz2haCpROzCfpy g0K 48.43 1 - i3uMfHMSYlwlRdAqYHJOB Jh1 26.39 1 - I3Zkc7TaoqGFLynMr X0A 76.1 1 - I6PVW0ObtbHri67iGmMh DYP 46.71 1 - i917yWGCtlUeCQvv2MlfD NXC 80.38 1 - i9dJeWHcp5H51O6yR8 yxH 45.27 1 - i9ISiNUwd0J1lsHt9D uJh 70.68 1 - I9ZZKPkBhpNQFYDGiuVdR 8yt 98.81 1 - IbTttXxw8rgwERXGX ybP 9.52 1 - IC27ylaaiqgLtoufN5v pxn 81.34 1 - iG1QCd7wzYOuwJ0jM ZYd 75.87 1 - IHBjAevGAWi9NH Byn 71.42 1 - ihHMDJNMnz09bZXfk1esV nvn 15.8 1 - II98dtbPbqzVQFbJj rjD 59.96 1 - II9jdUUIdqWJzulv8jVrGC 69A 28.72 1 - IIBUGz2aTlI1llMg01c9 mYX 49.68 1 - IIoOYMUof9FtQM52nruWrxC if8 45.5 1 - IIthPPGZodKEqF4V1RB h73 75.97 1 - ik2QXWOdDZVRSq7RVsqUs20 9NF 53.81 1 - IKPIUJW9FaErxlMB3pL2m 9at 57.77 1 - IlpAStDgUghswvc64 fOi 76.95 1 - ImtKvvCBpCcU5lP wyD 67.06 1 - INepTWy7A97d36DYf VBE 50.37 1 - INsC1jNtsamIwGhiCUQ XnI 49.76 1 - IooWqqNfBWfVFfo QXK 63.98 1 - IP4IQvwynyjOcs3LytyLj1rg u67 63.21 1 - Iq0jbJo6iysS1WaKpQJ5CTjT mov 82.41 1 - IQasbB93zcZUfc9E208zyn t5j 58.78 1 - iQYfjb1Z3NExsNab2B5TL TVT 61.17 1 - IRQlEhhRvhsUUiG3t0O 8Eh 40.17 1 - IsJ44FV3wlOxPLFy 5MX 79.13 1 - IULk8S7Xao940y45iW od5 59.43 1 - iwcT93ufn2B7M5 ori 35.24 1 - IwEzkofJ3AEyzEynqGYM2KeW JaA 92.6 1 - IwvAdQtUeP5uGc 6qJ 69.86 1 - IYgLFtQBVB4NrgbbZs7 LyH 30.03 1 - iZ0rQDWFZDRkpd8cu5LO nM2 90.78 1 - IzbpCXtzU8qKLX2Qnz2jhuf 2MA 50.09 1 - izjZOirYviwBIYCJf8TK9 3MR 80.61 1 - IzMGHgPDjp0CZ5eKrBub SCn 12.87 1 - J0hyYk9P3uJ83N4U bC9 25.38 1 - J51yrkq2EbzrDWKF5F2 Oaq 57.72 1 - j5DAOG8B4uJKVsWaojSYhg LKH 82.56 1 - j6Y6cSZZrymxsFc2 etI 66.55 1 - J8raIctBuVtr32tBfUW 529 40.68 1 - j9J2C4xHsCpHqIC RIQ 22.82 1 - JaaAXHlv6215ojmszfUpCtn 22o 94.7 1 - jAHs7ejqa3AZI0iw Nx8 81.71 1 - JBVsyj1w07B2GH hVQ 76.01 1 - jbwjDKSPi1aSfODKn2 frY 98.09 1 - JFU4cSQZHoOfLq1vUWxEq ING 72.63 1 - JFYBegwYX1am8w43jzKO W5w 85.85 1 - jGClFsDo52NZvwRJj3RE6P p5Y 25.38 1 - Jj2zRl4A17PMyvO bSb 73.86 1 - jj6X0MHR2poXJN LuK 60.38 1 - jjarCgSAbAT6rG MhY 5.81 1 - jJp8KSiZVCrej2mX uyb 30.22 1 - JKb2RyFGjidyp9teM rfB 32.21 1 - jLNs6gczzjWS24XDgqZxy iGp 2.77 1 - jLR1L4PRfsVCik gBM 6.84 1 - JLSwl5qvOtFe8Tg gu6 70.5 1 - jMGD2Mer803aBGExl9FaD F7M 43.51 1 - JMIryGgu5gPdQy 6aH 44.89 1 - jnd7RfZQrtwO4ZkhS AXw 51.71 1 - jnVHFkvTmqUXCm 1o9 23.13 1 - JOpTjDGvcqn6ce0pQtToPO wyx 28.92 1 - joYF1D2gx4aZDJL Let 98.47 1 - JPFED6ibtPrfXM J2z 7.92 1 - JpGTI43TmzE0mMxy JMN 42.56 1 - JpiKYYF7LnAgirAbRwzcI CiX 9.11 1 - jPnDlPtfM7Z9xUbcQK5GUt78 eTl 66.22 1 - JPOuL9XM8O3QTKXVeux96s ODZ 8.57 1 - JPxjefMXcHxMhHGlnKhP0j5 hCr 83.75 1 - JPyhk3kyBhZGUskKjgteW4gy Hql 6.11 1 - JQNBF5MoBQIdn7vKZO K9J 97.21 1 - JR29ivcK2xxlq8C 2Qo 82.19 1 - jRfkpxXnTRuyWTe6z4qVd4dl hTE 35.43 1 - jrqvSepuV66EWGE qVf 56.22 1 - js2VRcxAqbUdcIo Mic 74.43 1 - JTQM1kgzYQjbEswu4zrcDcH Y0A 74.93 1 - ju5cyZOMHkCEBRQeEQ7LH1a lph 79.34 1 - JUhj7Ch8XSEYCvHoDzZ Fqi 38.46 1 - JV1BoOxS2JenbE 6vc 4.67 1 - JVz0f7DZ12nY7SSRApSa pIr 57.36 1 - JWTxmZmnbdkdKMXpUh 8p7 93.54 1 - jY8NWI3j4hRW45 IxT 88.93 1 - JyTJKiM6KSUJrK LWd 87.51 1 - jzinJ4R0vsFHfrayOjTLdk Bt3 97.96 1 - jZxO1FOI7BYiT1Z kn9 8.95 1 - k0qAn8ErQcbdaAsB kzW 91.81 1 - K2AVgWNhEBFtUfMO wRD 77.4 1 - k2Rf2ysnXcfq0hTUp1e U04 83.2 1 - K3y8UXXqppTVCIEQ5As8CU OmF 14.35 1 - K45XeAB33PBmNvrR FBg 23.06 1 - K4iCGbrNbyQDJKjjcf3tXf zEc 4.35 1 - K631vkfNc2MCl5v PiE 60.47 1 - K76WylyZECiima4OFMZhfMYy hIr 57.48 1 - K7vwNusHXXKNci4wI6irz hkZ 33.11 1 - k83C17NqvbtRwFv99ystjjG BwG 45.46 1 - k8d4rHX37sgfugxa eHZ 12.58 1 - kbmeHbl7B2dfOkZHsaeb HZ1 93.98 1 - KD5OlyNyl9nsO5h2zzk2eQX Ama 71.43 1 - KDUNHnfBPw0yGG 0ul 31.03 1 - KFed3wlee7feEpdU dQu 41.86 1 - kFs7rTMsT9fBGk17K FHi 71.11 1 - kFwUJDVs8PUitVIbTccVLCsQ Gh5 19.66 1 - KHSWUvfX1zoEhPKsZ yoZ 32.12 1 - KIgwUY0g111nbhN MEM 32.55 1 - kK8NAPIOLrysH05hpuEcf2K Jhh 27.13 1 - KLmQ3VOEm9aDwthuuAy 7Ke 57.67 1 - kmguCIqw5Uwj5O9 3xN 93.76 1 - kMO7WlpELX1L3V fIi 64.48 1 - kNEHkVKYtB1oBFDfyN qN7 26.54 1 - kNN3Y9vFapW6AQi7Iq 73L 31.7 1 - KOh5KiTnOUhFm9P4PO1 z9X 4.51 1 - KOr9ndPJ7CMWutBPpoi5y VRn 60.95 1 - Kp4N4BFiCdROBY D5i 28.25 1 - kPmFgyW2JpBkyuPDEV XYx 45 1 - KpMlCvjAIUPHZlrDYUiVmq eIo 75.48 1 - KqM4cCFOzeUnismzvfil por 32.64 1 - kSpripiRtRzEgqCeK6 Z2H 77.04 1 - KtEU2TH6ux1G6gqDIDI t9Z 91.35 1 - KTkMaURJWWTFoxQHxo NFZ 71.11 1 - kTvKE9YjTLE2fqq rOJ 34.95 1 - KTxSQAFHRgcgmUXNS SXY 19.81 1 - KuhmGF6tKQP7Fr u7O 81.54 1 - KvZ0CwcvxG21Sc CCx 37.07 1 - KXOK4BPnEVLuFb4ictLM6 YQt 30.3 1 - kxUO0WQNUzieeFTryflebY Dtg 84.79 1 - kZf5TBY3Y9EoQlGLKj30 PvM 56.39 1 - kZipybmtluQgdWdrHnvIFR tlA 59.43 1 - l0mzimgwlsXqGUBgM nG0 85.26 1 - L1AX0HxaeQwNJpaB op9 41.5 1 - L1c3MnszY5u1jMGPXLRHxHKq yX1 46.66 1 - L1FJOUA1VzjbgJ icC 13.78 1 - L2hwVRboEbZ2hPb59vDasXF PCK 92.22 1 - l2QD3Yi4varknBZ90d4P wHG 8.99 1 - l3K8eizT2TIUALIMiSW4P Is6 1.68 1 - l4uiTfaSCWD5rwe1uY1 388 90.01 1 - L744BFfiGgsmDmc9tyLVgX HB7 1.54 1 - L7LAPsZxdrjNdpv bw6 23.21 1 - lag6rsYOXDcrxxdYq8k I9s 57.6 1 - LAtzLcslJibFrX7PGdt Wyq 87.19 1 - LAu4X2aPmXJdUF 33C 45.67 1 - lcU2uPCkdf1mWyawJg9mR8 9Ft 21.7 1 - LcZRYcEeaHZrtZ6dsCZSd lRs 46.88 1 - LD1d9zdYvNiWvXI2J f31 86.98 1 - lDnlB0YwIvkkGoe5x cio 15.7 1 - leawxU0mv8nsapdNNqr y9k 23.25 1 - LFzgAjXqOnjPECBcnkQ2WMY DDA 83.19 1 - Lg3tN2xbGorr6lY IdU 79.53 1 - LGiFx7TXtSQ8qMPxhR sOx 79.5 1 - lJfAJ8RJ1sxsbmQS2Ck cPO 17.72 1 - lk0ed5qKtxeiC5144l rWw 95.73 1 - LKhqXVu2J2FQIVWq1La CnY 86.27 1 - LKKyv5Iyyoi7rz2x t9b 5.71 1 - lLgZ2NC4JVp5P9sa1d x1F 60.02 1 - llrP3gT00Y8KDEau68e 4wN 46.28 1 - lMahW3jFsjEElYo13nxgfI G6l 1.21 1 - LmImUmfxTOZ6v7Xjlh eaH 6.11 1 - LMWoF7u9t7JbHbpCG haI 6.6 1 - lncie89pstAvCdIw7c cxL 46.95 1 - lnQmPf82CqN3qRTELyV znf 34.08 1 - lNVGlfZMxDB19DZy3V l3T 7.36 1 - Lo29dO7aXKBXyIS8GZSY fpP 14.33 1 - LP2IilM1Bhb6G0bzkQJ sb1 35.81 1 - lRx8wX2RW9W4if0xAWQ 58d 88.32 1 - Lsdjj30h9qW8xr0h2 eb5 68.2 1 - lSg7tHj8Qnba502zVi Was 68.9 1 - LsMfNe0WiYUttGIiGdAFSn pla 16.94 1 - LT99XhaEyiECpTlgnjiF lDB 24.48 1 - LV0L9ie1oECNbu44K sYN 56.05 1 - LVg0iiaxgCaEEVqaDmwoZ V5v 29.13 1 - LW2MUWf4IsecVn4cc uNM 29.86 1 - lW8ht52DgEgRKbhV q1x 7.43 1 - lX3Ycw3Z6b65pLNM VxV 20.37 1 - LxblBQ3wDGor7u sHx 42.26 1 - lxQrkMtX6g3B9PHCYT6mjT n6e 24.3 1 - LxR1rq2XAbl2LaUfP4chCpoX si4 43.44 1 - m01ChpMoux1Lqlsr1wTgC AVt 12.43 1 - m3CoTJzGkqoWPOKnR pKT 3.76 1 - M3yRj2sHuDvtproRlaVip3dM nqM 26.02 1 - m5qiy5aSrDRsPjYuK3 oLZ 57.71 1 - m5tuJK7D4QfkTwNM4vvWkJTz ori 49.82 1 - m9DtL2Ki8CdBeN LpQ 51.53 1 - MA9cCxBUNSNS7vLD3 AYW 93.05 1 - maQHUnit2wH5w9oKu4 yIq 42.08 1 - mb8oJBj3rEctyGAoWvseC YM9 51.9 1 - MCKikjTvGD6rEIIKuLONqq GV0 76.6 1 - mCPMhEMo05eNLs peD 85.42 1 - mDvI5pU9im2ZfE Hm8 33.71 1 - MeE4R905c3IEc5 UrK 47.12 1 - MgJfIWjYMJq0VAnVvQ O2j 52.86 1 - MGqAVnbVEsDaVeHy2kdiB9 O4j 65.72 1 - MiRF9Bkua7JohTmax8kzHKG XRn 29.19 1 - mJAy4lJtNLmBVvMu tR3 14.12 1 - MKPdSLF3cFvP92N CwW 86.39 1 - mN3RoRjh5lBfh6vuuSl2 b8r 36.48 1 - mngVTPQkazW4N0sjj vGH 1.81 1 - moZcAiO3KAuJ87l 0iW 40.04 1 - MpeUE0Nuims5wo KbM 41.58 1 - mPVqvyomHkvBWmtRgbM7FIB YWh 13.5 1 - msUeoyhGzGbFU41P2N4c kO8 94.7 1 - mt6pXBdIqwDKSnADdA4B rEX 44.73 1 - MTkOZ0RKmTKD53v 8nv 92.39 1 - Mu47DfHKYL6EtWFGPjz POq 42.36 1 - mUwd6Bxd6foSy6m Mri 61.36 1 - mVDyAXKJMJzhxVVIBVLE WQt 45.47 1 - MVkL1oR9l5LRSSp1cHV9Hq zRW 81.43 1 - Mvw5mfPdCuJoj3GImkgN0O bGD 30.91 1 - mX4gJhDnsTkARcg s8k 36.96 1 - MxBWAB3VSB51xn5mi3HRn7 bFd 66.65 1 - My7wIbRAEvJNOpXkOFmKf euI 9.29 1 - N0qYmHZtAsvfo1q Agy 19.78 1 - N3NgiuL0AoTHVNcv myL 91.48 1 - N4clAb9geQtpCyqoL XCu 54.62 1 - n6JMwoZhy8DIv5 ADO 5.42 1 - n6MevHte4zHHaG DM3 11.35 1 - n7aLzWfnUKnRqCE 5AH 48.76 1 - N8khIinkvcNCNzKrO9SFGFW 1JB 66.81 1 - N8mGSPek7hefjU8NFOGBEje fdq 92.38 1 - N8T4KDQP3S92DG5ylQ stO 97.54 1 - N8WFFwgUwbpZLj1koJIrx56Y 3Yo 80.99 1 - nAwyOtDhkko4E7I udX 44.28 1 - nboJrtJYV6Mt3zv1B4Lr9 e0c 73.16 1 - ND6Qj0uJo7PNghLG AIg 80.56 1 - nDHKPelpvbdCQ1MEr7q sZx 92.71 1 - ndv6b86rKp9n2cNX K6g 47.78 1 - NdVlS2f1LYTVisDUJL 27Z 94.54 1 - NezkXiKM7UGbahAr Yps 46.09 1 - nFCPghrtwrKldJ7Ucez to5 16.31 1 - NgroNYddwE8yLuWvvnCAbHe yYA 62.72 1 - NhNfGaKlT91S7wev6lwvW ezU 81.62 1 - nhxGqyJtcmp0c2GS Wfi 9.96 1 - njbqCyHTsu8mcNXPIUEvBS6D 9iW 65.27 1 - NjPiPAfJzD6iQMN Ve2 5.17 1 - NksJ8Ql4h0Ey9LKy1vG6xt zUf 54.68 1 - NkydGDsNDYVNwoiOt8Yeky UEG 15.78 1 - Nl979aeBArbokbg6KalMkm b0Q 24.54 1 - NLChPAeLao3euOX 9mn 23.51 1 - NlqtcD6OXKKiTydgD5Ifc fuq 95.02 1 - nN741i5RlauzTT5 OB2 98.08 1 - noMRxGcZyhr29PjuwAosgc 4Z6 99.32 1 - NOxDr6tBFvn6AzXOq8TBCz 47u 18.63 1 - NpKvHp3fE1kKFUk A3B 33.45 1 - nPQ9MXF7AQQtfGHGLm8i81 MO7 97.31 1 - NQ1bCYV8lzlBuI3kxijPdZl jAO 14.81 1 - nQBItoA4Z6BRi9ryHZCJ KWR 84.01 1 - Nr2ATnsW0soVDcryfTx 9fb 57.08 1 - nrtf4ebujgXutVUQ24vvRX6A 274 90.85 1 - nry7fD2PxCq0cKcancYLQT C8R 15.81 1 - NsKTnVQ542CLpJfORRu hzk 19.84 1 - nTETvxx8Zx8rnPNO3eMQpNG GHx 72.1 1 - nTKqRKLVCtEAZHFRXGP ZAU 81.28 1 - nTNXT9GgQqd4SpUDlakQt YkL 72.96 1 - nU46pBloZd9IzLvWqkWw6KQ QKG 43.35 1 - NuPEY4TO3xEhJtyRAJM89 T7z 25.88 1 - nuStI9F3F0w686CyEPF EM8 76.39 1 - nUZAtCgfhJyQOrPha2A7 fs4 96.27 1 - nv01rF8xhf5mmD tVe 48.18 1 - NvdU0t4nciQvavt8haKWV y1K 55.61 1 - nVgbdsee2SP4FB5Hq2TBYep ADL 79.95 1 - NW1fTAdEz1BlUxLah2 WOV 86.7 1 - NwJuCQLeCrcbbc3 3YY 88.22 1 - nXUNnjAQqfCH7YbOYEF b4Y 18.33 1 - NYf4OsHVg3Y9oQaKEfi bzM 27.09 1 - nYk2NTiKilobkNAjz k5d 73.55 1 - nyvE9NFl2vmvi2mzHMwt UWq 66.45 1 - nzsDP3gGhpvHviTBiYm2Yeqd CLP 46.77 1 - NZsqwirp5YhptCqfuu yTJ 72.07 1 - O0cGuNyxio4wwvIW8v XtI 34.3 1 - O5sn8AMNXAxcF3KpyMJXZb HAA 22.58 1 - O6azxvTxZ8GZ0TIB3Qb8S5WC AYX 71.02 1 - o6k3ytLBgirhI9 tQs 30.6 1 - o6NQbq6fMGQZbsvY kJq 32.83 1 - o8o3MRUxYQIgThukY C2r 37.22 1 - O8ZabEStBdi9CsfsVAsZOTvn EuH 24.99 1 - oA1rcvMtJMM3WN3IjDTlrI nWq 3.52 1 - OaP8iZXC1pp1aFJm5s Fgy 29.02 1 - OBEZPeqo6M0hWyfTt7MB3i3r niv 72.21 1 - ObvRXd5zbUB6wcIYL4 gpT 58.35 1 - OCazep9pWuL9Yzsk54dJin R2I 89.17 1 - oCges9emvR1NY4J TnX 8 1 - octuE87qAIFUrn B0q 56.88 1 - OEDrGN6OTv6vhQHp1Tkc4myA 50Z 85.93 1 - Of5BpUWy82CL4oeF4V 9wT 54.55 1 - ofkxBHZUOGAPOxTYDP who 25.68 1 - ofOxLC6d6EzopbXCUBC hxO 22.95 1 - OfufPCtBRzzdmmqYFUA3I0 G8y 18.01 1 - ogO4DXOCOmZXKxoJ4atHn0 Zpu 88.7 1 - ohl2bd2nFU2jBg8 2AX 83.93 1 - oHmIL1TqNdobgO7di 6v2 4.31 1 - OHsMTuqtHz6We4qEH 5ND 23.12 1 - OiCrNbNSFu3BIcKr3HXuBZ 1SB 17.54 1 - OiKsF1LwiVA6Nl3eMr x7C 67.43 1 - OJ0bjqXzjQX8u4l1KB7h1pU Mkb 13.41 1 - OkdHqmZSxXiqxCzmBbO SG1 67.64 1 - Ol0NYDdm3hqxDUN8gt04 cyI 27.14 1 - OlqD4h1xsEkkcZbbu vI7 57.32 1 - olS5kG6EPR4IZ53q7 BcF 96.7 1 - OndJRMmuEHmumgwSQ Wvv 81.96 1 - onKlpy2g8wCx2Zy c2w 66.6 1 - oocJRss86l5uIOqT8BbpokD LHv 11.27 1 - OoKtbEWbxXW6ao vPa 77.21 1 - OottD147HMIqmg Wfm 61.72 1 - oOxyniSQg7XkseS1dVQuzF PMg 74.39 1 - OqwlZpg0tmTThxZUFz2DmgN dIN 22.97 1 - OsST9j61DJ3vNlX3U JlS 70.54 1 - oSXPqILMtxwLj5 ES3 14.5 1 - ou1KaxGwHXKeqEnEIHu07JYo 1we 45.35 1 - OUFrIkHduLknIyp kRS 21.94 1 - Ow13bebZXKyZx2LwzUnyUl iZs 50.86 1 - OW1MtAVyNmiwmIeM8Ru PXl 48.61 1 - OxL4xjvvEoakC6o0SWFzLv bLo 10.34 1 - oYBlXuJnf0AhIT otr 86.71 1 - ozEs5xfkNSaBSctPlMAXfLo tzR 87.64 1 - Ozz08niBb8usTCQ0Qne uze 84.45 1 - P2CnLZ6wjMWagfa86PQ SDk 9.75 1 - p2rOb9TRfrpmEB734J3K 4oU 12.58 1 - p3RrlAVpzgYG8j0C CEX 89.77 1 - p9jPfGcJVMsEwYYpmysYL Cuo 98.66 1 - P9jWWng639kr6huLW Guq 85.11 1 - PaX7a2ZeCYLBeLo0Ywb9QUF uA8 21.31 1 - PbELYJY6EYll76 87T 95.96 1 - PC1Xwq9khOD7eg25XNuJqni uoa 93.72 1 - PCyvr6u2zEucFvBo OEh 97.69 1 - PGjlCUTKvUARyWdB k2X 26.42 1 - Ph5tQXDBnhWbTjJ xoo 99.69 1 - phaRh2uo7SAM3S OSi 55.68 1 - PhzrsGUN9PoBD3mSwcl6y ciK 47.26 1 - PiGGeRPSYxRyw1NKij8r mx2 11.52 1 - PKKgsHRrVuEwXpXdE2k8 Th7 91.23 1 - pKkHlorQinRSRQJdZ0fYM Ye8 83.24 1 - PKPztQnn95S3qiy1X2YM idK 18.76 1 - PltQR9dIYwROa5 wK5 2.76 1 - PMCzdqCNhX7NXHrWGDd qWt 55.65 1 - PMHOGU4zGtraGFlOYSc7R9 f8p 41.27 1 - PMIqODa6qLNOD5KOI oYu 43.68 1 - pmivv2mZoqInf5HYg uor 82.4 1 - pmSlPgZ3UbACR1YwKx xvS 74.25 1 - Pmxcw6cnA4nDap LPf 35.73 1 - PNkk03cra6W80jV6oDXizVgX LRm 35.89 1 - Ppbe1YE5u8tDy5JwDIhkDnYq ZQI 27.39 1 - pQFtR44HoQ4Grd5gQTB4bR sCv 11.73 1 - PSmNJYz7MMCjgAaUzyeKumP6 B90 20.36 1 - pSmu76DfLDpInp9 Y39 53.77 1 - PUAA04ZRu2YSpYSl3Wp7JxfB 37E 38.54 1 - PUrCSgoSOWH2UVl D2I 67.64 1 - puu3QlA4QIaWKE3KrljJpwA xoU 72.05 1 - Puxk5YIOcdh6tHvlaJ0gy WBV 12.66 1 - PVfFRi1A7ODcSgYSyp5cfx prD 61.75 1 - PvNGMvjloNOzkY7R Equ 95.02 1 - pVRJAXJWxBDOPwHyZKs7INB cj6 10.03 1 - Pvxw7Ts6nCrP4TSp g7l 82.75 1 - pyHViBYExLdKV4E0k ERy 90.25 1 - pYlDV1rHMwOZ0j9TTMKNUeY WnO 96.96 1 - pYW2sZ7IEjg78gvea9 AwU 35.97 1 - q04Ybp9gtmpT8RXwiKxqszj FjG 52.08 1 - Q0jVg7u6A4ZbN6tQlXsjXSq kdb 28.13 1 - Q5VAqeLHs69lk9wfRkRcWJHU cy5 25.63 1 - Q79Rmfepqv5lzL 2IE 44.18 1 - Q7DiN5QUywPkHOoH jvV 20.57 1 - q7ZUoEHOorsjVLz5m9F0ggew f00 55.62 1 - q8rdaB59K6MKmtqNW TLY 25.54 1 - qaf7t83OBruktJ9 7QH 20.49 1 - qaP66yKXl8iuXduawPFxe bg6 38.91 1 - qC10rKozjpso8r6dxu chl 7.79 1 - qd9PzUTlhjEsekV0NUo3GbCM BIN 55.35 1 - qepymlgDIndNoEaR QUX 18.78 1 - qf1oZdzGr2W42i70kaNuk38 00y 76.81 1 - qf36p9CoGxOXIQ 1lt 66.28 1 - QGdgYHj5LhGDUvtofp dxC 88.6 1 - qgyo23KYSduq4rSGhmZdy dCE 63.24 1 - QH8G0J9UW2twj7 Foq 78.92 1 - qhXD45Ge8KYXVKkBnl5AnUbi C2s 28.29 1 - QihIjz62Zu66Wu puu 25.95 1 - qJ29mh3igLo8PL95KNtLf lt1 25.19 1 - qj3HacO8gluMPy s5V 90.65 1 - QJje68AM5qxMkahvEy6 Vet 72.86 1 - qjRCy8w2SpIYvDer3RAqu xYR 86.12 1 - qjVwvkToI6szzA7DjoYr7 ori 11.16 1 - QkKno7wqhsBq1MCqL YOp 66.26 1 - QkoYhRYWtcIxrAlYG SrO 53.02 1 - QlrPeUnoW8XLUUoGc3L zwA 95.45 1 - qMbOMkCscVI3i275oLoA0w Mo2 90.16 1 - qmMUUOHzOp6AxWvSI7tkK Xay 57.34 1 - qomB8fW6cCL67QXogBSk zlI 88.05 1 - QP9NsYKE2oB04yrnpiM0 2xW 39.66 1 - QpXjh9Z8XiB9FH3oTCxoV2bm Sk1 45.99 1 - QPxvlmw1it4mQzt G0Y 21.56 1 - Qq3pEfIwdn3VriDZtybfx XWF 44.47 1 - qQebASxdzPNIE1J9Voe MDZ 66.49 1 - qR7Lk6AUzS8k3U9kyfV3 hus 56.42 1 - qRFzkyTggJkNJJ fgn 4.13 1 - qrvxcAkdMe39nfKtmdj5eW 8iV 8.77 1 - Qui5WxWbdp1oIFfLzMQfA Q9N 8.9 1 - QxEgQF0gSaXpf4Y 431 87.6 1 - qYf4XNzDv5vUlz ZOq 89.64 1 - QyIkFBfP0PBEILVA2G7w3 PcE 15.3 1 - QYRfBFTwI6cynn5 hoE 90.97 1 - QYwbI89e9ncnlJOJ9oM 6kB 18.5 1 - qZhtNICPmT3xbeKdk8K1V0P 7nR 95.43 1 - QZpq09KFrQmOWTXOT72uXc3 xvn 51.68 1 - QzUJlNEyR3fVgEX 9vi 67.44 1 - r0FWekbHIqzVzaJl1EIGWGsF z6y 7.73 1 - r0nHYC6SwliA90MXDX JRc 30.08 1 - r0ToJLZC6ggPDyQZnGP 0Mj 39.35 1 - R25vnJLr0nsNGPt ZMS 52.03 1 - R5QwgHd4HKdbOZNZZNEle Eit 86.44 1 - R6le82FzuhFP32ErHkToRZ PRI 4.95 1 - r6PPkA8fr6WSvi7A BTw 57.55 1 - R7Fydl21yZkUNQe ZkH 65.71 1 - r85iRmJo8q4g35Je eFG 43.88 1 - R9UtaZjUQzLToiQbSRGHK TxC 41.66 1 - RBQCVWthwHFGvSOGTFrMNKiq CY4 55.51 1 - rDNSGptsMtRWWC7Ezy7 3fz 88.06 1 - rdovPcFy50ch0vNKQ8hkJE Xeo 96.01 1 - RDTFeq5N4KriyXs0kmtlYh 3VO 1.63 1 - ReFnzIkgdrmsLw tuU 82.35 1 - rEMmThyMzZGfakSOl D70 75.69 1 - rf6V0JeVzw30yvdD9A3Dncp GMX 86.67 1 - RfGAEq03TSNRARy DDK 57.03 1 - rFmeR8mqXfQf6E 6pm 97.84 1 - RFpiCoSHuttttFnw4yd OZe 8.07 1 - rglgIlDapRkVgx0GVIJL2vF wmb 18.76 1 - RHsx70BA6w1pNyKM4G9Un6a 6KK 47.84 1 - rIQEnqBeUWYwkHtHCXFbJte8 a7m 91.61 1 - RiVtvCwEiwt0N9OnBwyVwMt TrE 26.52 1 - RjyvNSmXxrxFCWcdPHIOp1i TZw 61.16 1 - rKgzFhLYAklXz8S DBI 77.2 1 - RKS4ZEeZN5Ugo11lsJJCgQRS 0aR 39.94 1 - RNgNrHBFdqeiuBPae41kphfi f7x 89.74 1 - RNlGLeD8Hj2nF0vJ J0w 5.94 1 - rO69pVIhbbaAcs jyL 94.95 1 - RoefUWwzCtzEHFVoQe 1Y6 15.25 1 - rOl1hlxGDZbRZlJfLoHjwM4 f9m 49.15 1 - RPagzGYCuPXB1DiZn7 EvT 75.83 1 - RPieMYuSQPs5BuR51YJPRlF kO4 2.08 1 - rpYWiYZfjTIxOr Dcc 75.34 1 - RPZd1QfD1Oz4pvQWTcEl pUC 73.56 1 - rqBJSV5ieYSGSTg f7f 11.87 1 - rrSnOo3FgAlq8mo h7x 7.49 1 - rsnpStePhGJ5cbc0Qp LXX 2.63 1 - RsVtYNU406AKgsJLXI NL0 6.11 1 - RsyBqiILwhYlasuYrI8zrBl9 WYa 7.26 1 - RSYuy2llNNGOftOERZ1 V76 84.41 1 - RtBTDYJ1M3wvZ7 WTZ 97.08 1 - Ru6QVmdahoaIKo dno 38.45 1 - Ru8hSBqNF1LjhI pIQ 4.2 1 - RUXEoEj2aQt1BCKFNSZt s2l 13.29 1 - RvaLlDEILeVs8fn5y9x4dhg 9Rl 22.79 1 - rvNzzk15hv27prn0IUt PAX 37.15 1 - rW3o2WyHQDzlxkBk AWo 94.21 1 - RwSCGJmUGMENAt JWQ 45.56 1 - rWWNfX5yWNi1d5j7Epn Jx6 36.79 1 - rx5Nrmnah3H12WtEpow WtJ 57.16 1 - RXill3VFEZ8EqjWjt6fGUiP Xll 45.82 1 - rXSKiGRzK1sbXN97a izQ 52.88 1 - rzBXDyD76WdnD8MMINzi rFK 71.33 1 - S00J06OqTyeNoGLKbu3G7 0Je 18.06 1 - s1Xdx5NRTT8P4QjS Joa 92.56 1 - S2VqQgWqhS3RoVlviTr96R htK 32.75 1 - s3k9YdBgCZChqqc2KJs0Rd 02o 66.93 1 - s43AZxvAuX5cryV NeL 7.71 1 - s4XVPloxW2sntECc3wEAPNA dMU 72.57 1 - S5QQcGTJ2Ru7VhZgh 798 49.49 1 - S67tRr7b6BImHJTYdbYGGUi s6y 72.6 1 - S8jTdmsSW6J1f24rSleyfw Hca 18.29 1 - sBAie5QHzV5fx82Zq9gzpU OqZ 32.24 1 - sc5aEYg6zhHbgthY Sa8 30.04 1 - ScgBv0aPRCffHo jgs 63.59 1 - sctez1OUXW0NHr03pfli4U lQA 37.21 1 - sDInbdYgzmGPxpJLSrxdO X8O 53.08 1 - seU96HzNN0fwMfYlDJplU pHf 94.91 1 - sF3z0wWUD0IC1pH 30N 59.97 1 - sF4gpiUnSfXXcS3 TIW 81.31 1 - sgc3SU66nhw24xmWNF 58R 73.4 1 - sgjGMbb4FA9dHaf lRa 34.6 1 - SgRgaqpdUruKTGIBm ouk 64.87 1 - SIJ7JVaRxbcXah7rOAVJQKLt ldj 87.77 1 - sj4tIRIyyn3es0jDtk8qF 4wO 67.79 1 - sj5Xr7qzw35utX yoC 25.68 1 - SJend8FY7yKDsn2X T85 90.81 1 - sjPUoLHBbatTmtocHMypO hHZ 99.89 1 - sJtOMpYW0fbPeLltexDrvLh TJr 44.57 1 - SkNbDal7HKaK5MzvRhLL 3AZ 20.67 1 - SLfsxEDW5U3bQedV34KRyQ aYL 86.24 1 - SLhYnLUjIPKFhp5N1BZysTvu UhP 79.08 1 - smwbAhBCUACd9sdJFWz2M833 Yyu 43.65 1 - smXsoV5mxxJyxo8 bMm 45.78 1 - sNgMEXHDy2xYhk6gRX3Gy yio 86.8 1 - SON0p1HBKsEKycIO1 403 62.97 1 - SpHmNpcYtOyMlaS9 KgH 38.16 1 - SQ2WhZJQs5Un8X4hk4J LY0 90.42 1 - SrETF87YVmopyoCu8vIa wdi 93.73 1 - ssHSCI7qRGVoaarb79KXz4ob K6M 61.93 1 - ST8CO1SdQaNA76lTZKeM Jps 27.02 1 - stxqwGJbgJeLb1mfY 0aD 25.79 1 - sukmVIXCSn67vVAlTet p4e 16.01 1 - SuMKUpks20MVLNw2gc DQK 82.91 1 - SVCznCfaGuPwfc VFF 87.31 1 - Svv5voiLn2TVRUDWmHf Wx6 27.4 1 - swZiMOVaMB8L6DS4 MS1 6.44 1 - sxaxXe26hFT1Ibb XBF 24.83 1 - SYpRauEMoP4FebQKefDOqV aZ7 12.48 1 - sz0NdgvFy62JNTU 9yD 87.19 1 - SZ9Qux4zKykbLUFJKk6Bi1nB YwN 77.6 1 - T2DOnK1ew2Aw3KbAXWvvM NVQ 27.54 1 - t3oHSHrOOQMVEP vnz 78.27 1 - t4ccklaRBqjFXhCnH coA 49.72 1 - T4CuDNhqqNCKJdnaevz3hHq t07 17.65 1 - t4Zc06ibr46rnUo XKB 38.2 1 - t59WezBkpcrvXagU5feH yCY 10.33 1 - t5coKomHaPANbfKiy2VXtL 4xQ 69.49 1 - t7esI9bupiR2eHMV4WLpc6J0 TQU 9.68 1 - T7Pzh7yR6mxxXhPoL zwd 27.41 1 - t9lCi4dHew3BymRzyNy8nA9K scP 69.27 1 - tap9jqTTMyXCU3xh9 xG9 17.67 1 - TAXWVFRQdqpOGlDSPN aLo 59.75 1 - tBfoqUZc3nKcKLdDnA8 GDs 31.12 1 - TBtoqNTBknbpS0ThxMFS 36z 60.9 1 - Tc8NKhKKj8xUfoDOqX1 40H 49.57 1 - tEdzF8kghiu0yyZJ0 lAO 75.3 1 - tENXvTd895E0pd2F2 EjT 23.77 1 - TeQjJV9teIv3JtDnPw 6KD 75.99 1 - TEQOQFcsU6yhrUldJFj5RdSL 99K 53.71 1 - TeYu1aOQJtreVBwcB 4QS 64.69 1 - tf54wabdRnf3NHdYVxzOg 3Vc 95.26 1 - TF7LQG2WKvjP7WkAFU A1O 54.2 1 - tf9IkWLlXKssLH dSE 72.18 1 - tfdyDbfuq3Bfqem4lq lJG 47.38 1 - TG2pqiRoYYAg2Phu2x7zbI nuo 99.93 1 - TGBV9N8TbblmdhnXWCasQp uLI 97.96 1 - TH4UpKUwsroSrOxi ORG 92.58 1 - tHjOYdwyt7M5fL4hPuPo MY2 54.75 1 - tHM2V9ymycZdRs6ZPcG3g u48 36.22 1 - tHnsNjID2XM0QaCrveL2hHxW tgL 65.35 1 - TI4rpz5Z8W7YeQofKFjgEBpz eBf 40.57 1 - TJPSkSKyPbcxt4RM58t2JhW ror 42.46 1 - tJR3s3j9B7uEIRqrzfEVYe2 u7g 21.3 1 - tKeRiqmX72izEGY5Tpkxj KXB 92.34 1 - tKKJfPuqcrfPcCI 6Q7 17.08 1 - tKzof5KSuD9KU8o5awGpm0Pz Cf3 44.76 1 - tluulKWRrloEkH L0D 22.68 1 - TM76uaNv4HFty3dNT 5MS 94.57 1 - tmf6ThzUduSQkMuu N7x 30.97 1 - TMJNgyJGcHo2bzoM az2 90.89 1 - tPBmfeclv9j6dVjMkiJj2X 2B1 86.19 1 - tpxXav2iTngSHqySX5mRDHD iKd 27.79 1 - Ts2tcICOYSfqLi 9gA 88.85 1 - ttBaqvlboRG9ha dlv 99.47 1 - TtCoQZdOcnG7Jpjt7B3H9BJ0 Sts 32.75 1 - tTMz0Ce0QrqET2WrpYjYO A6g 83.68 1 - TtOiVmaPwN5yMAd fCv 84.22 1 - TUClmpnVo3kzSYFFLY86HIc paV 39.9 1 - tuNba31NCOwxD2UoJiXAOB 3Yc 13.75 1 - Tvpf5XFf18BkI2T cIC 86.11 1 - tvtglsqFLrIsvi EgB 80.26 1 - TW1LYUcQS2Dru5mp lQJ 53.37 1 - tW2FG2aHzlT2v8Jywkes3rt Kwd 86.06 1 - tYxPukj0QKMyqE3OgiD cnW 38.14 1 - TztzRsLodT2Pur0Y2nRtiS B2d 73.78 1 - Tzv1YxMu70cdYA9pWWR bI4 76.14 1 - U0DQU5LOcFHKXNqL nZg 60.45 1 - U0VOWotkXSJ2pzsL4 cH5 26.44 1 - u2jGziNyuAucmwjZct5xR 6kD 67.01 1 - U3ilJloVcABVb1A0K4fj 7yr 92.2 1 - U3LubhEKNJKV3J4BMGLCB YaK 61.88 1 - U49mC5p75BYblY0l5SxBI Fy4 87.32 1 - u4iOHwOb92rkaUAEmltGNgP ocq 47.96 1 - U7ErGpZpgas4Vf3SvDk07rf WyA 35.26 1 - U8XmpPbUnZwwtbJuCwa GR7 22.35 1 - U95gD5JVf5JEeGkmLczY 1NR 34.42 1 - U9FiQLmkZAiXMKkxqKAJ iHH 18.81 1 - UEfeL9Zx5kgpRtGDbiT RYc 71.86 1 - uesKPfmyaDjzmA3mvTzz osf 17.6 1 - UfK51ydwQANdJ4cqm3JmLGvP Qh8 92.16 1 - ug6RR5mud2770w jBS 37.59 1 - ugHT9UFOYGKLTF42Xo9T CVh 96.12 1 - UGZhySIbfZYlL1NTkvhEK 0wi 67.88 1 - UhIUbDmRt2CkXqx jEL 67.69 1 - UHJlvkLI7Bu8Ar6wnY9 JSA 68.67 1 - UhrJHgGdYfdnan89C JPc 11.34 1 - UIQISPb9lFt40jwszS1eCNMA aLC 38.44 1 - UIuTDjzpNPrh6nwqrG Hab 26.31 1 - uKFdauo3vYlBiM2CsUwTv UBM 44.53 1 - uKGv1g5Spj7JMfySDgm Fca 49.26 1 - Ukm94cZvYUAOjDj7 gqD 24.29 1 - uLAO8qSC1TM6HXnQqQdXep J0q 11.85 1 - UlEwPfof1obB6RpjtJ oRU 69.57 1 - umbDYpJJUBxZIFOghDdmK6qu HlR 25.13 1 - UoNwKuL8Pd8jxsMJh2AboNM i3G 52.72 1 - up0KitPCx9bACH1GSdk BM8 64.99 1 - UpWOpD31ZRm9hL6W lvX 64.43 1 - UQb4kGlQBaQuZjEgW4fdS S6N 50.61 1 - URAel0CqfSmFM3ZOpGxu 2uh 30.42 1 - USq6h35HyGJ8XrqWl4cb7 5qz 9.52 1 - uuB62majnBjKB9Lc4 uns 34.79 1 - uULdcnAIUFxDkF JI0 45.13 1 - uUp8nPNSheg2zdf4MsOsOShV dnd 92.51 1 - uvTCdgplgiN7Y1JysetLMFOd RRd 49.47 1 - uW0PG25fTkw9Rx7IMWAd e9H 37.66 1 - UXOFRISeI8Qf6rmd4PEP Fi2 50.24 1 - UY2TQLn18bcrKEs2 0ID 35.16 1 - uybUE5WkGAGis3iz8T7y uSw 98.98 1 - UYEAx0mOuNpQJGjZ rRR 99.73 1 - uYnJACueQS9AHYVaclwcC89s pPB 99.67 1 - v06hJC8wDms84e ZKo 35.55 1 - v1KMfS6cpybDLxhNptHl3g1 3c8 51.97 1 - v31Ksj4S3H5erUN VRU 54.72 1 - V6HurSZTOavkZ8pGs jLF 93.12 1 - v6WfOyQkIW49I8w6g vdS 63.82 1 - v7MX26rwq1wfTfU ynk 3.7 1 - va3JJjZBG5BkyBRl RVo 1.79 1 - va5tqd1huUVXAhstsQ MJ3 10.22 1 - vAVkAgxqXwDy5bwemAkeT 6F4 59.62 1 - VBbXpGZXGPu6RCbYACxMRLw nNm 83.92 1 - vbtwPamTB1bj8X HTp 14.61 1 - VC1G6LgLCKJLHjJ u5r 31.32 1 - VCeLkMbFThywPsi3u 4pD 22.76 1 - vDRO5wZLno5YpNuv ybr 77.91 1 - VFH6AH7wwjkCWZ OrT 35.34 1 - vGYHhVcP44YMXvl 1pP 28.51 1 - VHaBhBHq2MIiDnP PRW 26.72 1 - vhgoVjJUlBXDFdZCxzsaya5 byP 83.37 1 - ViIIoW5iw3jjYY 3cN 75.79 1 - ViUrMTJzbyMv5FEVZ4L2U 2Cu 53.13 1 - VJdxOa0cUOCdehC Cdi 76 1 - VjEGHq4Hfr4mpdH AYp 53.19 1 - vJKBFA2R0yKwcVYa6i6 KrM 30.69 1 - VjYMWDzBXY4EjDCe0X8LHTQ mbh 32.25 1 - VKIGIcNtliDEQTiT 60Y 46.27 1 - VKLBDIsd6zpZOu2 cHx 20.01 1 - VkwQveeFrNMvgeg0eLXhMw Av5 32.8 1 - vLIaSosKTKfP2x gq7 40.29 1 - vloWB3A3HY57KtTdbK rTo 19.64 1 - vltilX6riOX9kpMzBna7w2vr tqj 23.29 1 - VO0CHbaizesAMr5aVTFgwFR b0T 97.37 1 - vpchajIrSdh1S1 fA9 85.92 1 - vPlb1hBQU3px76vWSEm mHv 56.89 1 - vPQugjl2n6DAumhKfg 2nf 51.16 1 - VqwoQjSGqOHG5idIYuku4 WuE 97.07 1 - vROPqIOdNcQXlGu vw6 41.75 1 - VRzokuxwKlMt13 hHJ 90.36 1 - vSbUM9brN3tmHusQBk OQ7 60.58 1 - vsEtCGHKFooVluQFC qwa 42.88 1 - vtNClByfxwM1jcWmrZ i2K 89.11 1 - VUdyA2qWjBla2mcgbphX3b Acu 35.94 1 - VUncQYbai2j1TfQCCc7 f2V 25.05 1 - vV5NVSEt9iybQaQxI 82H 7.9 1 - VVM8O0ruc6ITW45Sl tLW 70.55 1 - VW5kltBFr8lPZ8JxIHIDTJS x2J 85.02 1 - Vwjufg3E9juTrQ FY9 32.49 1 - VWl8adVWg5LFq7 pK8 18.46 1 - vWqesjkTL758RF7KoOnRDKfr Zk5 39.25 1 - VwSTOQY3Nvwvwl7H K4B 62.65 1 - vWYJvMIPGkAHP60zlW nv3 85.84 1 - vxnh14t05Ho74Qm0dbs 2Ky 61.67 1 - vY72xMdYCe0iMsQi TVo 62.56 1 - VykD7LWaVxr5VyT 6Zl 82.57 1 - vyLJQ6WgvsD6XCqcpGW OLS 11.65 1 - VZaSPnxSH6mvOSuvJU 9gv 74.94 1 - w04nM63TBuTWx7OISI23zf 2M3 39.49 1 - w1WlXjmk4NIYWGxJbPJJK24 Rvs 69.54 1 - W2i1VIGm9riDFf kkO 80.31 1 - w4RHlt14C0ES7v qKq 27.72 1 - W6i2UCUaelSzr2lGL9Ts5 Rym 34.59 1 - w6WqmNGIeptTLbBpEUW0 2tZ 1.43 1 - W7PGy7dUw7CdNksU7Y6ITI6 k6F 27.58 1 - w95BTMeuzJYLF27VniD6BgB ZTQ 79.11 1 - WafiD0POjoXJJaHQ1VrXXNo4 EAV 28.19 1 - wAWdZR2piZxtJYmLeJu45X rIt 1.7 1 - WAWzxImFjBNhFgaq pgF 80.95 1 - wbC52JhiIbOCRaVYsEEhBsjC b0x 92.09 1 - WbyoPckqqS3vaaX988x lOT 22.94 1 - wCJO9G1gWMaw1NO Y02 14.36 1 - WcluqyDt8cxKZjfDWrSocMpm l32 84.96 1 - WDnV2Iw9s2U0hZB2yN9eeJLH MTS 87.02 1 - WdWGjEOPu4YJWtWfehMCW Jn1 14.49 1 - WEDI4uzoPrq4IeIkbjG8 l2b 75.18 1 - weIpCGsT1Vl0eWE zAr 40.43 1 - Wfp1En3Q4TWCgCEHwVp FcN 90.93 1 - wGFRDl88owz5S6qKsFfLN loj 66.7 1 - WGOgGNKUI9rJ8IOAjb6iQkc PUQ 7.53 1 - WHA8uuwDUng9XdNbl Sul 42.82 1 - wHG4PZVR76vx6uSI jfl 5.54 1 - WhlA1GNEHgmUvLJC2 Rs3 2.85 1 - wiAPnE21zfHA6Z88E20V0 Z9t 27.52 1 - wIaqUBG25Yzbu7ZxR c0J 16.07 1 - WidngrZLXel7yzSF73HV9 wYg 40.18 1 - WIH3SOeP0yXH5nEK0qXoLH Eok 86.04 1 - WkBN9x4LI7V7PnjMkEg 147 15.29 1 - WLfo94mpw1o8Kbf2a a6z 92.23 1 - WNDES0MdgiRR8jj AYQ 89.86 1 - wnLYCRGWqEd0CYuUQugaJJb qsR 83.91 1 - wnp6dLsieyRtDQlegF 4L7 34.7 1 - WNU6OrQQ3HKAyoQ8c7 OHM 95.79 1 - WO8wMOEq5E7AAbVrAaAS 5zj 73.13 1 - wp6OZ2Tz2P63ImEF Cv8 43.25 1 - wqSXAkIu6hm6wOB9MypS mvz 53.39 1 - wrYaCoZvq382kidwns Dr8 84.59 1 - WS4CBFMmzH7zafR6 Vht 35.13 1 - Wsd9WNkUS6en4KJOB7VUY bHF 34.7 1 - wsSCg4pxP4GnKIQQKR xiV 38.4 1 - wTqYkZ3tbjLUfofA OZf 80.25 1 - wu0eZF1g4Vy5j1F gb3 30.25 1 - wuhoaNNXiUcmQu8MfvkZpj HFS 20.94 1 - wuqKHVboW6oAsnd59xKtp sG5 8.59 1 - wUsOMxLu5uapAopQkE Uiy 3.38 1 - WW0y8QypoznWVc8 1Uj 63.23 1 - WXc918pVzGQoQskWnvnNI78 ocZ 57.05 1 - WY4aAXv8f9iPwqnMSn5bd1 WNG 74.13 1 - X0ci0dQ6Clz1dOBXO6hYN SH0 72.11 1 - x0lK3HF94lK99GWIKXw7avy Yq4 78.01 1 - X1g0Fa783sy2IM2Pc11VHqtr l9G 6.72 1 - X2A04y7BlJWKwj8af3ftIK Pj3 15.34 1 - X2HeRVwr3HwW5UgUoPq cNS 68.33 1 - X31i6o8dCAEbb7 UjP 44.5 1 - X38PxEKWnWnZjzWA hk2 45.21 1 - X3PcRo3W4Gcj3YxMV Jko 40.31 1 - X7JROHrCbnFu4nz9L jrT 88.53 1 - x7yR4WekD59VLb dHm 13.13 1 - xA3ZZPZGPZz4CpmIZb2pY4 iBd 93.5 1 - xAAbqdhFMj6rSoxEeXFxayWG 1Ea 90.9 1 - XaP4K9Cx3QFqI2 wLF 50.35 1 - xavgftQfXQ2FZL1PQtpo DRX 5.93 1 - Xb8Uqy3Vgr2jX2XtzBC WMr 70.1 1 - Xba6Npti5yIfU6qq6Uh4R huM 91.89 1 - XbKQMytue5lnPkVZSMUmby EWb 42.3 1 - xcjnBI7rtrPAT2nE uEX 41.79 1 - XcxPdaojEtO4iUldHI nEu 41.19 1 - XdBIsMbPUePSW3Mm6KcYIuR ryW 81.88 1 - xetPAvJWrG2DGibcgI IBH 29.69 1 - XfyfNBWIKmqgwRceqge8zeXa ODK 24.63 1 - xGC0PGdvKZB4eUcFBXmo ghE 52.33 1 - XGch0a918Bi8gsb DvS 89.26 1 - xGwqgX1dUF9upg31 JPk 90.06 1 - xgZtZKhbcoWThEw5wGB RbE 24.88 1 - xIx1Qj1OVMQcbT1 0DR 42.71 1 - xjMmd163QZIDupNo Yth 56.1 1 - xjuf1THNUvBJ626XGBc1 Sg8 92.39 1 - XKDErHPffv2LIbu e8Z 99.38 1 - XKem1DpBqcsaucbQq7f olm 30.02 1 - XktieuBbkiTVv0kTwrmRTz aSA 87.21 1 - XleZC1OP4pKtsqFfyWH09SWZ rAF 33.88 1 - XM3GerTLovpOmIsjXqcyu ksk 35.99 1 - xmRyNN5aCowYqCef 7NC 96.55 1 - xmtGtFPXUDZX9d2TMarr9Fs Vor 89.33 1 - XN2bCEAUhcw5rNIG8LR6 IXH 45.78 1 - XNpnuJkXkBLHYS6 AyW 60.53 1 - XOBZeRVF7tkf5gPfBFWGkqL lEI 32.94 1 - XoEdUNaVJbjkFdT37bsY aBz 20.88 1 - xpERJlyvsUZItE04J1Ifl zSF 61.67 1 - xQVPiCddOZqGJuFBB Loc 30.13 1 - XSCZ2etE3GPKilgp TWd 20.62 1 - xt2xS7RTO3djz9B1dsLt55cu hPf 41.6 1 - XtcVi02GCdnEZwIh bgp 92.34 1 - XvSxvehW2SpKSb Z5D 90.41 1 - XWFpRaXkRxxdL603p cRh 45.14 1 - xWLVk81UzxCLYHDTkL 2vd 90.35 1 - XwrW7vufh20Sl320nSSAklAt piA 39.67 1 - XZmUOY21cmp6Rh E2X 52.91 1 - Y0rUgo7FlunHOrgdwYEYC MzD 27.5 1 - y0ztVqQkc9RISpY uef 51.97 1 - y1nNGFSAwyHreeOjIj ltB 5.36 1 - Y6jvY7foR7Sl3bzeyJjhAD4 aXY 14 1 - Y7RL4OgHy4aRuV2stl PaK 65.67 1 - Y8TnSiabnr1jbri lp1 76.12 1 - YAIMMo7Lvqjkgp1 uO9 77.92 1 - YaXjagdzO77uUVAoN8Ozs bNm 38.07 1 - ybDJ3X8oUNt3U4bf OQq 4.21 1 - YbKWuFJL6pMMKh5lkwXhC OTO 19.11 1 - yBsTxoMOSuL2OQ6KMEPM6cLK TyT 6.22 1 - yCQo33cLmsgVVxx m6t 25.59 1 - yCwguRlWVZMAIfHgUmaVt cyz 67.13 1 - YddOe7TTfksgIwowK jMY 34.06 1 - YDe10m758fsuaTG1 oUM 78.1 1 - yDnENznEnLVzCGuoCOBHQG zWy 81.52 1 - ydqWU0Zcxp52Cvl fOF 43.42 1 - YE6D4n4J7ajBLQyp0eA 211 24.51 1 - YEKkcr4tQDDK9nobDwz 749 1.09 1 - Yf1ei6thDJWBkai2E09nl tR3 45.68 1 - YffrvumTPlZqR1kTRSm sdV 10.91 1 - yGIKSz03msfYEVQI2qKIsj kHY 50.91 1 - YIJCQvkB9WHJ4DiAfPmkF 7nR 35.26 1 - yJqU1OETNzihkL qtD 44.5 1 - Yk08TfZs5CcKjI9tGyl2RsYL qRQ 63.08 1 - yMnutEiPxpbXt1GnoFGd3G3 L8B 58.22 1 - YNnm5QEQ0nbjpu aBs 41.71 1 - YoAWyfqDO2zlfNM9fRDg 4L0 61.78 1 - YORinqwGkNuvvMcHy9XuE V4N 3.1 1 - YpgR0uHiJE80VbS hGy 84.21 1 - ypUZzU8lhQP1n3xYR1NIb Kyu 28.1 1 - YRYovyciDIWo2WKzr RgE 27.39 1 - YstdxK2JW8ZzU39hm BVP 3.83 1 - yTa6a8QRg8ErVXd1B8 AgK 36.93 1 - YTJkVAj41wIrXL9SD1S1K P3r 17.34 1 - yU0rQeGImscj8aaVrHmJ5 VWP 5.68 1 - yuYQXEuOB5Xl2HnsqMiWlZxB LJV 87.42 1 - YVMIpkAZkAuwhenXwqvzJ xdl 17.21 1 - yvpKM5VDTQ80aN7rZncvZM c0X 78.57 1 - ywbfIhFx8pBVpRXty vHh 29.87 1 - yX6T4dG06qhQZ6Otyjb 6Nc 14.11 1 - YXouwXXX8eEVI7 rOG 35.07 1 - yztTo8pZgplkub6M Na9 37.86 1 - Z0BRxLp0y6yUPtwD9U 5JQ 72.53 1 - Z0i4ZuioNIyn4VP6 EST 75.28 1 - z2axjEQyGHLyCNMi9aF2TMlA TRx 56.45 1 - z3CNwWMBczlLeLQTXrYhxhHF 6tB 38.29 1 - z3cSvDFe3sMKsHyfWCRZdXQ Cor 71.94 1 - Z48sH6I08VcP1oGRtzfq8CfJ 6P5 39.85 1 - z4Kt5fRtrD2I4Jun0idlD7s Od7 80.61 1 - z4LNvVvPttwYhL caS 81.03 1 - z6CpY3vGToEeFoGFvVoX5L RHm 91.19 1 - Z7HJoJWePs9DfL wMb 39.24 1 - Z9W0VIzTcJlyBt8n 2vi 22.7 1 - zBm65MU6sxXieUOllu WZN 86.21 1 - ZbNlY0mTCxv3NmWfmA8DaQ PBO 88.88 1 - zbNu1xxEjde6HW C5d 77.68 1 - ZBwv0nClcq6fF0sdiMcj fKO 42.58 1 - zd84PS7RDAWhYJ BaV 20.37 1 - zDhfnfp94ZBkpL qbe 16.66 1 - zDWUNTGRNSVHDtC34oEZ4E 3du 86.19 1 - ZF2AyMtnkYRKQHm7PZxlv BxP 91.31 1 - zf2p9ajWtGH29kZYoWdGrU j3s 9.26 1 - ZFJcROx8weBQE8ogoQM rC9 2.25 1 - ZFRvIQM6XjfVWh see 26.47 1 - Zfyuiw5jrlT84oEtr MHJ 18.46 1 - zg8ggpg3qkR0RmfHa kg6 9.34 1 - Zk8hs8cvh7FKmO l8b 68.11 1 - Zld8Q5yRf6eiE2UNtz9QK E7N 56.79 1 - ZLtdlrUys92fuSccJYPmx9 Bum 97.42 1 - ZMxJHnz4An7m4C3LDf3Af8AQ auG 20.17 1 - ZnpzeNsyeJXAFZRdDagu P5Y 81.42 1 - zNRXf8lbdh1mSGU9mV4L Qty 18.76 1 - zOGsAMgiUpRD1lCUb34ATM dnJ 7.53 1 - ZoX5p0L1uKfHlS5zcCBIj 5eO 49 1 - zpokwAZYw1YQkw2 VvO 55.16 1 - zq46tAk9DESTglVxmU 0kA 89.53 1 - zQd0y5Nz7NkI4bCxbxkM9 TSW 75.19 1 - ZqpxhD6b9RDKMD2EOx 2nd 3.87 1 - ZRd0N7ngdjsghO8qP 7UJ 24.98 1 - zrfVBd1A6T23x5PhAv pZt 61.89 1 - zROImS2r0gmZPHu2 C2U 70.08 1 - ZtBZmK0TesJqpbPgG SHo 71.26 1 - zTjEQkKztB9qh57r MpR 45.86 1 - zUG8qz5tVC5vTWgup uRL 96.19 1 - ZUxpDw11omdd7J78WVm Omh 62.06 1 - zXcDPC1sQRwiXKICxW MMN 25.92 1 - zXHVES5b2EC0vsIItf NeC 17.83 1 - zxMHyXniVBNuJHq1qBSv OYJ 50.15 1 - ZxVaMV55c2scJStgn8 M3o 87.5 1 - zY76m194yqaEKSZ027ZiaHfL CI8 61.72 1 - zyBFm2DG74zK26LL6Ga CNK 59.42 1 - ZybIvbbugXyNBR Zqf 40.42 1 - ZyBzM3RXghCJe8wPbxO6Dj 54N 32.44 1 - zynrGW9lxFY417 vGS 76.27 1 - zz3rluGqjB9PkRZdk8aLo 8KV 97.04 1 - ZzMdffMv8f54bHMk3EX RTO 94.7 1 +01uXuK6OZMODiUhZYqZ HpH 75.52 1 +07aYp3TpS3pCsDM BIc 75.23 1 +07jjDag1YcdxlZP154kSU Pyx 26.65 1 +0CE4MnYQ9nyebKYTXZ6la Zpk 58.31 1 +0DD7nJVZPX9K1QI1 Zaf 11.39 1 +0F55aN1ZZYELTEU1nGr HGj 73.52 1 +0FljyS8XJP6gHLwEgJmQY2c IxG 6.45 1 +0G1hQ1ExajUPzQ2yOmHz Q3s 37.32 1 +0I5ILKiFX2LLbAaISFr N8r 50.47 1 +0J136pDbmZCEMPUwEk dVO 13.33 1 +0PrMPMp4rmvXTMopEG2WKgpo sY0 93.29 1 +0RBB9b7MYaFSSY3DODqP7 cy5 4.27 1 +0SD3M25OEUzX5KXIzyV J1k 75.5 1 +0TmKzqDa4k4jLjEQgm8VD24 Bg2 58.62 1 +0XLLV6spwwlnM3WQ 1Fv 80.76 1 +0XuK2i7G2ygK5P vfz 68.18 1 +0ZXLkFqG9uJ2ZqDBVm4W Iyl 2.39 1 +0ZYulphBWFzzVhbopWB5sRcO sMU 72.51 1 +0cwtAiCvQwY1y2pLMTtUq e37 1.16 1 +0egbqpQyvZL63n 8Nz 6.44 1 +0embTdtNyiEuE1JYT4AI 5Gm 63.15 1 +0inz3j2V9HITtly FGP 87.03 1 +0j0eT9e3wJkll6xGB6PJ Qnn 50.06 1 +0jPzybyTKB4l5W jPH 58.44 1 +0nFShQXFGwt2VQd5 nWM 85.79 1 +0uunc2fQ8ungFUMGXSI2XiRr MoQ 45.54 1 +0vxugnQUNvBdJzgcDrz2e 1bW 1.12 1 +0wLfOnrI3lFydeP 1lZ 74.06 1 +0xrwC40rHAQIpx6jplVLR ImN 54.81 1 +0yutzesK1nDc0QJRAeof R3J 31.47 1 +0z7olVfNXWNXfhG8OEGWt 5sQ 17.04 1 +12UAZ0wdnLEVVQpsh0BT7 vFu 4.34 1 +15K6z7GHDqQh1Z8JUND7JS5 dgH 91.4 1 +18JkL67LfysPmMAyGy4AQUj ln3 36.98 1 +19QoIfAcs7MvHq4HWLczL ISR 9.93 1 +1FchvojM13bOJ5dKsMpvqCE 3P5 12.47 1 +1HO2hmGtPbnx5eqKByP 8w1 92.52 1 +1JQQvRXDuJQWlKiHbN 9t8 41.31 1 +1KmIXNGL5R9gMJKNYopWl3 wFb 3.92 1 +1MyjiSoO6LGEtOaJmppw W4a 43.85 1 +1QzoYSwvyyU6o2SuNll69Be YBi 58.23 1 +1R84QZh2NZ8GHnqOUwXR dFa 37.55 1 +1SrAieqkGPKYvaNZI03amiou 3IW 71.77 1 +1T07PxRuW822PlxyRONOm9 Ntm 38.18 1 +1UvmDizBLbYocU5Nx2kBh HWR 70.6 1 +1XIAa19ulNozTHw 34m 65.16 1 +1d01IShXdDLXxsq3 7rw 43.41 1 +1etc5ANYFJyJmKAqQ9ZLc NBI 47.76 1 +1gJrHpBOwxH7oDo1JSqPy eJl 56.75 1 +1gc8yvClZUNzUVOtXIUxO 8DO 17.67 1 +1nCV8NcKQjn0BUMqh mJQ 42.49 1 +1rwBIhPfllzfkqORzc mvD 84.3 1 +1udkwSOGXIcIO4odN4mpO JEf 78.63 1 +1wNlTDhBxDy9pg1t mXJ 62.51 1 +1x4h6cd4oFGerRvftfWiv Wb0 58.09 1 +1z7hqLI60armfJR HHp 12.66 1 +27yhzsXIpV506A2 qB2 44.83 1 +28aH3x9EAYPG1RvrHs Nob 89.76 1 +2CmGCNYlnla9x0hYE6nkz17T Ge0 54.05 1 +2DVIShlnyj6QdJE8tSC c9o 33.96 1 +2GLER9h3QY2bhbdA6CK36LyJ fm1 10.46 1 +2GXn7LpECQQDGi4v1wEr 2VP 2.19 1 +2HV4ClRg4DjvVW7gk1Md 9EN 15.52 1 +2HabGOdRtH4pxHO nyB 13.46 1 +2IusJjiygZinz0huhs1Wyx soe 72.83 1 +2KYf1Lv3DA4gh3w8b rZs 60.44 1 +2NljUxzNts1xtOMFaLCk8c4 1LW 30.03 1 +2RPE559VzWN0G1VAOCYmKO K4i 71.21 1 +2TnUNcFERiiCNqn3F3ccxa SAT 83.84 1 +2V1RlsmHYia0hT mkR 22.79 1 +2VSBF0bCzxNhDGL 3kW 75.25 1 +2VZmD79KsjictWK74GGwjeS 9db 45.13 1 +2Z8orBZAbJSnamlR HhZ 54.97 1 +2bVqfwvKbtvpvS9lvokZOaQP 8N4 6.81 1 +2dOuOvMzNa794mfXfab iqe 95.62 1 +2eKq9Za122IRHLkrnh5I42X f1Z 13.4 1 +2g52LR3zMP2i1mPaZ3g ynH 52.52 1 +2oP4TTilONMlepaeUTX2H 0JA 59.54 1 +2p60ZsDO9Gfy9PYU sys 61.17 1 +2qCbVcpHLzUPfAewtNVc0dD5 Ifc 72.59 1 +2qNHseYOehC5FV gf2 82.73 1 +2qkTLJ62rHd63evB69up Bvx 24.31 1 +2s0lR0P7tbwYI7evJ L55 33.96 1 +2vpHzFDpCgoPWSVzT40pPG5 vnp 18.12 1 +2wzqCCkL8gUkRWc1k NdN 77.59 1 +300oDwvuSmWpAWJ5hbHk NWY 73.41 1 +35mvTwvJJ7zZStHT dBh 6.5 1 +38sP5pVGfceozKc hrs 69.86 1 +39AvjAgtuA6Sy8BcunZOv K1X 58.17 1 +39hfOXhwUigq0UnB4 Bp1 90.02 1 +3ABzYWHvv9FjVi pzD 68.04 1 +3DcnWpHFzCuyMu IzB 7.98 1 +3Eq5jXIcCsxR3Rc c4X 57.87 1 +3K2NkH9n6YThEGawTN7ij5 6P9 39.97 1 +3KOpSYDpYfEtLhGRgYVix9V XY3 77.61 1 +3OJB5qJW1cgqO3JAE JRV 78.88 1 +3R7WuTbpvZUb5aH8onY qZP 47.75 1 +3ThKi5S6Cc5ifN 75P 15.07 1 +3U8AzCOwfjgS4RHumu8do VKf 10.93 1 +3Uk21kVmjqfgu1Upyo6UV dLY 86.1 1 +3V1uT4HmP7dGjefiFHL6g y2u 28.43 1 +3Vc8cb5rWRunDjMRVuO DDw 43.15 1 +3YUGkPko4spNRqs5vU7o5 yxp 61.46 1 +3cQ1MsSTnSmjnfzHZo6IWE 9xw 40.28 1 +3eqa267X8jU6om5GHMiTI V6j 90.4 1 +3gZgg2iLfUmYTBR G01 39.97 1 +3jmHp42gq0Xbck34hC pQ1 62.22 1 +3k02bgHbYFY1ZVA79clTWj3r wum 62.76 1 +3kQmYMpABeL9Fla KMq 61.47 1 +3myNTLT01RQpDKcrE aMS 75.33 1 +3nvXvTE6JQ5z80cak3oRX Y4V 93.68 1 +3qEXIlYHLfzDPuCns kgu 56.13 1 +3rl6Rp9M1cu3vIbKy3VZPAR AwT 87.74 1 +3rnVwM0CkS89krQWfywnndl C1C 77.26 1 +3tU6P6Uw1hkfWnK1yMedSNq sYS 90.49 1 +3tiCmI8H2Azy3QBzrXpm bu4 75.63 1 +48e7v4yeun7nkKCn CG8 30.81 1 +49NmzJTnSOdfcer uiD 91.65 1 +4AZnQvvsDCupgTHYlgHJMi5J Y9a 36.76 1 +4GswP9lVt14oUlP2upG2q 0Lv 45.11 1 +4Ha2KoPaQqAFuoPY fd0 38.81 1 +4Hxpz7iX50rxW886VhHXigw fRd 50.71 1 +4I376OEcNXQc7lam XUZ 80.47 1 +4ITYwi7mC1gSZvxweyBEOBan ZVH 84.87 1 +4JJMcZjZtUSGJ7oR4dE pQH 87.1 1 +4KTGz1GH2OLasUqOk ygs 84.61 1 +4Ll23jur0FD4nAjh 2Yz 39.4 1 +4MNJeZprl08AIGHAJO7HAm Egl 42.25 1 +4PXGohN3FzrI85 vd7 3.25 1 +4Qz9D4O5tAeVFmMB0GL2Y BOf 60.12 1 +4TlC0HDgZEAGsuZ8fq oVw 99.79 1 +4UwppJQdwghEoZJdakYDO 81C 46.43 1 +4WBmUyeTwKCBUMFa8Ku3Ini Omd 76.11 1 +4YoLClWCZdrTBAaxp XtP 72.44 1 +4ap5L86I9N4o6CCYvDsk SjT 43.66 1 +4boPmV9IzZ27nNV rhn 9.36 1 +4eztr0l7XpAJDtRlHq RcR 70.69 1 +4mgFAjtvriX1JNk7rnJ98rn1 PCX 60.89 1 +4xLfR2LtElmCG18gGG 6lK 87.54 1 +536wlJlRD6XdEI AST 24.59 1 +566cawOsOsW4jKu jTj 64.62 1 +57jRLEvhC70vpY9TT eKR 2.03 1 +5DDF4nWRzaRVoP61rt5 8OS 97.13 1 +5Fk6SvdQ5aZlqAs1z5gEv y27 99.59 1 +5IsIzgweXipH5z TZ9 50.19 1 +5JIxvfplUTutABiR6iqquxT3 UFj 94.42 1 +5K0SqxD8WVEvXII KRT 5.7 1 +5OCb7j0IfRYaPjHbex9wC 4Pi 37.76 1 +5OidY1SPIPIXarfL492190w EWD 24.19 1 +5Thm5C86Ujyk1xaYBiH1Z zol 53.87 1 +5W7Cc7utqPUduQH e9w 69.65 1 +5WXZVf8liaJScjU2Rvha sUx 9.26 1 +5XLzOBNP8xhci6ABduY5WJK6 eqW 35.63 1 +5ZHGysQtIiH9JimlltPWziA9 sUi 45.59 1 +5d5GxAD5Xz02SQM8qi 3mG 80.04 1 +5efu0qAiUFVuxxSwptHl Tcn 48.74 1 +5fxjgD4VobVCFVyvWKw3flox uvK 62.2 1 +5p2b2Ifwi1ZuIlmWWsP 9Cn 99.21 1 +5wu6VwjYzU2XBlGQ 47A 93.35 1 +5xZF9H7wXuwQah6ozG8 Aaf 52.68 1 +5y2usGdjbBekjHaNR5Ln vs5 30.79 1 +5zjAKxhqJBohOEytNInJhkA Mdj 43.14 1 +61mrIYj5GVFU69Hg9OatBF SFn 55.12 1 +67xpLHTxQwpOlYZQwRri Jhf 84.88 1 +6AaE9FzSJ4aDIP BQv 91.77 1 +6Cid5cHWE0Jhvbf3J 3er 27.68 1 +6D7RVkgWk2bnmhsrBn5SgAgR FrX 14.55 1 +6ESn3imNefey3XCV8HBp0sn bzE 22.18 1 +6EVCwF10JoQEpwa QS2 80.64 1 +6Fxn98E4iF3jfFC9fdcAaV9B j7b 5.04 1 +6H3pGnNeCVsHlaqvePHdnB cDb 61.2 1 +6Iw1USG8emyFZmjUc GBv 47.98 1 +6O42vF13NWukYGum9eNzcv 7qv 39.27 1 +6PX4rFXrE9DHKZNQoRrzz YEG 36.12 1 +6PgMxngZPNRnj23GWJUef8 YvN 78.56 1 +6WFuGuN5nT5MSeSPVptx yUh 63.22 1 +6bHlYLAG8QHj4XvCDXLrIwXc 2uA 15.09 1 +6cZx72GFdt25mVc7AjLWjfT bdl 59.29 1 +6dQCixVfPK0ZQ7HU 1SI 50.63 1 +6e5PB50Um2nsON3Cx 4ID 65.56 1 +6ex3KLAokE11KoXstCy avV 72.98 1 +6gSSrGFDR4aB98DjB 7f9 60.05 1 +6hejCEJaJ1FLkHacbfdN0BZ seZ 37.17 1 +6pLDbjXLY57HlD kjD 39.26 1 +6q3dxALZj0gBIt CFw 14.25 1 +6qjUjtqITDLjOJGJL6vO 6d3 62.29 1 +6v2mHTEGGqR8sqAP1qUWlz Zn8 87.87 1 +6y1RUqB9hAq13DWU 4E1 65.47 1 +7038A20mvPMdL0Tdg6YBo gQX 94.13 1 +714mrZnEovj5X9 xoc 91.37 1 +74FpqbrVGbroXFzevznO7 nxw 68.81 1 +77UlRl9uiYm7oe1gDqAleq Qrf 7.5 1 +7C8Ct1uo16Ytg4g082q3 o74 50.67 1 +7DYyIBiqXj0jWYr DnK 29.41 1 +7GGctlwyuIIOtF6rknjJipd KDT 98.4 1 +7GUxd5Db5DvYnY 1yo 33.1 1 +7HOIKWGSTIo6oSZDsUJ1cbO VgP 79.33 1 +7Ianh5mGmeAOTw14r ori 45 1 +7M6gx4o1mE14IrN0GOAitrdj KT7 64.27 1 +7NP93V2hko9HdotpNFj wjN 19.59 1 +7PxurGSq8yDvt7c wor 68.24 1 +7VZxzGYTsR3UYuAax ZAI 68.95 1 +7Vi8cLVDUeypkptmG9en gLV 80.17 1 +7Z1DN0ASYM3S40VXQ8dHSjJh Bwd 7.22 1 +7a15QhItetfTZMw lrE 12.29 1 +7aArq6vlvvcjKzx0D wU8 17.21 1 +7cKdnL3mg1NFEIwNZ3cm Dix 15.77 1 +7dpSRUiiDs11nFzF gn7 60.76 1 +7fbmxdUnxIol0avVYxR Mn5 84.85 1 +7i3AtnvkRInMqRLgS6c1lUn lcf 76.58 1 +7iGc7POUuDtG3DXogP3Dx Csh 32.61 1 +7q1VcxgtxOax0uihVP4 eE6 33.83 1 +7ry0140hywcAKaoZg Ern 40.62 1 +7tUuzFlUUdxJLk oD3 88.57 1 +7tYij9P4iJTc8bQbMNmAZt F0J 8.94 1 +7wjWYq8oGBxwYI fJm 67.6 1 +7xAnW0EwRHp4GR DdL 43.16 1 +7y9qcDzViNZNLuG6f23BYi CN4 3.22 1 +7z0MWQSy1GZhRNlgBho iwP 8.17 1 +83bOSm7TfAD9OAv7Fw CdU 27.48 1 +87uzzaHkdMSx6js1m0fY Odb 89.63 1 +87zWFcjqF35LYcVt7A8 2LO 30.38 1 +89NEZhJ3UnjPcrATwB1tZl PaX 34.34 1 +89PLWOTGJBZ8dm xda 23.5 1 +8GA7wxUD6GFT48LLT axn 35.7 1 +8Jwx1gKigArR3EEgZJ9XmHFX Bp0 27.2 1 +8N6cAtUlBbvAW0Iz1LgkuN zmS 29.56 1 +8OkwaYFfoISRWXkcQSq gIS 85.76 1 +8OvqF2FrBbTL7mNeF2 ALH 18.93 1 +8Sx0gcbAFZ48vnXANPoQ7 OcF 74.8 1 +8T3lJaTvZHY2vA A1W 2.48 1 +8WGccvW3OYjz96jE deE 88.34 1 +8WPZL576afA7S4nfw51qs3MF zyL 26.86 1 +8Wo8hsuoth4MVjq6JT1bopKV eAJ 92.28 1 +8ZlJH5WwFTs9ZZIIjwVI qIa 32.59 1 +8c6XsicYBPr7fpd9r6pf2pe XSO 86.43 1 +8eb2Pv2tbwp5ZBEXgDL9m wxc 23.91 1 +8gl6ruVJi4Sqsqtkg6SE dZ6 11.11 1 +8gxCwhG3ZI5uS4CUP6uKA vVi 63.09 1 +8kp3b7GuUtUKIXBSBoc1PVV 6ne 77.25 1 +8lwJQ2YhxZOJUP5HSh2TU KDn 9.42 1 +8oIENyH69O9ija hkk 44.74 1 +8wJRn5bkPT3GO08dYNI5C MdR 25.14 1 +90QBpHSk4UAB49uUn McN 66.62 1 +914oNpnwBAXXOFocdb0 f4p 67.25 1 +946rW7iiQldO7gjU 6du 46.97 1 +95xkmPy8aan6FGGfFhcsYj1B PDH 4.31 1 +96pqRpUoKRYSwO QY9 48.9 1 +9765InZBeEvVYk Qbt 57.7 1 +9B7GBbwhGmR4d5qudx CHi 92.64 1 +9G614pk4d5F4asNDl YCU 3.34 1 +9HQKEdIKzGUQsJSCsaHWwh Jyw 70.6 1 +9IrUrS20qjpQeoQL Ago 18.29 1 +9JjqU3EskbDHNt AVT 68.79 1 +9KZXjE0hHBjjWgNsz4l32 Wgt 64.24 1 +9MV8yNk6CYTlmgbdQrsmLb WcO 53.92 1 +9Mlr4wWav0CuaUHxX0dT8S5 zb8 27.14 1 +9MyEcJV9oYGtqpoeizPOfD5 YNx 54.35 1 +9X1eY230dGLgvtoSxZIzzw xIV 12.08 1 +9awoVwqe8FEcgJQfFJ FkY 71.27 1 +9bNV4WMYAum1TwqYCT9XuZ p8q 27.21 1 +9cPYYTiXEyUgKUsu6uAYNBB mdX 57.77 1 +9e0hEfx0B96dXvrJabce 9Pl 40.88 1 +9gGgeP1EpEVELrmWrkYJlPz VIh 86.51 1 +9lfMdCdBGwqbEtnU jwq 81.56 1 +9mEPJpH5dGBkggzfOtzdyO Qwk 67.11 1 +9ma1cYNnsSjd010d8n nwS 67.13 1 +9om9GszdJdFiVt5 wSB 82.33 1 +9q6R7WHCEtrSGpDqESIYHHo VZu 42.96 1 +9uPt07zv4k0muOmiJd 28u 85.52 1 +9wVIpEIFau7wWvhG1EyyC b6Y 69.74 1 +A17AHiDCgIwKL1xMg X8B 71.39 1 +A1wk9yteGWCZQBr3C S7t 22.65 1 +A3dJP7RwfLbLDc9C6E zFT 11.66 1 +A8ZECWjx3AM21K6hc 806 75.36 1 +A8sSOqsEgmavpqduc8Xalg 5Os 73.48 1 +AAaEXNeuplOBwpu56e 1fr 48.32 1 +ABrVvjo7Ez5J0B93Lrm B02 57.63 1 +ANJGTo3gd9sSWXuB8 b51 64.75 1 +AQou1VPfElDotJ1iO0fMBe Faw 94.58 1 +ASXqv2YwLuIrLDi JZY 13.66 1 +AbRxrcWgjKMt9bog gmz 20.96 1 +AcouBSuAPwcncQmAs62YJ40I Pe7 94.18 1 +Ao65nk6BN9RdSjIvq7K vaw 43.62 1 +AoHcBTANC2iHwI8Q2JQe wRI 74.05 1 +Ap9fxOb4BgatnhrOYd Jhn 85.44 1 +AprMxezhKQkiI90 76f 95.36 1 +Aqd3WDzYIKtvZ0 fRv 78.31 1 +AsmUT5Ddf8pOhhShTD yse 48.1 1 +Au2WFtP6KvuHiJJqXMHL BdJ 55.44 1 +AuIpQu5q7Y2xx0 ADu 93.97 1 +AvoRviqVfUwbndMiqp0nrXDV Pq5 40.26 1 +AxkjceMzM0Ap1FW Oga 84.37 1 +Az6rlX7ZwlOkEPaZM La9 48.48 1 +AzB4zjIpYKNQJ0ipKH5Rb2 avb 40.18 1 +AztNBsoJYVC2n3r88zLmm5m hmw 43.48 1 +B5dTiQWK4iABJuDQ gYD 95.69 1 +B5jsXCoZFMg11Z7Q3lfT4 Ne0 80.94 1 +B5s1E8kVO5zlpNEg5Ola 3Y9 35.44 1 +B6ms9OTDMi3eRAl9f HOF 55.19 1 +BA578yFXXEEvny83VQk J20 40.41 1 +BBtHQGFadWW7TY 4sv 97.53 1 +BCnDSGmdP1bUZcv1Yst4 jMM 80.25 1 +BEMkU6IJOUUmRL11VA JKE 39.62 1 +BFrj8zsR50LywQJX6YRGuI0g ajl 31.7 1 +BG1QTcketZjbqnon 1O5 54.5 1 +BGJs6d3Aw8Kzoy Y2r 76.38 1 +BJLAO7KAYYdCgayAR Gba 7.82 1 +BLxHyPe5wEuBL8e 2Tv 71.12 1 +BTeqjDrbpfedOB97sKvo 2Tf 50.11 1 +BUVXXhD5ZzCR1WSeYwFWC lXj 20.79 1 +BXpSIKok1i8bc0PBnj qfy 84.98 1 +BdzUqfkACxCh3X7ZmXhpB vTD 52.71 1 +BjMgnMf4ju3cNJCeJorx D3i 40.96 1 +BnWHlIWyi7z5icgInv5y M7h 5.3 1 +Bo8Ofln8Jl7ZTjIv 6z9 98.75 1 +BracujQqozBU4B02w7Q V1t 43.38 1 +BuqCgwuEKSLEXJbl7DYRYb1 CGM 69.47 1 +Bz47cqfPkoXb18trv X4z 68.65 1 +C5VbStJKARPNGGF bGg 25.29 1 +CBjTJV2FR9ssRFWFxg uWy 46.35 1 +CC9v9P1cgR8CMRIa kag 38.05 1 +CCV6dlwGGoHIdKf bdV 9.23 1 +CCdirLrXki1nXilEYs0 Q7W 21.2 1 +CL6yDYFT0iZqye Rli 19.63 1 +CP5vTwPc32OeGLsl Yx7 37.9 1 +CR444XAMHXYXTTwLfQR fMZ 98.68 1 +CRAc9VAflcz2tFFIZ jke 96.43 1 +CUUpEQEwbFdyJLPEIjE PVw 69.44 1 +CYJgePy5xZp2aclCtxsNKwr bRN 61.92 1 +CZuzywAYPka3z1vwBznlBEU zJq 52.65 1 +CflHQWTmYsYAQsaX6by ETQ 94.66 1 +ChpXXVI7HTKrQyzhWVYo 54z 74.59 1 +ClfAiKgpzjXO3alYdzfk UQK 24.89 1 +CncETr7GBhksF5BnNb8Z tal 45.04 1 +CtmKhoBRnKWRQoJh Ht9 19.52 1 +Cw8yMBd6tgk8WlZc 5GY 28.8 1 +CzOQqWCoj6S5vfPc8dT VQb 85.14 1 +CzxoxkRQwJ0TcU3 eIZ 24.74 1 +D0b2m9ci32rRDbsYAx2OVatq QMi 38.02 1 +D4E3tGkTmMFFURPzZWpDT bbd 43.95 1 +D4Eg193yy1u2ab2lbcCoZ8c jUd 77.03 1 +D73MrWHMB6sVfCMsIDZ YTR 69.58 1 +D86Hpl2U2PU0aRjbB2zy 896 2.71 1 +DAbqyatqL6RNfOU sIo 94.58 1 +DBEY5elKomZVss08MmwTJtQ lGG 29.58 1 +DCiyeiMTAKkeKdLWxk gHA 75.53 1 +DEp8fSabNYG6dUnBz9j ddO 11.36 1 +DFdHiGsuSimk9tRbD7 Ln0 9.1 1 +DGbeDwQDRUGKdSCrERPep dwn 55.19 1 +DGe1fA0tG4x0Y1F Z5E 88.76 1 +DGgSsFrTFpoi5C9DByr0WR XYo 99.99 1 +DITSpIICX8xjnobtqfX9 MQq 15.74 1 +DL5sVnriKozl0Xd pWw 13.3 1 +DMHthiCcfdutxyaQfJt ANZ 49.55 1 +DN88TyvqAlo0gNJ FtN 66.65 1 +DNB0kXgywLwfC3tUTgQ0l0 dsx 32.34 1 +DNQ5jyUkyI7Vpx74fSzyk6F 0Y1 82.3 1 +DPJwFp2rqttDmYfn 3FC 2.1 1 +DSxzmVDcRH9gsXRjO VSh 6.24 1 +DZLflGTUx5rk2GFNQz 5zO 1.56 1 +DdbzS1Pc0I7Sx2I0bwiB6o hhR 63.43 1 +Dffzyrp2r3cmvEkyT7kH g25 92.56 1 +DiEiunaSiCY6NupQphS VnU 5.59 1 +DjAAAbpSCSkZkt1962A4 bKJ 48.24 1 +DjLfQWnpDD9lS9 y34 20.76 1 +DpYMKuCfq2CWeLvMC4sZ bCf 21.49 1 +DtCEabdrzm1tJabBp soz 14.77 1 +E4XCGvwjfaTDHjyiLvflhHOw s8g 78.11 1 +E6dSpkzC7rgMw83pQl1 P39 26.57 1 +EIqeCV1LyTse8DM wcq 88 1 +EQhjeKCZKj9FbTLAZv1B96 G1z 22.08 1 +ESwJbwgKXkb2te 0l7 89.19 1 +EVvjOMXtGC0jwdFNybFQNx csl 1.91 1 +EW6wexpJd1gmIce sjk 31.22 1 +EiTDCyafUZfWDFXQMRW0bED 8DY 44.1 1 +EnNdeREPTldPRIt LEu 21.64 1 +Eoi9GiXCspUj8LDZ0Bg 1Gf 70.5 1 +ErAb56xD8pf555qNassG XhY 29.92 1 +Ew7o4OjmhL2dtIAw1yutOk8D g3h 48.81 1 +EwhuPEN7OiwWF4q ete 66.44 1 +Ex7bDUL8AqWUXTjIzYGA cWw 7.97 1 +EyMegzSdt28ykbxFeufsbVL gOw 91.06 1 +Ezhqbc7At8Jn8q1RmZnJm A8Z 33.75 1 +F6iHs5PMGRhH6v rHY 26.4 1 +F7cGzjaNlHu1zwpVtB OpE 42.18 1 +F8sItBZdDWaV7jeghje t0T 68.12 1 +FAWfHOhIan2Kg9fmzXrbklDF kLt 94.09 1 +FBkn79ijeNnQlJ FRT 70.11 1 +FIAJUM8nnrHNa2va rRU 68.45 1 +FM9kzHbLGAqX4BD Kos 81.88 1 +FOInEELTDAC0HdOXrR ull 90.82 1 +FOPiT4q7ipPm7q aot 68.26 1 +FPZexJxJ29Sk5TOWLb lnI 16.7 1 +FR52rnusSALHmeMhRguAeb 87L 37.18 1 +FlMrnPDhi3yIcQyPCH3gTPQ RTk 30.76 1 +FmbNGWMfiYt5m2j7 Tjz 70.77 1 +FnRIWPBtJtx2CVGH2cC ETL 38.62 1 +FocqCYqnoXH10QFlFlyAM Xnq 19.52 1 +Fohz04gcGrCdqEzu4bB 5pw 41.61 1 +FtkTSk0SxuuEQpiuMzU7 06w 21.92 1 +Fv8Cf0UWjc9m9t bDu 86.87 1 +FyiDfYOp0Wo1dJ9 QDT 75.49 1 +G1IOV9K2NNS3xo9pGhUwyGy 56J 53.15 1 +G6cNZtVI7yBJ6k2MceMxl v3d 73.98 1 +G6mlrxMRhCcG2r8 8OI 63.52 1 +GCrpuIkldMx9zavdwBqX QIL 86.79 1 +GEOh0768Ww2ngRsFgB26zxZf l7B 11.98 1 +GG9JFc5ppg31GCk5pThel5qT PPl 78.39 1 +GH3DziNv1WyKzfZyay Ho0 9.96 1 +GIGa8AU8vcUeFYHD2w4Am1 c6n 10.31 1 +GM5o8awaZXgwZyUjkhk SBq 54.65 1 +GNZ1hGReENDmqr yH9 85.63 1 +GRiJH8TNFBW4CMeswtLMiFXe OAf 93.35 1 +GS100o0r4lRObBILN 2KW 36.24 1 +GZiE22zWjXdVKuPGh 5kL 14.06 1 +GZvjdWZKmC56ZcCsUT25cT QuX 4.69 1 +Ghu9qsGonYemNWb ZsK 6.11 1 +GicoS1qyqPsWMeth RbY 48.21 1 +GpK5sURU3bDLrEjU G0w 4.61 1 +Gr23IV925fKi7kGMEcHa0KbL nsc 54.87 1 +Gv73AOi3n6w811eomSRj wRX 65.81 1 +GvkTMzGc4svwCmYaMIeJFDE iLQ 59.62 1 +GxTE4TZEdPiuB6N9mOCQB dmo 25.21 1 +GyVEetmIcJ6fP2kHGEq 3YM 41.56 1 +H9CkWXT1pJzsSFec tuF 10.04 1 +HBEKMzlxUSdweOlMTQ6BXVx 6sJ 77.76 1 +HKRnrsgsgCcnpX51Okx9b4Lr sor 67.91 1 +HLJJl5jSsxF3o32 uqp 95.36 1 +HTp5tNSF2fGwUDB3W4MmOQ 5ou 8.65 1 +HXzvDkiu7s7lpZ s8D 25.65 1 +Ha1F2qejGQlTDtgyHxMA3 f2L 95.87 1 +HcwWn3UDpvEj4RUnInVLK MFl 10.47 1 +Hi8VoPf1qW0j6mvsMmCgHWAg AP4 15.23 1 +HnU56EFm3cfhV633K bYU 65.4 1 +Hntwm3wq5XLM7zA UYk 19.64 1 +HpLOzAkdn8FOHzT amS 22.04 1 +HvGYq9LUleLAYUcpASlD xtu 58.19 1 +HvyuBEjAdjIuZHWqro tCT 32.16 1 +Hx4VG3aN7HF1gIA89cCXoiMm vUH 78.66 1 +I2BEHEOhPMz2haCpROzCfpy g0K 48.43 1 +I3Zkc7TaoqGFLynMr X0A 76.1 1 +I6PVW0ObtbHri67iGmMh DYP 46.71 1 +I9ZZKPkBhpNQFYDGiuVdR 8yt 98.81 1 +IC27ylaaiqgLtoufN5v pxn 81.34 1 +IHBjAevGAWi9NH Byn 71.42 1 +II98dtbPbqzVQFbJj rjD 59.96 1 +II9jdUUIdqWJzulv8jVrGC 69A 28.72 1 +IIBUGz2aTlI1llMg01c9 mYX 49.68 1 +IIoOYMUof9FtQM52nruWrxC if8 45.5 1 +IIthPPGZodKEqF4V1RB h73 75.97 1 +IKPIUJW9FaErxlMB3pL2m 9at 57.77 1 +INepTWy7A97d36DYf VBE 50.37 1 +INsC1jNtsamIwGhiCUQ XnI 49.76 1 +IP4IQvwynyjOcs3LytyLj1rg u67 63.21 1 +IQasbB93zcZUfc9E208zyn t5j 58.78 1 +IRQlEhhRvhsUUiG3t0O 8Eh 40.17 1 +IULk8S7Xao940y45iW od5 59.43 1 +IYgLFtQBVB4NrgbbZs7 LyH 30.03 1 +IbTttXxw8rgwERXGX ybP 9.52 1 +IlpAStDgUghswvc64 fOi 76.95 1 +ImtKvvCBpCcU5lP wyD 67.06 1 +IooWqqNfBWfVFfo QXK 63.98 1 +Iq0jbJo6iysS1WaKpQJ5CTjT mov 82.41 1 +IsJ44FV3wlOxPLFy 5MX 79.13 1 +IwEzkofJ3AEyzEynqGYM2KeW JaA 92.6 1 +IwvAdQtUeP5uGc 6qJ 69.86 1 +IzMGHgPDjp0CZ5eKrBub SCn 12.87 1 +IzbpCXtzU8qKLX2Qnz2jhuf 2MA 50.09 1 +J0hyYk9P3uJ83N4U bC9 25.38 1 +J51yrkq2EbzrDWKF5F2 Oaq 57.72 1 +J8raIctBuVtr32tBfUW 529 40.68 1 +JBVsyj1w07B2GH hVQ 76.01 1 +JFU4cSQZHoOfLq1vUWxEq ING 72.63 1 +JFYBegwYX1am8w43jzKO W5w 85.85 1 +JKb2RyFGjidyp9teM rfB 32.21 1 +JLSwl5qvOtFe8Tg gu6 70.5 1 +JMIryGgu5gPdQy 6aH 44.89 1 +JOpTjDGvcqn6ce0pQtToPO wyx 28.92 1 +JPFED6ibtPrfXM J2z 7.92 1 +JPOuL9XM8O3QTKXVeux96s ODZ 8.57 1 +JPxjefMXcHxMhHGlnKhP0j5 hCr 83.75 1 +JPyhk3kyBhZGUskKjgteW4gy Hql 6.11 1 +JQNBF5MoBQIdn7vKZO K9J 97.21 1 +JR29ivcK2xxlq8C 2Qo 82.19 1 +JTQM1kgzYQjbEswu4zrcDcH Y0A 74.93 1 +JUhj7Ch8XSEYCvHoDzZ Fqi 38.46 1 +JV1BoOxS2JenbE 6vc 4.67 1 +JVz0f7DZ12nY7SSRApSa pIr 57.36 1 +JWTxmZmnbdkdKMXpUh 8p7 93.54 1 +JaaAXHlv6215ojmszfUpCtn 22o 94.7 1 +Jj2zRl4A17PMyvO bSb 73.86 1 +JpGTI43TmzE0mMxy JMN 42.56 1 +JpiKYYF7LnAgirAbRwzcI CiX 9.11 1 +JyTJKiM6KSUJrK LWd 87.51 1 +K2AVgWNhEBFtUfMO wRD 77.4 1 +K3y8UXXqppTVCIEQ5As8CU OmF 14.35 1 +K45XeAB33PBmNvrR FBg 23.06 1 +K4iCGbrNbyQDJKjjcf3tXf zEc 4.35 1 +K631vkfNc2MCl5v PiE 60.47 1 +K76WylyZECiima4OFMZhfMYy hIr 57.48 1 +K7vwNusHXXKNci4wI6irz hkZ 33.11 1 +KD5OlyNyl9nsO5h2zzk2eQX Ama 71.43 1 +KDUNHnfBPw0yGG 0ul 31.03 1 +KFed3wlee7feEpdU dQu 41.86 1 +KHSWUvfX1zoEhPKsZ yoZ 32.12 1 +KIgwUY0g111nbhN MEM 32.55 1 +KLmQ3VOEm9aDwthuuAy 7Ke 57.67 1 +KOh5KiTnOUhFm9P4PO1 z9X 4.51 1 +KOr9ndPJ7CMWutBPpoi5y VRn 60.95 1 +KTkMaURJWWTFoxQHxo NFZ 71.11 1 +KTxSQAFHRgcgmUXNS SXY 19.81 1 +KXOK4BPnEVLuFb4ictLM6 YQt 30.3 1 +Kp4N4BFiCdROBY D5i 28.25 1 +KpMlCvjAIUPHZlrDYUiVmq eIo 75.48 1 +KqM4cCFOzeUnismzvfil por 32.64 1 +KtEU2TH6ux1G6gqDIDI t9Z 91.35 1 +KuhmGF6tKQP7Fr u7O 81.54 1 +KvZ0CwcvxG21Sc CCx 37.07 1 +L1AX0HxaeQwNJpaB op9 41.5 1 +L1FJOUA1VzjbgJ icC 13.78 1 +L1c3MnszY5u1jMGPXLRHxHKq yX1 46.66 1 +L2hwVRboEbZ2hPb59vDasXF PCK 92.22 1 +L744BFfiGgsmDmc9tyLVgX HB7 1.54 1 +L7LAPsZxdrjNdpv bw6 23.21 1 +LAtzLcslJibFrX7PGdt Wyq 87.19 1 +LAu4X2aPmXJdUF 33C 45.67 1 +LD1d9zdYvNiWvXI2J f31 86.98 1 +LFzgAjXqOnjPECBcnkQ2WMY DDA 83.19 1 +LGiFx7TXtSQ8qMPxhR sOx 79.5 1 +LKKyv5Iyyoi7rz2x t9b 5.71 1 +LKhqXVu2J2FQIVWq1La CnY 86.27 1 +LMWoF7u9t7JbHbpCG haI 6.6 1 +LP2IilM1Bhb6G0bzkQJ sb1 35.81 1 +LT99XhaEyiECpTlgnjiF lDB 24.48 1 +LV0L9ie1oECNbu44K sYN 56.05 1 +LVg0iiaxgCaEEVqaDmwoZ V5v 29.13 1 +LW2MUWf4IsecVn4cc uNM 29.86 1 +LcZRYcEeaHZrtZ6dsCZSd lRs 46.88 1 +Lg3tN2xbGorr6lY IdU 79.53 1 +LmImUmfxTOZ6v7Xjlh eaH 6.11 1 +Lo29dO7aXKBXyIS8GZSY fpP 14.33 1 +LsMfNe0WiYUttGIiGdAFSn pla 16.94 1 +Lsdjj30h9qW8xr0h2 eb5 68.2 1 +LxR1rq2XAbl2LaUfP4chCpoX si4 43.44 1 +LxblBQ3wDGor7u sHx 42.26 1 +M3yRj2sHuDvtproRlaVip3dM nqM 26.02 1 +MA9cCxBUNSNS7vLD3 AYW 93.05 1 +MCKikjTvGD6rEIIKuLONqq GV0 76.6 1 +MGqAVnbVEsDaVeHy2kdiB9 O4j 65.72 1 +MKPdSLF3cFvP92N CwW 86.39 1 +MTkOZ0RKmTKD53v 8nv 92.39 1 +MVkL1oR9l5LRSSp1cHV9Hq zRW 81.43 1 +MeE4R905c3IEc5 UrK 47.12 1 +MgJfIWjYMJq0VAnVvQ O2j 52.86 1 +MiRF9Bkua7JohTmax8kzHKG XRn 29.19 1 +MpeUE0Nuims5wo KbM 41.58 1 +Mu47DfHKYL6EtWFGPjz POq 42.36 1 +Mvw5mfPdCuJoj3GImkgN0O bGD 30.91 1 +MxBWAB3VSB51xn5mi3HRn7 bFd 66.65 1 +My7wIbRAEvJNOpXkOFmKf euI 9.29 1 +N0qYmHZtAsvfo1q Agy 19.78 1 +N3NgiuL0AoTHVNcv myL 91.48 1 +N4clAb9geQtpCyqoL XCu 54.62 1 +N8T4KDQP3S92DG5ylQ stO 97.54 1 +N8WFFwgUwbpZLj1koJIrx56Y 3Yo 80.99 1 +N8khIinkvcNCNzKrO9SFGFW 1JB 66.81 1 +N8mGSPek7hefjU8NFOGBEje fdq 92.38 1 +ND6Qj0uJo7PNghLG AIg 80.56 1 +NLChPAeLao3euOX 9mn 23.51 1 +NOxDr6tBFvn6AzXOq8TBCz 47u 18.63 1 +NQ1bCYV8lzlBuI3kxijPdZl jAO 14.81 1 +NW1fTAdEz1BlUxLah2 WOV 86.7 1 +NYf4OsHVg3Y9oQaKEfi bzM 27.09 1 +NZsqwirp5YhptCqfuu yTJ 72.07 1 +NdVlS2f1LYTVisDUJL 27Z 94.54 1 +NezkXiKM7UGbahAr Yps 46.09 1 +NgroNYddwE8yLuWvvnCAbHe yYA 62.72 1 +NhNfGaKlT91S7wev6lwvW ezU 81.62 1 +NjPiPAfJzD6iQMN Ve2 5.17 1 +NksJ8Ql4h0Ey9LKy1vG6xt zUf 54.68 1 +NkydGDsNDYVNwoiOt8Yeky UEG 15.78 1 +Nl979aeBArbokbg6KalMkm b0Q 24.54 1 +NlqtcD6OXKKiTydgD5Ifc fuq 95.02 1 +NpKvHp3fE1kKFUk A3B 33.45 1 +Nr2ATnsW0soVDcryfTx 9fb 57.08 1 +NsKTnVQ542CLpJfORRu hzk 19.84 1 +NuPEY4TO3xEhJtyRAJM89 T7z 25.88 1 +NvdU0t4nciQvavt8haKWV y1K 55.61 1 +NwJuCQLeCrcbbc3 3YY 88.22 1 +O0cGuNyxio4wwvIW8v XtI 34.3 1 +O5sn8AMNXAxcF3KpyMJXZb HAA 22.58 1 +O6azxvTxZ8GZ0TIB3Qb8S5WC AYX 71.02 1 +O8ZabEStBdi9CsfsVAsZOTvn EuH 24.99 1 +OBEZPeqo6M0hWyfTt7MB3i3r niv 72.21 1 +OCazep9pWuL9Yzsk54dJin R2I 89.17 1 +OEDrGN6OTv6vhQHp1Tkc4myA 50Z 85.93 1 +OHsMTuqtHz6We4qEH 5ND 23.12 1 +OJ0bjqXzjQX8u4l1KB7h1pU Mkb 13.41 1 +OUFrIkHduLknIyp kRS 21.94 1 +OW1MtAVyNmiwmIeM8Ru PXl 48.61 1 +OaP8iZXC1pp1aFJm5s Fgy 29.02 1 +ObvRXd5zbUB6wcIYL4 gpT 58.35 1 +Of5BpUWy82CL4oeF4V 9wT 54.55 1 +OfufPCtBRzzdmmqYFUA3I0 G8y 18.01 1 +OiCrNbNSFu3BIcKr3HXuBZ 1SB 17.54 1 +OiKsF1LwiVA6Nl3eMr x7C 67.43 1 +OkdHqmZSxXiqxCzmBbO SG1 67.64 1 +Ol0NYDdm3hqxDUN8gt04 cyI 27.14 1 +OlqD4h1xsEkkcZbbu vI7 57.32 1 +OndJRMmuEHmumgwSQ Wvv 81.96 1 +OoKtbEWbxXW6ao vPa 77.21 1 +OottD147HMIqmg Wfm 61.72 1 +OqwlZpg0tmTThxZUFz2DmgN dIN 22.97 1 +OsST9j61DJ3vNlX3U JlS 70.54 1 +Ow13bebZXKyZx2LwzUnyUl iZs 50.86 1 +OxL4xjvvEoakC6o0SWFzLv bLo 10.34 1 +Ozz08niBb8usTCQ0Qne uze 84.45 1 +P2CnLZ6wjMWagfa86PQ SDk 9.75 1 +P9jWWng639kr6huLW Guq 85.11 1 +PC1Xwq9khOD7eg25XNuJqni uoa 93.72 1 +PCyvr6u2zEucFvBo OEh 97.69 1 +PGjlCUTKvUARyWdB k2X 26.42 1 +PKKgsHRrVuEwXpXdE2k8 Th7 91.23 1 +PKPztQnn95S3qiy1X2YM idK 18.76 1 +PMCzdqCNhX7NXHrWGDd qWt 55.65 1 +PMHOGU4zGtraGFlOYSc7R9 f8p 41.27 1 +PMIqODa6qLNOD5KOI oYu 43.68 1 +PNkk03cra6W80jV6oDXizVgX LRm 35.89 1 +PSmNJYz7MMCjgAaUzyeKumP6 B90 20.36 1 +PUAA04ZRu2YSpYSl3Wp7JxfB 37E 38.54 1 +PUrCSgoSOWH2UVl D2I 67.64 1 +PVfFRi1A7ODcSgYSyp5cfx prD 61.75 1 +PaX7a2ZeCYLBeLo0Ywb9QUF uA8 21.31 1 +PbELYJY6EYll76 87T 95.96 1 +Ph5tQXDBnhWbTjJ xoo 99.69 1 +PhzrsGUN9PoBD3mSwcl6y ciK 47.26 1 +PiGGeRPSYxRyw1NKij8r mx2 11.52 1 +PltQR9dIYwROa5 wK5 2.76 1 +Pmxcw6cnA4nDap LPf 35.73 1 +Ppbe1YE5u8tDy5JwDIhkDnYq ZQI 27.39 1 +Puxk5YIOcdh6tHvlaJ0gy WBV 12.66 1 +PvNGMvjloNOzkY7R Equ 95.02 1 +Pvxw7Ts6nCrP4TSp g7l 82.75 1 +Q0jVg7u6A4ZbN6tQlXsjXSq kdb 28.13 1 +Q5VAqeLHs69lk9wfRkRcWJHU cy5 25.63 1 +Q79Rmfepqv5lzL 2IE 44.18 1 +Q7DiN5QUywPkHOoH jvV 20.57 1 +QGdgYHj5LhGDUvtofp dxC 88.6 1 +QH8G0J9UW2twj7 Foq 78.92 1 +QJje68AM5qxMkahvEy6 Vet 72.86 1 +QP9NsYKE2oB04yrnpiM0 2xW 39.66 1 +QPxvlmw1it4mQzt G0Y 21.56 1 +QYRfBFTwI6cynn5 hoE 90.97 1 +QYwbI89e9ncnlJOJ9oM 6kB 18.5 1 +QZpq09KFrQmOWTXOT72uXc3 xvn 51.68 1 +QihIjz62Zu66Wu puu 25.95 1 +QkKno7wqhsBq1MCqL YOp 66.26 1 +QkoYhRYWtcIxrAlYG SrO 53.02 1 +QlrPeUnoW8XLUUoGc3L zwA 95.45 1 +QpXjh9Z8XiB9FH3oTCxoV2bm Sk1 45.99 1 +Qq3pEfIwdn3VriDZtybfx XWF 44.47 1 +Qui5WxWbdp1oIFfLzMQfA Q9N 8.9 1 +QxEgQF0gSaXpf4Y 431 87.6 1 +QyIkFBfP0PBEILVA2G7w3 PcE 15.3 1 +QzUJlNEyR3fVgEX 9vi 67.44 1 +R25vnJLr0nsNGPt ZMS 52.03 1 +R5QwgHd4HKdbOZNZZNEle Eit 86.44 1 +R6le82FzuhFP32ErHkToRZ PRI 4.95 1 +R7Fydl21yZkUNQe ZkH 65.71 1 +R9UtaZjUQzLToiQbSRGHK TxC 41.66 1 +RBQCVWthwHFGvSOGTFrMNKiq CY4 55.51 1 +RDTFeq5N4KriyXs0kmtlYh 3VO 1.63 1 +RFpiCoSHuttttFnw4yd OZe 8.07 1 +RHsx70BA6w1pNyKM4G9Un6a 6KK 47.84 1 +RKS4ZEeZN5Ugo11lsJJCgQRS 0aR 39.94 1 +RNgNrHBFdqeiuBPae41kphfi f7x 89.74 1 +RNlGLeD8Hj2nF0vJ J0w 5.94 1 +RPZd1QfD1Oz4pvQWTcEl pUC 73.56 1 +RPagzGYCuPXB1DiZn7 EvT 75.83 1 +RPieMYuSQPs5BuR51YJPRlF kO4 2.08 1 +RSYuy2llNNGOftOERZ1 V76 84.41 1 +RUXEoEj2aQt1BCKFNSZt s2l 13.29 1 +RXill3VFEZ8EqjWjt6fGUiP Xll 45.82 1 +ReFnzIkgdrmsLw tuU 82.35 1 +RfGAEq03TSNRARy DDK 57.03 1 +RiVtvCwEiwt0N9OnBwyVwMt TrE 26.52 1 +RjyvNSmXxrxFCWcdPHIOp1i TZw 61.16 1 +RoefUWwzCtzEHFVoQe 1Y6 15.25 1 +RsVtYNU406AKgsJLXI NL0 6.11 1 +RsyBqiILwhYlasuYrI8zrBl9 WYa 7.26 1 +RtBTDYJ1M3wvZ7 WTZ 97.08 1 +Ru6QVmdahoaIKo dno 38.45 1 +Ru8hSBqNF1LjhI pIQ 4.2 1 +RvaLlDEILeVs8fn5y9x4dhg 9Rl 22.79 1 +RwSCGJmUGMENAt JWQ 45.56 1 +S00J06OqTyeNoGLKbu3G7 0Je 18.06 1 +S2VqQgWqhS3RoVlviTr96R htK 32.75 1 +S5QQcGTJ2Ru7VhZgh 798 49.49 1 +S67tRr7b6BImHJTYdbYGGUi s6y 72.6 1 +S8jTdmsSW6J1f24rSleyfw Hca 18.29 1 +SIJ7JVaRxbcXah7rOAVJQKLt ldj 87.77 1 +SJend8FY7yKDsn2X T85 90.81 1 +SLfsxEDW5U3bQedV34KRyQ aYL 86.24 1 +SLhYnLUjIPKFhp5N1BZysTvu UhP 79.08 1 +SON0p1HBKsEKycIO1 403 62.97 1 +SQ2WhZJQs5Un8X4hk4J LY0 90.42 1 +ST8CO1SdQaNA76lTZKeM Jps 27.02 1 +SVCznCfaGuPwfc VFF 87.31 1 +SYpRauEMoP4FebQKefDOqV aZ7 12.48 1 +SZ9Qux4zKykbLUFJKk6Bi1nB YwN 77.6 1 +ScgBv0aPRCffHo jgs 63.59 1 +SgRgaqpdUruKTGIBm ouk 64.87 1 +SkNbDal7HKaK5MzvRhLL 3AZ 20.67 1 +SpHmNpcYtOyMlaS9 KgH 38.16 1 +SrETF87YVmopyoCu8vIa wdi 93.73 1 +SuMKUpks20MVLNw2gc DQK 82.91 1 +Svv5voiLn2TVRUDWmHf Wx6 27.4 1 +T2DOnK1ew2Aw3KbAXWvvM NVQ 27.54 1 +T4CuDNhqqNCKJdnaevz3hHq t07 17.65 1 +T7Pzh7yR6mxxXhPoL zwd 27.41 1 +TAXWVFRQdqpOGlDSPN aLo 59.75 1 +TBtoqNTBknbpS0ThxMFS 36z 60.9 1 +TEQOQFcsU6yhrUldJFj5RdSL 99K 53.71 1 +TF7LQG2WKvjP7WkAFU A1O 54.2 1 +TG2pqiRoYYAg2Phu2x7zbI nuo 99.93 1 +TGBV9N8TbblmdhnXWCasQp uLI 97.96 1 +TH4UpKUwsroSrOxi ORG 92.58 1 +TI4rpz5Z8W7YeQofKFjgEBpz eBf 40.57 1 +TJPSkSKyPbcxt4RM58t2JhW ror 42.46 1 +TM76uaNv4HFty3dNT 5MS 94.57 1 +TMJNgyJGcHo2bzoM az2 90.89 1 +TUClmpnVo3kzSYFFLY86HIc paV 39.9 1 +TW1LYUcQS2Dru5mp lQJ 53.37 1 +Tc8NKhKKj8xUfoDOqX1 40H 49.57 1 +TeQjJV9teIv3JtDnPw 6KD 75.99 1 +TeYu1aOQJtreVBwcB 4QS 64.69 1 +Ts2tcICOYSfqLi 9gA 88.85 1 +TtCoQZdOcnG7Jpjt7B3H9BJ0 Sts 32.75 1 +TtOiVmaPwN5yMAd fCv 84.22 1 +Tvpf5XFf18BkI2T cIC 86.11 1 +TztzRsLodT2Pur0Y2nRtiS B2d 73.78 1 +Tzv1YxMu70cdYA9pWWR bI4 76.14 1 +U0DQU5LOcFHKXNqL nZg 60.45 1 +U0VOWotkXSJ2pzsL4 cH5 26.44 1 +U3LubhEKNJKV3J4BMGLCB YaK 61.88 1 +U3ilJloVcABVb1A0K4fj 7yr 92.2 1 +U49mC5p75BYblY0l5SxBI Fy4 87.32 1 +U7ErGpZpgas4Vf3SvDk07rf WyA 35.26 1 +U8XmpPbUnZwwtbJuCwa GR7 22.35 1 +U95gD5JVf5JEeGkmLczY 1NR 34.42 1 +U9FiQLmkZAiXMKkxqKAJ iHH 18.81 1 +UEfeL9Zx5kgpRtGDbiT RYc 71.86 1 +UGZhySIbfZYlL1NTkvhEK 0wi 67.88 1 +UHJlvkLI7Bu8Ar6wnY9 JSA 68.67 1 +UIQISPb9lFt40jwszS1eCNMA aLC 38.44 1 +UIuTDjzpNPrh6nwqrG Hab 26.31 1 +UQb4kGlQBaQuZjEgW4fdS S6N 50.61 1 +URAel0CqfSmFM3ZOpGxu 2uh 30.42 1 +USq6h35HyGJ8XrqWl4cb7 5qz 9.52 1 +UXOFRISeI8Qf6rmd4PEP Fi2 50.24 1 +UY2TQLn18bcrKEs2 0ID 35.16 1 +UYEAx0mOuNpQJGjZ rRR 99.73 1 +UfK51ydwQANdJ4cqm3JmLGvP Qh8 92.16 1 +UhIUbDmRt2CkXqx jEL 67.69 1 +UhrJHgGdYfdnan89C JPc 11.34 1 +Ukm94cZvYUAOjDj7 gqD 24.29 1 +UlEwPfof1obB6RpjtJ oRU 69.57 1 +UoNwKuL8Pd8jxsMJh2AboNM i3G 52.72 1 +UpWOpD31ZRm9hL6W lvX 64.43 1 +V6HurSZTOavkZ8pGs jLF 93.12 1 +VBbXpGZXGPu6RCbYACxMRLw nNm 83.92 1 +VC1G6LgLCKJLHjJ u5r 31.32 1 +VCeLkMbFThywPsi3u 4pD 22.76 1 +VFH6AH7wwjkCWZ OrT 35.34 1 +VHaBhBHq2MIiDnP PRW 26.72 1 +VJdxOa0cUOCdehC Cdi 76 1 +VKIGIcNtliDEQTiT 60Y 46.27 1 +VKLBDIsd6zpZOu2 cHx 20.01 1 +VO0CHbaizesAMr5aVTFgwFR b0T 97.37 1 +VRzokuxwKlMt13 hHJ 90.36 1 +VUdyA2qWjBla2mcgbphX3b Acu 35.94 1 +VUncQYbai2j1TfQCCc7 f2V 25.05 1 +VVM8O0ruc6ITW45Sl tLW 70.55 1 +VW5kltBFr8lPZ8JxIHIDTJS x2J 85.02 1 +VWl8adVWg5LFq7 pK8 18.46 1 +VZaSPnxSH6mvOSuvJU 9gv 74.94 1 +ViIIoW5iw3jjYY 3cN 75.79 1 +ViUrMTJzbyMv5FEVZ4L2U 2Cu 53.13 1 +VjEGHq4Hfr4mpdH AYp 53.19 1 +VjYMWDzBXY4EjDCe0X8LHTQ mbh 32.25 1 +VkwQveeFrNMvgeg0eLXhMw Av5 32.8 1 +VqwoQjSGqOHG5idIYuku4 WuE 97.07 1 +VwSTOQY3Nvwvwl7H K4B 62.65 1 +Vwjufg3E9juTrQ FY9 32.49 1 +VykD7LWaVxr5VyT 6Zl 82.57 1 +W2i1VIGm9riDFf kkO 80.31 1 +W6i2UCUaelSzr2lGL9Ts5 Rym 34.59 1 +W7PGy7dUw7CdNksU7Y6ITI6 k6F 27.58 1 +WAWzxImFjBNhFgaq pgF 80.95 1 +WDnV2Iw9s2U0hZB2yN9eeJLH MTS 87.02 1 +WEDI4uzoPrq4IeIkbjG8 l2b 75.18 1 +WGOgGNKUI9rJ8IOAjb6iQkc PUQ 7.53 1 +WHA8uuwDUng9XdNbl Sul 42.82 1 +WIH3SOeP0yXH5nEK0qXoLH Eok 86.04 1 +WLfo94mpw1o8Kbf2a a6z 92.23 1 +WNDES0MdgiRR8jj AYQ 89.86 1 +WNU6OrQQ3HKAyoQ8c7 OHM 95.79 1 +WO8wMOEq5E7AAbVrAaAS 5zj 73.13 1 +WS4CBFMmzH7zafR6 Vht 35.13 1 +WW0y8QypoznWVc8 1Uj 63.23 1 +WXc918pVzGQoQskWnvnNI78 ocZ 57.05 1 +WY4aAXv8f9iPwqnMSn5bd1 WNG 74.13 1 +WafiD0POjoXJJaHQ1VrXXNo4 EAV 28.19 1 +WbyoPckqqS3vaaX988x lOT 22.94 1 +WcluqyDt8cxKZjfDWrSocMpm l32 84.96 1 +WdWGjEOPu4YJWtWfehMCW Jn1 14.49 1 +Wfp1En3Q4TWCgCEHwVp FcN 90.93 1 +WhlA1GNEHgmUvLJC2 Rs3 2.85 1 +WidngrZLXel7yzSF73HV9 wYg 40.18 1 +WkBN9x4LI7V7PnjMkEg 147 15.29 1 +Wsd9WNkUS6en4KJOB7VUY bHF 34.7 1 +X0ci0dQ6Clz1dOBXO6hYN SH0 72.11 1 +X1g0Fa783sy2IM2Pc11VHqtr l9G 6.72 1 +X2A04y7BlJWKwj8af3ftIK Pj3 15.34 1 +X2HeRVwr3HwW5UgUoPq cNS 68.33 1 +X31i6o8dCAEbb7 UjP 44.5 1 +X38PxEKWnWnZjzWA hk2 45.21 1 +X3PcRo3W4Gcj3YxMV Jko 40.31 1 +X7JROHrCbnFu4nz9L jrT 88.53 1 +XGch0a918Bi8gsb DvS 89.26 1 +XKDErHPffv2LIbu e8Z 99.38 1 +XKem1DpBqcsaucbQq7f olm 30.02 1 +XM3GerTLovpOmIsjXqcyu ksk 35.99 1 +XN2bCEAUhcw5rNIG8LR6 IXH 45.78 1 +XNpnuJkXkBLHYS6 AyW 60.53 1 +XOBZeRVF7tkf5gPfBFWGkqL lEI 32.94 1 +XSCZ2etE3GPKilgp TWd 20.62 1 +XWFpRaXkRxxdL603p cRh 45.14 1 +XZmUOY21cmp6Rh E2X 52.91 1 +XaP4K9Cx3QFqI2 wLF 50.35 1 +Xb8Uqy3Vgr2jX2XtzBC WMr 70.1 1 +XbKQMytue5lnPkVZSMUmby EWb 42.3 1 +Xba6Npti5yIfU6qq6Uh4R huM 91.89 1 +XcxPdaojEtO4iUldHI nEu 41.19 1 +XdBIsMbPUePSW3Mm6KcYIuR ryW 81.88 1 +XfyfNBWIKmqgwRceqge8zeXa ODK 24.63 1 +XktieuBbkiTVv0kTwrmRTz aSA 87.21 1 +XleZC1OP4pKtsqFfyWH09SWZ rAF 33.88 1 +XoEdUNaVJbjkFdT37bsY aBz 20.88 1 +XtcVi02GCdnEZwIh bgp 92.34 1 +XvSxvehW2SpKSb Z5D 90.41 1 +XwrW7vufh20Sl320nSSAklAt piA 39.67 1 +Y0rUgo7FlunHOrgdwYEYC MzD 27.5 1 +Y6jvY7foR7Sl3bzeyJjhAD4 aXY 14 1 +Y7RL4OgHy4aRuV2stl PaK 65.67 1 +Y8TnSiabnr1jbri lp1 76.12 1 +YAIMMo7Lvqjkgp1 uO9 77.92 1 +YDe10m758fsuaTG1 oUM 78.1 1 +YE6D4n4J7ajBLQyp0eA 211 24.51 1 +YEKkcr4tQDDK9nobDwz 749 1.09 1 +YIJCQvkB9WHJ4DiAfPmkF 7nR 35.26 1 +YNnm5QEQ0nbjpu aBs 41.71 1 +YORinqwGkNuvvMcHy9XuE V4N 3.1 1 +YRYovyciDIWo2WKzr RgE 27.39 1 +YTJkVAj41wIrXL9SD1S1K P3r 17.34 1 +YVMIpkAZkAuwhenXwqvzJ xdl 17.21 1 +YXouwXXX8eEVI7 rOG 35.07 1 +YaXjagdzO77uUVAoN8Ozs bNm 38.07 1 +YbKWuFJL6pMMKh5lkwXhC OTO 19.11 1 +YddOe7TTfksgIwowK jMY 34.06 1 +Yf1ei6thDJWBkai2E09nl tR3 45.68 1 +YffrvumTPlZqR1kTRSm sdV 10.91 1 +Yk08TfZs5CcKjI9tGyl2RsYL qRQ 63.08 1 +YoAWyfqDO2zlfNM9fRDg 4L0 61.78 1 +YpgR0uHiJE80VbS hGy 84.21 1 +YstdxK2JW8ZzU39hm BVP 3.83 1 +Z0BRxLp0y6yUPtwD9U 5JQ 72.53 1 +Z0i4ZuioNIyn4VP6 EST 75.28 1 +Z48sH6I08VcP1oGRtzfq8CfJ 6P5 39.85 1 +Z7HJoJWePs9DfL wMb 39.24 1 +Z9W0VIzTcJlyBt8n 2vi 22.7 1 +ZBwv0nClcq6fF0sdiMcj fKO 42.58 1 +ZF2AyMtnkYRKQHm7PZxlv BxP 91.31 1 +ZFJcROx8weBQE8ogoQM rC9 2.25 1 +ZFRvIQM6XjfVWh see 26.47 1 +ZLtdlrUys92fuSccJYPmx9 Bum 97.42 1 +ZMxJHnz4An7m4C3LDf3Af8AQ auG 20.17 1 +ZRd0N7ngdjsghO8qP 7UJ 24.98 1 +ZUxpDw11omdd7J78WVm Omh 62.06 1 +ZbNlY0mTCxv3NmWfmA8DaQ PBO 88.88 1 +Zfyuiw5jrlT84oEtr MHJ 18.46 1 +Zk8hs8cvh7FKmO l8b 68.11 1 +Zld8Q5yRf6eiE2UNtz9QK E7N 56.79 1 +ZnpzeNsyeJXAFZRdDagu P5Y 81.42 1 +ZoX5p0L1uKfHlS5zcCBIj 5eO 49 1 +ZqpxhD6b9RDKMD2EOx 2nd 3.87 1 +ZtBZmK0TesJqpbPgG SHo 71.26 1 +ZxVaMV55c2scJStgn8 M3o 87.5 1 +ZyBzM3RXghCJe8wPbxO6Dj 54N 32.44 1 +ZybIvbbugXyNBR Zqf 40.42 1 +ZzMdffMv8f54bHMk3EX RTO 94.7 1 +a0I1a1RFf4zLH1D YAM 48.26 1 +a1YFKlWCHRPoz9IL6Luloa Eme 4.62 1 +a7LCN189wUUjodznR3cGxSg 1Fu 74.79 1 +a83PNz8oZNDVGfLV9rKT0Tsh sFw 57.93 1 +a8ieSTL7yDEet1 fqt 95.35 1 +aEBQJ8fKJtHEKnaVi ghc 89.09 1 +aNQ9iQNqbBKfMXzTUebiM oLS 9.06 1 +aNodcnMUwPoH4OoUN6 eup 8.35 1 +aUADZmMjgFUxAkrHFx4bfRWZ 2Cd 84.55 1 +aUceCKfUdwp9dv Aex 33.22 1 +aXDoaEFeEKvLQRrjUXxdJwkl 5hh 68.43 1 +aYHElUwXeTTN4OCtUdt2H0 CEf 13.25 1 +aa5hqRRvupUCDu9NCBsP6zZ vB9 39.52 1 +aaiFxWjUtXKRBumYmSqlgYRb Vy0 68.36 1 +aakp3Rb901rsOLDuWlm GAE 45.86 1 +acdVTPFnqogRx9gikMWsB 8jH 55.89 1 +afyrl7dgzuV480wawSrZjz l8R 27.44 1 +ajqkL1CxrCwaYpU Bw5 61.41 1 +ammmvqZaFqTlmSzq4f8lYIU2 vkL 99.73 1 +aoU0VA3a8te7m3n3GPZYAy jHb 41.24 1 +atEN6joI3hy6HjfHz0 rqd 73.18 1 +aujyOBelqlItTXnygq tZk 13.88 1 +av1XVN3DkkMXa5Sx2gF mXG 22.18 1 +az7p1Ca7EXYyYqweozRXs hHh 71.25 1 +b1EohMuu3RFu0ODf 7D0 60.11 1 +b7YSy12TSvJ4qmC8q N2k 56.22 1 +b8n7j410XuVh28CWuoMSeOt3 mhI 48.37 1 +bAbnWECURh65qStcK5v DMr 22.28 1 +bB64XGJKBFr6Qo b3q 47.14 1 +bBeIYE38Pf8orcL7 mFn 42.48 1 +bDNRIv4PwbWiLcePGkt3J5i9 Xi5 86.21 1 +bHcWXuIKQHeZVYckcbXU WkI 86.64 1 +bI7NQK0ayJdC3yVs naY 25.36 1 +bPKwejTJTCVkvNFdp hOn 19.73 1 +bbQcAYd5yUpIvoV4dWzI2fR wor 52.26 1 +bcWm1WTcUUblbCsO QeD 68.85 1 +beA2y6z30s7oejMo pVy 50.15 1 +beUihKBvtpQwClc7P2L hoT 17.65 1 +bi2SGgPy13Wo8NDq shK 83.74 1 +bkNT9eFwou8H5Ibrp0OTQIEK oUb 1.95 1 +bm1J81ixcngRDKP lY8 76.78 1 +bmSINAUvvNcdpRYZhO7 fPd 58.55 1 +bmm0lD9EwbCu79JiYcOI4kD apd 44.79 1 +c3bY5UHCcUeeL3kP 0XL 44.89 1 +c4HHPES3FZpMSJA8XYUeCPq GGb 31.41 1 +c68sxu623O8YDChZb 3or 28.31 1 +c69Wxuv2337UfUHrWDpkW94s jgc 76.03 1 +c72RcUM6kquID2BKMlI IKD 29.04 1 +c7KB3B3mGVLPL52Qjp AJQ 30.2 1 +c8K63odATjtt15wQGJmOgcg zYo 76.82 1 +cFwoWbof5taOcG2vO4NjVT8 fQz 53.52 1 +cGG3cq9x36uAwKS bL9 8.49 1 +cHEKcUfelRkA1x 2a2 87.56 1 +cHGbyopcwn1sOJ3C1JaI 7y4 32.28 1 +cL8iBoVhGmje8H0uzL gRF 33.07 1 +cMA9992gTjrTg1Fk6nCvS jyM 23.1 1 +cNDs0qxsFtQmNQhSCaOAc drH 85.07 1 +cUNUne059wJJBjNc rCn 13.41 1 +cai0tg9EbojcgUSntIJ vzi 58.26 1 +ccyBivg6Og74uT qQO 98.23 1 +cg3qrHbpImojf6nFb4 Y5k 80.83 1 +cnch8V5fWDlpXH5gbQ zij 96.72 1 +colbQo9bGmba9WP9yk hwf 90.3 1 +csiDTpZeRu6KzdVEUkO7 csT 41.4 1 +ct9kDgus7GwujDa9njCon2S gnF 8.04 1 +cvdVs87UJyWPqILO5K6e XHC 59 1 +cy3bHMkkHU3Kw4hMefmsgGpZ xOx 23.54 1 +d63n3xCzy9nbQk2x XnE 6.43 1 +d6gBO8IeXWzefO wbh 7.09 1 +dFEHtMz9mS14i0Yh dlO 54.97 1 +dOU9tRM7rifaGvJg tNW 18.46 1 +dP9WhVsOtSgHeSc7 qvo 92.04 1 +dSWBiSQt1mKuS1Pm 99H 89.13 1 +dTpL52LZU1bQhpHm1n4 pY0 28.45 1 +dUGDERmG8Vrnzj1CRQzcYU hfv 59.64 1 +dZsyKuI6hJF9DzCd7ga6 g58 39.23 1 +daaJtWWiBE4jEnOFIRIQ6vh JTP 54.24 1 +dbS4HiRkxXxsqFArX Od1 76.76 1 +ddy7faiV2W5bru6bBjNBh L4Z 45.05 1 +desg7VfLwOTSLE27HqYY Xbf 47.72 1 +df9o64ZVbq5kzsWEaaDT8tOi ga4 45.58 1 +dhjVtCO2GdYxYE35LjnO aPk 90.09 1 +diPp5Vu2b3FCDRiZwS uEA 27.95 1 +diVJmsHNgwOtPEkd2 UHk 18.17 1 +dkVmWP2ZbXcQJCWbV6 wbp 23.65 1 +dkyoPwq0OS7NFX0noKC289 lrQ 38.2 1 +dmXu6Jusowkx2mT7p XDz 54.51 1 +dmajuncDjFIHNFrsZ aDQ 86.62 1 +dyA1aReE4XTAMsFrCyJjJUw6 DRW 16.45 1 +dyaFdJOlQj8RmqwU3kR9wd 9wb 8.62 1 +dzp2Sgi6QZxxLejXi meb 31.94 1 +e08I7ldipVbAzdci BNW 97.9 1 +e4rQdkzeNRUbIKyA WEu 51.64 1 +e9KDWFtPmHwMoCp56S 7Ps 50.04 1 +e9g9AVNUrKNhRRtHfqBGtnLN nxy 52.17 1 +eADG98VOOEdQwx KME 6.41 1 +eAcHdsfyXS8nxYWk Mcc 58.16 1 +eCZCT2xLDHkTlJ fWM 36.75 1 +eFZxoCg67FkKJUSGuU usf 83.56 1 +eNUw7B7Qryvi1fQSkQVB3vZ JRo 19.4 1 +eOYP8MztMrQ3kE5BgBA Bdx 34.49 1 +eSWaeN354IZCXYLf4WW3XK SlW 61.39 1 +eTZtcP4XTBAGXP arC 14.12 1 +eWdLHgE1dcx5pPJt 5mc 9.86 1 +eZ3cV55kkZSlskmKrHekl7Z1 MYU 25.98 1 +eaDCbG8rix0gzeKR5DQT DD4 53.44 1 +ecP3AI7w4yVvwk5 zLL 42.52 1 +ed8L2wdxiNc86DSg7xmOGM F92 89.53 1 +ejvVQSuMtiZfWkcL O98 63.82 1 +ekmN97mJTm2eT1L WfH 44.15 1 +eoNmcZZAlKPuIG5KFgn coA 26.27 1 +epbF3M9VM4IlxGY Ci3 83.7 1 +eqhYTsngwylVxKCCfTO4IKHX gqf 72.61 1 +essawDgvkdN8OytblGOOAHX E4i 97.32 1 +evhqR1IxBQPNjGud9 EK0 77.2 1 +ewQ3ArVcOzw1ogm U8h 13.74 1 +f03TYXbdYkqz6kveKs9 Xm0 96.71 1 +f1YL4SteqKeAgU1CefuURhF 9tr 96.93 1 +f1mklqyXiMP7dOqMXJxWOwK6 YOM 50.68 1 +f2UsAY5ZP9UeJwk xC0 13.44 1 +f4uNzlSUBx2oac0oXtFj afS 28.64 1 +fAZGgCJ3Fz2EaHd WnR 32.82 1 +fBKFpYmbTSCurZwIBSC M3C 81.05 1 +fC0pOjJCEzNkLUJC0jpm5jI xin 69.03 1 +fEajBZOY3Q5OI6K99FW kBJ 81.3 1 +fG3613AQ0emkzdvX0oXZn CRi 51.44 1 +fJYuteqa2fygw9prwdSV BgF 74.57 1 +fKqrXY2iItUCflY1 zNW 68.18 1 +fL65j4xPQMMKeFtbBXvIgG1 mVv 97.19 1 +fNj0gPW9u1tKetV4XyO U5r 72.18 1 +fOGulO7lbAJ3li30yYtadX aZU 49.56 1 +fTaRsKFYtUbCuDWp0YAMp ESE 94.78 1 +fUk27ftwVIAveXDvilM ad5 27.65 1 +fXqxhjhiqpioGKN XFC 99.44 1 +fYq0b2ZyNUanvTtMrrhg 4Kt 13.15 1 +fZaI8AUqdtHfeyCq P4H 44.69 1 +fbEhfFT2WHwwhfUoxHH Dwr 38.48 1 +fdcXsEKktWhgzsjYmyN4 F8m 10.36 1 +fgvY6TooB2ZTcJpEV5rTj4TL j2q 49.89 1 +fhYd8bR1CrmDrpenFY3 Meh 32.38 1 +fklohpdUdcUrvlmPdx SCY 56.22 1 +fmvj8i2csSbNAJP0 Urd 65.65 1 +fn76aJacxbh3RqZ060qkvxa rCK 29.59 1 +fwQRaqSzyapTBNRY8h YTi 84.46 1 +fwe32cDW2S6x5g9tYmX1029v vUI 30.67 1 +g3C2HgCVqKzbG4Zn qiU 34.64 1 +g4j6Af6X7hAQlC8kV 1Z2 94.04 1 +g5zRx3qwv4QOu68c1AFQFuIc Mxq 99.61 1 +g84ZHD9K0suew2BUFTiFz m0V 71.23 1 +gFG1jBh5jgQNqDEdFVR FgT 90.09 1 +gHH6wWJcIFEki8lidH trc 16.63 1 +gHvTRO6CFuayHg6NqbiKpKQ l2e 37.66 1 +gJH5WV0yMvzQsFfQNO2g LRb 5.21 1 +gMBEZ5rY0IxiDn vfX 33.2 1 +gNW2s6x8BY3CnQpaMgDDJ g1R 57.29 1 +gPHLtWz0iYkJnTSGDVBR4 jgS 62.07 1 +gPahrTSE52dMgk vss 89.98 1 +gPmMspDGLd4G497wOW4ZWLf j5K 83.18 1 +gUKV6ROlCtV9GNPkM3w 0FU 7.23 1 +gUrg1FzLkbooCBE22WIg4 SxM 21 1 +gWXcbNTDbDW4pLxQN5A O47 96.15 1 +gaCAaBGswfXtfCBfPlDE OF2 14.47 1 +gbRk5qYfwgDOh1F YZc 47.25 1 +gc8GbXA81WZw7F7W2vJ6 YZo 90.77 1 +gey8CaKBqdhvVYLp U49 74.12 1 +glJCE2ic334kqM14sckDx9Yn Nlb 20.95 1 +gqUG8XAT4pfEUXP tfB 97.45 1 +gtwRabCr9rVx81MngNIgain h1P 61.94 1 +guJje5wDM7bLBUIu wO8 86.7 1 +gusEY3Jn4eYrpelKN GVO 47.37 1 +gvSYL2kDTjx5150V1D5B2I aHp 21.24 1 +h0pWROTb8ipNNPDQLi2051k AEE 23.92 1 +h0wcljP38NtCfWlQKeWji OE6 79.83 1 +h35IrwBUXTRIDtRF 18m 17 1 +h3s7EHQkCrYLpxo nY0 45.18 1 +h6LRC7dwMCl2CJQaTBNlEOKJ Qor 93.35 1 +h8RjoESuZyGyDVXyK 46e 14.13 1 +h8UPMYMGWcN5P1z1eaYRl dzy 37.48 1 +h9hdpGErcPLbLbEY8RfNxk x7K 19.26 1 +hA1lXHgPGbLKcS0XG oPF 51.97 1 +hAdhqUNLC7oqNbtwNz 2Cx 15.37 1 +hB7peFFIHN7EvgQKc5qqHzz YG9 57.44 1 +hFz013C0fFFd6HIMfth8AEi mn5 14.36 1 +hIR3LKeudaVVMqmHr3lKjTOj wHA 25.78 1 +hJ8mOg8mPy2I9v0HmzZC9 S0z 2.48 1 +hMtBlFE2zJyiq2C750AJv7ka by3 52.75 1 +hPZJLAz1KlsLZok9 DQs 46.24 1 +hSxKK0vhNaSjPVX7Ce3KjhMP XGA 87.44 1 +hTSKR6g5foDADbVPsoSh6 MG1 80.5 1 +hU8wE9aFQL1JBTCP 2hN 84.82 1 +hWbG9bE0Wp48BE08P7hb m7S 54.19 1 +hZldgiYJTbp0aoA2Nb1h 3Jb 46.95 1 +hb6al633PbyzEiSluDhy8q aCr 34.61 1 +hc6cCZUTgz3YSWkZ3DS Lqy 63.33 1 +hk4mZI3SF2UubimAnMg3i Mcn 23.69 1 +hlY6G6OkrQlKpUKvx Mdi 50.98 1 +i0JH6SycK19B2UM1V4bidJke cGO 87.27 1 +i1beqaWK1HPC00z22t3hLrp c3s 37.25 1 +i3uMfHMSYlwlRdAqYHJOB Jh1 26.39 1 +i917yWGCtlUeCQvv2MlfD NXC 80.38 1 +i9ISiNUwd0J1lsHt9D uJh 70.68 1 +i9dJeWHcp5H51O6yR8 yxH 45.27 1 +iG1QCd7wzYOuwJ0jM ZYd 75.87 1 +iQYfjb1Z3NExsNab2B5TL TVT 61.17 1 +iZ0rQDWFZDRkpd8cu5LO nM2 90.78 1 +ihHMDJNMnz09bZXfk1esV nvn 15.8 1 +ik2QXWOdDZVRSq7RVsqUs20 9NF 53.81 1 +iwcT93ufn2B7M5 ori 35.24 1 +izjZOirYviwBIYCJf8TK9 3MR 80.61 1 +j5DAOG8B4uJKVsWaojSYhg LKH 82.56 1 +j6Y6cSZZrymxsFc2 etI 66.55 1 +j9J2C4xHsCpHqIC RIQ 22.82 1 +jAHs7ejqa3AZI0iw Nx8 81.71 1 +jGClFsDo52NZvwRJj3RE6P p5Y 25.38 1 +jJp8KSiZVCrej2mX uyb 30.22 1 +jLNs6gczzjWS24XDgqZxy iGp 2.77 1 +jLR1L4PRfsVCik gBM 6.84 1 +jMGD2Mer803aBGExl9FaD F7M 43.51 1 +jPnDlPtfM7Z9xUbcQK5GUt78 eTl 66.22 1 +jRfkpxXnTRuyWTe6z4qVd4dl hTE 35.43 1 +jY8NWI3j4hRW45 IxT 88.93 1 +jZxO1FOI7BYiT1Z kn9 8.95 1 +jbwjDKSPi1aSfODKn2 frY 98.09 1 +jj6X0MHR2poXJN LuK 60.38 1 +jjarCgSAbAT6rG MhY 5.81 1 +jnVHFkvTmqUXCm 1o9 23.13 1 +jnd7RfZQrtwO4ZkhS AXw 51.71 1 +joYF1D2gx4aZDJL Let 98.47 1 +jrqvSepuV66EWGE qVf 56.22 1 +js2VRcxAqbUdcIo Mic 74.43 1 +ju5cyZOMHkCEBRQeEQ7LH1a lph 79.34 1 +jzinJ4R0vsFHfrayOjTLdk Bt3 97.96 1 +k0qAn8ErQcbdaAsB kzW 91.81 1 +k2Rf2ysnXcfq0hTUp1e U04 83.2 1 +k83C17NqvbtRwFv99ystjjG BwG 45.46 1 +k8d4rHX37sgfugxa eHZ 12.58 1 +kFs7rTMsT9fBGk17K FHi 71.11 1 +kFwUJDVs8PUitVIbTccVLCsQ Gh5 19.66 1 +kK8NAPIOLrysH05hpuEcf2K Jhh 27.13 1 +kMO7WlpELX1L3V fIi 64.48 1 +kNEHkVKYtB1oBFDfyN qN7 26.54 1 +kNN3Y9vFapW6AQi7Iq 73L 31.7 1 +kPmFgyW2JpBkyuPDEV XYx 45 1 +kSpripiRtRzEgqCeK6 Z2H 77.04 1 +kTvKE9YjTLE2fqq rOJ 34.95 1 +kZf5TBY3Y9EoQlGLKj30 PvM 56.39 1 +kZipybmtluQgdWdrHnvIFR tlA 59.43 1 +kbmeHbl7B2dfOkZHsaeb HZ1 93.98 1 +kmguCIqw5Uwj5O9 3xN 93.76 1 +kxUO0WQNUzieeFTryflebY Dtg 84.79 1 +l0mzimgwlsXqGUBgM nG0 85.26 1 +l2QD3Yi4varknBZ90d4P wHG 8.99 1 +l3K8eizT2TIUALIMiSW4P Is6 1.68 1 +l4uiTfaSCWD5rwe1uY1 388 90.01 1 +lDnlB0YwIvkkGoe5x cio 15.7 1 +lJfAJ8RJ1sxsbmQS2Ck cPO 17.72 1 +lLgZ2NC4JVp5P9sa1d x1F 60.02 1 +lMahW3jFsjEElYo13nxgfI G6l 1.21 1 +lNVGlfZMxDB19DZy3V l3T 7.36 1 +lRx8wX2RW9W4if0xAWQ 58d 88.32 1 +lSg7tHj8Qnba502zVi Was 68.9 1 +lW8ht52DgEgRKbhV q1x 7.43 1 +lX3Ycw3Z6b65pLNM VxV 20.37 1 +lag6rsYOXDcrxxdYq8k I9s 57.6 1 +lcU2uPCkdf1mWyawJg9mR8 9Ft 21.7 1 +leawxU0mv8nsapdNNqr y9k 23.25 1 +lk0ed5qKtxeiC5144l rWw 95.73 1 +llrP3gT00Y8KDEau68e 4wN 46.28 1 +lnQmPf82CqN3qRTELyV znf 34.08 1 +lncie89pstAvCdIw7c cxL 46.95 1 +lxQrkMtX6g3B9PHCYT6mjT n6e 24.3 1 +m01ChpMoux1Lqlsr1wTgC AVt 12.43 1 +m3CoTJzGkqoWPOKnR pKT 3.76 1 +m5qiy5aSrDRsPjYuK3 oLZ 57.71 1 +m5tuJK7D4QfkTwNM4vvWkJTz ori 49.82 1 +m9DtL2Ki8CdBeN LpQ 51.53 1 +mCPMhEMo05eNLs peD 85.42 1 +mDvI5pU9im2ZfE Hm8 33.71 1 +mJAy4lJtNLmBVvMu tR3 14.12 1 +mN3RoRjh5lBfh6vuuSl2 b8r 36.48 1 +mPVqvyomHkvBWmtRgbM7FIB YWh 13.5 1 +mUwd6Bxd6foSy6m Mri 61.36 1 +mVDyAXKJMJzhxVVIBVLE WQt 45.47 1 +mX4gJhDnsTkARcg s8k 36.96 1 +maQHUnit2wH5w9oKu4 yIq 42.08 1 +mb8oJBj3rEctyGAoWvseC YM9 51.9 1 +mngVTPQkazW4N0sjj vGH 1.81 1 +moZcAiO3KAuJ87l 0iW 40.04 1 +msUeoyhGzGbFU41P2N4c kO8 94.7 1 +mt6pXBdIqwDKSnADdA4B rEX 44.73 1 +n6JMwoZhy8DIv5 ADO 5.42 1 +n6MevHte4zHHaG DM3 11.35 1 +n7aLzWfnUKnRqCE 5AH 48.76 1 +nAwyOtDhkko4E7I udX 44.28 1 +nDHKPelpvbdCQ1MEr7q sZx 92.71 1 +nFCPghrtwrKldJ7Ucez to5 16.31 1 +nN741i5RlauzTT5 OB2 98.08 1 +nPQ9MXF7AQQtfGHGLm8i81 MO7 97.31 1 +nQBItoA4Z6BRi9ryHZCJ KWR 84.01 1 +nTETvxx8Zx8rnPNO3eMQpNG GHx 72.1 1 +nTKqRKLVCtEAZHFRXGP ZAU 81.28 1 +nTNXT9GgQqd4SpUDlakQt YkL 72.96 1 +nU46pBloZd9IzLvWqkWw6KQ QKG 43.35 1 +nUZAtCgfhJyQOrPha2A7 fs4 96.27 1 +nVgbdsee2SP4FB5Hq2TBYep ADL 79.95 1 +nXUNnjAQqfCH7YbOYEF b4Y 18.33 1 +nYk2NTiKilobkNAjz k5d 73.55 1 +nboJrtJYV6Mt3zv1B4Lr9 e0c 73.16 1 +ndv6b86rKp9n2cNX K6g 47.78 1 +nhxGqyJtcmp0c2GS Wfi 9.96 1 +njbqCyHTsu8mcNXPIUEvBS6D 9iW 65.27 1 +noMRxGcZyhr29PjuwAosgc 4Z6 99.32 1 +nrtf4ebujgXutVUQ24vvRX6A 274 90.85 1 +nry7fD2PxCq0cKcancYLQT C8R 15.81 1 +nuStI9F3F0w686CyEPF EM8 76.39 1 +nv01rF8xhf5mmD tVe 48.18 1 +nyvE9NFl2vmvi2mzHMwt UWq 66.45 1 +nzsDP3gGhpvHviTBiYm2Yeqd CLP 46.77 1 +o6NQbq6fMGQZbsvY kJq 32.83 1 +o6k3ytLBgirhI9 tQs 30.6 1 +o8o3MRUxYQIgThukY C2r 37.22 1 +oA1rcvMtJMM3WN3IjDTlrI nWq 3.52 1 +oCges9emvR1NY4J TnX 8 1 +oHmIL1TqNdobgO7di 6v2 4.31 1 +oOxyniSQg7XkseS1dVQuzF PMg 74.39 1 +oSXPqILMtxwLj5 ES3 14.5 1 +oYBlXuJnf0AhIT otr 86.71 1 +octuE87qAIFUrn B0q 56.88 1 +ofOxLC6d6EzopbXCUBC hxO 22.95 1 +ofkxBHZUOGAPOxTYDP who 25.68 1 +ogO4DXOCOmZXKxoJ4atHn0 Zpu 88.7 1 +ohl2bd2nFU2jBg8 2AX 83.93 1 +olS5kG6EPR4IZ53q7 BcF 96.7 1 +onKlpy2g8wCx2Zy c2w 66.6 1 +oocJRss86l5uIOqT8BbpokD LHv 11.27 1 +ou1KaxGwHXKeqEnEIHu07JYo 1we 45.35 1 +ozEs5xfkNSaBSctPlMAXfLo tzR 87.64 1 +p2rOb9TRfrpmEB734J3K 4oU 12.58 1 +p3RrlAVpzgYG8j0C CEX 89.77 1 +p9jPfGcJVMsEwYYpmysYL Cuo 98.66 1 +pKkHlorQinRSRQJdZ0fYM Ye8 83.24 1 +pQFtR44HoQ4Grd5gQTB4bR sCv 11.73 1 +pSmu76DfLDpInp9 Y39 53.77 1 +pVRJAXJWxBDOPwHyZKs7INB cj6 10.03 1 +pYW2sZ7IEjg78gvea9 AwU 35.97 1 +pYlDV1rHMwOZ0j9TTMKNUeY WnO 96.96 1 +phaRh2uo7SAM3S OSi 55.68 1 +pmSlPgZ3UbACR1YwKx xvS 74.25 1 +pmivv2mZoqInf5HYg uor 82.4 1 +puu3QlA4QIaWKE3KrljJpwA xoU 72.05 1 +pyHViBYExLdKV4E0k ERy 90.25 1 +q04Ybp9gtmpT8RXwiKxqszj FjG 52.08 1 +q7ZUoEHOorsjVLz5m9F0ggew f00 55.62 1 +q8rdaB59K6MKmtqNW TLY 25.54 1 +qC10rKozjpso8r6dxu chl 7.79 1 +qJ29mh3igLo8PL95KNtLf lt1 25.19 1 +qMbOMkCscVI3i275oLoA0w Mo2 90.16 1 +qQebASxdzPNIE1J9Voe MDZ 66.49 1 +qR7Lk6AUzS8k3U9kyfV3 hus 56.42 1 +qRFzkyTggJkNJJ fgn 4.13 1 +qYf4XNzDv5vUlz ZOq 89.64 1 +qZhtNICPmT3xbeKdk8K1V0P 7nR 95.43 1 +qaP66yKXl8iuXduawPFxe bg6 38.91 1 +qaf7t83OBruktJ9 7QH 20.49 1 +qd9PzUTlhjEsekV0NUo3GbCM BIN 55.35 1 +qepymlgDIndNoEaR QUX 18.78 1 +qf1oZdzGr2W42i70kaNuk38 00y 76.81 1 +qf36p9CoGxOXIQ 1lt 66.28 1 +qgyo23KYSduq4rSGhmZdy dCE 63.24 1 +qhXD45Ge8KYXVKkBnl5AnUbi C2s 28.29 1 +qj3HacO8gluMPy s5V 90.65 1 +qjRCy8w2SpIYvDer3RAqu xYR 86.12 1 +qjVwvkToI6szzA7DjoYr7 ori 11.16 1 +qmMUUOHzOp6AxWvSI7tkK Xay 57.34 1 +qomB8fW6cCL67QXogBSk zlI 88.05 1 +qrvxcAkdMe39nfKtmdj5eW 8iV 8.77 1 +r0FWekbHIqzVzaJl1EIGWGsF z6y 7.73 1 +r0ToJLZC6ggPDyQZnGP 0Mj 39.35 1 +r0nHYC6SwliA90MXDX JRc 30.08 1 +r6PPkA8fr6WSvi7A BTw 57.55 1 +r85iRmJo8q4g35Je eFG 43.88 1 +rDNSGptsMtRWWC7Ezy7 3fz 88.06 1 +rEMmThyMzZGfakSOl D70 75.69 1 +rFmeR8mqXfQf6E 6pm 97.84 1 +rIQEnqBeUWYwkHtHCXFbJte8 a7m 91.61 1 +rKgzFhLYAklXz8S DBI 77.2 1 +rO69pVIhbbaAcs jyL 94.95 1 +rOl1hlxGDZbRZlJfLoHjwM4 f9m 49.15 1 +rW3o2WyHQDzlxkBk AWo 94.21 1 +rWWNfX5yWNi1d5j7Epn Jx6 36.79 1 +rXSKiGRzK1sbXN97a izQ 52.88 1 +rdovPcFy50ch0vNKQ8hkJE Xeo 96.01 1 +rf6V0JeVzw30yvdD9A3Dncp GMX 86.67 1 +rglgIlDapRkVgx0GVIJL2vF wmb 18.76 1 +rpYWiYZfjTIxOr Dcc 75.34 1 +rqBJSV5ieYSGSTg f7f 11.87 1 +rrSnOo3FgAlq8mo h7x 7.49 1 +rsnpStePhGJ5cbc0Qp LXX 2.63 1 +rvNzzk15hv27prn0IUt PAX 37.15 1 +rx5Nrmnah3H12WtEpow WtJ 57.16 1 +rzBXDyD76WdnD8MMINzi rFK 71.33 1 +s1Xdx5NRTT8P4QjS Joa 92.56 1 +s3k9YdBgCZChqqc2KJs0Rd 02o 66.93 1 +s43AZxvAuX5cryV NeL 7.71 1 +s4XVPloxW2sntECc3wEAPNA dMU 72.57 1 +sBAie5QHzV5fx82Zq9gzpU OqZ 32.24 1 +sDInbdYgzmGPxpJLSrxdO X8O 53.08 1 +sF3z0wWUD0IC1pH 30N 59.97 1 +sF4gpiUnSfXXcS3 TIW 81.31 1 +sJtOMpYW0fbPeLltexDrvLh TJr 44.57 1 +sNgMEXHDy2xYhk6gRX3Gy yio 86.8 1 +sc5aEYg6zhHbgthY Sa8 30.04 1 +sctez1OUXW0NHr03pfli4U lQA 37.21 1 +seU96HzNN0fwMfYlDJplU pHf 94.91 1 +sgc3SU66nhw24xmWNF 58R 73.4 1 +sgjGMbb4FA9dHaf lRa 34.6 1 +sj4tIRIyyn3es0jDtk8qF 4wO 67.79 1 +sj5Xr7qzw35utX yoC 25.68 1 +sjPUoLHBbatTmtocHMypO hHZ 99.89 1 +smXsoV5mxxJyxo8 bMm 45.78 1 +smwbAhBCUACd9sdJFWz2M833 Yyu 43.65 1 +ssHSCI7qRGVoaarb79KXz4ob K6M 61.93 1 +stxqwGJbgJeLb1mfY 0aD 25.79 1 +sukmVIXCSn67vVAlTet p4e 16.01 1 +swZiMOVaMB8L6DS4 MS1 6.44 1 +sxaxXe26hFT1Ibb XBF 24.83 1 +sz0NdgvFy62JNTU 9yD 87.19 1 +t3oHSHrOOQMVEP vnz 78.27 1 +t4Zc06ibr46rnUo XKB 38.2 1 +t4ccklaRBqjFXhCnH coA 49.72 1 +t59WezBkpcrvXagU5feH yCY 10.33 1 +t5coKomHaPANbfKiy2VXtL 4xQ 69.49 1 +t7esI9bupiR2eHMV4WLpc6J0 TQU 9.68 1 +t9lCi4dHew3BymRzyNy8nA9K scP 69.27 1 +tBfoqUZc3nKcKLdDnA8 GDs 31.12 1 +tENXvTd895E0pd2F2 EjT 23.77 1 +tEdzF8kghiu0yyZJ0 lAO 75.3 1 +tHM2V9ymycZdRs6ZPcG3g u48 36.22 1 +tHjOYdwyt7M5fL4hPuPo MY2 54.75 1 +tHnsNjID2XM0QaCrveL2hHxW tgL 65.35 1 +tJR3s3j9B7uEIRqrzfEVYe2 u7g 21.3 1 +tKKJfPuqcrfPcCI 6Q7 17.08 1 +tKeRiqmX72izEGY5Tpkxj KXB 92.34 1 +tKzof5KSuD9KU8o5awGpm0Pz Cf3 44.76 1 +tPBmfeclv9j6dVjMkiJj2X 2B1 86.19 1 +tTMz0Ce0QrqET2WrpYjYO A6g 83.68 1 +tW2FG2aHzlT2v8Jywkes3rt Kwd 86.06 1 +tYxPukj0QKMyqE3OgiD cnW 38.14 1 +tap9jqTTMyXCU3xh9 xG9 17.67 1 +tf54wabdRnf3NHdYVxzOg 3Vc 95.26 1 +tf9IkWLlXKssLH dSE 72.18 1 +tfdyDbfuq3Bfqem4lq lJG 47.38 1 +tluulKWRrloEkH L0D 22.68 1 +tmf6ThzUduSQkMuu N7x 30.97 1 +tpxXav2iTngSHqySX5mRDHD iKd 27.79 1 +ttBaqvlboRG9ha dlv 99.47 1 +tuNba31NCOwxD2UoJiXAOB 3Yc 13.75 1 +tvtglsqFLrIsvi EgB 80.26 1 +u2jGziNyuAucmwjZct5xR 6kD 67.01 1 +u4iOHwOb92rkaUAEmltGNgP ocq 47.96 1 +uKFdauo3vYlBiM2CsUwTv UBM 44.53 1 +uKGv1g5Spj7JMfySDgm Fca 49.26 1 +uLAO8qSC1TM6HXnQqQdXep J0q 11.85 1 +uULdcnAIUFxDkF JI0 45.13 1 +uUp8nPNSheg2zdf4MsOsOShV dnd 92.51 1 +uW0PG25fTkw9Rx7IMWAd e9H 37.66 1 +uYnJACueQS9AHYVaclwcC89s pPB 99.67 1 +uesKPfmyaDjzmA3mvTzz osf 17.6 1 +ug6RR5mud2770w jBS 37.59 1 +ugHT9UFOYGKLTF42Xo9T CVh 96.12 1 +umbDYpJJUBxZIFOghDdmK6qu HlR 25.13 1 +up0KitPCx9bACH1GSdk BM8 64.99 1 +uuB62majnBjKB9Lc4 uns 34.79 1 +uvTCdgplgiN7Y1JysetLMFOd RRd 49.47 1 +uybUE5WkGAGis3iz8T7y uSw 98.98 1 +v06hJC8wDms84e ZKo 35.55 1 +v1KMfS6cpybDLxhNptHl3g1 3c8 51.97 1 +v31Ksj4S3H5erUN VRU 54.72 1 +v6WfOyQkIW49I8w6g vdS 63.82 1 +v7MX26rwq1wfTfU ynk 3.7 1 +vAVkAgxqXwDy5bwemAkeT 6F4 59.62 1 +vDRO5wZLno5YpNuv ybr 77.91 1 +vGYHhVcP44YMXvl 1pP 28.51 1 +vJKBFA2R0yKwcVYa6i6 KrM 30.69 1 +vLIaSosKTKfP2x gq7 40.29 1 +vPQugjl2n6DAumhKfg 2nf 51.16 1 +vPlb1hBQU3px76vWSEm mHv 56.89 1 +vROPqIOdNcQXlGu vw6 41.75 1 +vSbUM9brN3tmHusQBk OQ7 60.58 1 +vV5NVSEt9iybQaQxI 82H 7.9 1 +vWYJvMIPGkAHP60zlW nv3 85.84 1 +vWqesjkTL758RF7KoOnRDKfr Zk5 39.25 1 +vY72xMdYCe0iMsQi TVo 62.56 1 +va3JJjZBG5BkyBRl RVo 1.79 1 +va5tqd1huUVXAhstsQ MJ3 10.22 1 +vbtwPamTB1bj8X HTp 14.61 1 +vhgoVjJUlBXDFdZCxzsaya5 byP 83.37 1 +vloWB3A3HY57KtTdbK rTo 19.64 1 +vltilX6riOX9kpMzBna7w2vr tqj 23.29 1 +vpchajIrSdh1S1 fA9 85.92 1 +vsEtCGHKFooVluQFC qwa 42.88 1 +vtNClByfxwM1jcWmrZ i2K 89.11 1 +vxnh14t05Ho74Qm0dbs 2Ky 61.67 1 +vyLJQ6WgvsD6XCqcpGW OLS 11.65 1 +w04nM63TBuTWx7OISI23zf 2M3 39.49 1 +w1WlXjmk4NIYWGxJbPJJK24 Rvs 69.54 1 +w4RHlt14C0ES7v qKq 27.72 1 +w6WqmNGIeptTLbBpEUW0 2tZ 1.43 1 +w95BTMeuzJYLF27VniD6BgB ZTQ 79.11 1 +wAWdZR2piZxtJYmLeJu45X rIt 1.7 1 +wCJO9G1gWMaw1NO Y02 14.36 1 +wGFRDl88owz5S6qKsFfLN loj 66.7 1 +wHG4PZVR76vx6uSI jfl 5.54 1 +wIaqUBG25Yzbu7ZxR c0J 16.07 1 +wTqYkZ3tbjLUfofA OZf 80.25 1 +wUsOMxLu5uapAopQkE Uiy 3.38 1 +wbC52JhiIbOCRaVYsEEhBsjC b0x 92.09 1 +weIpCGsT1Vl0eWE zAr 40.43 1 +wiAPnE21zfHA6Z88E20V0 Z9t 27.52 1 +wnLYCRGWqEd0CYuUQugaJJb qsR 83.91 1 +wnp6dLsieyRtDQlegF 4L7 34.7 1 +wp6OZ2Tz2P63ImEF Cv8 43.25 1 +wqSXAkIu6hm6wOB9MypS mvz 53.39 1 +wrYaCoZvq382kidwns Dr8 84.59 1 +wsSCg4pxP4GnKIQQKR xiV 38.4 1 +wu0eZF1g4Vy5j1F gb3 30.25 1 +wuhoaNNXiUcmQu8MfvkZpj HFS 20.94 1 +wuqKHVboW6oAsnd59xKtp sG5 8.59 1 +x0lK3HF94lK99GWIKXw7avy Yq4 78.01 1 +x7yR4WekD59VLb dHm 13.13 1 +xA3ZZPZGPZz4CpmIZb2pY4 iBd 93.5 1 +xAAbqdhFMj6rSoxEeXFxayWG 1Ea 90.9 1 +xGC0PGdvKZB4eUcFBXmo ghE 52.33 1 +xGwqgX1dUF9upg31 JPk 90.06 1 +xIx1Qj1OVMQcbT1 0DR 42.71 1 +xQVPiCddOZqGJuFBB Loc 30.13 1 +xWLVk81UzxCLYHDTkL 2vd 90.35 1 +xavgftQfXQ2FZL1PQtpo DRX 5.93 1 +xcjnBI7rtrPAT2nE uEX 41.79 1 +xetPAvJWrG2DGibcgI IBH 29.69 1 +xgZtZKhbcoWThEw5wGB RbE 24.88 1 +xjMmd163QZIDupNo Yth 56.1 1 +xjuf1THNUvBJ626XGBc1 Sg8 92.39 1 +xmRyNN5aCowYqCef 7NC 96.55 1 +xmtGtFPXUDZX9d2TMarr9Fs Vor 89.33 1 +xpERJlyvsUZItE04J1Ifl zSF 61.67 1 +xt2xS7RTO3djz9B1dsLt55cu hPf 41.6 1 +y0ztVqQkc9RISpY uef 51.97 1 +y1nNGFSAwyHreeOjIj ltB 5.36 1 +yBsTxoMOSuL2OQ6KMEPM6cLK TyT 6.22 1 +yCQo33cLmsgVVxx m6t 25.59 1 +yCwguRlWVZMAIfHgUmaVt cyz 67.13 1 +yDnENznEnLVzCGuoCOBHQG zWy 81.52 1 +yGIKSz03msfYEVQI2qKIsj kHY 50.91 1 +yJqU1OETNzihkL qtD 44.5 1 +yMnutEiPxpbXt1GnoFGd3G3 L8B 58.22 1 +yTa6a8QRg8ErVXd1B8 AgK 36.93 1 +yU0rQeGImscj8aaVrHmJ5 VWP 5.68 1 +yX6T4dG06qhQZ6Otyjb 6Nc 14.11 1 +ybDJ3X8oUNt3U4bf OQq 4.21 1 +ydqWU0Zcxp52Cvl fOF 43.42 1 +ypUZzU8lhQP1n3xYR1NIb Kyu 28.1 1 +yuYQXEuOB5Xl2HnsqMiWlZxB LJV 87.42 1 +yvpKM5VDTQ80aN7rZncvZM c0X 78.57 1 +ywbfIhFx8pBVpRXty vHh 29.87 1 +yztTo8pZgplkub6M Na9 37.86 1 +z2axjEQyGHLyCNMi9aF2TMlA TRx 56.45 1 +z3CNwWMBczlLeLQTXrYhxhHF 6tB 38.29 1 +z3cSvDFe3sMKsHyfWCRZdXQ Cor 71.94 1 +z4Kt5fRtrD2I4Jun0idlD7s Od7 80.61 1 +z4LNvVvPttwYhL caS 81.03 1 +z6CpY3vGToEeFoGFvVoX5L RHm 91.19 1 +zBm65MU6sxXieUOllu WZN 86.21 1 +zDWUNTGRNSVHDtC34oEZ4E 3du 86.19 1 +zDhfnfp94ZBkpL qbe 16.66 1 +zNRXf8lbdh1mSGU9mV4L Qty 18.76 1 +zOGsAMgiUpRD1lCUb34ATM dnJ 7.53 1 +zQd0y5Nz7NkI4bCxbxkM9 TSW 75.19 1 +zROImS2r0gmZPHu2 C2U 70.08 1 +zTjEQkKztB9qh57r MpR 45.86 1 +zUG8qz5tVC5vTWgup uRL 96.19 1 +zXHVES5b2EC0vsIItf NeC 17.83 1 +zXcDPC1sQRwiXKICxW MMN 25.92 1 +zY76m194yqaEKSZ027ZiaHfL CI8 61.72 1 +zbNu1xxEjde6HW C5d 77.68 1 +zd84PS7RDAWhYJ BaV 20.37 1 +zf2p9ajWtGH29kZYoWdGrU j3s 9.26 1 +zg8ggpg3qkR0RmfHa kg6 9.34 1 +zpokwAZYw1YQkw2 VvO 55.16 1 +zq46tAk9DESTglVxmU 0kA 89.53 1 +zrfVBd1A6T23x5PhAv pZt 61.89 1 +zxMHyXniVBNuJHq1qBSv OYJ 50.15 1 +zyBFm2DG74zK26LL6Ga CNK 59.42 1 +zynrGW9lxFY417 vGS 76.27 1 +zz3rluGqjB9PkRZdk8aLo 8KV 97.04 1 diff --git a/e2e_test/ch_benchmark/batch/q3.slt.part b/e2e_test/ch_benchmark/batch/q3.slt.part index a9729d74c63ff..e0c908f2b905f 100644 --- a/e2e_test/ch_benchmark/batch/q3.slt.part +++ b/e2e_test/ch_benchmark/batch/q3.slt.part @@ -16,21 +16,21 @@ where c_state like 'A%' group by ol_o_id, ol_w_id, ol_d_id, o_entry_d order by revenue desc, o_entry_d; ---- - 2111 1 4 21 2015-11-22 00:00:00 - 2107 1 4 0 2015-11-22 00:00:00 - 2105 1 7 0 2015-11-22 00:00:00 - 2112 1 2 0 2015-11-22 00:00:00 - 2106 1 9 0 2015-11-22 00:00:00 - 2108 1 6 0 2015-11-22 00:00:00 - 2108 1 2 0 2015-11-22 00:00:00 - 2109 1 4 0 2015-11-22 00:00:00 - 2112 1 8 0 2015-11-22 00:00:00 - 2114 1 4 0 2015-11-22 00:00:00 - 2110 1 7 0 2015-11-22 00:00:00 - 2107 1 8 0 2015-11-22 00:00:00 - 2113 1 2 0 2015-11-22 00:00:00 - 2106 1 4 0 2015-11-22 00:00:00 - 2111 1 9 0 2015-11-22 00:00:00 - 2112 1 4 0 2015-11-22 00:00:00 - 2107 1 2 0 2015-11-22 00:00:00 - 2113 1 6 0 2015-11-22 00:00:00 +2111 1 4 21 2015-11-22 00:00:00 +2106 1 9 0 2015-11-22 00:00:00 +2105 1 7 0 2015-11-22 00:00:00 +2113 1 6 0 2015-11-22 00:00:00 +2107 1 4 0 2015-11-22 00:00:00 +2108 1 6 0 2015-11-22 00:00:00 +2108 1 2 0 2015-11-22 00:00:00 +2109 1 4 0 2015-11-22 00:00:00 +2112 1 8 0 2015-11-22 00:00:00 +2114 1 4 0 2015-11-22 00:00:00 +2110 1 7 0 2015-11-22 00:00:00 +2107 1 8 0 2015-11-22 00:00:00 +2113 1 2 0 2015-11-22 00:00:00 +2111 1 9 0 2015-11-22 00:00:00 +2106 1 4 0 2015-11-22 00:00:00 +2107 1 2 0 2015-11-22 00:00:00 +2112 1 4 0 2015-11-22 00:00:00 +2112 1 2 0 2015-11-22 00:00:00 diff --git a/src/risedevtool/src/bin/risedev-config.rs b/src/risedevtool/src/bin/risedev-config.rs index 0aa7035dd7ee3..7a70f46344bd6 100644 --- a/src/risedevtool/src/bin/risedev-config.rs +++ b/src/risedevtool/src/bin/risedev-config.rs @@ -190,7 +190,7 @@ Required if you want to create CDC source from external Databases. Self::PrometheusAndGrafana => "ENABLE_PROMETHEUS_GRAFANA", Self::Etcd => "ENABLE_ETCD", Self::Kafka => "ENABLE_KAFKA", - Self::Pubsub => "ENABLE_PUBSUB_EMU", + Self::Pubsub => "ENABLE_PUBSUB", Self::Redis => "ENABLE_REDIS", Self::RustComponents => "ENABLE_BUILD_RUST", Self::Dashboard => "ENABLE_BUILD_DASHBOARD_V2", From e8b3206880a0abcd4ab0f607631ebed85d017da9 Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Mon, 12 Dec 2022 17:32:48 +0800 Subject: [PATCH 22/26] Update src/storage/src/lib.rs --- src/storage/src/lib.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/storage/src/lib.rs b/src/storage/src/lib.rs index c8e7591f0c514..469a647351de4 100644 --- a/src/storage/src/lib.rs +++ b/src/storage/src/lib.rs @@ -41,7 +41,6 @@ #![feature(error_generic_member_access)] #![feature(provide_any)] #![feature(let_chains)] -// #![expect(clippy::result_large_err, reason = "FIXME: HummockError is large")] #![feature(associated_type_bounds)] pub mod hummock; From cf56b29dc08891cca1252ba810b9b24ccac863eb Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Mon, 12 Dec 2022 09:37:49 +0000 Subject: [PATCH 23/26] remove order by Signed-off-by: Bugen Zhao --- e2e_test/ch_benchmark/batch/q10.slt.part | 3 +-- e2e_test/ch_benchmark/batch/q16.slt.part | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/e2e_test/ch_benchmark/batch/q10.slt.part b/e2e_test/ch_benchmark/batch/q10.slt.part index af9d8c4b4d42a..67c5710312f8d 100644 --- a/e2e_test/ch_benchmark/batch/q10.slt.part +++ b/e2e_test/ch_benchmark/batch/q10.slt.part @@ -10,8 +10,7 @@ where c_id = o_c_id and o_entry_d >= '2007-01-02 00:00:00.000000' and o_entry_d <= ol_delivery_d and n_nationkey = ascii(substr(c_state,1,1)) - 48 -group by c_id, c_last, c_city, c_phone, n_name -order by revenue desc; +group by c_id, c_last, c_city, c_phone, n_name; ---- 10 BARBAREING 0 26PP6i0y20yiP4PLmNyP 897-842-8196 PERU 10 BARBAREING 0 yLk444 LB Rk 222BL 910-889-6085 EGYPT diff --git a/e2e_test/ch_benchmark/batch/q16.slt.part b/e2e_test/ch_benchmark/batch/q16.slt.part index 92528bcc219c9..fde27203e0c62 100644 --- a/e2e_test/ch_benchmark/batch/q16.slt.part +++ b/e2e_test/ch_benchmark/batch/q16.slt.part @@ -10,8 +10,7 @@ where i_id = st_i_id (select s_suppkey from supplier where s_comment like '%bad%')) -group by i_name, substr(i_data, 1, 3), i_price -order by supplier_cnt desc; +group by i_name, substr(i_data, 1, 3), i_price; ---- 01uXuK6OZMODiUhZYqZ HpH 75.52 1 07aYp3TpS3pCsDM BIc 75.23 1 From f50a2df7c0f5b33ca9e7f08fe17460ef27aa676f Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Mon, 12 Dec 2022 10:15:49 +0000 Subject: [PATCH 24/26] revert and fix batch ch Signed-off-by: Bugen Zhao --- e2e_test/ch_benchmark/batch/ch_benchmark.slt | 29 -------------------- e2e_test/ch_benchmark/batch/q10.slt.part | 3 +- e2e_test/ch_benchmark/batch/q16.slt.part | 3 +- e2e_test/ch_benchmark/batch/q3.slt.part | 24 ++++++++-------- 4 files changed, 16 insertions(+), 43 deletions(-) diff --git a/e2e_test/ch_benchmark/batch/ch_benchmark.slt b/e2e_test/ch_benchmark/batch/ch_benchmark.slt index fa385bdbb8a8f..048a471edd23b 100644 --- a/e2e_test/ch_benchmark/batch/ch_benchmark.slt +++ b/e2e_test/ch_benchmark/batch/ch_benchmark.slt @@ -5,11 +5,9 @@ statement ok SET QUERY_MODE TO distributed; # Create tpch tables - include ../../tpch/create_tables.slt.part # Drop unneeded tables - statement ok DROP TABLE lineitem; @@ -26,71 +24,44 @@ statement ok DROP TABLE part; # Insert data to tpch tables - include ../../tpch/insert_nation.slt.part - include ../../tpch/insert_region.slt.part - include ../../tpch/insert_supplier.slt.part # Create materialized sources from tpcc tables - include ../create_sources.slt.part # Ensure that the upstream data is fully consumed - statement ok flush; # Run CH-benCHmark queries - include ./q1.slt.part - include ./q2.slt.part - include ./q3.slt.part - include ./q4.slt.part - # include ./q5.slt.part --> no output - include ./q6.slt.part - # include ./q7.slt.part --> no output # include ./q8.slt.part --> no output - include ./q9.slt.part - include ./q10.slt.part - include ./q11.slt.part - include ./q12.slt.part - include ./q13.slt.part - include ./q14.slt.part - include ./q15.slt.part - include ./q16.slt.part - include ./q17.slt.part - include ./q18.slt.part - # include ./q19.slt.part --> precision error - include ./q20.slt.part - include ./q21.slt.part - include ./q22.slt.part include ../drop_sources.slt.part # Drop tpch tables - statement ok DROP TABLE supplier; diff --git a/e2e_test/ch_benchmark/batch/q10.slt.part b/e2e_test/ch_benchmark/batch/q10.slt.part index 67c5710312f8d..af9d8c4b4d42a 100644 --- a/e2e_test/ch_benchmark/batch/q10.slt.part +++ b/e2e_test/ch_benchmark/batch/q10.slt.part @@ -10,7 +10,8 @@ where c_id = o_c_id and o_entry_d >= '2007-01-02 00:00:00.000000' and o_entry_d <= ol_delivery_d and n_nationkey = ascii(substr(c_state,1,1)) - 48 -group by c_id, c_last, c_city, c_phone, n_name; +group by c_id, c_last, c_city, c_phone, n_name +order by revenue desc; ---- 10 BARBAREING 0 26PP6i0y20yiP4PLmNyP 897-842-8196 PERU 10 BARBAREING 0 yLk444 LB Rk 222BL 910-889-6085 EGYPT diff --git a/e2e_test/ch_benchmark/batch/q16.slt.part b/e2e_test/ch_benchmark/batch/q16.slt.part index fde27203e0c62..92528bcc219c9 100644 --- a/e2e_test/ch_benchmark/batch/q16.slt.part +++ b/e2e_test/ch_benchmark/batch/q16.slt.part @@ -10,7 +10,8 @@ where i_id = st_i_id (select s_suppkey from supplier where s_comment like '%bad%')) -group by i_name, substr(i_data, 1, 3), i_price; +group by i_name, substr(i_data, 1, 3), i_price +order by supplier_cnt desc; ---- 01uXuK6OZMODiUhZYqZ HpH 75.52 1 07aYp3TpS3pCsDM BIc 75.23 1 diff --git a/e2e_test/ch_benchmark/batch/q3.slt.part b/e2e_test/ch_benchmark/batch/q3.slt.part index e0c908f2b905f..ea89f97e1e1fa 100644 --- a/e2e_test/ch_benchmark/batch/q3.slt.part +++ b/e2e_test/ch_benchmark/batch/q3.slt.part @@ -1,4 +1,4 @@ -query IIIIT +query IIIIT rowsort select ol_o_id, ol_w_id, ol_d_id, sum(ol_amount) as revenue, o_entry_d from customer, neworder, orders, orderline @@ -16,21 +16,21 @@ where c_state like 'A%' group by ol_o_id, ol_w_id, ol_d_id, o_entry_d order by revenue desc, o_entry_d; ---- -2111 1 4 21 2015-11-22 00:00:00 -2106 1 9 0 2015-11-22 00:00:00 2105 1 7 0 2015-11-22 00:00:00 -2113 1 6 0 2015-11-22 00:00:00 +2106 1 4 0 2015-11-22 00:00:00 +2106 1 9 0 2015-11-22 00:00:00 +2107 1 2 0 2015-11-22 00:00:00 2107 1 4 0 2015-11-22 00:00:00 -2108 1 6 0 2015-11-22 00:00:00 +2107 1 8 0 2015-11-22 00:00:00 2108 1 2 0 2015-11-22 00:00:00 +2108 1 6 0 2015-11-22 00:00:00 2109 1 4 0 2015-11-22 00:00:00 -2112 1 8 0 2015-11-22 00:00:00 -2114 1 4 0 2015-11-22 00:00:00 2110 1 7 0 2015-11-22 00:00:00 -2107 1 8 0 2015-11-22 00:00:00 -2113 1 2 0 2015-11-22 00:00:00 +2111 1 4 21 2015-11-22 00:00:00 2111 1 9 0 2015-11-22 00:00:00 -2106 1 4 0 2015-11-22 00:00:00 -2107 1 2 0 2015-11-22 00:00:00 -2112 1 4 0 2015-11-22 00:00:00 2112 1 2 0 2015-11-22 00:00:00 +2112 1 4 0 2015-11-22 00:00:00 +2112 1 8 0 2015-11-22 00:00:00 +2113 1 2 0 2015-11-22 00:00:00 +2113 1 6 0 2015-11-22 00:00:00 +2114 1 4 0 2015-11-22 00:00:00 From 9a43978b59a08b4f2aa214a8a33520991785d6f5 Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Mon, 12 Dec 2022 10:15:54 +0000 Subject: [PATCH 25/26] fix streaming ch Signed-off-by: Bugen Zhao --- e2e_test/ch_benchmark/streaming/q10.slt.part | 40 +- e2e_test/ch_benchmark/streaming/q12.slt.part | 16 +- e2e_test/ch_benchmark/streaming/q13.slt.part | 10 +- e2e_test/ch_benchmark/streaming/q16.slt.part | 2994 ++++++++--------- e2e_test/ch_benchmark/streaming/q18.slt.part | 48 +- e2e_test/ch_benchmark/streaming/q3.slt.part | 36 +- e2e_test/ch_benchmark/streaming/q4.slt.part | 18 +- .../ch_benchmark/streaming/views/q1.slt.part | 1 + 8 files changed, 1582 insertions(+), 1581 deletions(-) diff --git a/e2e_test/ch_benchmark/streaming/q10.slt.part b/e2e_test/ch_benchmark/streaming/q10.slt.part index 686653da93635..b633d0811694b 100644 --- a/e2e_test/ch_benchmark/streaming/q10.slt.part +++ b/e2e_test/ch_benchmark/streaming/q10.slt.part @@ -1,23 +1,23 @@ query ITRTTT rowsort select * from ch_benchmark_q10; ---- - 9 BARBARATION 998 Bgyigg02R06By 766-299-8660 BRAZIL - 8 BARBARCALLY 543 wLyBmkikB2044 908-531-5952 PERU - 9 BARBARATION 132.42 iiw0Bg2PPBR 42k iw 513-596-8472 ALGERIA - 9 BARBARATION 21 2P6wNkN24NgP 912-655-1882 PERU - 10 BARBAREING 21 wLm0 iPyNkmNPmwmB 993-592-8926 BRAZIL - 7 BARBARANTI 0 NRPB2B P 0BBw20yRN 746-634-7967 PERU - 7 BARBARANTI 0 L00wi2iB2R Lw LP2 254-684-5865 EGYPT - 10 BARBAREING 0 26PP6i0y20yiP4PLmNyP 897-842-8196 PERU - 8 BARBARCALLY 0 wPw2BP6RRkPk PBL42 517-371-7996 PERU - 6 BARBARESE 0 Big igy RyLR 702-728-7110 EGYPT - 8 BARBARCALLY 0 0LiiPPwggy 415-587-9162 BRAZIL - 10 BARBAREING 0 yLk444 LB Rk 222BL 910-889-6085 EGYPT - 7 BARBARANTI 0 i6By BL wmk R 228-534-4528 PERU - 9 BARBARATION 0 wBNy20gmNiLP kymBR0 121-143-7689 PERU - 7 BARBARANTI 0 46R4Rg PBBw 207-246-2175 EGYPT - 7 BARBARANTI 0 PgN2y 422Lw gP 714-875-8566 FRANCE - 9 BARBARATION 0 L06gN 6BBBLikkwg2mw2 410-137-9683 BRAZIL - 8 BARBARCALLY 0 N6yNyL6RmBgLkwRRw4 218-218-7646 PERU - 8 BARBARCALLY 0 Lw2kykmRN2kgiR2P6w0R 186-295-3252 PERU - 6 BARBARESE 0 w06kwPywyLw44y 816-833-4268 PERU \ No newline at end of file +10 BARBAREING 0 26PP6i0y20yiP4PLmNyP 897-842-8196 PERU +10 BARBAREING 0 yLk444 LB Rk 222BL 910-889-6085 EGYPT +10 BARBAREING 21 wLm0 iPyNkmNPmwmB 993-592-8926 BRAZIL +6 BARBARESE 0 Big igy RyLR 702-728-7110 EGYPT +6 BARBARESE 0 w06kwPywyLw44y 816-833-4268 PERU +7 BARBARANTI 0 46R4Rg PBBw 207-246-2175 EGYPT +7 BARBARANTI 0 L00wi2iB2R Lw LP2 254-684-5865 EGYPT +7 BARBARANTI 0 NRPB2B P 0BBw20yRN 746-634-7967 PERU +7 BARBARANTI 0 PgN2y 422Lw gP 714-875-8566 FRANCE +7 BARBARANTI 0 i6By BL wmk R 228-534-4528 PERU +8 BARBARCALLY 0 0LiiPPwggy 415-587-9162 BRAZIL +8 BARBARCALLY 0 Lw2kykmRN2kgiR2P6w0R 186-295-3252 PERU +8 BARBARCALLY 0 N6yNyL6RmBgLkwRRw4 218-218-7646 PERU +8 BARBARCALLY 0 wPw2BP6RRkPk PBL42 517-371-7996 PERU +8 BARBARCALLY 543 wLyBmkikB2044 908-531-5952 PERU +9 BARBARATION 0 L06gN 6BBBLikkwg2mw2 410-137-9683 BRAZIL +9 BARBARATION 0 wBNy20gmNiLP kymBR0 121-143-7689 PERU +9 BARBARATION 132.42 iiw0Bg2PPBR 42k iw 513-596-8472 ALGERIA +9 BARBARATION 21 2P6wNkN24NgP 912-655-1882 PERU +9 BARBARATION 998 Bgyigg02R06By 766-299-8660 BRAZIL diff --git a/e2e_test/ch_benchmark/streaming/q12.slt.part b/e2e_test/ch_benchmark/streaming/q12.slt.part index 91a2d04eefcfb..fdbf16fd76823 100644 --- a/e2e_test/ch_benchmark/streaming/q12.slt.part +++ b/e2e_test/ch_benchmark/streaming/q12.slt.part @@ -1,11 +1,11 @@ query III rowsort select * from ch_benchmark_q12; ---- - 6 20 50 - 7 30 40 - 8 20 66 - 9 46 47 - 10 0 48 - 11 0 49 - 12 11 17 - 13 6 0 +10 0 48 +11 0 49 +12 11 17 +13 6 0 +6 20 50 +7 30 40 +8 20 66 +9 46 47 diff --git a/e2e_test/ch_benchmark/streaming/q13.slt.part b/e2e_test/ch_benchmark/streaming/q13.slt.part index 82e49ab7d81d0..9648bfcaae9da 100644 --- a/e2e_test/ch_benchmark/streaming/q13.slt.part +++ b/e2e_test/ch_benchmark/streaming/q13.slt.part @@ -1,8 +1,8 @@ query II rowsort select * from ch_benchmark_q13; ---- - 2 4 - 0 4 - 7 1 - 3 1 - 1 1 +0 4 +1 1 +2 4 +3 1 +7 1 diff --git a/e2e_test/ch_benchmark/streaming/q16.slt.part b/e2e_test/ch_benchmark/streaming/q16.slt.part index 20dd2a8effe84..562560bce065f 100644 --- a/e2e_test/ch_benchmark/streaming/q16.slt.part +++ b/e2e_test/ch_benchmark/streaming/q16.slt.part @@ -1,1500 +1,1500 @@ query TTII rowsort select * from ch_benchmark_q16; ---- - 01uXuK6OZMODiUhZYqZ HpH 75.52 1 - 07aYp3TpS3pCsDM BIc 75.23 1 - 07jjDag1YcdxlZP154kSU Pyx 26.65 1 - 0CE4MnYQ9nyebKYTXZ6la Zpk 58.31 1 - 0cwtAiCvQwY1y2pLMTtUq e37 1.16 1 - 0DD7nJVZPX9K1QI1 Zaf 11.39 1 - 0egbqpQyvZL63n 8Nz 6.44 1 - 0embTdtNyiEuE1JYT4AI 5Gm 63.15 1 - 0F55aN1ZZYELTEU1nGr HGj 73.52 1 - 0FljyS8XJP6gHLwEgJmQY2c IxG 6.45 1 - 0G1hQ1ExajUPzQ2yOmHz Q3s 37.32 1 - 0I5ILKiFX2LLbAaISFr N8r 50.47 1 - 0inz3j2V9HITtly FGP 87.03 1 - 0j0eT9e3wJkll6xGB6PJ Qnn 50.06 1 - 0J136pDbmZCEMPUwEk dVO 13.33 1 - 0jPzybyTKB4l5W jPH 58.44 1 - 0nFShQXFGwt2VQd5 nWM 85.79 1 - 0PrMPMp4rmvXTMopEG2WKgpo sY0 93.29 1 - 0RBB9b7MYaFSSY3DODqP7 cy5 4.27 1 - 0SD3M25OEUzX5KXIzyV J1k 75.5 1 - 0TmKzqDa4k4jLjEQgm8VD24 Bg2 58.62 1 - 0uunc2fQ8ungFUMGXSI2XiRr MoQ 45.54 1 - 0vxugnQUNvBdJzgcDrz2e 1bW 1.12 1 - 0wLfOnrI3lFydeP 1lZ 74.06 1 - 0XLLV6spwwlnM3WQ 1Fv 80.76 1 - 0xrwC40rHAQIpx6jplVLR ImN 54.81 1 - 0XuK2i7G2ygK5P vfz 68.18 1 - 0yutzesK1nDc0QJRAeof R3J 31.47 1 - 0z7olVfNXWNXfhG8OEGWt 5sQ 17.04 1 - 0ZXLkFqG9uJ2ZqDBVm4W Iyl 2.39 1 - 0ZYulphBWFzzVhbopWB5sRcO sMU 72.51 1 - 12UAZ0wdnLEVVQpsh0BT7 vFu 4.34 1 - 15K6z7GHDqQh1Z8JUND7JS5 dgH 91.4 1 - 18JkL67LfysPmMAyGy4AQUj ln3 36.98 1 - 19QoIfAcs7MvHq4HWLczL ISR 9.93 1 - 1d01IShXdDLXxsq3 7rw 43.41 1 - 1etc5ANYFJyJmKAqQ9ZLc NBI 47.76 1 - 1FchvojM13bOJ5dKsMpvqCE 3P5 12.47 1 - 1gc8yvClZUNzUVOtXIUxO 8DO 17.67 1 - 1gJrHpBOwxH7oDo1JSqPy eJl 56.75 1 - 1HO2hmGtPbnx5eqKByP 8w1 92.52 1 - 1JQQvRXDuJQWlKiHbN 9t8 41.31 1 - 1KmIXNGL5R9gMJKNYopWl3 wFb 3.92 1 - 1MyjiSoO6LGEtOaJmppw W4a 43.85 1 - 1nCV8NcKQjn0BUMqh mJQ 42.49 1 - 1QzoYSwvyyU6o2SuNll69Be YBi 58.23 1 - 1R84QZh2NZ8GHnqOUwXR dFa 37.55 1 - 1rwBIhPfllzfkqORzc mvD 84.3 1 - 1SrAieqkGPKYvaNZI03amiou 3IW 71.77 1 - 1T07PxRuW822PlxyRONOm9 Ntm 38.18 1 - 1udkwSOGXIcIO4odN4mpO JEf 78.63 1 - 1UvmDizBLbYocU5Nx2kBh HWR 70.6 1 - 1wNlTDhBxDy9pg1t mXJ 62.51 1 - 1x4h6cd4oFGerRvftfWiv Wb0 58.09 1 - 1XIAa19ulNozTHw 34m 65.16 1 - 1z7hqLI60armfJR HHp 12.66 1 - 27yhzsXIpV506A2 qB2 44.83 1 - 28aH3x9EAYPG1RvrHs Nob 89.76 1 - 2bVqfwvKbtvpvS9lvokZOaQP 8N4 6.81 1 - 2CmGCNYlnla9x0hYE6nkz17T Ge0 54.05 1 - 2dOuOvMzNa794mfXfab iqe 95.62 1 - 2DVIShlnyj6QdJE8tSC c9o 33.96 1 - 2eKq9Za122IRHLkrnh5I42X f1Z 13.4 1 - 2g52LR3zMP2i1mPaZ3g ynH 52.52 1 - 2GLER9h3QY2bhbdA6CK36LyJ fm1 10.46 1 - 2GXn7LpECQQDGi4v1wEr 2VP 2.19 1 - 2HabGOdRtH4pxHO nyB 13.46 1 - 2HV4ClRg4DjvVW7gk1Md 9EN 15.52 1 - 2IusJjiygZinz0huhs1Wyx soe 72.83 1 - 2KYf1Lv3DA4gh3w8b rZs 60.44 1 - 2NljUxzNts1xtOMFaLCk8c4 1LW 30.03 1 - 2oP4TTilONMlepaeUTX2H 0JA 59.54 1 - 2p60ZsDO9Gfy9PYU sys 61.17 1 - 2qCbVcpHLzUPfAewtNVc0dD5 Ifc 72.59 1 - 2qkTLJ62rHd63evB69up Bvx 24.31 1 - 2qNHseYOehC5FV gf2 82.73 1 - 2RPE559VzWN0G1VAOCYmKO K4i 71.21 1 - 2s0lR0P7tbwYI7evJ L55 33.96 1 - 2TnUNcFERiiCNqn3F3ccxa SAT 83.84 1 - 2V1RlsmHYia0hT mkR 22.79 1 - 2vpHzFDpCgoPWSVzT40pPG5 vnp 18.12 1 - 2VSBF0bCzxNhDGL 3kW 75.25 1 - 2VZmD79KsjictWK74GGwjeS 9db 45.13 1 - 2wzqCCkL8gUkRWc1k NdN 77.59 1 - 2Z8orBZAbJSnamlR HhZ 54.97 1 - 300oDwvuSmWpAWJ5hbHk NWY 73.41 1 - 35mvTwvJJ7zZStHT dBh 6.5 1 - 38sP5pVGfceozKc hrs 69.86 1 - 39AvjAgtuA6Sy8BcunZOv K1X 58.17 1 - 39hfOXhwUigq0UnB4 Bp1 90.02 1 - 3ABzYWHvv9FjVi pzD 68.04 1 - 3cQ1MsSTnSmjnfzHZo6IWE 9xw 40.28 1 - 3DcnWpHFzCuyMu IzB 7.98 1 - 3Eq5jXIcCsxR3Rc c4X 57.87 1 - 3eqa267X8jU6om5GHMiTI V6j 90.4 1 - 3gZgg2iLfUmYTBR G01 39.97 1 - 3jmHp42gq0Xbck34hC pQ1 62.22 1 - 3k02bgHbYFY1ZVA79clTWj3r wum 62.76 1 - 3K2NkH9n6YThEGawTN7ij5 6P9 39.97 1 - 3KOpSYDpYfEtLhGRgYVix9V XY3 77.61 1 - 3kQmYMpABeL9Fla KMq 61.47 1 - 3myNTLT01RQpDKcrE aMS 75.33 1 - 3nvXvTE6JQ5z80cak3oRX Y4V 93.68 1 - 3OJB5qJW1cgqO3JAE JRV 78.88 1 - 3qEXIlYHLfzDPuCns kgu 56.13 1 - 3R7WuTbpvZUb5aH8onY qZP 47.75 1 - 3rl6Rp9M1cu3vIbKy3VZPAR AwT 87.74 1 - 3rnVwM0CkS89krQWfywnndl C1C 77.26 1 - 3ThKi5S6Cc5ifN 75P 15.07 1 - 3tiCmI8H2Azy3QBzrXpm bu4 75.63 1 - 3tU6P6Uw1hkfWnK1yMedSNq sYS 90.49 1 - 3U8AzCOwfjgS4RHumu8do VKf 10.93 1 - 3Uk21kVmjqfgu1Upyo6UV dLY 86.1 1 - 3V1uT4HmP7dGjefiFHL6g y2u 28.43 1 - 3Vc8cb5rWRunDjMRVuO DDw 43.15 1 - 3YUGkPko4spNRqs5vU7o5 yxp 61.46 1 - 48e7v4yeun7nkKCn CG8 30.81 1 - 49NmzJTnSOdfcer uiD 91.65 1 - 4ap5L86I9N4o6CCYvDsk SjT 43.66 1 - 4AZnQvvsDCupgTHYlgHJMi5J Y9a 36.76 1 - 4boPmV9IzZ27nNV rhn 9.36 1 - 4eztr0l7XpAJDtRlHq RcR 70.69 1 - 4GswP9lVt14oUlP2upG2q 0Lv 45.11 1 - 4Ha2KoPaQqAFuoPY fd0 38.81 1 - 4Hxpz7iX50rxW886VhHXigw fRd 50.71 1 - 4I376OEcNXQc7lam XUZ 80.47 1 - 4ITYwi7mC1gSZvxweyBEOBan ZVH 84.87 1 - 4JJMcZjZtUSGJ7oR4dE pQH 87.1 1 - 4KTGz1GH2OLasUqOk ygs 84.61 1 - 4Ll23jur0FD4nAjh 2Yz 39.4 1 - 4mgFAjtvriX1JNk7rnJ98rn1 PCX 60.89 1 - 4MNJeZprl08AIGHAJO7HAm Egl 42.25 1 - 4PXGohN3FzrI85 vd7 3.25 1 - 4Qz9D4O5tAeVFmMB0GL2Y BOf 60.12 1 - 4TlC0HDgZEAGsuZ8fq oVw 99.79 1 - 4UwppJQdwghEoZJdakYDO 81C 46.43 1 - 4WBmUyeTwKCBUMFa8Ku3Ini Omd 76.11 1 - 4xLfR2LtElmCG18gGG 6lK 87.54 1 - 4YoLClWCZdrTBAaxp XtP 72.44 1 - 536wlJlRD6XdEI AST 24.59 1 - 566cawOsOsW4jKu jTj 64.62 1 - 57jRLEvhC70vpY9TT eKR 2.03 1 - 5d5GxAD5Xz02SQM8qi 3mG 80.04 1 - 5DDF4nWRzaRVoP61rt5 8OS 97.13 1 - 5efu0qAiUFVuxxSwptHl Tcn 48.74 1 - 5Fk6SvdQ5aZlqAs1z5gEv y27 99.59 1 - 5fxjgD4VobVCFVyvWKw3flox uvK 62.2 1 - 5IsIzgweXipH5z TZ9 50.19 1 - 5JIxvfplUTutABiR6iqquxT3 UFj 94.42 1 - 5K0SqxD8WVEvXII KRT 5.7 1 - 5OCb7j0IfRYaPjHbex9wC 4Pi 37.76 1 - 5OidY1SPIPIXarfL492190w EWD 24.19 1 - 5p2b2Ifwi1ZuIlmWWsP 9Cn 99.21 1 - 5Thm5C86Ujyk1xaYBiH1Z zol 53.87 1 - 5W7Cc7utqPUduQH e9w 69.65 1 - 5wu6VwjYzU2XBlGQ 47A 93.35 1 - 5WXZVf8liaJScjU2Rvha sUx 9.26 1 - 5XLzOBNP8xhci6ABduY5WJK6 eqW 35.63 1 - 5xZF9H7wXuwQah6ozG8 Aaf 52.68 1 - 5y2usGdjbBekjHaNR5Ln vs5 30.79 1 - 5ZHGysQtIiH9JimlltPWziA9 sUi 45.59 1 - 5zjAKxhqJBohOEytNInJhkA Mdj 43.14 1 - 61mrIYj5GVFU69Hg9OatBF SFn 55.12 1 - 67xpLHTxQwpOlYZQwRri Jhf 84.88 1 - 6AaE9FzSJ4aDIP BQv 91.77 1 - 6bHlYLAG8QHj4XvCDXLrIwXc 2uA 15.09 1 - 6Cid5cHWE0Jhvbf3J 3er 27.68 1 - 6cZx72GFdt25mVc7AjLWjfT bdl 59.29 1 - 6D7RVkgWk2bnmhsrBn5SgAgR FrX 14.55 1 - 6dQCixVfPK0ZQ7HU 1SI 50.63 1 - 6e5PB50Um2nsON3Cx 4ID 65.56 1 - 6ESn3imNefey3XCV8HBp0sn bzE 22.18 1 - 6EVCwF10JoQEpwa QS2 80.64 1 - 6ex3KLAokE11KoXstCy avV 72.98 1 - 6Fxn98E4iF3jfFC9fdcAaV9B j7b 5.04 1 - 6gSSrGFDR4aB98DjB 7f9 60.05 1 - 6H3pGnNeCVsHlaqvePHdnB cDb 61.2 1 - 6hejCEJaJ1FLkHacbfdN0BZ seZ 37.17 1 - 6Iw1USG8emyFZmjUc GBv 47.98 1 - 6O42vF13NWukYGum9eNzcv 7qv 39.27 1 - 6PgMxngZPNRnj23GWJUef8 YvN 78.56 1 - 6pLDbjXLY57HlD kjD 39.26 1 - 6PX4rFXrE9DHKZNQoRrzz YEG 36.12 1 - 6q3dxALZj0gBIt CFw 14.25 1 - 6qjUjtqITDLjOJGJL6vO 6d3 62.29 1 - 6v2mHTEGGqR8sqAP1qUWlz Zn8 87.87 1 - 6WFuGuN5nT5MSeSPVptx yUh 63.22 1 - 6y1RUqB9hAq13DWU 4E1 65.47 1 - 7038A20mvPMdL0Tdg6YBo gQX 94.13 1 - 714mrZnEovj5X9 xoc 91.37 1 - 74FpqbrVGbroXFzevznO7 nxw 68.81 1 - 77UlRl9uiYm7oe1gDqAleq Qrf 7.5 1 - 7a15QhItetfTZMw lrE 12.29 1 - 7aArq6vlvvcjKzx0D wU8 17.21 1 - 7C8Ct1uo16Ytg4g082q3 o74 50.67 1 - 7cKdnL3mg1NFEIwNZ3cm Dix 15.77 1 - 7dpSRUiiDs11nFzF gn7 60.76 1 - 7DYyIBiqXj0jWYr DnK 29.41 1 - 7fbmxdUnxIol0avVYxR Mn5 84.85 1 - 7GGctlwyuIIOtF6rknjJipd KDT 98.4 1 - 7GUxd5Db5DvYnY 1yo 33.1 1 - 7HOIKWGSTIo6oSZDsUJ1cbO VgP 79.33 1 - 7i3AtnvkRInMqRLgS6c1lUn lcf 76.58 1 - 7Ianh5mGmeAOTw14r ori 45 1 - 7iGc7POUuDtG3DXogP3Dx Csh 32.61 1 - 7M6gx4o1mE14IrN0GOAitrdj KT7 64.27 1 - 7NP93V2hko9HdotpNFj wjN 19.59 1 - 7PxurGSq8yDvt7c wor 68.24 1 - 7q1VcxgtxOax0uihVP4 eE6 33.83 1 - 7ry0140hywcAKaoZg Ern 40.62 1 - 7tUuzFlUUdxJLk oD3 88.57 1 - 7tYij9P4iJTc8bQbMNmAZt F0J 8.94 1 - 7Vi8cLVDUeypkptmG9en gLV 80.17 1 - 7VZxzGYTsR3UYuAax ZAI 68.95 1 - 7wjWYq8oGBxwYI fJm 67.6 1 - 7xAnW0EwRHp4GR DdL 43.16 1 - 7y9qcDzViNZNLuG6f23BYi CN4 3.22 1 - 7z0MWQSy1GZhRNlgBho iwP 8.17 1 - 7Z1DN0ASYM3S40VXQ8dHSjJh Bwd 7.22 1 - 83bOSm7TfAD9OAv7Fw CdU 27.48 1 - 87uzzaHkdMSx6js1m0fY Odb 89.63 1 - 87zWFcjqF35LYcVt7A8 2LO 30.38 1 - 89NEZhJ3UnjPcrATwB1tZl PaX 34.34 1 - 89PLWOTGJBZ8dm xda 23.5 1 - 8c6XsicYBPr7fpd9r6pf2pe XSO 86.43 1 - 8eb2Pv2tbwp5ZBEXgDL9m wxc 23.91 1 - 8GA7wxUD6GFT48LLT axn 35.7 1 - 8gl6ruVJi4Sqsqtkg6SE dZ6 11.11 1 - 8gxCwhG3ZI5uS4CUP6uKA vVi 63.09 1 - 8Jwx1gKigArR3EEgZJ9XmHFX Bp0 27.2 1 - 8kp3b7GuUtUKIXBSBoc1PVV 6ne 77.25 1 - 8lwJQ2YhxZOJUP5HSh2TU KDn 9.42 1 - 8N6cAtUlBbvAW0Iz1LgkuN zmS 29.56 1 - 8oIENyH69O9ija hkk 44.74 1 - 8OkwaYFfoISRWXkcQSq gIS 85.76 1 - 8OvqF2FrBbTL7mNeF2 ALH 18.93 1 - 8Sx0gcbAFZ48vnXANPoQ7 OcF 74.8 1 - 8T3lJaTvZHY2vA A1W 2.48 1 - 8WGccvW3OYjz96jE deE 88.34 1 - 8wJRn5bkPT3GO08dYNI5C MdR 25.14 1 - 8Wo8hsuoth4MVjq6JT1bopKV eAJ 92.28 1 - 8WPZL576afA7S4nfw51qs3MF zyL 26.86 1 - 8ZlJH5WwFTs9ZZIIjwVI qIa 32.59 1 - 90QBpHSk4UAB49uUn McN 66.62 1 - 914oNpnwBAXXOFocdb0 f4p 67.25 1 - 946rW7iiQldO7gjU 6du 46.97 1 - 95xkmPy8aan6FGGfFhcsYj1B PDH 4.31 1 - 96pqRpUoKRYSwO QY9 48.9 1 - 9765InZBeEvVYk Qbt 57.7 1 - 9awoVwqe8FEcgJQfFJ FkY 71.27 1 - 9B7GBbwhGmR4d5qudx CHi 92.64 1 - 9bNV4WMYAum1TwqYCT9XuZ p8q 27.21 1 - 9cPYYTiXEyUgKUsu6uAYNBB mdX 57.77 1 - 9e0hEfx0B96dXvrJabce 9Pl 40.88 1 - 9G614pk4d5F4asNDl YCU 3.34 1 - 9gGgeP1EpEVELrmWrkYJlPz VIh 86.51 1 - 9HQKEdIKzGUQsJSCsaHWwh Jyw 70.6 1 - 9IrUrS20qjpQeoQL Ago 18.29 1 - 9JjqU3EskbDHNt AVT 68.79 1 - 9KZXjE0hHBjjWgNsz4l32 Wgt 64.24 1 - 9lfMdCdBGwqbEtnU jwq 81.56 1 - 9ma1cYNnsSjd010d8n nwS 67.13 1 - 9mEPJpH5dGBkggzfOtzdyO Qwk 67.11 1 - 9Mlr4wWav0CuaUHxX0dT8S5 zb8 27.14 1 - 9MV8yNk6CYTlmgbdQrsmLb WcO 53.92 1 - 9MyEcJV9oYGtqpoeizPOfD5 YNx 54.35 1 - 9om9GszdJdFiVt5 wSB 82.33 1 - 9q6R7WHCEtrSGpDqESIYHHo VZu 42.96 1 - 9uPt07zv4k0muOmiJd 28u 85.52 1 - 9wVIpEIFau7wWvhG1EyyC b6Y 69.74 1 - 9X1eY230dGLgvtoSxZIzzw xIV 12.08 1 - a0I1a1RFf4zLH1D YAM 48.26 1 - A17AHiDCgIwKL1xMg X8B 71.39 1 - A1wk9yteGWCZQBr3C S7t 22.65 1 - a1YFKlWCHRPoz9IL6Luloa Eme 4.62 1 - A3dJP7RwfLbLDc9C6E zFT 11.66 1 - a7LCN189wUUjodznR3cGxSg 1Fu 74.79 1 - a83PNz8oZNDVGfLV9rKT0Tsh sFw 57.93 1 - a8ieSTL7yDEet1 fqt 95.35 1 - A8sSOqsEgmavpqduc8Xalg 5Os 73.48 1 - A8ZECWjx3AM21K6hc 806 75.36 1 - aa5hqRRvupUCDu9NCBsP6zZ vB9 39.52 1 - AAaEXNeuplOBwpu56e 1fr 48.32 1 - aaiFxWjUtXKRBumYmSqlgYRb Vy0 68.36 1 - aakp3Rb901rsOLDuWlm GAE 45.86 1 - ABrVvjo7Ez5J0B93Lrm B02 57.63 1 - AbRxrcWgjKMt9bog gmz 20.96 1 - acdVTPFnqogRx9gikMWsB 8jH 55.89 1 - AcouBSuAPwcncQmAs62YJ40I Pe7 94.18 1 - aEBQJ8fKJtHEKnaVi ghc 89.09 1 - afyrl7dgzuV480wawSrZjz l8R 27.44 1 - ajqkL1CxrCwaYpU Bw5 61.41 1 - ammmvqZaFqTlmSzq4f8lYIU2 vkL 99.73 1 - ANJGTo3gd9sSWXuB8 b51 64.75 1 - aNodcnMUwPoH4OoUN6 eup 8.35 1 - aNQ9iQNqbBKfMXzTUebiM oLS 9.06 1 - Ao65nk6BN9RdSjIvq7K vaw 43.62 1 - AoHcBTANC2iHwI8Q2JQe wRI 74.05 1 - aoU0VA3a8te7m3n3GPZYAy jHb 41.24 1 - Ap9fxOb4BgatnhrOYd Jhn 85.44 1 - AprMxezhKQkiI90 76f 95.36 1 - Aqd3WDzYIKtvZ0 fRv 78.31 1 - AQou1VPfElDotJ1iO0fMBe Faw 94.58 1 - AsmUT5Ddf8pOhhShTD yse 48.1 1 - ASXqv2YwLuIrLDi JZY 13.66 1 - atEN6joI3hy6HjfHz0 rqd 73.18 1 - Au2WFtP6KvuHiJJqXMHL BdJ 55.44 1 - aUADZmMjgFUxAkrHFx4bfRWZ 2Cd 84.55 1 - aUceCKfUdwp9dv Aex 33.22 1 - AuIpQu5q7Y2xx0 ADu 93.97 1 - aujyOBelqlItTXnygq tZk 13.88 1 - av1XVN3DkkMXa5Sx2gF mXG 22.18 1 - AvoRviqVfUwbndMiqp0nrXDV Pq5 40.26 1 - aXDoaEFeEKvLQRrjUXxdJwkl 5hh 68.43 1 - AxkjceMzM0Ap1FW Oga 84.37 1 - aYHElUwXeTTN4OCtUdt2H0 CEf 13.25 1 - Az6rlX7ZwlOkEPaZM La9 48.48 1 - az7p1Ca7EXYyYqweozRXs hHh 71.25 1 - AzB4zjIpYKNQJ0ipKH5Rb2 avb 40.18 1 - AztNBsoJYVC2n3r88zLmm5m hmw 43.48 1 - b1EohMuu3RFu0ODf 7D0 60.11 1 - B5dTiQWK4iABJuDQ gYD 95.69 1 - B5jsXCoZFMg11Z7Q3lfT4 Ne0 80.94 1 - B5s1E8kVO5zlpNEg5Ola 3Y9 35.44 1 - B6ms9OTDMi3eRAl9f HOF 55.19 1 - b7YSy12TSvJ4qmC8q N2k 56.22 1 - b8n7j410XuVh28CWuoMSeOt3 mhI 48.37 1 - BA578yFXXEEvny83VQk J20 40.41 1 - bAbnWECURh65qStcK5v DMr 22.28 1 - bB64XGJKBFr6Qo b3q 47.14 1 - bBeIYE38Pf8orcL7 mFn 42.48 1 - bbQcAYd5yUpIvoV4dWzI2fR wor 52.26 1 - BBtHQGFadWW7TY 4sv 97.53 1 - BCnDSGmdP1bUZcv1Yst4 jMM 80.25 1 - bcWm1WTcUUblbCsO QeD 68.85 1 - bDNRIv4PwbWiLcePGkt3J5i9 Xi5 86.21 1 - BdzUqfkACxCh3X7ZmXhpB vTD 52.71 1 - beA2y6z30s7oejMo pVy 50.15 1 - BEMkU6IJOUUmRL11VA JKE 39.62 1 - beUihKBvtpQwClc7P2L hoT 17.65 1 - BFrj8zsR50LywQJX6YRGuI0g ajl 31.7 1 - BG1QTcketZjbqnon 1O5 54.5 1 - BGJs6d3Aw8Kzoy Y2r 76.38 1 - bHcWXuIKQHeZVYckcbXU WkI 86.64 1 - bi2SGgPy13Wo8NDq shK 83.74 1 - bI7NQK0ayJdC3yVs naY 25.36 1 - BJLAO7KAYYdCgayAR Gba 7.82 1 - BjMgnMf4ju3cNJCeJorx D3i 40.96 1 - bkNT9eFwou8H5Ibrp0OTQIEK oUb 1.95 1 - BLxHyPe5wEuBL8e 2Tv 71.12 1 - bm1J81ixcngRDKP lY8 76.78 1 - bmm0lD9EwbCu79JiYcOI4kD apd 44.79 1 - bmSINAUvvNcdpRYZhO7 fPd 58.55 1 - BnWHlIWyi7z5icgInv5y M7h 5.3 1 - Bo8Ofln8Jl7ZTjIv 6z9 98.75 1 - bPKwejTJTCVkvNFdp hOn 19.73 1 - BracujQqozBU4B02w7Q V1t 43.38 1 - BTeqjDrbpfedOB97sKvo 2Tf 50.11 1 - BuqCgwuEKSLEXJbl7DYRYb1 CGM 69.47 1 - BUVXXhD5ZzCR1WSeYwFWC lXj 20.79 1 - BXpSIKok1i8bc0PBnj qfy 84.98 1 - Bz47cqfPkoXb18trv X4z 68.65 1 - c3bY5UHCcUeeL3kP 0XL 44.89 1 - c4HHPES3FZpMSJA8XYUeCPq GGb 31.41 1 - C5VbStJKARPNGGF bGg 25.29 1 - c68sxu623O8YDChZb 3or 28.31 1 - c69Wxuv2337UfUHrWDpkW94s jgc 76.03 1 - c72RcUM6kquID2BKMlI IKD 29.04 1 - c7KB3B3mGVLPL52Qjp AJQ 30.2 1 - c8K63odATjtt15wQGJmOgcg zYo 76.82 1 - cai0tg9EbojcgUSntIJ vzi 58.26 1 - CBjTJV2FR9ssRFWFxg uWy 46.35 1 - CC9v9P1cgR8CMRIa kag 38.05 1 - CCdirLrXki1nXilEYs0 Q7W 21.2 1 - CCV6dlwGGoHIdKf bdV 9.23 1 - ccyBivg6Og74uT qQO 98.23 1 - CflHQWTmYsYAQsaX6by ETQ 94.66 1 - cFwoWbof5taOcG2vO4NjVT8 fQz 53.52 1 - cg3qrHbpImojf6nFb4 Y5k 80.83 1 - cGG3cq9x36uAwKS bL9 8.49 1 - cHEKcUfelRkA1x 2a2 87.56 1 - cHGbyopcwn1sOJ3C1JaI 7y4 32.28 1 - ChpXXVI7HTKrQyzhWVYo 54z 74.59 1 - CL6yDYFT0iZqye Rli 19.63 1 - cL8iBoVhGmje8H0uzL gRF 33.07 1 - ClfAiKgpzjXO3alYdzfk UQK 24.89 1 - cMA9992gTjrTg1Fk6nCvS jyM 23.1 1 - CncETr7GBhksF5BnNb8Z tal 45.04 1 - cnch8V5fWDlpXH5gbQ zij 96.72 1 - cNDs0qxsFtQmNQhSCaOAc drH 85.07 1 - colbQo9bGmba9WP9yk hwf 90.3 1 - CP5vTwPc32OeGLsl Yx7 37.9 1 - CR444XAMHXYXTTwLfQR fMZ 98.68 1 - CRAc9VAflcz2tFFIZ jke 96.43 1 - csiDTpZeRu6KzdVEUkO7 csT 41.4 1 - ct9kDgus7GwujDa9njCon2S gnF 8.04 1 - CtmKhoBRnKWRQoJh Ht9 19.52 1 - cUNUne059wJJBjNc rCn 13.41 1 - CUUpEQEwbFdyJLPEIjE PVw 69.44 1 - cvdVs87UJyWPqILO5K6e XHC 59 1 - Cw8yMBd6tgk8WlZc 5GY 28.8 1 - cy3bHMkkHU3Kw4hMefmsgGpZ xOx 23.54 1 - CYJgePy5xZp2aclCtxsNKwr bRN 61.92 1 - CzOQqWCoj6S5vfPc8dT VQb 85.14 1 - CZuzywAYPka3z1vwBznlBEU zJq 52.65 1 - CzxoxkRQwJ0TcU3 eIZ 24.74 1 - D0b2m9ci32rRDbsYAx2OVatq QMi 38.02 1 - D4E3tGkTmMFFURPzZWpDT bbd 43.95 1 - D4Eg193yy1u2ab2lbcCoZ8c jUd 77.03 1 - d63n3xCzy9nbQk2x XnE 6.43 1 - d6gBO8IeXWzefO wbh 7.09 1 - D73MrWHMB6sVfCMsIDZ YTR 69.58 1 - D86Hpl2U2PU0aRjbB2zy 896 2.71 1 - daaJtWWiBE4jEnOFIRIQ6vh JTP 54.24 1 - DAbqyatqL6RNfOU sIo 94.58 1 - DBEY5elKomZVss08MmwTJtQ lGG 29.58 1 - dbS4HiRkxXxsqFArX Od1 76.76 1 - DCiyeiMTAKkeKdLWxk gHA 75.53 1 - DdbzS1Pc0I7Sx2I0bwiB6o hhR 63.43 1 - ddy7faiV2W5bru6bBjNBh L4Z 45.05 1 - DEp8fSabNYG6dUnBz9j ddO 11.36 1 - desg7VfLwOTSLE27HqYY Xbf 47.72 1 - df9o64ZVbq5kzsWEaaDT8tOi ga4 45.58 1 - DFdHiGsuSimk9tRbD7 Ln0 9.1 1 - dFEHtMz9mS14i0Yh dlO 54.97 1 - Dffzyrp2r3cmvEkyT7kH g25 92.56 1 - DGbeDwQDRUGKdSCrERPep dwn 55.19 1 - DGe1fA0tG4x0Y1F Z5E 88.76 1 - DGgSsFrTFpoi5C9DByr0WR XYo 99.99 1 - dhjVtCO2GdYxYE35LjnO aPk 90.09 1 - DiEiunaSiCY6NupQphS VnU 5.59 1 - diPp5Vu2b3FCDRiZwS uEA 27.95 1 - DITSpIICX8xjnobtqfX9 MQq 15.74 1 - diVJmsHNgwOtPEkd2 UHk 18.17 1 - DjAAAbpSCSkZkt1962A4 bKJ 48.24 1 - DjLfQWnpDD9lS9 y34 20.76 1 - dkVmWP2ZbXcQJCWbV6 wbp 23.65 1 - dkyoPwq0OS7NFX0noKC289 lrQ 38.2 1 - DL5sVnriKozl0Xd pWw 13.3 1 - dmajuncDjFIHNFrsZ aDQ 86.62 1 - DMHthiCcfdutxyaQfJt ANZ 49.55 1 - dmXu6Jusowkx2mT7p XDz 54.51 1 - DN88TyvqAlo0gNJ FtN 66.65 1 - DNB0kXgywLwfC3tUTgQ0l0 dsx 32.34 1 - DNQ5jyUkyI7Vpx74fSzyk6F 0Y1 82.3 1 - dOU9tRM7rifaGvJg tNW 18.46 1 - dP9WhVsOtSgHeSc7 qvo 92.04 1 - DPJwFp2rqttDmYfn 3FC 2.1 1 - DpYMKuCfq2CWeLvMC4sZ bCf 21.49 1 - dSWBiSQt1mKuS1Pm 99H 89.13 1 - DSxzmVDcRH9gsXRjO VSh 6.24 1 - DtCEabdrzm1tJabBp soz 14.77 1 - dTpL52LZU1bQhpHm1n4 pY0 28.45 1 - dUGDERmG8Vrnzj1CRQzcYU hfv 59.64 1 - dyA1aReE4XTAMsFrCyJjJUw6 DRW 16.45 1 - dyaFdJOlQj8RmqwU3kR9wd 9wb 8.62 1 - DZLflGTUx5rk2GFNQz 5zO 1.56 1 - dzp2Sgi6QZxxLejXi meb 31.94 1 - dZsyKuI6hJF9DzCd7ga6 g58 39.23 1 - e08I7ldipVbAzdci BNW 97.9 1 - e4rQdkzeNRUbIKyA WEu 51.64 1 - E4XCGvwjfaTDHjyiLvflhHOw s8g 78.11 1 - E6dSpkzC7rgMw83pQl1 P39 26.57 1 - e9g9AVNUrKNhRRtHfqBGtnLN nxy 52.17 1 - e9KDWFtPmHwMoCp56S 7Ps 50.04 1 - eAcHdsfyXS8nxYWk Mcc 58.16 1 - eaDCbG8rix0gzeKR5DQT DD4 53.44 1 - eADG98VOOEdQwx KME 6.41 1 - ecP3AI7w4yVvwk5 zLL 42.52 1 - eCZCT2xLDHkTlJ fWM 36.75 1 - ed8L2wdxiNc86DSg7xmOGM F92 89.53 1 - eFZxoCg67FkKJUSGuU usf 83.56 1 - EIqeCV1LyTse8DM wcq 88 1 - EiTDCyafUZfWDFXQMRW0bED 8DY 44.1 1 - ejvVQSuMtiZfWkcL O98 63.82 1 - ekmN97mJTm2eT1L WfH 44.15 1 - EnNdeREPTldPRIt LEu 21.64 1 - eNUw7B7Qryvi1fQSkQVB3vZ JRo 19.4 1 - Eoi9GiXCspUj8LDZ0Bg 1Gf 70.5 1 - eoNmcZZAlKPuIG5KFgn coA 26.27 1 - eOYP8MztMrQ3kE5BgBA Bdx 34.49 1 - epbF3M9VM4IlxGY Ci3 83.7 1 - EQhjeKCZKj9FbTLAZv1B96 G1z 22.08 1 - eqhYTsngwylVxKCCfTO4IKHX gqf 72.61 1 - ErAb56xD8pf555qNassG XhY 29.92 1 - essawDgvkdN8OytblGOOAHX E4i 97.32 1 - eSWaeN354IZCXYLf4WW3XK SlW 61.39 1 - ESwJbwgKXkb2te 0l7 89.19 1 - eTZtcP4XTBAGXP arC 14.12 1 - evhqR1IxBQPNjGud9 EK0 77.2 1 - EVvjOMXtGC0jwdFNybFQNx csl 1.91 1 - EW6wexpJd1gmIce sjk 31.22 1 - Ew7o4OjmhL2dtIAw1yutOk8D g3h 48.81 1 - eWdLHgE1dcx5pPJt 5mc 9.86 1 - EwhuPEN7OiwWF4q ete 66.44 1 - ewQ3ArVcOzw1ogm U8h 13.74 1 - Ex7bDUL8AqWUXTjIzYGA cWw 7.97 1 - EyMegzSdt28ykbxFeufsbVL gOw 91.06 1 - eZ3cV55kkZSlskmKrHekl7Z1 MYU 25.98 1 - Ezhqbc7At8Jn8q1RmZnJm A8Z 33.75 1 - f03TYXbdYkqz6kveKs9 Xm0 96.71 1 - f1mklqyXiMP7dOqMXJxWOwK6 YOM 50.68 1 - f1YL4SteqKeAgU1CefuURhF 9tr 96.93 1 - f2UsAY5ZP9UeJwk xC0 13.44 1 - f4uNzlSUBx2oac0oXtFj afS 28.64 1 - F6iHs5PMGRhH6v rHY 26.4 1 - F7cGzjaNlHu1zwpVtB OpE 42.18 1 - F8sItBZdDWaV7jeghje t0T 68.12 1 - FAWfHOhIan2Kg9fmzXrbklDF kLt 94.09 1 - fAZGgCJ3Fz2EaHd WnR 32.82 1 - fbEhfFT2WHwwhfUoxHH Dwr 38.48 1 - fBKFpYmbTSCurZwIBSC M3C 81.05 1 - FBkn79ijeNnQlJ FRT 70.11 1 - fC0pOjJCEzNkLUJC0jpm5jI xin 69.03 1 - fdcXsEKktWhgzsjYmyN4 F8m 10.36 1 - fEajBZOY3Q5OI6K99FW kBJ 81.3 1 - fG3613AQ0emkzdvX0oXZn CRi 51.44 1 - fgvY6TooB2ZTcJpEV5rTj4TL j2q 49.89 1 - fhYd8bR1CrmDrpenFY3 Meh 32.38 1 - FIAJUM8nnrHNa2va rRU 68.45 1 - fJYuteqa2fygw9prwdSV BgF 74.57 1 - fklohpdUdcUrvlmPdx SCY 56.22 1 - fKqrXY2iItUCflY1 zNW 68.18 1 - fL65j4xPQMMKeFtbBXvIgG1 mVv 97.19 1 - FlMrnPDhi3yIcQyPCH3gTPQ RTk 30.76 1 - FM9kzHbLGAqX4BD Kos 81.88 1 - FmbNGWMfiYt5m2j7 Tjz 70.77 1 - fmvj8i2csSbNAJP0 Urd 65.65 1 - fn76aJacxbh3RqZ060qkvxa rCK 29.59 1 - fNj0gPW9u1tKetV4XyO U5r 72.18 1 - FnRIWPBtJtx2CVGH2cC ETL 38.62 1 - FocqCYqnoXH10QFlFlyAM Xnq 19.52 1 - fOGulO7lbAJ3li30yYtadX aZU 49.56 1 - Fohz04gcGrCdqEzu4bB 5pw 41.61 1 - FOInEELTDAC0HdOXrR ull 90.82 1 - FOPiT4q7ipPm7q aot 68.26 1 - FPZexJxJ29Sk5TOWLb lnI 16.7 1 - FR52rnusSALHmeMhRguAeb 87L 37.18 1 - fTaRsKFYtUbCuDWp0YAMp ESE 94.78 1 - FtkTSk0SxuuEQpiuMzU7 06w 21.92 1 - fUk27ftwVIAveXDvilM ad5 27.65 1 - Fv8Cf0UWjc9m9t bDu 86.87 1 - fwe32cDW2S6x5g9tYmX1029v vUI 30.67 1 - fwQRaqSzyapTBNRY8h YTi 84.46 1 - fXqxhjhiqpioGKN XFC 99.44 1 - FyiDfYOp0Wo1dJ9 QDT 75.49 1 - fYq0b2ZyNUanvTtMrrhg 4Kt 13.15 1 - fZaI8AUqdtHfeyCq P4H 44.69 1 - G1IOV9K2NNS3xo9pGhUwyGy 56J 53.15 1 - g3C2HgCVqKzbG4Zn qiU 34.64 1 - g4j6Af6X7hAQlC8kV 1Z2 94.04 1 - g5zRx3qwv4QOu68c1AFQFuIc Mxq 99.61 1 - G6cNZtVI7yBJ6k2MceMxl v3d 73.98 1 - G6mlrxMRhCcG2r8 8OI 63.52 1 - g84ZHD9K0suew2BUFTiFz m0V 71.23 1 - gaCAaBGswfXtfCBfPlDE OF2 14.47 1 - gbRk5qYfwgDOh1F YZc 47.25 1 - gc8GbXA81WZw7F7W2vJ6 YZo 90.77 1 - GCrpuIkldMx9zavdwBqX QIL 86.79 1 - GEOh0768Ww2ngRsFgB26zxZf l7B 11.98 1 - gey8CaKBqdhvVYLp U49 74.12 1 - gFG1jBh5jgQNqDEdFVR FgT 90.09 1 - GG9JFc5ppg31GCk5pThel5qT PPl 78.39 1 - GH3DziNv1WyKzfZyay Ho0 9.96 1 - gHH6wWJcIFEki8lidH trc 16.63 1 - Ghu9qsGonYemNWb ZsK 6.11 1 - gHvTRO6CFuayHg6NqbiKpKQ l2e 37.66 1 - GicoS1qyqPsWMeth RbY 48.21 1 - GIGa8AU8vcUeFYHD2w4Am1 c6n 10.31 1 - gJH5WV0yMvzQsFfQNO2g LRb 5.21 1 - glJCE2ic334kqM14sckDx9Yn Nlb 20.95 1 - GM5o8awaZXgwZyUjkhk SBq 54.65 1 - gMBEZ5rY0IxiDn vfX 33.2 1 - gNW2s6x8BY3CnQpaMgDDJ g1R 57.29 1 - GNZ1hGReENDmqr yH9 85.63 1 - gPahrTSE52dMgk vss 89.98 1 - gPHLtWz0iYkJnTSGDVBR4 jgS 62.07 1 - GpK5sURU3bDLrEjU G0w 4.61 1 - gPmMspDGLd4G497wOW4ZWLf j5K 83.18 1 - gqUG8XAT4pfEUXP tfB 97.45 1 - Gr23IV925fKi7kGMEcHa0KbL nsc 54.87 1 - GRiJH8TNFBW4CMeswtLMiFXe OAf 93.35 1 - GS100o0r4lRObBILN 2KW 36.24 1 - gtwRabCr9rVx81MngNIgain h1P 61.94 1 - guJje5wDM7bLBUIu wO8 86.7 1 - gUKV6ROlCtV9GNPkM3w 0FU 7.23 1 - gUrg1FzLkbooCBE22WIg4 SxM 21 1 - gusEY3Jn4eYrpelKN GVO 47.37 1 - Gv73AOi3n6w811eomSRj wRX 65.81 1 - GvkTMzGc4svwCmYaMIeJFDE iLQ 59.62 1 - gvSYL2kDTjx5150V1D5B2I aHp 21.24 1 - gWXcbNTDbDW4pLxQN5A O47 96.15 1 - GxTE4TZEdPiuB6N9mOCQB dmo 25.21 1 - GyVEetmIcJ6fP2kHGEq 3YM 41.56 1 - GZiE22zWjXdVKuPGh 5kL 14.06 1 - GZvjdWZKmC56ZcCsUT25cT QuX 4.69 1 - h0pWROTb8ipNNPDQLi2051k AEE 23.92 1 - h0wcljP38NtCfWlQKeWji OE6 79.83 1 - h35IrwBUXTRIDtRF 18m 17 1 - h3s7EHQkCrYLpxo nY0 45.18 1 - h6LRC7dwMCl2CJQaTBNlEOKJ Qor 93.35 1 - h8RjoESuZyGyDVXyK 46e 14.13 1 - h8UPMYMGWcN5P1z1eaYRl dzy 37.48 1 - H9CkWXT1pJzsSFec tuF 10.04 1 - h9hdpGErcPLbLbEY8RfNxk x7K 19.26 1 - Ha1F2qejGQlTDtgyHxMA3 f2L 95.87 1 - hA1lXHgPGbLKcS0XG oPF 51.97 1 - hAdhqUNLC7oqNbtwNz 2Cx 15.37 1 - hb6al633PbyzEiSluDhy8q aCr 34.61 1 - hB7peFFIHN7EvgQKc5qqHzz YG9 57.44 1 - HBEKMzlxUSdweOlMTQ6BXVx 6sJ 77.76 1 - hc6cCZUTgz3YSWkZ3DS Lqy 63.33 1 - HcwWn3UDpvEj4RUnInVLK MFl 10.47 1 - hFz013C0fFFd6HIMfth8AEi mn5 14.36 1 - Hi8VoPf1qW0j6mvsMmCgHWAg AP4 15.23 1 - hIR3LKeudaVVMqmHr3lKjTOj wHA 25.78 1 - hJ8mOg8mPy2I9v0HmzZC9 S0z 2.48 1 - hk4mZI3SF2UubimAnMg3i Mcn 23.69 1 - HKRnrsgsgCcnpX51Okx9b4Lr sor 67.91 1 - HLJJl5jSsxF3o32 uqp 95.36 1 - hlY6G6OkrQlKpUKvx Mdi 50.98 1 - hMtBlFE2zJyiq2C750AJv7ka by3 52.75 1 - Hntwm3wq5XLM7zA UYk 19.64 1 - HnU56EFm3cfhV633K bYU 65.4 1 - HpLOzAkdn8FOHzT amS 22.04 1 - hPZJLAz1KlsLZok9 DQs 46.24 1 - hSxKK0vhNaSjPVX7Ce3KjhMP XGA 87.44 1 - HTp5tNSF2fGwUDB3W4MmOQ 5ou 8.65 1 - hTSKR6g5foDADbVPsoSh6 MG1 80.5 1 - hU8wE9aFQL1JBTCP 2hN 84.82 1 - HvGYq9LUleLAYUcpASlD xtu 58.19 1 - HvyuBEjAdjIuZHWqro tCT 32.16 1 - hWbG9bE0Wp48BE08P7hb m7S 54.19 1 - Hx4VG3aN7HF1gIA89cCXoiMm vUH 78.66 1 - HXzvDkiu7s7lpZ s8D 25.65 1 - hZldgiYJTbp0aoA2Nb1h 3Jb 46.95 1 - i0JH6SycK19B2UM1V4bidJke cGO 87.27 1 - i1beqaWK1HPC00z22t3hLrp c3s 37.25 1 - I2BEHEOhPMz2haCpROzCfpy g0K 48.43 1 - i3uMfHMSYlwlRdAqYHJOB Jh1 26.39 1 - I3Zkc7TaoqGFLynMr X0A 76.1 1 - I6PVW0ObtbHri67iGmMh DYP 46.71 1 - i917yWGCtlUeCQvv2MlfD NXC 80.38 1 - i9dJeWHcp5H51O6yR8 yxH 45.27 1 - i9ISiNUwd0J1lsHt9D uJh 70.68 1 - I9ZZKPkBhpNQFYDGiuVdR 8yt 98.81 1 - IbTttXxw8rgwERXGX ybP 9.52 1 - IC27ylaaiqgLtoufN5v pxn 81.34 1 - iG1QCd7wzYOuwJ0jM ZYd 75.87 1 - IHBjAevGAWi9NH Byn 71.42 1 - ihHMDJNMnz09bZXfk1esV nvn 15.8 1 - II98dtbPbqzVQFbJj rjD 59.96 1 - II9jdUUIdqWJzulv8jVrGC 69A 28.72 1 - IIBUGz2aTlI1llMg01c9 mYX 49.68 1 - IIoOYMUof9FtQM52nruWrxC if8 45.5 1 - IIthPPGZodKEqF4V1RB h73 75.97 1 - ik2QXWOdDZVRSq7RVsqUs20 9NF 53.81 1 - IKPIUJW9FaErxlMB3pL2m 9at 57.77 1 - IlpAStDgUghswvc64 fOi 76.95 1 - ImtKvvCBpCcU5lP wyD 67.06 1 - INepTWy7A97d36DYf VBE 50.37 1 - INsC1jNtsamIwGhiCUQ XnI 49.76 1 - IooWqqNfBWfVFfo QXK 63.98 1 - IP4IQvwynyjOcs3LytyLj1rg u67 63.21 1 - Iq0jbJo6iysS1WaKpQJ5CTjT mov 82.41 1 - IQasbB93zcZUfc9E208zyn t5j 58.78 1 - iQYfjb1Z3NExsNab2B5TL TVT 61.17 1 - IRQlEhhRvhsUUiG3t0O 8Eh 40.17 1 - IsJ44FV3wlOxPLFy 5MX 79.13 1 - IULk8S7Xao940y45iW od5 59.43 1 - iwcT93ufn2B7M5 ori 35.24 1 - IwEzkofJ3AEyzEynqGYM2KeW JaA 92.6 1 - IwvAdQtUeP5uGc 6qJ 69.86 1 - IYgLFtQBVB4NrgbbZs7 LyH 30.03 1 - iZ0rQDWFZDRkpd8cu5LO nM2 90.78 1 - IzbpCXtzU8qKLX2Qnz2jhuf 2MA 50.09 1 - izjZOirYviwBIYCJf8TK9 3MR 80.61 1 - IzMGHgPDjp0CZ5eKrBub SCn 12.87 1 - J0hyYk9P3uJ83N4U bC9 25.38 1 - J51yrkq2EbzrDWKF5F2 Oaq 57.72 1 - j5DAOG8B4uJKVsWaojSYhg LKH 82.56 1 - j6Y6cSZZrymxsFc2 etI 66.55 1 - J8raIctBuVtr32tBfUW 529 40.68 1 - j9J2C4xHsCpHqIC RIQ 22.82 1 - JaaAXHlv6215ojmszfUpCtn 22o 94.7 1 - jAHs7ejqa3AZI0iw Nx8 81.71 1 - JBVsyj1w07B2GH hVQ 76.01 1 - jbwjDKSPi1aSfODKn2 frY 98.09 1 - JFU4cSQZHoOfLq1vUWxEq ING 72.63 1 - JFYBegwYX1am8w43jzKO W5w 85.85 1 - jGClFsDo52NZvwRJj3RE6P p5Y 25.38 1 - Jj2zRl4A17PMyvO bSb 73.86 1 - jj6X0MHR2poXJN LuK 60.38 1 - jjarCgSAbAT6rG MhY 5.81 1 - jJp8KSiZVCrej2mX uyb 30.22 1 - JKb2RyFGjidyp9teM rfB 32.21 1 - jLNs6gczzjWS24XDgqZxy iGp 2.77 1 - jLR1L4PRfsVCik gBM 6.84 1 - JLSwl5qvOtFe8Tg gu6 70.5 1 - jMGD2Mer803aBGExl9FaD F7M 43.51 1 - JMIryGgu5gPdQy 6aH 44.89 1 - jnd7RfZQrtwO4ZkhS AXw 51.71 1 - jnVHFkvTmqUXCm 1o9 23.13 1 - JOpTjDGvcqn6ce0pQtToPO wyx 28.92 1 - joYF1D2gx4aZDJL Let 98.47 1 - JPFED6ibtPrfXM J2z 7.92 1 - JpGTI43TmzE0mMxy JMN 42.56 1 - JpiKYYF7LnAgirAbRwzcI CiX 9.11 1 - jPnDlPtfM7Z9xUbcQK5GUt78 eTl 66.22 1 - JPOuL9XM8O3QTKXVeux96s ODZ 8.57 1 - JPxjefMXcHxMhHGlnKhP0j5 hCr 83.75 1 - JPyhk3kyBhZGUskKjgteW4gy Hql 6.11 1 - JQNBF5MoBQIdn7vKZO K9J 97.21 1 - JR29ivcK2xxlq8C 2Qo 82.19 1 - jRfkpxXnTRuyWTe6z4qVd4dl hTE 35.43 1 - jrqvSepuV66EWGE qVf 56.22 1 - js2VRcxAqbUdcIo Mic 74.43 1 - JTQM1kgzYQjbEswu4zrcDcH Y0A 74.93 1 - ju5cyZOMHkCEBRQeEQ7LH1a lph 79.34 1 - JUhj7Ch8XSEYCvHoDzZ Fqi 38.46 1 - JV1BoOxS2JenbE 6vc 4.67 1 - JVz0f7DZ12nY7SSRApSa pIr 57.36 1 - JWTxmZmnbdkdKMXpUh 8p7 93.54 1 - jY8NWI3j4hRW45 IxT 88.93 1 - JyTJKiM6KSUJrK LWd 87.51 1 - jzinJ4R0vsFHfrayOjTLdk Bt3 97.96 1 - jZxO1FOI7BYiT1Z kn9 8.95 1 - k0qAn8ErQcbdaAsB kzW 91.81 1 - K2AVgWNhEBFtUfMO wRD 77.4 1 - k2Rf2ysnXcfq0hTUp1e U04 83.2 1 - K3y8UXXqppTVCIEQ5As8CU OmF 14.35 1 - K45XeAB33PBmNvrR FBg 23.06 1 - K4iCGbrNbyQDJKjjcf3tXf zEc 4.35 1 - K631vkfNc2MCl5v PiE 60.47 1 - K76WylyZECiima4OFMZhfMYy hIr 57.48 1 - K7vwNusHXXKNci4wI6irz hkZ 33.11 1 - k83C17NqvbtRwFv99ystjjG BwG 45.46 1 - k8d4rHX37sgfugxa eHZ 12.58 1 - kbmeHbl7B2dfOkZHsaeb HZ1 93.98 1 - KD5OlyNyl9nsO5h2zzk2eQX Ama 71.43 1 - KDUNHnfBPw0yGG 0ul 31.03 1 - KFed3wlee7feEpdU dQu 41.86 1 - kFs7rTMsT9fBGk17K FHi 71.11 1 - kFwUJDVs8PUitVIbTccVLCsQ Gh5 19.66 1 - KHSWUvfX1zoEhPKsZ yoZ 32.12 1 - KIgwUY0g111nbhN MEM 32.55 1 - kK8NAPIOLrysH05hpuEcf2K Jhh 27.13 1 - KLmQ3VOEm9aDwthuuAy 7Ke 57.67 1 - kmguCIqw5Uwj5O9 3xN 93.76 1 - kMO7WlpELX1L3V fIi 64.48 1 - kNEHkVKYtB1oBFDfyN qN7 26.54 1 - kNN3Y9vFapW6AQi7Iq 73L 31.7 1 - KOh5KiTnOUhFm9P4PO1 z9X 4.51 1 - KOr9ndPJ7CMWutBPpoi5y VRn 60.95 1 - Kp4N4BFiCdROBY D5i 28.25 1 - kPmFgyW2JpBkyuPDEV XYx 45 1 - KpMlCvjAIUPHZlrDYUiVmq eIo 75.48 1 - KqM4cCFOzeUnismzvfil por 32.64 1 - kSpripiRtRzEgqCeK6 Z2H 77.04 1 - KtEU2TH6ux1G6gqDIDI t9Z 91.35 1 - KTkMaURJWWTFoxQHxo NFZ 71.11 1 - kTvKE9YjTLE2fqq rOJ 34.95 1 - KTxSQAFHRgcgmUXNS SXY 19.81 1 - KuhmGF6tKQP7Fr u7O 81.54 1 - KvZ0CwcvxG21Sc CCx 37.07 1 - KXOK4BPnEVLuFb4ictLM6 YQt 30.3 1 - kxUO0WQNUzieeFTryflebY Dtg 84.79 1 - kZf5TBY3Y9EoQlGLKj30 PvM 56.39 1 - kZipybmtluQgdWdrHnvIFR tlA 59.43 1 - l0mzimgwlsXqGUBgM nG0 85.26 1 - L1AX0HxaeQwNJpaB op9 41.5 1 - L1c3MnszY5u1jMGPXLRHxHKq yX1 46.66 1 - L1FJOUA1VzjbgJ icC 13.78 1 - L2hwVRboEbZ2hPb59vDasXF PCK 92.22 1 - l2QD3Yi4varknBZ90d4P wHG 8.99 1 - l3K8eizT2TIUALIMiSW4P Is6 1.68 1 - l4uiTfaSCWD5rwe1uY1 388 90.01 1 - L744BFfiGgsmDmc9tyLVgX HB7 1.54 1 - L7LAPsZxdrjNdpv bw6 23.21 1 - lag6rsYOXDcrxxdYq8k I9s 57.6 1 - LAtzLcslJibFrX7PGdt Wyq 87.19 1 - LAu4X2aPmXJdUF 33C 45.67 1 - lcU2uPCkdf1mWyawJg9mR8 9Ft 21.7 1 - LcZRYcEeaHZrtZ6dsCZSd lRs 46.88 1 - LD1d9zdYvNiWvXI2J f31 86.98 1 - lDnlB0YwIvkkGoe5x cio 15.7 1 - leawxU0mv8nsapdNNqr y9k 23.25 1 - LFzgAjXqOnjPECBcnkQ2WMY DDA 83.19 1 - Lg3tN2xbGorr6lY IdU 79.53 1 - LGiFx7TXtSQ8qMPxhR sOx 79.5 1 - lJfAJ8RJ1sxsbmQS2Ck cPO 17.72 1 - lk0ed5qKtxeiC5144l rWw 95.73 1 - LKhqXVu2J2FQIVWq1La CnY 86.27 1 - LKKyv5Iyyoi7rz2x t9b 5.71 1 - lLgZ2NC4JVp5P9sa1d x1F 60.02 1 - llrP3gT00Y8KDEau68e 4wN 46.28 1 - lMahW3jFsjEElYo13nxgfI G6l 1.21 1 - LmImUmfxTOZ6v7Xjlh eaH 6.11 1 - LMWoF7u9t7JbHbpCG haI 6.6 1 - lncie89pstAvCdIw7c cxL 46.95 1 - lnQmPf82CqN3qRTELyV znf 34.08 1 - lNVGlfZMxDB19DZy3V l3T 7.36 1 - Lo29dO7aXKBXyIS8GZSY fpP 14.33 1 - LP2IilM1Bhb6G0bzkQJ sb1 35.81 1 - lRx8wX2RW9W4if0xAWQ 58d 88.32 1 - Lsdjj30h9qW8xr0h2 eb5 68.2 1 - lSg7tHj8Qnba502zVi Was 68.9 1 - LsMfNe0WiYUttGIiGdAFSn pla 16.94 1 - LT99XhaEyiECpTlgnjiF lDB 24.48 1 - LV0L9ie1oECNbu44K sYN 56.05 1 - LVg0iiaxgCaEEVqaDmwoZ V5v 29.13 1 - LW2MUWf4IsecVn4cc uNM 29.86 1 - lW8ht52DgEgRKbhV q1x 7.43 1 - lX3Ycw3Z6b65pLNM VxV 20.37 1 - LxblBQ3wDGor7u sHx 42.26 1 - lxQrkMtX6g3B9PHCYT6mjT n6e 24.3 1 - LxR1rq2XAbl2LaUfP4chCpoX si4 43.44 1 - m01ChpMoux1Lqlsr1wTgC AVt 12.43 1 - m3CoTJzGkqoWPOKnR pKT 3.76 1 - M3yRj2sHuDvtproRlaVip3dM nqM 26.02 1 - m5qiy5aSrDRsPjYuK3 oLZ 57.71 1 - m5tuJK7D4QfkTwNM4vvWkJTz ori 49.82 1 - m9DtL2Ki8CdBeN LpQ 51.53 1 - MA9cCxBUNSNS7vLD3 AYW 93.05 1 - maQHUnit2wH5w9oKu4 yIq 42.08 1 - mb8oJBj3rEctyGAoWvseC YM9 51.9 1 - MCKikjTvGD6rEIIKuLONqq GV0 76.6 1 - mCPMhEMo05eNLs peD 85.42 1 - mDvI5pU9im2ZfE Hm8 33.71 1 - MeE4R905c3IEc5 UrK 47.12 1 - MgJfIWjYMJq0VAnVvQ O2j 52.86 1 - MGqAVnbVEsDaVeHy2kdiB9 O4j 65.72 1 - MiRF9Bkua7JohTmax8kzHKG XRn 29.19 1 - mJAy4lJtNLmBVvMu tR3 14.12 1 - MKPdSLF3cFvP92N CwW 86.39 1 - mN3RoRjh5lBfh6vuuSl2 b8r 36.48 1 - mngVTPQkazW4N0sjj vGH 1.81 1 - moZcAiO3KAuJ87l 0iW 40.04 1 - MpeUE0Nuims5wo KbM 41.58 1 - mPVqvyomHkvBWmtRgbM7FIB YWh 13.5 1 - msUeoyhGzGbFU41P2N4c kO8 94.7 1 - mt6pXBdIqwDKSnADdA4B rEX 44.73 1 - MTkOZ0RKmTKD53v 8nv 92.39 1 - Mu47DfHKYL6EtWFGPjz POq 42.36 1 - mUwd6Bxd6foSy6m Mri 61.36 1 - mVDyAXKJMJzhxVVIBVLE WQt 45.47 1 - MVkL1oR9l5LRSSp1cHV9Hq zRW 81.43 1 - Mvw5mfPdCuJoj3GImkgN0O bGD 30.91 1 - mX4gJhDnsTkARcg s8k 36.96 1 - MxBWAB3VSB51xn5mi3HRn7 bFd 66.65 1 - My7wIbRAEvJNOpXkOFmKf euI 9.29 1 - N0qYmHZtAsvfo1q Agy 19.78 1 - N3NgiuL0AoTHVNcv myL 91.48 1 - N4clAb9geQtpCyqoL XCu 54.62 1 - n6JMwoZhy8DIv5 ADO 5.42 1 - n6MevHte4zHHaG DM3 11.35 1 - n7aLzWfnUKnRqCE 5AH 48.76 1 - N8khIinkvcNCNzKrO9SFGFW 1JB 66.81 1 - N8mGSPek7hefjU8NFOGBEje fdq 92.38 1 - N8T4KDQP3S92DG5ylQ stO 97.54 1 - N8WFFwgUwbpZLj1koJIrx56Y 3Yo 80.99 1 - nAwyOtDhkko4E7I udX 44.28 1 - nboJrtJYV6Mt3zv1B4Lr9 e0c 73.16 1 - ND6Qj0uJo7PNghLG AIg 80.56 1 - nDHKPelpvbdCQ1MEr7q sZx 92.71 1 - ndv6b86rKp9n2cNX K6g 47.78 1 - NdVlS2f1LYTVisDUJL 27Z 94.54 1 - NezkXiKM7UGbahAr Yps 46.09 1 - nFCPghrtwrKldJ7Ucez to5 16.31 1 - NgroNYddwE8yLuWvvnCAbHe yYA 62.72 1 - NhNfGaKlT91S7wev6lwvW ezU 81.62 1 - nhxGqyJtcmp0c2GS Wfi 9.96 1 - njbqCyHTsu8mcNXPIUEvBS6D 9iW 65.27 1 - NjPiPAfJzD6iQMN Ve2 5.17 1 - NksJ8Ql4h0Ey9LKy1vG6xt zUf 54.68 1 - NkydGDsNDYVNwoiOt8Yeky UEG 15.78 1 - Nl979aeBArbokbg6KalMkm b0Q 24.54 1 - NLChPAeLao3euOX 9mn 23.51 1 - NlqtcD6OXKKiTydgD5Ifc fuq 95.02 1 - nN741i5RlauzTT5 OB2 98.08 1 - noMRxGcZyhr29PjuwAosgc 4Z6 99.32 1 - NOxDr6tBFvn6AzXOq8TBCz 47u 18.63 1 - NpKvHp3fE1kKFUk A3B 33.45 1 - nPQ9MXF7AQQtfGHGLm8i81 MO7 97.31 1 - NQ1bCYV8lzlBuI3kxijPdZl jAO 14.81 1 - nQBItoA4Z6BRi9ryHZCJ KWR 84.01 1 - Nr2ATnsW0soVDcryfTx 9fb 57.08 1 - nrtf4ebujgXutVUQ24vvRX6A 274 90.85 1 - nry7fD2PxCq0cKcancYLQT C8R 15.81 1 - NsKTnVQ542CLpJfORRu hzk 19.84 1 - nTETvxx8Zx8rnPNO3eMQpNG GHx 72.1 1 - nTKqRKLVCtEAZHFRXGP ZAU 81.28 1 - nTNXT9GgQqd4SpUDlakQt YkL 72.96 1 - nU46pBloZd9IzLvWqkWw6KQ QKG 43.35 1 - NuPEY4TO3xEhJtyRAJM89 T7z 25.88 1 - nuStI9F3F0w686CyEPF EM8 76.39 1 - nUZAtCgfhJyQOrPha2A7 fs4 96.27 1 - nv01rF8xhf5mmD tVe 48.18 1 - NvdU0t4nciQvavt8haKWV y1K 55.61 1 - nVgbdsee2SP4FB5Hq2TBYep ADL 79.95 1 - NW1fTAdEz1BlUxLah2 WOV 86.7 1 - NwJuCQLeCrcbbc3 3YY 88.22 1 - nXUNnjAQqfCH7YbOYEF b4Y 18.33 1 - NYf4OsHVg3Y9oQaKEfi bzM 27.09 1 - nYk2NTiKilobkNAjz k5d 73.55 1 - nyvE9NFl2vmvi2mzHMwt UWq 66.45 1 - nzsDP3gGhpvHviTBiYm2Yeqd CLP 46.77 1 - NZsqwirp5YhptCqfuu yTJ 72.07 1 - O0cGuNyxio4wwvIW8v XtI 34.3 1 - O5sn8AMNXAxcF3KpyMJXZb HAA 22.58 1 - O6azxvTxZ8GZ0TIB3Qb8S5WC AYX 71.02 1 - o6k3ytLBgirhI9 tQs 30.6 1 - o6NQbq6fMGQZbsvY kJq 32.83 1 - o8o3MRUxYQIgThukY C2r 37.22 1 - O8ZabEStBdi9CsfsVAsZOTvn EuH 24.99 1 - oA1rcvMtJMM3WN3IjDTlrI nWq 3.52 1 - OaP8iZXC1pp1aFJm5s Fgy 29.02 1 - OBEZPeqo6M0hWyfTt7MB3i3r niv 72.21 1 - ObvRXd5zbUB6wcIYL4 gpT 58.35 1 - OCazep9pWuL9Yzsk54dJin R2I 89.17 1 - oCges9emvR1NY4J TnX 8 1 - octuE87qAIFUrn B0q 56.88 1 - OEDrGN6OTv6vhQHp1Tkc4myA 50Z 85.93 1 - Of5BpUWy82CL4oeF4V 9wT 54.55 1 - ofkxBHZUOGAPOxTYDP who 25.68 1 - ofOxLC6d6EzopbXCUBC hxO 22.95 1 - OfufPCtBRzzdmmqYFUA3I0 G8y 18.01 1 - ogO4DXOCOmZXKxoJ4atHn0 Zpu 88.7 1 - ohl2bd2nFU2jBg8 2AX 83.93 1 - oHmIL1TqNdobgO7di 6v2 4.31 1 - OHsMTuqtHz6We4qEH 5ND 23.12 1 - OiCrNbNSFu3BIcKr3HXuBZ 1SB 17.54 1 - OiKsF1LwiVA6Nl3eMr x7C 67.43 1 - OJ0bjqXzjQX8u4l1KB7h1pU Mkb 13.41 1 - OkdHqmZSxXiqxCzmBbO SG1 67.64 1 - Ol0NYDdm3hqxDUN8gt04 cyI 27.14 1 - OlqD4h1xsEkkcZbbu vI7 57.32 1 - olS5kG6EPR4IZ53q7 BcF 96.7 1 - OndJRMmuEHmumgwSQ Wvv 81.96 1 - onKlpy2g8wCx2Zy c2w 66.6 1 - oocJRss86l5uIOqT8BbpokD LHv 11.27 1 - OoKtbEWbxXW6ao vPa 77.21 1 - OottD147HMIqmg Wfm 61.72 1 - oOxyniSQg7XkseS1dVQuzF PMg 74.39 1 - OqwlZpg0tmTThxZUFz2DmgN dIN 22.97 1 - OsST9j61DJ3vNlX3U JlS 70.54 1 - oSXPqILMtxwLj5 ES3 14.5 1 - ou1KaxGwHXKeqEnEIHu07JYo 1we 45.35 1 - OUFrIkHduLknIyp kRS 21.94 1 - Ow13bebZXKyZx2LwzUnyUl iZs 50.86 1 - OW1MtAVyNmiwmIeM8Ru PXl 48.61 1 - OxL4xjvvEoakC6o0SWFzLv bLo 10.34 1 - oYBlXuJnf0AhIT otr 86.71 1 - ozEs5xfkNSaBSctPlMAXfLo tzR 87.64 1 - Ozz08niBb8usTCQ0Qne uze 84.45 1 - P2CnLZ6wjMWagfa86PQ SDk 9.75 1 - p2rOb9TRfrpmEB734J3K 4oU 12.58 1 - p3RrlAVpzgYG8j0C CEX 89.77 1 - p9jPfGcJVMsEwYYpmysYL Cuo 98.66 1 - P9jWWng639kr6huLW Guq 85.11 1 - PaX7a2ZeCYLBeLo0Ywb9QUF uA8 21.31 1 - PbELYJY6EYll76 87T 95.96 1 - PC1Xwq9khOD7eg25XNuJqni uoa 93.72 1 - PCyvr6u2zEucFvBo OEh 97.69 1 - PGjlCUTKvUARyWdB k2X 26.42 1 - Ph5tQXDBnhWbTjJ xoo 99.69 1 - phaRh2uo7SAM3S OSi 55.68 1 - PhzrsGUN9PoBD3mSwcl6y ciK 47.26 1 - PiGGeRPSYxRyw1NKij8r mx2 11.52 1 - PKKgsHRrVuEwXpXdE2k8 Th7 91.23 1 - pKkHlorQinRSRQJdZ0fYM Ye8 83.24 1 - PKPztQnn95S3qiy1X2YM idK 18.76 1 - PltQR9dIYwROa5 wK5 2.76 1 - PMCzdqCNhX7NXHrWGDd qWt 55.65 1 - PMHOGU4zGtraGFlOYSc7R9 f8p 41.27 1 - PMIqODa6qLNOD5KOI oYu 43.68 1 - pmivv2mZoqInf5HYg uor 82.4 1 - pmSlPgZ3UbACR1YwKx xvS 74.25 1 - Pmxcw6cnA4nDap LPf 35.73 1 - PNkk03cra6W80jV6oDXizVgX LRm 35.89 1 - Ppbe1YE5u8tDy5JwDIhkDnYq ZQI 27.39 1 - pQFtR44HoQ4Grd5gQTB4bR sCv 11.73 1 - PSmNJYz7MMCjgAaUzyeKumP6 B90 20.36 1 - pSmu76DfLDpInp9 Y39 53.77 1 - PUAA04ZRu2YSpYSl3Wp7JxfB 37E 38.54 1 - PUrCSgoSOWH2UVl D2I 67.64 1 - puu3QlA4QIaWKE3KrljJpwA xoU 72.05 1 - Puxk5YIOcdh6tHvlaJ0gy WBV 12.66 1 - PVfFRi1A7ODcSgYSyp5cfx prD 61.75 1 - PvNGMvjloNOzkY7R Equ 95.02 1 - pVRJAXJWxBDOPwHyZKs7INB cj6 10.03 1 - Pvxw7Ts6nCrP4TSp g7l 82.75 1 - pyHViBYExLdKV4E0k ERy 90.25 1 - pYlDV1rHMwOZ0j9TTMKNUeY WnO 96.96 1 - pYW2sZ7IEjg78gvea9 AwU 35.97 1 - q04Ybp9gtmpT8RXwiKxqszj FjG 52.08 1 - Q0jVg7u6A4ZbN6tQlXsjXSq kdb 28.13 1 - Q5VAqeLHs69lk9wfRkRcWJHU cy5 25.63 1 - Q79Rmfepqv5lzL 2IE 44.18 1 - Q7DiN5QUywPkHOoH jvV 20.57 1 - q7ZUoEHOorsjVLz5m9F0ggew f00 55.62 1 - q8rdaB59K6MKmtqNW TLY 25.54 1 - qaf7t83OBruktJ9 7QH 20.49 1 - qaP66yKXl8iuXduawPFxe bg6 38.91 1 - qC10rKozjpso8r6dxu chl 7.79 1 - qd9PzUTlhjEsekV0NUo3GbCM BIN 55.35 1 - qepymlgDIndNoEaR QUX 18.78 1 - qf1oZdzGr2W42i70kaNuk38 00y 76.81 1 - qf36p9CoGxOXIQ 1lt 66.28 1 - QGdgYHj5LhGDUvtofp dxC 88.6 1 - qgyo23KYSduq4rSGhmZdy dCE 63.24 1 - QH8G0J9UW2twj7 Foq 78.92 1 - qhXD45Ge8KYXVKkBnl5AnUbi C2s 28.29 1 - QihIjz62Zu66Wu puu 25.95 1 - qJ29mh3igLo8PL95KNtLf lt1 25.19 1 - qj3HacO8gluMPy s5V 90.65 1 - QJje68AM5qxMkahvEy6 Vet 72.86 1 - qjRCy8w2SpIYvDer3RAqu xYR 86.12 1 - qjVwvkToI6szzA7DjoYr7 ori 11.16 1 - QkKno7wqhsBq1MCqL YOp 66.26 1 - QkoYhRYWtcIxrAlYG SrO 53.02 1 - QlrPeUnoW8XLUUoGc3L zwA 95.45 1 - qMbOMkCscVI3i275oLoA0w Mo2 90.16 1 - qmMUUOHzOp6AxWvSI7tkK Xay 57.34 1 - qomB8fW6cCL67QXogBSk zlI 88.05 1 - QP9NsYKE2oB04yrnpiM0 2xW 39.66 1 - QpXjh9Z8XiB9FH3oTCxoV2bm Sk1 45.99 1 - QPxvlmw1it4mQzt G0Y 21.56 1 - Qq3pEfIwdn3VriDZtybfx XWF 44.47 1 - qQebASxdzPNIE1J9Voe MDZ 66.49 1 - qR7Lk6AUzS8k3U9kyfV3 hus 56.42 1 - qRFzkyTggJkNJJ fgn 4.13 1 - qrvxcAkdMe39nfKtmdj5eW 8iV 8.77 1 - Qui5WxWbdp1oIFfLzMQfA Q9N 8.9 1 - QxEgQF0gSaXpf4Y 431 87.6 1 - qYf4XNzDv5vUlz ZOq 89.64 1 - QyIkFBfP0PBEILVA2G7w3 PcE 15.3 1 - QYRfBFTwI6cynn5 hoE 90.97 1 - QYwbI89e9ncnlJOJ9oM 6kB 18.5 1 - qZhtNICPmT3xbeKdk8K1V0P 7nR 95.43 1 - QZpq09KFrQmOWTXOT72uXc3 xvn 51.68 1 - QzUJlNEyR3fVgEX 9vi 67.44 1 - r0FWekbHIqzVzaJl1EIGWGsF z6y 7.73 1 - r0nHYC6SwliA90MXDX JRc 30.08 1 - r0ToJLZC6ggPDyQZnGP 0Mj 39.35 1 - R25vnJLr0nsNGPt ZMS 52.03 1 - R5QwgHd4HKdbOZNZZNEle Eit 86.44 1 - R6le82FzuhFP32ErHkToRZ PRI 4.95 1 - r6PPkA8fr6WSvi7A BTw 57.55 1 - R7Fydl21yZkUNQe ZkH 65.71 1 - r85iRmJo8q4g35Je eFG 43.88 1 - R9UtaZjUQzLToiQbSRGHK TxC 41.66 1 - RBQCVWthwHFGvSOGTFrMNKiq CY4 55.51 1 - rDNSGptsMtRWWC7Ezy7 3fz 88.06 1 - rdovPcFy50ch0vNKQ8hkJE Xeo 96.01 1 - RDTFeq5N4KriyXs0kmtlYh 3VO 1.63 1 - ReFnzIkgdrmsLw tuU 82.35 1 - rEMmThyMzZGfakSOl D70 75.69 1 - rf6V0JeVzw30yvdD9A3Dncp GMX 86.67 1 - RfGAEq03TSNRARy DDK 57.03 1 - rFmeR8mqXfQf6E 6pm 97.84 1 - RFpiCoSHuttttFnw4yd OZe 8.07 1 - rglgIlDapRkVgx0GVIJL2vF wmb 18.76 1 - RHsx70BA6w1pNyKM4G9Un6a 6KK 47.84 1 - rIQEnqBeUWYwkHtHCXFbJte8 a7m 91.61 1 - RiVtvCwEiwt0N9OnBwyVwMt TrE 26.52 1 - RjyvNSmXxrxFCWcdPHIOp1i TZw 61.16 1 - rKgzFhLYAklXz8S DBI 77.2 1 - RKS4ZEeZN5Ugo11lsJJCgQRS 0aR 39.94 1 - RNgNrHBFdqeiuBPae41kphfi f7x 89.74 1 - RNlGLeD8Hj2nF0vJ J0w 5.94 1 - rO69pVIhbbaAcs jyL 94.95 1 - RoefUWwzCtzEHFVoQe 1Y6 15.25 1 - rOl1hlxGDZbRZlJfLoHjwM4 f9m 49.15 1 - RPagzGYCuPXB1DiZn7 EvT 75.83 1 - RPieMYuSQPs5BuR51YJPRlF kO4 2.08 1 - rpYWiYZfjTIxOr Dcc 75.34 1 - RPZd1QfD1Oz4pvQWTcEl pUC 73.56 1 - rqBJSV5ieYSGSTg f7f 11.87 1 - rrSnOo3FgAlq8mo h7x 7.49 1 - rsnpStePhGJ5cbc0Qp LXX 2.63 1 - RsVtYNU406AKgsJLXI NL0 6.11 1 - RsyBqiILwhYlasuYrI8zrBl9 WYa 7.26 1 - RSYuy2llNNGOftOERZ1 V76 84.41 1 - RtBTDYJ1M3wvZ7 WTZ 97.08 1 - Ru6QVmdahoaIKo dno 38.45 1 - Ru8hSBqNF1LjhI pIQ 4.2 1 - RUXEoEj2aQt1BCKFNSZt s2l 13.29 1 - RvaLlDEILeVs8fn5y9x4dhg 9Rl 22.79 1 - rvNzzk15hv27prn0IUt PAX 37.15 1 - rW3o2WyHQDzlxkBk AWo 94.21 1 - RwSCGJmUGMENAt JWQ 45.56 1 - rWWNfX5yWNi1d5j7Epn Jx6 36.79 1 - rx5Nrmnah3H12WtEpow WtJ 57.16 1 - RXill3VFEZ8EqjWjt6fGUiP Xll 45.82 1 - rXSKiGRzK1sbXN97a izQ 52.88 1 - rzBXDyD76WdnD8MMINzi rFK 71.33 1 - S00J06OqTyeNoGLKbu3G7 0Je 18.06 1 - s1Xdx5NRTT8P4QjS Joa 92.56 1 - S2VqQgWqhS3RoVlviTr96R htK 32.75 1 - s3k9YdBgCZChqqc2KJs0Rd 02o 66.93 1 - s43AZxvAuX5cryV NeL 7.71 1 - s4XVPloxW2sntECc3wEAPNA dMU 72.57 1 - S5QQcGTJ2Ru7VhZgh 798 49.49 1 - S67tRr7b6BImHJTYdbYGGUi s6y 72.6 1 - S8jTdmsSW6J1f24rSleyfw Hca 18.29 1 - sBAie5QHzV5fx82Zq9gzpU OqZ 32.24 1 - sc5aEYg6zhHbgthY Sa8 30.04 1 - ScgBv0aPRCffHo jgs 63.59 1 - sctez1OUXW0NHr03pfli4U lQA 37.21 1 - sDInbdYgzmGPxpJLSrxdO X8O 53.08 1 - seU96HzNN0fwMfYlDJplU pHf 94.91 1 - sF3z0wWUD0IC1pH 30N 59.97 1 - sF4gpiUnSfXXcS3 TIW 81.31 1 - sgc3SU66nhw24xmWNF 58R 73.4 1 - sgjGMbb4FA9dHaf lRa 34.6 1 - SgRgaqpdUruKTGIBm ouk 64.87 1 - SIJ7JVaRxbcXah7rOAVJQKLt ldj 87.77 1 - sj4tIRIyyn3es0jDtk8qF 4wO 67.79 1 - sj5Xr7qzw35utX yoC 25.68 1 - SJend8FY7yKDsn2X T85 90.81 1 - sjPUoLHBbatTmtocHMypO hHZ 99.89 1 - sJtOMpYW0fbPeLltexDrvLh TJr 44.57 1 - SkNbDal7HKaK5MzvRhLL 3AZ 20.67 1 - SLfsxEDW5U3bQedV34KRyQ aYL 86.24 1 - SLhYnLUjIPKFhp5N1BZysTvu UhP 79.08 1 - smwbAhBCUACd9sdJFWz2M833 Yyu 43.65 1 - smXsoV5mxxJyxo8 bMm 45.78 1 - sNgMEXHDy2xYhk6gRX3Gy yio 86.8 1 - SON0p1HBKsEKycIO1 403 62.97 1 - SpHmNpcYtOyMlaS9 KgH 38.16 1 - SQ2WhZJQs5Un8X4hk4J LY0 90.42 1 - SrETF87YVmopyoCu8vIa wdi 93.73 1 - ssHSCI7qRGVoaarb79KXz4ob K6M 61.93 1 - ST8CO1SdQaNA76lTZKeM Jps 27.02 1 - stxqwGJbgJeLb1mfY 0aD 25.79 1 - sukmVIXCSn67vVAlTet p4e 16.01 1 - SuMKUpks20MVLNw2gc DQK 82.91 1 - SVCznCfaGuPwfc VFF 87.31 1 - Svv5voiLn2TVRUDWmHf Wx6 27.4 1 - swZiMOVaMB8L6DS4 MS1 6.44 1 - sxaxXe26hFT1Ibb XBF 24.83 1 - SYpRauEMoP4FebQKefDOqV aZ7 12.48 1 - sz0NdgvFy62JNTU 9yD 87.19 1 - SZ9Qux4zKykbLUFJKk6Bi1nB YwN 77.6 1 - T2DOnK1ew2Aw3KbAXWvvM NVQ 27.54 1 - t3oHSHrOOQMVEP vnz 78.27 1 - t4ccklaRBqjFXhCnH coA 49.72 1 - T4CuDNhqqNCKJdnaevz3hHq t07 17.65 1 - t4Zc06ibr46rnUo XKB 38.2 1 - t59WezBkpcrvXagU5feH yCY 10.33 1 - t5coKomHaPANbfKiy2VXtL 4xQ 69.49 1 - t7esI9bupiR2eHMV4WLpc6J0 TQU 9.68 1 - T7Pzh7yR6mxxXhPoL zwd 27.41 1 - t9lCi4dHew3BymRzyNy8nA9K scP 69.27 1 - tap9jqTTMyXCU3xh9 xG9 17.67 1 - TAXWVFRQdqpOGlDSPN aLo 59.75 1 - tBfoqUZc3nKcKLdDnA8 GDs 31.12 1 - TBtoqNTBknbpS0ThxMFS 36z 60.9 1 - Tc8NKhKKj8xUfoDOqX1 40H 49.57 1 - tEdzF8kghiu0yyZJ0 lAO 75.3 1 - tENXvTd895E0pd2F2 EjT 23.77 1 - TeQjJV9teIv3JtDnPw 6KD 75.99 1 - TEQOQFcsU6yhrUldJFj5RdSL 99K 53.71 1 - TeYu1aOQJtreVBwcB 4QS 64.69 1 - tf54wabdRnf3NHdYVxzOg 3Vc 95.26 1 - TF7LQG2WKvjP7WkAFU A1O 54.2 1 - tf9IkWLlXKssLH dSE 72.18 1 - tfdyDbfuq3Bfqem4lq lJG 47.38 1 - TG2pqiRoYYAg2Phu2x7zbI nuo 99.93 1 - TGBV9N8TbblmdhnXWCasQp uLI 97.96 1 - TH4UpKUwsroSrOxi ORG 92.58 1 - tHjOYdwyt7M5fL4hPuPo MY2 54.75 1 - tHM2V9ymycZdRs6ZPcG3g u48 36.22 1 - tHnsNjID2XM0QaCrveL2hHxW tgL 65.35 1 - TI4rpz5Z8W7YeQofKFjgEBpz eBf 40.57 1 - TJPSkSKyPbcxt4RM58t2JhW ror 42.46 1 - tJR3s3j9B7uEIRqrzfEVYe2 u7g 21.3 1 - tKeRiqmX72izEGY5Tpkxj KXB 92.34 1 - tKKJfPuqcrfPcCI 6Q7 17.08 1 - tKzof5KSuD9KU8o5awGpm0Pz Cf3 44.76 1 - tluulKWRrloEkH L0D 22.68 1 - TM76uaNv4HFty3dNT 5MS 94.57 1 - tmf6ThzUduSQkMuu N7x 30.97 1 - TMJNgyJGcHo2bzoM az2 90.89 1 - tPBmfeclv9j6dVjMkiJj2X 2B1 86.19 1 - tpxXav2iTngSHqySX5mRDHD iKd 27.79 1 - Ts2tcICOYSfqLi 9gA 88.85 1 - ttBaqvlboRG9ha dlv 99.47 1 - TtCoQZdOcnG7Jpjt7B3H9BJ0 Sts 32.75 1 - tTMz0Ce0QrqET2WrpYjYO A6g 83.68 1 - TtOiVmaPwN5yMAd fCv 84.22 1 - TUClmpnVo3kzSYFFLY86HIc paV 39.9 1 - tuNba31NCOwxD2UoJiXAOB 3Yc 13.75 1 - Tvpf5XFf18BkI2T cIC 86.11 1 - tvtglsqFLrIsvi EgB 80.26 1 - TW1LYUcQS2Dru5mp lQJ 53.37 1 - tW2FG2aHzlT2v8Jywkes3rt Kwd 86.06 1 - tYxPukj0QKMyqE3OgiD cnW 38.14 1 - TztzRsLodT2Pur0Y2nRtiS B2d 73.78 1 - Tzv1YxMu70cdYA9pWWR bI4 76.14 1 - U0DQU5LOcFHKXNqL nZg 60.45 1 - U0VOWotkXSJ2pzsL4 cH5 26.44 1 - u2jGziNyuAucmwjZct5xR 6kD 67.01 1 - U3ilJloVcABVb1A0K4fj 7yr 92.2 1 - U3LubhEKNJKV3J4BMGLCB YaK 61.88 1 - U49mC5p75BYblY0l5SxBI Fy4 87.32 1 - u4iOHwOb92rkaUAEmltGNgP ocq 47.96 1 - U7ErGpZpgas4Vf3SvDk07rf WyA 35.26 1 - U8XmpPbUnZwwtbJuCwa GR7 22.35 1 - U95gD5JVf5JEeGkmLczY 1NR 34.42 1 - U9FiQLmkZAiXMKkxqKAJ iHH 18.81 1 - UEfeL9Zx5kgpRtGDbiT RYc 71.86 1 - uesKPfmyaDjzmA3mvTzz osf 17.6 1 - UfK51ydwQANdJ4cqm3JmLGvP Qh8 92.16 1 - ug6RR5mud2770w jBS 37.59 1 - ugHT9UFOYGKLTF42Xo9T CVh 96.12 1 - UGZhySIbfZYlL1NTkvhEK 0wi 67.88 1 - UhIUbDmRt2CkXqx jEL 67.69 1 - UHJlvkLI7Bu8Ar6wnY9 JSA 68.67 1 - UhrJHgGdYfdnan89C JPc 11.34 1 - UIQISPb9lFt40jwszS1eCNMA aLC 38.44 1 - UIuTDjzpNPrh6nwqrG Hab 26.31 1 - uKFdauo3vYlBiM2CsUwTv UBM 44.53 1 - uKGv1g5Spj7JMfySDgm Fca 49.26 1 - Ukm94cZvYUAOjDj7 gqD 24.29 1 - uLAO8qSC1TM6HXnQqQdXep J0q 11.85 1 - UlEwPfof1obB6RpjtJ oRU 69.57 1 - umbDYpJJUBxZIFOghDdmK6qu HlR 25.13 1 - UoNwKuL8Pd8jxsMJh2AboNM i3G 52.72 1 - up0KitPCx9bACH1GSdk BM8 64.99 1 - UpWOpD31ZRm9hL6W lvX 64.43 1 - UQb4kGlQBaQuZjEgW4fdS S6N 50.61 1 - URAel0CqfSmFM3ZOpGxu 2uh 30.42 1 - USq6h35HyGJ8XrqWl4cb7 5qz 9.52 1 - uuB62majnBjKB9Lc4 uns 34.79 1 - uULdcnAIUFxDkF JI0 45.13 1 - uUp8nPNSheg2zdf4MsOsOShV dnd 92.51 1 - uvTCdgplgiN7Y1JysetLMFOd RRd 49.47 1 - uW0PG25fTkw9Rx7IMWAd e9H 37.66 1 - UXOFRISeI8Qf6rmd4PEP Fi2 50.24 1 - UY2TQLn18bcrKEs2 0ID 35.16 1 - uybUE5WkGAGis3iz8T7y uSw 98.98 1 - UYEAx0mOuNpQJGjZ rRR 99.73 1 - uYnJACueQS9AHYVaclwcC89s pPB 99.67 1 - v06hJC8wDms84e ZKo 35.55 1 - v1KMfS6cpybDLxhNptHl3g1 3c8 51.97 1 - v31Ksj4S3H5erUN VRU 54.72 1 - V6HurSZTOavkZ8pGs jLF 93.12 1 - v6WfOyQkIW49I8w6g vdS 63.82 1 - v7MX26rwq1wfTfU ynk 3.7 1 - va3JJjZBG5BkyBRl RVo 1.79 1 - va5tqd1huUVXAhstsQ MJ3 10.22 1 - vAVkAgxqXwDy5bwemAkeT 6F4 59.62 1 - VBbXpGZXGPu6RCbYACxMRLw nNm 83.92 1 - vbtwPamTB1bj8X HTp 14.61 1 - VC1G6LgLCKJLHjJ u5r 31.32 1 - VCeLkMbFThywPsi3u 4pD 22.76 1 - vDRO5wZLno5YpNuv ybr 77.91 1 - VFH6AH7wwjkCWZ OrT 35.34 1 - vGYHhVcP44YMXvl 1pP 28.51 1 - VHaBhBHq2MIiDnP PRW 26.72 1 - vhgoVjJUlBXDFdZCxzsaya5 byP 83.37 1 - ViIIoW5iw3jjYY 3cN 75.79 1 - ViUrMTJzbyMv5FEVZ4L2U 2Cu 53.13 1 - VJdxOa0cUOCdehC Cdi 76 1 - VjEGHq4Hfr4mpdH AYp 53.19 1 - vJKBFA2R0yKwcVYa6i6 KrM 30.69 1 - VjYMWDzBXY4EjDCe0X8LHTQ mbh 32.25 1 - VKIGIcNtliDEQTiT 60Y 46.27 1 - VKLBDIsd6zpZOu2 cHx 20.01 1 - VkwQveeFrNMvgeg0eLXhMw Av5 32.8 1 - vLIaSosKTKfP2x gq7 40.29 1 - vloWB3A3HY57KtTdbK rTo 19.64 1 - vltilX6riOX9kpMzBna7w2vr tqj 23.29 1 - VO0CHbaizesAMr5aVTFgwFR b0T 97.37 1 - vpchajIrSdh1S1 fA9 85.92 1 - vPlb1hBQU3px76vWSEm mHv 56.89 1 - vPQugjl2n6DAumhKfg 2nf 51.16 1 - VqwoQjSGqOHG5idIYuku4 WuE 97.07 1 - vROPqIOdNcQXlGu vw6 41.75 1 - VRzokuxwKlMt13 hHJ 90.36 1 - vSbUM9brN3tmHusQBk OQ7 60.58 1 - vsEtCGHKFooVluQFC qwa 42.88 1 - vtNClByfxwM1jcWmrZ i2K 89.11 1 - VUdyA2qWjBla2mcgbphX3b Acu 35.94 1 - VUncQYbai2j1TfQCCc7 f2V 25.05 1 - vV5NVSEt9iybQaQxI 82H 7.9 1 - VVM8O0ruc6ITW45Sl tLW 70.55 1 - VW5kltBFr8lPZ8JxIHIDTJS x2J 85.02 1 - Vwjufg3E9juTrQ FY9 32.49 1 - VWl8adVWg5LFq7 pK8 18.46 1 - vWqesjkTL758RF7KoOnRDKfr Zk5 39.25 1 - VwSTOQY3Nvwvwl7H K4B 62.65 1 - vWYJvMIPGkAHP60zlW nv3 85.84 1 - vxnh14t05Ho74Qm0dbs 2Ky 61.67 1 - vY72xMdYCe0iMsQi TVo 62.56 1 - VykD7LWaVxr5VyT 6Zl 82.57 1 - vyLJQ6WgvsD6XCqcpGW OLS 11.65 1 - VZaSPnxSH6mvOSuvJU 9gv 74.94 1 - w04nM63TBuTWx7OISI23zf 2M3 39.49 1 - w1WlXjmk4NIYWGxJbPJJK24 Rvs 69.54 1 - W2i1VIGm9riDFf kkO 80.31 1 - w4RHlt14C0ES7v qKq 27.72 1 - W6i2UCUaelSzr2lGL9Ts5 Rym 34.59 1 - w6WqmNGIeptTLbBpEUW0 2tZ 1.43 1 - W7PGy7dUw7CdNksU7Y6ITI6 k6F 27.58 1 - w95BTMeuzJYLF27VniD6BgB ZTQ 79.11 1 - WafiD0POjoXJJaHQ1VrXXNo4 EAV 28.19 1 - wAWdZR2piZxtJYmLeJu45X rIt 1.7 1 - WAWzxImFjBNhFgaq pgF 80.95 1 - wbC52JhiIbOCRaVYsEEhBsjC b0x 92.09 1 - WbyoPckqqS3vaaX988x lOT 22.94 1 - wCJO9G1gWMaw1NO Y02 14.36 1 - WcluqyDt8cxKZjfDWrSocMpm l32 84.96 1 - WDnV2Iw9s2U0hZB2yN9eeJLH MTS 87.02 1 - WdWGjEOPu4YJWtWfehMCW Jn1 14.49 1 - WEDI4uzoPrq4IeIkbjG8 l2b 75.18 1 - weIpCGsT1Vl0eWE zAr 40.43 1 - Wfp1En3Q4TWCgCEHwVp FcN 90.93 1 - wGFRDl88owz5S6qKsFfLN loj 66.7 1 - WGOgGNKUI9rJ8IOAjb6iQkc PUQ 7.53 1 - WHA8uuwDUng9XdNbl Sul 42.82 1 - wHG4PZVR76vx6uSI jfl 5.54 1 - WhlA1GNEHgmUvLJC2 Rs3 2.85 1 - wiAPnE21zfHA6Z88E20V0 Z9t 27.52 1 - wIaqUBG25Yzbu7ZxR c0J 16.07 1 - WidngrZLXel7yzSF73HV9 wYg 40.18 1 - WIH3SOeP0yXH5nEK0qXoLH Eok 86.04 1 - WkBN9x4LI7V7PnjMkEg 147 15.29 1 - WLfo94mpw1o8Kbf2a a6z 92.23 1 - WNDES0MdgiRR8jj AYQ 89.86 1 - wnLYCRGWqEd0CYuUQugaJJb qsR 83.91 1 - wnp6dLsieyRtDQlegF 4L7 34.7 1 - WNU6OrQQ3HKAyoQ8c7 OHM 95.79 1 - WO8wMOEq5E7AAbVrAaAS 5zj 73.13 1 - wp6OZ2Tz2P63ImEF Cv8 43.25 1 - wqSXAkIu6hm6wOB9MypS mvz 53.39 1 - wrYaCoZvq382kidwns Dr8 84.59 1 - WS4CBFMmzH7zafR6 Vht 35.13 1 - Wsd9WNkUS6en4KJOB7VUY bHF 34.7 1 - wsSCg4pxP4GnKIQQKR xiV 38.4 1 - wTqYkZ3tbjLUfofA OZf 80.25 1 - wu0eZF1g4Vy5j1F gb3 30.25 1 - wuhoaNNXiUcmQu8MfvkZpj HFS 20.94 1 - wuqKHVboW6oAsnd59xKtp sG5 8.59 1 - wUsOMxLu5uapAopQkE Uiy 3.38 1 - WW0y8QypoznWVc8 1Uj 63.23 1 - WXc918pVzGQoQskWnvnNI78 ocZ 57.05 1 - WY4aAXv8f9iPwqnMSn5bd1 WNG 74.13 1 - X0ci0dQ6Clz1dOBXO6hYN SH0 72.11 1 - x0lK3HF94lK99GWIKXw7avy Yq4 78.01 1 - X1g0Fa783sy2IM2Pc11VHqtr l9G 6.72 1 - X2A04y7BlJWKwj8af3ftIK Pj3 15.34 1 - X2HeRVwr3HwW5UgUoPq cNS 68.33 1 - X31i6o8dCAEbb7 UjP 44.5 1 - X38PxEKWnWnZjzWA hk2 45.21 1 - X3PcRo3W4Gcj3YxMV Jko 40.31 1 - X7JROHrCbnFu4nz9L jrT 88.53 1 - x7yR4WekD59VLb dHm 13.13 1 - xA3ZZPZGPZz4CpmIZb2pY4 iBd 93.5 1 - xAAbqdhFMj6rSoxEeXFxayWG 1Ea 90.9 1 - XaP4K9Cx3QFqI2 wLF 50.35 1 - xavgftQfXQ2FZL1PQtpo DRX 5.93 1 - Xb8Uqy3Vgr2jX2XtzBC WMr 70.1 1 - Xba6Npti5yIfU6qq6Uh4R huM 91.89 1 - XbKQMytue5lnPkVZSMUmby EWb 42.3 1 - xcjnBI7rtrPAT2nE uEX 41.79 1 - XcxPdaojEtO4iUldHI nEu 41.19 1 - XdBIsMbPUePSW3Mm6KcYIuR ryW 81.88 1 - xetPAvJWrG2DGibcgI IBH 29.69 1 - XfyfNBWIKmqgwRceqge8zeXa ODK 24.63 1 - xGC0PGdvKZB4eUcFBXmo ghE 52.33 1 - XGch0a918Bi8gsb DvS 89.26 1 - xGwqgX1dUF9upg31 JPk 90.06 1 - xgZtZKhbcoWThEw5wGB RbE 24.88 1 - xIx1Qj1OVMQcbT1 0DR 42.71 1 - xjMmd163QZIDupNo Yth 56.1 1 - xjuf1THNUvBJ626XGBc1 Sg8 92.39 1 - XKDErHPffv2LIbu e8Z 99.38 1 - XKem1DpBqcsaucbQq7f olm 30.02 1 - XktieuBbkiTVv0kTwrmRTz aSA 87.21 1 - XleZC1OP4pKtsqFfyWH09SWZ rAF 33.88 1 - XM3GerTLovpOmIsjXqcyu ksk 35.99 1 - xmRyNN5aCowYqCef 7NC 96.55 1 - xmtGtFPXUDZX9d2TMarr9Fs Vor 89.33 1 - XN2bCEAUhcw5rNIG8LR6 IXH 45.78 1 - XNpnuJkXkBLHYS6 AyW 60.53 1 - XOBZeRVF7tkf5gPfBFWGkqL lEI 32.94 1 - XoEdUNaVJbjkFdT37bsY aBz 20.88 1 - xpERJlyvsUZItE04J1Ifl zSF 61.67 1 - xQVPiCddOZqGJuFBB Loc 30.13 1 - XSCZ2etE3GPKilgp TWd 20.62 1 - xt2xS7RTO3djz9B1dsLt55cu hPf 41.6 1 - XtcVi02GCdnEZwIh bgp 92.34 1 - XvSxvehW2SpKSb Z5D 90.41 1 - XWFpRaXkRxxdL603p cRh 45.14 1 - xWLVk81UzxCLYHDTkL 2vd 90.35 1 - XwrW7vufh20Sl320nSSAklAt piA 39.67 1 - XZmUOY21cmp6Rh E2X 52.91 1 - Y0rUgo7FlunHOrgdwYEYC MzD 27.5 1 - y0ztVqQkc9RISpY uef 51.97 1 - y1nNGFSAwyHreeOjIj ltB 5.36 1 - Y6jvY7foR7Sl3bzeyJjhAD4 aXY 14 1 - Y7RL4OgHy4aRuV2stl PaK 65.67 1 - Y8TnSiabnr1jbri lp1 76.12 1 - YAIMMo7Lvqjkgp1 uO9 77.92 1 - YaXjagdzO77uUVAoN8Ozs bNm 38.07 1 - ybDJ3X8oUNt3U4bf OQq 4.21 1 - YbKWuFJL6pMMKh5lkwXhC OTO 19.11 1 - yBsTxoMOSuL2OQ6KMEPM6cLK TyT 6.22 1 - yCQo33cLmsgVVxx m6t 25.59 1 - yCwguRlWVZMAIfHgUmaVt cyz 67.13 1 - YddOe7TTfksgIwowK jMY 34.06 1 - YDe10m758fsuaTG1 oUM 78.1 1 - yDnENznEnLVzCGuoCOBHQG zWy 81.52 1 - ydqWU0Zcxp52Cvl fOF 43.42 1 - YE6D4n4J7ajBLQyp0eA 211 24.51 1 - YEKkcr4tQDDK9nobDwz 749 1.09 1 - Yf1ei6thDJWBkai2E09nl tR3 45.68 1 - YffrvumTPlZqR1kTRSm sdV 10.91 1 - yGIKSz03msfYEVQI2qKIsj kHY 50.91 1 - YIJCQvkB9WHJ4DiAfPmkF 7nR 35.26 1 - yJqU1OETNzihkL qtD 44.5 1 - Yk08TfZs5CcKjI9tGyl2RsYL qRQ 63.08 1 - yMnutEiPxpbXt1GnoFGd3G3 L8B 58.22 1 - YNnm5QEQ0nbjpu aBs 41.71 1 - YoAWyfqDO2zlfNM9fRDg 4L0 61.78 1 - YORinqwGkNuvvMcHy9XuE V4N 3.1 1 - YpgR0uHiJE80VbS hGy 84.21 1 - ypUZzU8lhQP1n3xYR1NIb Kyu 28.1 1 - YRYovyciDIWo2WKzr RgE 27.39 1 - YstdxK2JW8ZzU39hm BVP 3.83 1 - yTa6a8QRg8ErVXd1B8 AgK 36.93 1 - YTJkVAj41wIrXL9SD1S1K P3r 17.34 1 - yU0rQeGImscj8aaVrHmJ5 VWP 5.68 1 - yuYQXEuOB5Xl2HnsqMiWlZxB LJV 87.42 1 - YVMIpkAZkAuwhenXwqvzJ xdl 17.21 1 - yvpKM5VDTQ80aN7rZncvZM c0X 78.57 1 - ywbfIhFx8pBVpRXty vHh 29.87 1 - yX6T4dG06qhQZ6Otyjb 6Nc 14.11 1 - YXouwXXX8eEVI7 rOG 35.07 1 - yztTo8pZgplkub6M Na9 37.86 1 - Z0BRxLp0y6yUPtwD9U 5JQ 72.53 1 - Z0i4ZuioNIyn4VP6 EST 75.28 1 - z2axjEQyGHLyCNMi9aF2TMlA TRx 56.45 1 - z3CNwWMBczlLeLQTXrYhxhHF 6tB 38.29 1 - z3cSvDFe3sMKsHyfWCRZdXQ Cor 71.94 1 - Z48sH6I08VcP1oGRtzfq8CfJ 6P5 39.85 1 - z4Kt5fRtrD2I4Jun0idlD7s Od7 80.61 1 - z4LNvVvPttwYhL caS 81.03 1 - z6CpY3vGToEeFoGFvVoX5L RHm 91.19 1 - Z7HJoJWePs9DfL wMb 39.24 1 - Z9W0VIzTcJlyBt8n 2vi 22.7 1 - zBm65MU6sxXieUOllu WZN 86.21 1 - ZbNlY0mTCxv3NmWfmA8DaQ PBO 88.88 1 - zbNu1xxEjde6HW C5d 77.68 1 - ZBwv0nClcq6fF0sdiMcj fKO 42.58 1 - zd84PS7RDAWhYJ BaV 20.37 1 - zDhfnfp94ZBkpL qbe 16.66 1 - zDWUNTGRNSVHDtC34oEZ4E 3du 86.19 1 - ZF2AyMtnkYRKQHm7PZxlv BxP 91.31 1 - zf2p9ajWtGH29kZYoWdGrU j3s 9.26 1 - ZFJcROx8weBQE8ogoQM rC9 2.25 1 - ZFRvIQM6XjfVWh see 26.47 1 - Zfyuiw5jrlT84oEtr MHJ 18.46 1 - zg8ggpg3qkR0RmfHa kg6 9.34 1 - Zk8hs8cvh7FKmO l8b 68.11 1 - Zld8Q5yRf6eiE2UNtz9QK E7N 56.79 1 - ZLtdlrUys92fuSccJYPmx9 Bum 97.42 1 - ZMxJHnz4An7m4C3LDf3Af8AQ auG 20.17 1 - ZnpzeNsyeJXAFZRdDagu P5Y 81.42 1 - zNRXf8lbdh1mSGU9mV4L Qty 18.76 1 - zOGsAMgiUpRD1lCUb34ATM dnJ 7.53 1 - ZoX5p0L1uKfHlS5zcCBIj 5eO 49 1 - zpokwAZYw1YQkw2 VvO 55.16 1 - zq46tAk9DESTglVxmU 0kA 89.53 1 - zQd0y5Nz7NkI4bCxbxkM9 TSW 75.19 1 - ZqpxhD6b9RDKMD2EOx 2nd 3.87 1 - ZRd0N7ngdjsghO8qP 7UJ 24.98 1 - zrfVBd1A6T23x5PhAv pZt 61.89 1 - zROImS2r0gmZPHu2 C2U 70.08 1 - ZtBZmK0TesJqpbPgG SHo 71.26 1 - zTjEQkKztB9qh57r MpR 45.86 1 - zUG8qz5tVC5vTWgup uRL 96.19 1 - ZUxpDw11omdd7J78WVm Omh 62.06 1 - zXcDPC1sQRwiXKICxW MMN 25.92 1 - zXHVES5b2EC0vsIItf NeC 17.83 1 - zxMHyXniVBNuJHq1qBSv OYJ 50.15 1 - ZxVaMV55c2scJStgn8 M3o 87.5 1 - zY76m194yqaEKSZ027ZiaHfL CI8 61.72 1 - zyBFm2DG74zK26LL6Ga CNK 59.42 1 - ZybIvbbugXyNBR Zqf 40.42 1 - ZyBzM3RXghCJe8wPbxO6Dj 54N 32.44 1 - zynrGW9lxFY417 vGS 76.27 1 - zz3rluGqjB9PkRZdk8aLo 8KV 97.04 1 - ZzMdffMv8f54bHMk3EX RTO 94.7 1 +01uXuK6OZMODiUhZYqZ HpH 75.52 1 +07aYp3TpS3pCsDM BIc 75.23 1 +07jjDag1YcdxlZP154kSU Pyx 26.65 1 +0CE4MnYQ9nyebKYTXZ6la Zpk 58.31 1 +0DD7nJVZPX9K1QI1 Zaf 11.39 1 +0F55aN1ZZYELTEU1nGr HGj 73.52 1 +0FljyS8XJP6gHLwEgJmQY2c IxG 6.45 1 +0G1hQ1ExajUPzQ2yOmHz Q3s 37.32 1 +0I5ILKiFX2LLbAaISFr N8r 50.47 1 +0J136pDbmZCEMPUwEk dVO 13.33 1 +0PrMPMp4rmvXTMopEG2WKgpo sY0 93.29 1 +0RBB9b7MYaFSSY3DODqP7 cy5 4.27 1 +0SD3M25OEUzX5KXIzyV J1k 75.5 1 +0TmKzqDa4k4jLjEQgm8VD24 Bg2 58.62 1 +0XLLV6spwwlnM3WQ 1Fv 80.76 1 +0XuK2i7G2ygK5P vfz 68.18 1 +0ZXLkFqG9uJ2ZqDBVm4W Iyl 2.39 1 +0ZYulphBWFzzVhbopWB5sRcO sMU 72.51 1 +0cwtAiCvQwY1y2pLMTtUq e37 1.16 1 +0egbqpQyvZL63n 8Nz 6.44 1 +0embTdtNyiEuE1JYT4AI 5Gm 63.15 1 +0inz3j2V9HITtly FGP 87.03 1 +0j0eT9e3wJkll6xGB6PJ Qnn 50.06 1 +0jPzybyTKB4l5W jPH 58.44 1 +0nFShQXFGwt2VQd5 nWM 85.79 1 +0uunc2fQ8ungFUMGXSI2XiRr MoQ 45.54 1 +0vxugnQUNvBdJzgcDrz2e 1bW 1.12 1 +0wLfOnrI3lFydeP 1lZ 74.06 1 +0xrwC40rHAQIpx6jplVLR ImN 54.81 1 +0yutzesK1nDc0QJRAeof R3J 31.47 1 +0z7olVfNXWNXfhG8OEGWt 5sQ 17.04 1 +12UAZ0wdnLEVVQpsh0BT7 vFu 4.34 1 +15K6z7GHDqQh1Z8JUND7JS5 dgH 91.4 1 +18JkL67LfysPmMAyGy4AQUj ln3 36.98 1 +19QoIfAcs7MvHq4HWLczL ISR 9.93 1 +1FchvojM13bOJ5dKsMpvqCE 3P5 12.47 1 +1HO2hmGtPbnx5eqKByP 8w1 92.52 1 +1JQQvRXDuJQWlKiHbN 9t8 41.31 1 +1KmIXNGL5R9gMJKNYopWl3 wFb 3.92 1 +1MyjiSoO6LGEtOaJmppw W4a 43.85 1 +1QzoYSwvyyU6o2SuNll69Be YBi 58.23 1 +1R84QZh2NZ8GHnqOUwXR dFa 37.55 1 +1SrAieqkGPKYvaNZI03amiou 3IW 71.77 1 +1T07PxRuW822PlxyRONOm9 Ntm 38.18 1 +1UvmDizBLbYocU5Nx2kBh HWR 70.6 1 +1XIAa19ulNozTHw 34m 65.16 1 +1d01IShXdDLXxsq3 7rw 43.41 1 +1etc5ANYFJyJmKAqQ9ZLc NBI 47.76 1 +1gJrHpBOwxH7oDo1JSqPy eJl 56.75 1 +1gc8yvClZUNzUVOtXIUxO 8DO 17.67 1 +1nCV8NcKQjn0BUMqh mJQ 42.49 1 +1rwBIhPfllzfkqORzc mvD 84.3 1 +1udkwSOGXIcIO4odN4mpO JEf 78.63 1 +1wNlTDhBxDy9pg1t mXJ 62.51 1 +1x4h6cd4oFGerRvftfWiv Wb0 58.09 1 +1z7hqLI60armfJR HHp 12.66 1 +27yhzsXIpV506A2 qB2 44.83 1 +28aH3x9EAYPG1RvrHs Nob 89.76 1 +2CmGCNYlnla9x0hYE6nkz17T Ge0 54.05 1 +2DVIShlnyj6QdJE8tSC c9o 33.96 1 +2GLER9h3QY2bhbdA6CK36LyJ fm1 10.46 1 +2GXn7LpECQQDGi4v1wEr 2VP 2.19 1 +2HV4ClRg4DjvVW7gk1Md 9EN 15.52 1 +2HabGOdRtH4pxHO nyB 13.46 1 +2IusJjiygZinz0huhs1Wyx soe 72.83 1 +2KYf1Lv3DA4gh3w8b rZs 60.44 1 +2NljUxzNts1xtOMFaLCk8c4 1LW 30.03 1 +2RPE559VzWN0G1VAOCYmKO K4i 71.21 1 +2TnUNcFERiiCNqn3F3ccxa SAT 83.84 1 +2V1RlsmHYia0hT mkR 22.79 1 +2VSBF0bCzxNhDGL 3kW 75.25 1 +2VZmD79KsjictWK74GGwjeS 9db 45.13 1 +2Z8orBZAbJSnamlR HhZ 54.97 1 +2bVqfwvKbtvpvS9lvokZOaQP 8N4 6.81 1 +2dOuOvMzNa794mfXfab iqe 95.62 1 +2eKq9Za122IRHLkrnh5I42X f1Z 13.4 1 +2g52LR3zMP2i1mPaZ3g ynH 52.52 1 +2oP4TTilONMlepaeUTX2H 0JA 59.54 1 +2p60ZsDO9Gfy9PYU sys 61.17 1 +2qCbVcpHLzUPfAewtNVc0dD5 Ifc 72.59 1 +2qNHseYOehC5FV gf2 82.73 1 +2qkTLJ62rHd63evB69up Bvx 24.31 1 +2s0lR0P7tbwYI7evJ L55 33.96 1 +2vpHzFDpCgoPWSVzT40pPG5 vnp 18.12 1 +2wzqCCkL8gUkRWc1k NdN 77.59 1 +300oDwvuSmWpAWJ5hbHk NWY 73.41 1 +35mvTwvJJ7zZStHT dBh 6.5 1 +38sP5pVGfceozKc hrs 69.86 1 +39AvjAgtuA6Sy8BcunZOv K1X 58.17 1 +39hfOXhwUigq0UnB4 Bp1 90.02 1 +3ABzYWHvv9FjVi pzD 68.04 1 +3DcnWpHFzCuyMu IzB 7.98 1 +3Eq5jXIcCsxR3Rc c4X 57.87 1 +3K2NkH9n6YThEGawTN7ij5 6P9 39.97 1 +3KOpSYDpYfEtLhGRgYVix9V XY3 77.61 1 +3OJB5qJW1cgqO3JAE JRV 78.88 1 +3R7WuTbpvZUb5aH8onY qZP 47.75 1 +3ThKi5S6Cc5ifN 75P 15.07 1 +3U8AzCOwfjgS4RHumu8do VKf 10.93 1 +3Uk21kVmjqfgu1Upyo6UV dLY 86.1 1 +3V1uT4HmP7dGjefiFHL6g y2u 28.43 1 +3Vc8cb5rWRunDjMRVuO DDw 43.15 1 +3YUGkPko4spNRqs5vU7o5 yxp 61.46 1 +3cQ1MsSTnSmjnfzHZo6IWE 9xw 40.28 1 +3eqa267X8jU6om5GHMiTI V6j 90.4 1 +3gZgg2iLfUmYTBR G01 39.97 1 +3jmHp42gq0Xbck34hC pQ1 62.22 1 +3k02bgHbYFY1ZVA79clTWj3r wum 62.76 1 +3kQmYMpABeL9Fla KMq 61.47 1 +3myNTLT01RQpDKcrE aMS 75.33 1 +3nvXvTE6JQ5z80cak3oRX Y4V 93.68 1 +3qEXIlYHLfzDPuCns kgu 56.13 1 +3rl6Rp9M1cu3vIbKy3VZPAR AwT 87.74 1 +3rnVwM0CkS89krQWfywnndl C1C 77.26 1 +3tU6P6Uw1hkfWnK1yMedSNq sYS 90.49 1 +3tiCmI8H2Azy3QBzrXpm bu4 75.63 1 +48e7v4yeun7nkKCn CG8 30.81 1 +49NmzJTnSOdfcer uiD 91.65 1 +4AZnQvvsDCupgTHYlgHJMi5J Y9a 36.76 1 +4GswP9lVt14oUlP2upG2q 0Lv 45.11 1 +4Ha2KoPaQqAFuoPY fd0 38.81 1 +4Hxpz7iX50rxW886VhHXigw fRd 50.71 1 +4I376OEcNXQc7lam XUZ 80.47 1 +4ITYwi7mC1gSZvxweyBEOBan ZVH 84.87 1 +4JJMcZjZtUSGJ7oR4dE pQH 87.1 1 +4KTGz1GH2OLasUqOk ygs 84.61 1 +4Ll23jur0FD4nAjh 2Yz 39.4 1 +4MNJeZprl08AIGHAJO7HAm Egl 42.25 1 +4PXGohN3FzrI85 vd7 3.25 1 +4Qz9D4O5tAeVFmMB0GL2Y BOf 60.12 1 +4TlC0HDgZEAGsuZ8fq oVw 99.79 1 +4UwppJQdwghEoZJdakYDO 81C 46.43 1 +4WBmUyeTwKCBUMFa8Ku3Ini Omd 76.11 1 +4YoLClWCZdrTBAaxp XtP 72.44 1 +4ap5L86I9N4o6CCYvDsk SjT 43.66 1 +4boPmV9IzZ27nNV rhn 9.36 1 +4eztr0l7XpAJDtRlHq RcR 70.69 1 +4mgFAjtvriX1JNk7rnJ98rn1 PCX 60.89 1 +4xLfR2LtElmCG18gGG 6lK 87.54 1 +536wlJlRD6XdEI AST 24.59 1 +566cawOsOsW4jKu jTj 64.62 1 +57jRLEvhC70vpY9TT eKR 2.03 1 +5DDF4nWRzaRVoP61rt5 8OS 97.13 1 +5Fk6SvdQ5aZlqAs1z5gEv y27 99.59 1 +5IsIzgweXipH5z TZ9 50.19 1 +5JIxvfplUTutABiR6iqquxT3 UFj 94.42 1 +5K0SqxD8WVEvXII KRT 5.7 1 +5OCb7j0IfRYaPjHbex9wC 4Pi 37.76 1 +5OidY1SPIPIXarfL492190w EWD 24.19 1 +5Thm5C86Ujyk1xaYBiH1Z zol 53.87 1 +5W7Cc7utqPUduQH e9w 69.65 1 +5WXZVf8liaJScjU2Rvha sUx 9.26 1 +5XLzOBNP8xhci6ABduY5WJK6 eqW 35.63 1 +5ZHGysQtIiH9JimlltPWziA9 sUi 45.59 1 +5d5GxAD5Xz02SQM8qi 3mG 80.04 1 +5efu0qAiUFVuxxSwptHl Tcn 48.74 1 +5fxjgD4VobVCFVyvWKw3flox uvK 62.2 1 +5p2b2Ifwi1ZuIlmWWsP 9Cn 99.21 1 +5wu6VwjYzU2XBlGQ 47A 93.35 1 +5xZF9H7wXuwQah6ozG8 Aaf 52.68 1 +5y2usGdjbBekjHaNR5Ln vs5 30.79 1 +5zjAKxhqJBohOEytNInJhkA Mdj 43.14 1 +61mrIYj5GVFU69Hg9OatBF SFn 55.12 1 +67xpLHTxQwpOlYZQwRri Jhf 84.88 1 +6AaE9FzSJ4aDIP BQv 91.77 1 +6Cid5cHWE0Jhvbf3J 3er 27.68 1 +6D7RVkgWk2bnmhsrBn5SgAgR FrX 14.55 1 +6ESn3imNefey3XCV8HBp0sn bzE 22.18 1 +6EVCwF10JoQEpwa QS2 80.64 1 +6Fxn98E4iF3jfFC9fdcAaV9B j7b 5.04 1 +6H3pGnNeCVsHlaqvePHdnB cDb 61.2 1 +6Iw1USG8emyFZmjUc GBv 47.98 1 +6O42vF13NWukYGum9eNzcv 7qv 39.27 1 +6PX4rFXrE9DHKZNQoRrzz YEG 36.12 1 +6PgMxngZPNRnj23GWJUef8 YvN 78.56 1 +6WFuGuN5nT5MSeSPVptx yUh 63.22 1 +6bHlYLAG8QHj4XvCDXLrIwXc 2uA 15.09 1 +6cZx72GFdt25mVc7AjLWjfT bdl 59.29 1 +6dQCixVfPK0ZQ7HU 1SI 50.63 1 +6e5PB50Um2nsON3Cx 4ID 65.56 1 +6ex3KLAokE11KoXstCy avV 72.98 1 +6gSSrGFDR4aB98DjB 7f9 60.05 1 +6hejCEJaJ1FLkHacbfdN0BZ seZ 37.17 1 +6pLDbjXLY57HlD kjD 39.26 1 +6q3dxALZj0gBIt CFw 14.25 1 +6qjUjtqITDLjOJGJL6vO 6d3 62.29 1 +6v2mHTEGGqR8sqAP1qUWlz Zn8 87.87 1 +6y1RUqB9hAq13DWU 4E1 65.47 1 +7038A20mvPMdL0Tdg6YBo gQX 94.13 1 +714mrZnEovj5X9 xoc 91.37 1 +74FpqbrVGbroXFzevznO7 nxw 68.81 1 +77UlRl9uiYm7oe1gDqAleq Qrf 7.5 1 +7C8Ct1uo16Ytg4g082q3 o74 50.67 1 +7DYyIBiqXj0jWYr DnK 29.41 1 +7GGctlwyuIIOtF6rknjJipd KDT 98.4 1 +7GUxd5Db5DvYnY 1yo 33.1 1 +7HOIKWGSTIo6oSZDsUJ1cbO VgP 79.33 1 +7Ianh5mGmeAOTw14r ori 45 1 +7M6gx4o1mE14IrN0GOAitrdj KT7 64.27 1 +7NP93V2hko9HdotpNFj wjN 19.59 1 +7PxurGSq8yDvt7c wor 68.24 1 +7VZxzGYTsR3UYuAax ZAI 68.95 1 +7Vi8cLVDUeypkptmG9en gLV 80.17 1 +7Z1DN0ASYM3S40VXQ8dHSjJh Bwd 7.22 1 +7a15QhItetfTZMw lrE 12.29 1 +7aArq6vlvvcjKzx0D wU8 17.21 1 +7cKdnL3mg1NFEIwNZ3cm Dix 15.77 1 +7dpSRUiiDs11nFzF gn7 60.76 1 +7fbmxdUnxIol0avVYxR Mn5 84.85 1 +7i3AtnvkRInMqRLgS6c1lUn lcf 76.58 1 +7iGc7POUuDtG3DXogP3Dx Csh 32.61 1 +7q1VcxgtxOax0uihVP4 eE6 33.83 1 +7ry0140hywcAKaoZg Ern 40.62 1 +7tUuzFlUUdxJLk oD3 88.57 1 +7tYij9P4iJTc8bQbMNmAZt F0J 8.94 1 +7wjWYq8oGBxwYI fJm 67.6 1 +7xAnW0EwRHp4GR DdL 43.16 1 +7y9qcDzViNZNLuG6f23BYi CN4 3.22 1 +7z0MWQSy1GZhRNlgBho iwP 8.17 1 +83bOSm7TfAD9OAv7Fw CdU 27.48 1 +87uzzaHkdMSx6js1m0fY Odb 89.63 1 +87zWFcjqF35LYcVt7A8 2LO 30.38 1 +89NEZhJ3UnjPcrATwB1tZl PaX 34.34 1 +89PLWOTGJBZ8dm xda 23.5 1 +8GA7wxUD6GFT48LLT axn 35.7 1 +8Jwx1gKigArR3EEgZJ9XmHFX Bp0 27.2 1 +8N6cAtUlBbvAW0Iz1LgkuN zmS 29.56 1 +8OkwaYFfoISRWXkcQSq gIS 85.76 1 +8OvqF2FrBbTL7mNeF2 ALH 18.93 1 +8Sx0gcbAFZ48vnXANPoQ7 OcF 74.8 1 +8T3lJaTvZHY2vA A1W 2.48 1 +8WGccvW3OYjz96jE deE 88.34 1 +8WPZL576afA7S4nfw51qs3MF zyL 26.86 1 +8Wo8hsuoth4MVjq6JT1bopKV eAJ 92.28 1 +8ZlJH5WwFTs9ZZIIjwVI qIa 32.59 1 +8c6XsicYBPr7fpd9r6pf2pe XSO 86.43 1 +8eb2Pv2tbwp5ZBEXgDL9m wxc 23.91 1 +8gl6ruVJi4Sqsqtkg6SE dZ6 11.11 1 +8gxCwhG3ZI5uS4CUP6uKA vVi 63.09 1 +8kp3b7GuUtUKIXBSBoc1PVV 6ne 77.25 1 +8lwJQ2YhxZOJUP5HSh2TU KDn 9.42 1 +8oIENyH69O9ija hkk 44.74 1 +8wJRn5bkPT3GO08dYNI5C MdR 25.14 1 +90QBpHSk4UAB49uUn McN 66.62 1 +914oNpnwBAXXOFocdb0 f4p 67.25 1 +946rW7iiQldO7gjU 6du 46.97 1 +95xkmPy8aan6FGGfFhcsYj1B PDH 4.31 1 +96pqRpUoKRYSwO QY9 48.9 1 +9765InZBeEvVYk Qbt 57.7 1 +9B7GBbwhGmR4d5qudx CHi 92.64 1 +9G614pk4d5F4asNDl YCU 3.34 1 +9HQKEdIKzGUQsJSCsaHWwh Jyw 70.6 1 +9IrUrS20qjpQeoQL Ago 18.29 1 +9JjqU3EskbDHNt AVT 68.79 1 +9KZXjE0hHBjjWgNsz4l32 Wgt 64.24 1 +9MV8yNk6CYTlmgbdQrsmLb WcO 53.92 1 +9Mlr4wWav0CuaUHxX0dT8S5 zb8 27.14 1 +9MyEcJV9oYGtqpoeizPOfD5 YNx 54.35 1 +9X1eY230dGLgvtoSxZIzzw xIV 12.08 1 +9awoVwqe8FEcgJQfFJ FkY 71.27 1 +9bNV4WMYAum1TwqYCT9XuZ p8q 27.21 1 +9cPYYTiXEyUgKUsu6uAYNBB mdX 57.77 1 +9e0hEfx0B96dXvrJabce 9Pl 40.88 1 +9gGgeP1EpEVELrmWrkYJlPz VIh 86.51 1 +9lfMdCdBGwqbEtnU jwq 81.56 1 +9mEPJpH5dGBkggzfOtzdyO Qwk 67.11 1 +9ma1cYNnsSjd010d8n nwS 67.13 1 +9om9GszdJdFiVt5 wSB 82.33 1 +9q6R7WHCEtrSGpDqESIYHHo VZu 42.96 1 +9uPt07zv4k0muOmiJd 28u 85.52 1 +9wVIpEIFau7wWvhG1EyyC b6Y 69.74 1 +A17AHiDCgIwKL1xMg X8B 71.39 1 +A1wk9yteGWCZQBr3C S7t 22.65 1 +A3dJP7RwfLbLDc9C6E zFT 11.66 1 +A8ZECWjx3AM21K6hc 806 75.36 1 +A8sSOqsEgmavpqduc8Xalg 5Os 73.48 1 +AAaEXNeuplOBwpu56e 1fr 48.32 1 +ABrVvjo7Ez5J0B93Lrm B02 57.63 1 +ANJGTo3gd9sSWXuB8 b51 64.75 1 +AQou1VPfElDotJ1iO0fMBe Faw 94.58 1 +ASXqv2YwLuIrLDi JZY 13.66 1 +AbRxrcWgjKMt9bog gmz 20.96 1 +AcouBSuAPwcncQmAs62YJ40I Pe7 94.18 1 +Ao65nk6BN9RdSjIvq7K vaw 43.62 1 +AoHcBTANC2iHwI8Q2JQe wRI 74.05 1 +Ap9fxOb4BgatnhrOYd Jhn 85.44 1 +AprMxezhKQkiI90 76f 95.36 1 +Aqd3WDzYIKtvZ0 fRv 78.31 1 +AsmUT5Ddf8pOhhShTD yse 48.1 1 +Au2WFtP6KvuHiJJqXMHL BdJ 55.44 1 +AuIpQu5q7Y2xx0 ADu 93.97 1 +AvoRviqVfUwbndMiqp0nrXDV Pq5 40.26 1 +AxkjceMzM0Ap1FW Oga 84.37 1 +Az6rlX7ZwlOkEPaZM La9 48.48 1 +AzB4zjIpYKNQJ0ipKH5Rb2 avb 40.18 1 +AztNBsoJYVC2n3r88zLmm5m hmw 43.48 1 +B5dTiQWK4iABJuDQ gYD 95.69 1 +B5jsXCoZFMg11Z7Q3lfT4 Ne0 80.94 1 +B5s1E8kVO5zlpNEg5Ola 3Y9 35.44 1 +B6ms9OTDMi3eRAl9f HOF 55.19 1 +BA578yFXXEEvny83VQk J20 40.41 1 +BBtHQGFadWW7TY 4sv 97.53 1 +BCnDSGmdP1bUZcv1Yst4 jMM 80.25 1 +BEMkU6IJOUUmRL11VA JKE 39.62 1 +BFrj8zsR50LywQJX6YRGuI0g ajl 31.7 1 +BG1QTcketZjbqnon 1O5 54.5 1 +BGJs6d3Aw8Kzoy Y2r 76.38 1 +BJLAO7KAYYdCgayAR Gba 7.82 1 +BLxHyPe5wEuBL8e 2Tv 71.12 1 +BTeqjDrbpfedOB97sKvo 2Tf 50.11 1 +BUVXXhD5ZzCR1WSeYwFWC lXj 20.79 1 +BXpSIKok1i8bc0PBnj qfy 84.98 1 +BdzUqfkACxCh3X7ZmXhpB vTD 52.71 1 +BjMgnMf4ju3cNJCeJorx D3i 40.96 1 +BnWHlIWyi7z5icgInv5y M7h 5.3 1 +Bo8Ofln8Jl7ZTjIv 6z9 98.75 1 +BracujQqozBU4B02w7Q V1t 43.38 1 +BuqCgwuEKSLEXJbl7DYRYb1 CGM 69.47 1 +Bz47cqfPkoXb18trv X4z 68.65 1 +C5VbStJKARPNGGF bGg 25.29 1 +CBjTJV2FR9ssRFWFxg uWy 46.35 1 +CC9v9P1cgR8CMRIa kag 38.05 1 +CCV6dlwGGoHIdKf bdV 9.23 1 +CCdirLrXki1nXilEYs0 Q7W 21.2 1 +CL6yDYFT0iZqye Rli 19.63 1 +CP5vTwPc32OeGLsl Yx7 37.9 1 +CR444XAMHXYXTTwLfQR fMZ 98.68 1 +CRAc9VAflcz2tFFIZ jke 96.43 1 +CUUpEQEwbFdyJLPEIjE PVw 69.44 1 +CYJgePy5xZp2aclCtxsNKwr bRN 61.92 1 +CZuzywAYPka3z1vwBznlBEU zJq 52.65 1 +CflHQWTmYsYAQsaX6by ETQ 94.66 1 +ChpXXVI7HTKrQyzhWVYo 54z 74.59 1 +ClfAiKgpzjXO3alYdzfk UQK 24.89 1 +CncETr7GBhksF5BnNb8Z tal 45.04 1 +CtmKhoBRnKWRQoJh Ht9 19.52 1 +Cw8yMBd6tgk8WlZc 5GY 28.8 1 +CzOQqWCoj6S5vfPc8dT VQb 85.14 1 +CzxoxkRQwJ0TcU3 eIZ 24.74 1 +D0b2m9ci32rRDbsYAx2OVatq QMi 38.02 1 +D4E3tGkTmMFFURPzZWpDT bbd 43.95 1 +D4Eg193yy1u2ab2lbcCoZ8c jUd 77.03 1 +D73MrWHMB6sVfCMsIDZ YTR 69.58 1 +D86Hpl2U2PU0aRjbB2zy 896 2.71 1 +DAbqyatqL6RNfOU sIo 94.58 1 +DBEY5elKomZVss08MmwTJtQ lGG 29.58 1 +DCiyeiMTAKkeKdLWxk gHA 75.53 1 +DEp8fSabNYG6dUnBz9j ddO 11.36 1 +DFdHiGsuSimk9tRbD7 Ln0 9.1 1 +DGbeDwQDRUGKdSCrERPep dwn 55.19 1 +DGe1fA0tG4x0Y1F Z5E 88.76 1 +DGgSsFrTFpoi5C9DByr0WR XYo 99.99 1 +DITSpIICX8xjnobtqfX9 MQq 15.74 1 +DL5sVnriKozl0Xd pWw 13.3 1 +DMHthiCcfdutxyaQfJt ANZ 49.55 1 +DN88TyvqAlo0gNJ FtN 66.65 1 +DNB0kXgywLwfC3tUTgQ0l0 dsx 32.34 1 +DNQ5jyUkyI7Vpx74fSzyk6F 0Y1 82.3 1 +DPJwFp2rqttDmYfn 3FC 2.1 1 +DSxzmVDcRH9gsXRjO VSh 6.24 1 +DZLflGTUx5rk2GFNQz 5zO 1.56 1 +DdbzS1Pc0I7Sx2I0bwiB6o hhR 63.43 1 +Dffzyrp2r3cmvEkyT7kH g25 92.56 1 +DiEiunaSiCY6NupQphS VnU 5.59 1 +DjAAAbpSCSkZkt1962A4 bKJ 48.24 1 +DjLfQWnpDD9lS9 y34 20.76 1 +DpYMKuCfq2CWeLvMC4sZ bCf 21.49 1 +DtCEabdrzm1tJabBp soz 14.77 1 +E4XCGvwjfaTDHjyiLvflhHOw s8g 78.11 1 +E6dSpkzC7rgMw83pQl1 P39 26.57 1 +EIqeCV1LyTse8DM wcq 88 1 +EQhjeKCZKj9FbTLAZv1B96 G1z 22.08 1 +ESwJbwgKXkb2te 0l7 89.19 1 +EVvjOMXtGC0jwdFNybFQNx csl 1.91 1 +EW6wexpJd1gmIce sjk 31.22 1 +EiTDCyafUZfWDFXQMRW0bED 8DY 44.1 1 +EnNdeREPTldPRIt LEu 21.64 1 +Eoi9GiXCspUj8LDZ0Bg 1Gf 70.5 1 +ErAb56xD8pf555qNassG XhY 29.92 1 +Ew7o4OjmhL2dtIAw1yutOk8D g3h 48.81 1 +EwhuPEN7OiwWF4q ete 66.44 1 +Ex7bDUL8AqWUXTjIzYGA cWw 7.97 1 +EyMegzSdt28ykbxFeufsbVL gOw 91.06 1 +Ezhqbc7At8Jn8q1RmZnJm A8Z 33.75 1 +F6iHs5PMGRhH6v rHY 26.4 1 +F7cGzjaNlHu1zwpVtB OpE 42.18 1 +F8sItBZdDWaV7jeghje t0T 68.12 1 +FAWfHOhIan2Kg9fmzXrbklDF kLt 94.09 1 +FBkn79ijeNnQlJ FRT 70.11 1 +FIAJUM8nnrHNa2va rRU 68.45 1 +FM9kzHbLGAqX4BD Kos 81.88 1 +FOInEELTDAC0HdOXrR ull 90.82 1 +FOPiT4q7ipPm7q aot 68.26 1 +FPZexJxJ29Sk5TOWLb lnI 16.7 1 +FR52rnusSALHmeMhRguAeb 87L 37.18 1 +FlMrnPDhi3yIcQyPCH3gTPQ RTk 30.76 1 +FmbNGWMfiYt5m2j7 Tjz 70.77 1 +FnRIWPBtJtx2CVGH2cC ETL 38.62 1 +FocqCYqnoXH10QFlFlyAM Xnq 19.52 1 +Fohz04gcGrCdqEzu4bB 5pw 41.61 1 +FtkTSk0SxuuEQpiuMzU7 06w 21.92 1 +Fv8Cf0UWjc9m9t bDu 86.87 1 +FyiDfYOp0Wo1dJ9 QDT 75.49 1 +G1IOV9K2NNS3xo9pGhUwyGy 56J 53.15 1 +G6cNZtVI7yBJ6k2MceMxl v3d 73.98 1 +G6mlrxMRhCcG2r8 8OI 63.52 1 +GCrpuIkldMx9zavdwBqX QIL 86.79 1 +GEOh0768Ww2ngRsFgB26zxZf l7B 11.98 1 +GG9JFc5ppg31GCk5pThel5qT PPl 78.39 1 +GH3DziNv1WyKzfZyay Ho0 9.96 1 +GIGa8AU8vcUeFYHD2w4Am1 c6n 10.31 1 +GM5o8awaZXgwZyUjkhk SBq 54.65 1 +GNZ1hGReENDmqr yH9 85.63 1 +GRiJH8TNFBW4CMeswtLMiFXe OAf 93.35 1 +GS100o0r4lRObBILN 2KW 36.24 1 +GZiE22zWjXdVKuPGh 5kL 14.06 1 +GZvjdWZKmC56ZcCsUT25cT QuX 4.69 1 +Ghu9qsGonYemNWb ZsK 6.11 1 +GicoS1qyqPsWMeth RbY 48.21 1 +GpK5sURU3bDLrEjU G0w 4.61 1 +Gr23IV925fKi7kGMEcHa0KbL nsc 54.87 1 +Gv73AOi3n6w811eomSRj wRX 65.81 1 +GvkTMzGc4svwCmYaMIeJFDE iLQ 59.62 1 +GxTE4TZEdPiuB6N9mOCQB dmo 25.21 1 +GyVEetmIcJ6fP2kHGEq 3YM 41.56 1 +H9CkWXT1pJzsSFec tuF 10.04 1 +HBEKMzlxUSdweOlMTQ6BXVx 6sJ 77.76 1 +HKRnrsgsgCcnpX51Okx9b4Lr sor 67.91 1 +HLJJl5jSsxF3o32 uqp 95.36 1 +HTp5tNSF2fGwUDB3W4MmOQ 5ou 8.65 1 +HXzvDkiu7s7lpZ s8D 25.65 1 +Ha1F2qejGQlTDtgyHxMA3 f2L 95.87 1 +HcwWn3UDpvEj4RUnInVLK MFl 10.47 1 +Hi8VoPf1qW0j6mvsMmCgHWAg AP4 15.23 1 +HnU56EFm3cfhV633K bYU 65.4 1 +Hntwm3wq5XLM7zA UYk 19.64 1 +HpLOzAkdn8FOHzT amS 22.04 1 +HvGYq9LUleLAYUcpASlD xtu 58.19 1 +HvyuBEjAdjIuZHWqro tCT 32.16 1 +Hx4VG3aN7HF1gIA89cCXoiMm vUH 78.66 1 +I2BEHEOhPMz2haCpROzCfpy g0K 48.43 1 +I3Zkc7TaoqGFLynMr X0A 76.1 1 +I6PVW0ObtbHri67iGmMh DYP 46.71 1 +I9ZZKPkBhpNQFYDGiuVdR 8yt 98.81 1 +IC27ylaaiqgLtoufN5v pxn 81.34 1 +IHBjAevGAWi9NH Byn 71.42 1 +II98dtbPbqzVQFbJj rjD 59.96 1 +II9jdUUIdqWJzulv8jVrGC 69A 28.72 1 +IIBUGz2aTlI1llMg01c9 mYX 49.68 1 +IIoOYMUof9FtQM52nruWrxC if8 45.5 1 +IIthPPGZodKEqF4V1RB h73 75.97 1 +IKPIUJW9FaErxlMB3pL2m 9at 57.77 1 +INepTWy7A97d36DYf VBE 50.37 1 +INsC1jNtsamIwGhiCUQ XnI 49.76 1 +IP4IQvwynyjOcs3LytyLj1rg u67 63.21 1 +IQasbB93zcZUfc9E208zyn t5j 58.78 1 +IRQlEhhRvhsUUiG3t0O 8Eh 40.17 1 +IULk8S7Xao940y45iW od5 59.43 1 +IYgLFtQBVB4NrgbbZs7 LyH 30.03 1 +IbTttXxw8rgwERXGX ybP 9.52 1 +IlpAStDgUghswvc64 fOi 76.95 1 +ImtKvvCBpCcU5lP wyD 67.06 1 +IooWqqNfBWfVFfo QXK 63.98 1 +Iq0jbJo6iysS1WaKpQJ5CTjT mov 82.41 1 +IsJ44FV3wlOxPLFy 5MX 79.13 1 +IwEzkofJ3AEyzEynqGYM2KeW JaA 92.6 1 +IwvAdQtUeP5uGc 6qJ 69.86 1 +IzMGHgPDjp0CZ5eKrBub SCn 12.87 1 +IzbpCXtzU8qKLX2Qnz2jhuf 2MA 50.09 1 +J0hyYk9P3uJ83N4U bC9 25.38 1 +J51yrkq2EbzrDWKF5F2 Oaq 57.72 1 +J8raIctBuVtr32tBfUW 529 40.68 1 +JBVsyj1w07B2GH hVQ 76.01 1 +JFU4cSQZHoOfLq1vUWxEq ING 72.63 1 +JFYBegwYX1am8w43jzKO W5w 85.85 1 +JKb2RyFGjidyp9teM rfB 32.21 1 +JLSwl5qvOtFe8Tg gu6 70.5 1 +JMIryGgu5gPdQy 6aH 44.89 1 +JOpTjDGvcqn6ce0pQtToPO wyx 28.92 1 +JPFED6ibtPrfXM J2z 7.92 1 +JPOuL9XM8O3QTKXVeux96s ODZ 8.57 1 +JPxjefMXcHxMhHGlnKhP0j5 hCr 83.75 1 +JPyhk3kyBhZGUskKjgteW4gy Hql 6.11 1 +JQNBF5MoBQIdn7vKZO K9J 97.21 1 +JR29ivcK2xxlq8C 2Qo 82.19 1 +JTQM1kgzYQjbEswu4zrcDcH Y0A 74.93 1 +JUhj7Ch8XSEYCvHoDzZ Fqi 38.46 1 +JV1BoOxS2JenbE 6vc 4.67 1 +JVz0f7DZ12nY7SSRApSa pIr 57.36 1 +JWTxmZmnbdkdKMXpUh 8p7 93.54 1 +JaaAXHlv6215ojmszfUpCtn 22o 94.7 1 +Jj2zRl4A17PMyvO bSb 73.86 1 +JpGTI43TmzE0mMxy JMN 42.56 1 +JpiKYYF7LnAgirAbRwzcI CiX 9.11 1 +JyTJKiM6KSUJrK LWd 87.51 1 +K2AVgWNhEBFtUfMO wRD 77.4 1 +K3y8UXXqppTVCIEQ5As8CU OmF 14.35 1 +K45XeAB33PBmNvrR FBg 23.06 1 +K4iCGbrNbyQDJKjjcf3tXf zEc 4.35 1 +K631vkfNc2MCl5v PiE 60.47 1 +K76WylyZECiima4OFMZhfMYy hIr 57.48 1 +K7vwNusHXXKNci4wI6irz hkZ 33.11 1 +KD5OlyNyl9nsO5h2zzk2eQX Ama 71.43 1 +KDUNHnfBPw0yGG 0ul 31.03 1 +KFed3wlee7feEpdU dQu 41.86 1 +KHSWUvfX1zoEhPKsZ yoZ 32.12 1 +KIgwUY0g111nbhN MEM 32.55 1 +KLmQ3VOEm9aDwthuuAy 7Ke 57.67 1 +KOh5KiTnOUhFm9P4PO1 z9X 4.51 1 +KOr9ndPJ7CMWutBPpoi5y VRn 60.95 1 +KTkMaURJWWTFoxQHxo NFZ 71.11 1 +KTxSQAFHRgcgmUXNS SXY 19.81 1 +KXOK4BPnEVLuFb4ictLM6 YQt 30.3 1 +Kp4N4BFiCdROBY D5i 28.25 1 +KpMlCvjAIUPHZlrDYUiVmq eIo 75.48 1 +KqM4cCFOzeUnismzvfil por 32.64 1 +KtEU2TH6ux1G6gqDIDI t9Z 91.35 1 +KuhmGF6tKQP7Fr u7O 81.54 1 +KvZ0CwcvxG21Sc CCx 37.07 1 +L1AX0HxaeQwNJpaB op9 41.5 1 +L1FJOUA1VzjbgJ icC 13.78 1 +L1c3MnszY5u1jMGPXLRHxHKq yX1 46.66 1 +L2hwVRboEbZ2hPb59vDasXF PCK 92.22 1 +L744BFfiGgsmDmc9tyLVgX HB7 1.54 1 +L7LAPsZxdrjNdpv bw6 23.21 1 +LAtzLcslJibFrX7PGdt Wyq 87.19 1 +LAu4X2aPmXJdUF 33C 45.67 1 +LD1d9zdYvNiWvXI2J f31 86.98 1 +LFzgAjXqOnjPECBcnkQ2WMY DDA 83.19 1 +LGiFx7TXtSQ8qMPxhR sOx 79.5 1 +LKKyv5Iyyoi7rz2x t9b 5.71 1 +LKhqXVu2J2FQIVWq1La CnY 86.27 1 +LMWoF7u9t7JbHbpCG haI 6.6 1 +LP2IilM1Bhb6G0bzkQJ sb1 35.81 1 +LT99XhaEyiECpTlgnjiF lDB 24.48 1 +LV0L9ie1oECNbu44K sYN 56.05 1 +LVg0iiaxgCaEEVqaDmwoZ V5v 29.13 1 +LW2MUWf4IsecVn4cc uNM 29.86 1 +LcZRYcEeaHZrtZ6dsCZSd lRs 46.88 1 +Lg3tN2xbGorr6lY IdU 79.53 1 +LmImUmfxTOZ6v7Xjlh eaH 6.11 1 +Lo29dO7aXKBXyIS8GZSY fpP 14.33 1 +LsMfNe0WiYUttGIiGdAFSn pla 16.94 1 +Lsdjj30h9qW8xr0h2 eb5 68.2 1 +LxR1rq2XAbl2LaUfP4chCpoX si4 43.44 1 +LxblBQ3wDGor7u sHx 42.26 1 +M3yRj2sHuDvtproRlaVip3dM nqM 26.02 1 +MA9cCxBUNSNS7vLD3 AYW 93.05 1 +MCKikjTvGD6rEIIKuLONqq GV0 76.6 1 +MGqAVnbVEsDaVeHy2kdiB9 O4j 65.72 1 +MKPdSLF3cFvP92N CwW 86.39 1 +MTkOZ0RKmTKD53v 8nv 92.39 1 +MVkL1oR9l5LRSSp1cHV9Hq zRW 81.43 1 +MeE4R905c3IEc5 UrK 47.12 1 +MgJfIWjYMJq0VAnVvQ O2j 52.86 1 +MiRF9Bkua7JohTmax8kzHKG XRn 29.19 1 +MpeUE0Nuims5wo KbM 41.58 1 +Mu47DfHKYL6EtWFGPjz POq 42.36 1 +Mvw5mfPdCuJoj3GImkgN0O bGD 30.91 1 +MxBWAB3VSB51xn5mi3HRn7 bFd 66.65 1 +My7wIbRAEvJNOpXkOFmKf euI 9.29 1 +N0qYmHZtAsvfo1q Agy 19.78 1 +N3NgiuL0AoTHVNcv myL 91.48 1 +N4clAb9geQtpCyqoL XCu 54.62 1 +N8T4KDQP3S92DG5ylQ stO 97.54 1 +N8WFFwgUwbpZLj1koJIrx56Y 3Yo 80.99 1 +N8khIinkvcNCNzKrO9SFGFW 1JB 66.81 1 +N8mGSPek7hefjU8NFOGBEje fdq 92.38 1 +ND6Qj0uJo7PNghLG AIg 80.56 1 +NLChPAeLao3euOX 9mn 23.51 1 +NOxDr6tBFvn6AzXOq8TBCz 47u 18.63 1 +NQ1bCYV8lzlBuI3kxijPdZl jAO 14.81 1 +NW1fTAdEz1BlUxLah2 WOV 86.7 1 +NYf4OsHVg3Y9oQaKEfi bzM 27.09 1 +NZsqwirp5YhptCqfuu yTJ 72.07 1 +NdVlS2f1LYTVisDUJL 27Z 94.54 1 +NezkXiKM7UGbahAr Yps 46.09 1 +NgroNYddwE8yLuWvvnCAbHe yYA 62.72 1 +NhNfGaKlT91S7wev6lwvW ezU 81.62 1 +NjPiPAfJzD6iQMN Ve2 5.17 1 +NksJ8Ql4h0Ey9LKy1vG6xt zUf 54.68 1 +NkydGDsNDYVNwoiOt8Yeky UEG 15.78 1 +Nl979aeBArbokbg6KalMkm b0Q 24.54 1 +NlqtcD6OXKKiTydgD5Ifc fuq 95.02 1 +NpKvHp3fE1kKFUk A3B 33.45 1 +Nr2ATnsW0soVDcryfTx 9fb 57.08 1 +NsKTnVQ542CLpJfORRu hzk 19.84 1 +NuPEY4TO3xEhJtyRAJM89 T7z 25.88 1 +NvdU0t4nciQvavt8haKWV y1K 55.61 1 +NwJuCQLeCrcbbc3 3YY 88.22 1 +O0cGuNyxio4wwvIW8v XtI 34.3 1 +O5sn8AMNXAxcF3KpyMJXZb HAA 22.58 1 +O6azxvTxZ8GZ0TIB3Qb8S5WC AYX 71.02 1 +O8ZabEStBdi9CsfsVAsZOTvn EuH 24.99 1 +OBEZPeqo6M0hWyfTt7MB3i3r niv 72.21 1 +OCazep9pWuL9Yzsk54dJin R2I 89.17 1 +OEDrGN6OTv6vhQHp1Tkc4myA 50Z 85.93 1 +OHsMTuqtHz6We4qEH 5ND 23.12 1 +OJ0bjqXzjQX8u4l1KB7h1pU Mkb 13.41 1 +OUFrIkHduLknIyp kRS 21.94 1 +OW1MtAVyNmiwmIeM8Ru PXl 48.61 1 +OaP8iZXC1pp1aFJm5s Fgy 29.02 1 +ObvRXd5zbUB6wcIYL4 gpT 58.35 1 +Of5BpUWy82CL4oeF4V 9wT 54.55 1 +OfufPCtBRzzdmmqYFUA3I0 G8y 18.01 1 +OiCrNbNSFu3BIcKr3HXuBZ 1SB 17.54 1 +OiKsF1LwiVA6Nl3eMr x7C 67.43 1 +OkdHqmZSxXiqxCzmBbO SG1 67.64 1 +Ol0NYDdm3hqxDUN8gt04 cyI 27.14 1 +OlqD4h1xsEkkcZbbu vI7 57.32 1 +OndJRMmuEHmumgwSQ Wvv 81.96 1 +OoKtbEWbxXW6ao vPa 77.21 1 +OottD147HMIqmg Wfm 61.72 1 +OqwlZpg0tmTThxZUFz2DmgN dIN 22.97 1 +OsST9j61DJ3vNlX3U JlS 70.54 1 +Ow13bebZXKyZx2LwzUnyUl iZs 50.86 1 +OxL4xjvvEoakC6o0SWFzLv bLo 10.34 1 +Ozz08niBb8usTCQ0Qne uze 84.45 1 +P2CnLZ6wjMWagfa86PQ SDk 9.75 1 +P9jWWng639kr6huLW Guq 85.11 1 +PC1Xwq9khOD7eg25XNuJqni uoa 93.72 1 +PCyvr6u2zEucFvBo OEh 97.69 1 +PGjlCUTKvUARyWdB k2X 26.42 1 +PKKgsHRrVuEwXpXdE2k8 Th7 91.23 1 +PKPztQnn95S3qiy1X2YM idK 18.76 1 +PMCzdqCNhX7NXHrWGDd qWt 55.65 1 +PMHOGU4zGtraGFlOYSc7R9 f8p 41.27 1 +PMIqODa6qLNOD5KOI oYu 43.68 1 +PNkk03cra6W80jV6oDXizVgX LRm 35.89 1 +PSmNJYz7MMCjgAaUzyeKumP6 B90 20.36 1 +PUAA04ZRu2YSpYSl3Wp7JxfB 37E 38.54 1 +PUrCSgoSOWH2UVl D2I 67.64 1 +PVfFRi1A7ODcSgYSyp5cfx prD 61.75 1 +PaX7a2ZeCYLBeLo0Ywb9QUF uA8 21.31 1 +PbELYJY6EYll76 87T 95.96 1 +Ph5tQXDBnhWbTjJ xoo 99.69 1 +PhzrsGUN9PoBD3mSwcl6y ciK 47.26 1 +PiGGeRPSYxRyw1NKij8r mx2 11.52 1 +PltQR9dIYwROa5 wK5 2.76 1 +Pmxcw6cnA4nDap LPf 35.73 1 +Ppbe1YE5u8tDy5JwDIhkDnYq ZQI 27.39 1 +Puxk5YIOcdh6tHvlaJ0gy WBV 12.66 1 +PvNGMvjloNOzkY7R Equ 95.02 1 +Pvxw7Ts6nCrP4TSp g7l 82.75 1 +Q0jVg7u6A4ZbN6tQlXsjXSq kdb 28.13 1 +Q5VAqeLHs69lk9wfRkRcWJHU cy5 25.63 1 +Q79Rmfepqv5lzL 2IE 44.18 1 +Q7DiN5QUywPkHOoH jvV 20.57 1 +QGdgYHj5LhGDUvtofp dxC 88.6 1 +QH8G0J9UW2twj7 Foq 78.92 1 +QJje68AM5qxMkahvEy6 Vet 72.86 1 +QP9NsYKE2oB04yrnpiM0 2xW 39.66 1 +QPxvlmw1it4mQzt G0Y 21.56 1 +QYRfBFTwI6cynn5 hoE 90.97 1 +QYwbI89e9ncnlJOJ9oM 6kB 18.5 1 +QZpq09KFrQmOWTXOT72uXc3 xvn 51.68 1 +QihIjz62Zu66Wu puu 25.95 1 +QkKno7wqhsBq1MCqL YOp 66.26 1 +QkoYhRYWtcIxrAlYG SrO 53.02 1 +QlrPeUnoW8XLUUoGc3L zwA 95.45 1 +QpXjh9Z8XiB9FH3oTCxoV2bm Sk1 45.99 1 +Qq3pEfIwdn3VriDZtybfx XWF 44.47 1 +Qui5WxWbdp1oIFfLzMQfA Q9N 8.9 1 +QxEgQF0gSaXpf4Y 431 87.6 1 +QyIkFBfP0PBEILVA2G7w3 PcE 15.3 1 +QzUJlNEyR3fVgEX 9vi 67.44 1 +R25vnJLr0nsNGPt ZMS 52.03 1 +R5QwgHd4HKdbOZNZZNEle Eit 86.44 1 +R6le82FzuhFP32ErHkToRZ PRI 4.95 1 +R7Fydl21yZkUNQe ZkH 65.71 1 +R9UtaZjUQzLToiQbSRGHK TxC 41.66 1 +RBQCVWthwHFGvSOGTFrMNKiq CY4 55.51 1 +RDTFeq5N4KriyXs0kmtlYh 3VO 1.63 1 +RFpiCoSHuttttFnw4yd OZe 8.07 1 +RHsx70BA6w1pNyKM4G9Un6a 6KK 47.84 1 +RKS4ZEeZN5Ugo11lsJJCgQRS 0aR 39.94 1 +RNgNrHBFdqeiuBPae41kphfi f7x 89.74 1 +RNlGLeD8Hj2nF0vJ J0w 5.94 1 +RPZd1QfD1Oz4pvQWTcEl pUC 73.56 1 +RPagzGYCuPXB1DiZn7 EvT 75.83 1 +RPieMYuSQPs5BuR51YJPRlF kO4 2.08 1 +RSYuy2llNNGOftOERZ1 V76 84.41 1 +RUXEoEj2aQt1BCKFNSZt s2l 13.29 1 +RXill3VFEZ8EqjWjt6fGUiP Xll 45.82 1 +ReFnzIkgdrmsLw tuU 82.35 1 +RfGAEq03TSNRARy DDK 57.03 1 +RiVtvCwEiwt0N9OnBwyVwMt TrE 26.52 1 +RjyvNSmXxrxFCWcdPHIOp1i TZw 61.16 1 +RoefUWwzCtzEHFVoQe 1Y6 15.25 1 +RsVtYNU406AKgsJLXI NL0 6.11 1 +RsyBqiILwhYlasuYrI8zrBl9 WYa 7.26 1 +RtBTDYJ1M3wvZ7 WTZ 97.08 1 +Ru6QVmdahoaIKo dno 38.45 1 +Ru8hSBqNF1LjhI pIQ 4.2 1 +RvaLlDEILeVs8fn5y9x4dhg 9Rl 22.79 1 +RwSCGJmUGMENAt JWQ 45.56 1 +S00J06OqTyeNoGLKbu3G7 0Je 18.06 1 +S2VqQgWqhS3RoVlviTr96R htK 32.75 1 +S5QQcGTJ2Ru7VhZgh 798 49.49 1 +S67tRr7b6BImHJTYdbYGGUi s6y 72.6 1 +S8jTdmsSW6J1f24rSleyfw Hca 18.29 1 +SIJ7JVaRxbcXah7rOAVJQKLt ldj 87.77 1 +SJend8FY7yKDsn2X T85 90.81 1 +SLfsxEDW5U3bQedV34KRyQ aYL 86.24 1 +SLhYnLUjIPKFhp5N1BZysTvu UhP 79.08 1 +SON0p1HBKsEKycIO1 403 62.97 1 +SQ2WhZJQs5Un8X4hk4J LY0 90.42 1 +ST8CO1SdQaNA76lTZKeM Jps 27.02 1 +SVCznCfaGuPwfc VFF 87.31 1 +SYpRauEMoP4FebQKefDOqV aZ7 12.48 1 +SZ9Qux4zKykbLUFJKk6Bi1nB YwN 77.6 1 +ScgBv0aPRCffHo jgs 63.59 1 +SgRgaqpdUruKTGIBm ouk 64.87 1 +SkNbDal7HKaK5MzvRhLL 3AZ 20.67 1 +SpHmNpcYtOyMlaS9 KgH 38.16 1 +SrETF87YVmopyoCu8vIa wdi 93.73 1 +SuMKUpks20MVLNw2gc DQK 82.91 1 +Svv5voiLn2TVRUDWmHf Wx6 27.4 1 +T2DOnK1ew2Aw3KbAXWvvM NVQ 27.54 1 +T4CuDNhqqNCKJdnaevz3hHq t07 17.65 1 +T7Pzh7yR6mxxXhPoL zwd 27.41 1 +TAXWVFRQdqpOGlDSPN aLo 59.75 1 +TBtoqNTBknbpS0ThxMFS 36z 60.9 1 +TEQOQFcsU6yhrUldJFj5RdSL 99K 53.71 1 +TF7LQG2WKvjP7WkAFU A1O 54.2 1 +TG2pqiRoYYAg2Phu2x7zbI nuo 99.93 1 +TGBV9N8TbblmdhnXWCasQp uLI 97.96 1 +TH4UpKUwsroSrOxi ORG 92.58 1 +TI4rpz5Z8W7YeQofKFjgEBpz eBf 40.57 1 +TJPSkSKyPbcxt4RM58t2JhW ror 42.46 1 +TM76uaNv4HFty3dNT 5MS 94.57 1 +TMJNgyJGcHo2bzoM az2 90.89 1 +TUClmpnVo3kzSYFFLY86HIc paV 39.9 1 +TW1LYUcQS2Dru5mp lQJ 53.37 1 +Tc8NKhKKj8xUfoDOqX1 40H 49.57 1 +TeQjJV9teIv3JtDnPw 6KD 75.99 1 +TeYu1aOQJtreVBwcB 4QS 64.69 1 +Ts2tcICOYSfqLi 9gA 88.85 1 +TtCoQZdOcnG7Jpjt7B3H9BJ0 Sts 32.75 1 +TtOiVmaPwN5yMAd fCv 84.22 1 +Tvpf5XFf18BkI2T cIC 86.11 1 +TztzRsLodT2Pur0Y2nRtiS B2d 73.78 1 +Tzv1YxMu70cdYA9pWWR bI4 76.14 1 +U0DQU5LOcFHKXNqL nZg 60.45 1 +U0VOWotkXSJ2pzsL4 cH5 26.44 1 +U3LubhEKNJKV3J4BMGLCB YaK 61.88 1 +U3ilJloVcABVb1A0K4fj 7yr 92.2 1 +U49mC5p75BYblY0l5SxBI Fy4 87.32 1 +U7ErGpZpgas4Vf3SvDk07rf WyA 35.26 1 +U8XmpPbUnZwwtbJuCwa GR7 22.35 1 +U95gD5JVf5JEeGkmLczY 1NR 34.42 1 +U9FiQLmkZAiXMKkxqKAJ iHH 18.81 1 +UEfeL9Zx5kgpRtGDbiT RYc 71.86 1 +UGZhySIbfZYlL1NTkvhEK 0wi 67.88 1 +UHJlvkLI7Bu8Ar6wnY9 JSA 68.67 1 +UIQISPb9lFt40jwszS1eCNMA aLC 38.44 1 +UIuTDjzpNPrh6nwqrG Hab 26.31 1 +UQb4kGlQBaQuZjEgW4fdS S6N 50.61 1 +URAel0CqfSmFM3ZOpGxu 2uh 30.42 1 +USq6h35HyGJ8XrqWl4cb7 5qz 9.52 1 +UXOFRISeI8Qf6rmd4PEP Fi2 50.24 1 +UY2TQLn18bcrKEs2 0ID 35.16 1 +UYEAx0mOuNpQJGjZ rRR 99.73 1 +UfK51ydwQANdJ4cqm3JmLGvP Qh8 92.16 1 +UhIUbDmRt2CkXqx jEL 67.69 1 +UhrJHgGdYfdnan89C JPc 11.34 1 +Ukm94cZvYUAOjDj7 gqD 24.29 1 +UlEwPfof1obB6RpjtJ oRU 69.57 1 +UoNwKuL8Pd8jxsMJh2AboNM i3G 52.72 1 +UpWOpD31ZRm9hL6W lvX 64.43 1 +V6HurSZTOavkZ8pGs jLF 93.12 1 +VBbXpGZXGPu6RCbYACxMRLw nNm 83.92 1 +VC1G6LgLCKJLHjJ u5r 31.32 1 +VCeLkMbFThywPsi3u 4pD 22.76 1 +VFH6AH7wwjkCWZ OrT 35.34 1 +VHaBhBHq2MIiDnP PRW 26.72 1 +VJdxOa0cUOCdehC Cdi 76 1 +VKIGIcNtliDEQTiT 60Y 46.27 1 +VKLBDIsd6zpZOu2 cHx 20.01 1 +VO0CHbaizesAMr5aVTFgwFR b0T 97.37 1 +VRzokuxwKlMt13 hHJ 90.36 1 +VUdyA2qWjBla2mcgbphX3b Acu 35.94 1 +VUncQYbai2j1TfQCCc7 f2V 25.05 1 +VVM8O0ruc6ITW45Sl tLW 70.55 1 +VW5kltBFr8lPZ8JxIHIDTJS x2J 85.02 1 +VWl8adVWg5LFq7 pK8 18.46 1 +VZaSPnxSH6mvOSuvJU 9gv 74.94 1 +ViIIoW5iw3jjYY 3cN 75.79 1 +ViUrMTJzbyMv5FEVZ4L2U 2Cu 53.13 1 +VjEGHq4Hfr4mpdH AYp 53.19 1 +VjYMWDzBXY4EjDCe0X8LHTQ mbh 32.25 1 +VkwQveeFrNMvgeg0eLXhMw Av5 32.8 1 +VqwoQjSGqOHG5idIYuku4 WuE 97.07 1 +VwSTOQY3Nvwvwl7H K4B 62.65 1 +Vwjufg3E9juTrQ FY9 32.49 1 +VykD7LWaVxr5VyT 6Zl 82.57 1 +W2i1VIGm9riDFf kkO 80.31 1 +W6i2UCUaelSzr2lGL9Ts5 Rym 34.59 1 +W7PGy7dUw7CdNksU7Y6ITI6 k6F 27.58 1 +WAWzxImFjBNhFgaq pgF 80.95 1 +WDnV2Iw9s2U0hZB2yN9eeJLH MTS 87.02 1 +WEDI4uzoPrq4IeIkbjG8 l2b 75.18 1 +WGOgGNKUI9rJ8IOAjb6iQkc PUQ 7.53 1 +WHA8uuwDUng9XdNbl Sul 42.82 1 +WIH3SOeP0yXH5nEK0qXoLH Eok 86.04 1 +WLfo94mpw1o8Kbf2a a6z 92.23 1 +WNDES0MdgiRR8jj AYQ 89.86 1 +WNU6OrQQ3HKAyoQ8c7 OHM 95.79 1 +WO8wMOEq5E7AAbVrAaAS 5zj 73.13 1 +WS4CBFMmzH7zafR6 Vht 35.13 1 +WW0y8QypoznWVc8 1Uj 63.23 1 +WXc918pVzGQoQskWnvnNI78 ocZ 57.05 1 +WY4aAXv8f9iPwqnMSn5bd1 WNG 74.13 1 +WafiD0POjoXJJaHQ1VrXXNo4 EAV 28.19 1 +WbyoPckqqS3vaaX988x lOT 22.94 1 +WcluqyDt8cxKZjfDWrSocMpm l32 84.96 1 +WdWGjEOPu4YJWtWfehMCW Jn1 14.49 1 +Wfp1En3Q4TWCgCEHwVp FcN 90.93 1 +WhlA1GNEHgmUvLJC2 Rs3 2.85 1 +WidngrZLXel7yzSF73HV9 wYg 40.18 1 +WkBN9x4LI7V7PnjMkEg 147 15.29 1 +Wsd9WNkUS6en4KJOB7VUY bHF 34.7 1 +X0ci0dQ6Clz1dOBXO6hYN SH0 72.11 1 +X1g0Fa783sy2IM2Pc11VHqtr l9G 6.72 1 +X2A04y7BlJWKwj8af3ftIK Pj3 15.34 1 +X2HeRVwr3HwW5UgUoPq cNS 68.33 1 +X31i6o8dCAEbb7 UjP 44.5 1 +X38PxEKWnWnZjzWA hk2 45.21 1 +X3PcRo3W4Gcj3YxMV Jko 40.31 1 +X7JROHrCbnFu4nz9L jrT 88.53 1 +XGch0a918Bi8gsb DvS 89.26 1 +XKDErHPffv2LIbu e8Z 99.38 1 +XKem1DpBqcsaucbQq7f olm 30.02 1 +XM3GerTLovpOmIsjXqcyu ksk 35.99 1 +XN2bCEAUhcw5rNIG8LR6 IXH 45.78 1 +XNpnuJkXkBLHYS6 AyW 60.53 1 +XOBZeRVF7tkf5gPfBFWGkqL lEI 32.94 1 +XSCZ2etE3GPKilgp TWd 20.62 1 +XWFpRaXkRxxdL603p cRh 45.14 1 +XZmUOY21cmp6Rh E2X 52.91 1 +XaP4K9Cx3QFqI2 wLF 50.35 1 +Xb8Uqy3Vgr2jX2XtzBC WMr 70.1 1 +XbKQMytue5lnPkVZSMUmby EWb 42.3 1 +Xba6Npti5yIfU6qq6Uh4R huM 91.89 1 +XcxPdaojEtO4iUldHI nEu 41.19 1 +XdBIsMbPUePSW3Mm6KcYIuR ryW 81.88 1 +XfyfNBWIKmqgwRceqge8zeXa ODK 24.63 1 +XktieuBbkiTVv0kTwrmRTz aSA 87.21 1 +XleZC1OP4pKtsqFfyWH09SWZ rAF 33.88 1 +XoEdUNaVJbjkFdT37bsY aBz 20.88 1 +XtcVi02GCdnEZwIh bgp 92.34 1 +XvSxvehW2SpKSb Z5D 90.41 1 +XwrW7vufh20Sl320nSSAklAt piA 39.67 1 +Y0rUgo7FlunHOrgdwYEYC MzD 27.5 1 +Y6jvY7foR7Sl3bzeyJjhAD4 aXY 14 1 +Y7RL4OgHy4aRuV2stl PaK 65.67 1 +Y8TnSiabnr1jbri lp1 76.12 1 +YAIMMo7Lvqjkgp1 uO9 77.92 1 +YDe10m758fsuaTG1 oUM 78.1 1 +YE6D4n4J7ajBLQyp0eA 211 24.51 1 +YEKkcr4tQDDK9nobDwz 749 1.09 1 +YIJCQvkB9WHJ4DiAfPmkF 7nR 35.26 1 +YNnm5QEQ0nbjpu aBs 41.71 1 +YORinqwGkNuvvMcHy9XuE V4N 3.1 1 +YRYovyciDIWo2WKzr RgE 27.39 1 +YTJkVAj41wIrXL9SD1S1K P3r 17.34 1 +YVMIpkAZkAuwhenXwqvzJ xdl 17.21 1 +YXouwXXX8eEVI7 rOG 35.07 1 +YaXjagdzO77uUVAoN8Ozs bNm 38.07 1 +YbKWuFJL6pMMKh5lkwXhC OTO 19.11 1 +YddOe7TTfksgIwowK jMY 34.06 1 +Yf1ei6thDJWBkai2E09nl tR3 45.68 1 +YffrvumTPlZqR1kTRSm sdV 10.91 1 +Yk08TfZs5CcKjI9tGyl2RsYL qRQ 63.08 1 +YoAWyfqDO2zlfNM9fRDg 4L0 61.78 1 +YpgR0uHiJE80VbS hGy 84.21 1 +YstdxK2JW8ZzU39hm BVP 3.83 1 +Z0BRxLp0y6yUPtwD9U 5JQ 72.53 1 +Z0i4ZuioNIyn4VP6 EST 75.28 1 +Z48sH6I08VcP1oGRtzfq8CfJ 6P5 39.85 1 +Z7HJoJWePs9DfL wMb 39.24 1 +Z9W0VIzTcJlyBt8n 2vi 22.7 1 +ZBwv0nClcq6fF0sdiMcj fKO 42.58 1 +ZF2AyMtnkYRKQHm7PZxlv BxP 91.31 1 +ZFJcROx8weBQE8ogoQM rC9 2.25 1 +ZFRvIQM6XjfVWh see 26.47 1 +ZLtdlrUys92fuSccJYPmx9 Bum 97.42 1 +ZMxJHnz4An7m4C3LDf3Af8AQ auG 20.17 1 +ZRd0N7ngdjsghO8qP 7UJ 24.98 1 +ZUxpDw11omdd7J78WVm Omh 62.06 1 +ZbNlY0mTCxv3NmWfmA8DaQ PBO 88.88 1 +Zfyuiw5jrlT84oEtr MHJ 18.46 1 +Zk8hs8cvh7FKmO l8b 68.11 1 +Zld8Q5yRf6eiE2UNtz9QK E7N 56.79 1 +ZnpzeNsyeJXAFZRdDagu P5Y 81.42 1 +ZoX5p0L1uKfHlS5zcCBIj 5eO 49 1 +ZqpxhD6b9RDKMD2EOx 2nd 3.87 1 +ZtBZmK0TesJqpbPgG SHo 71.26 1 +ZxVaMV55c2scJStgn8 M3o 87.5 1 +ZyBzM3RXghCJe8wPbxO6Dj 54N 32.44 1 +ZybIvbbugXyNBR Zqf 40.42 1 +ZzMdffMv8f54bHMk3EX RTO 94.7 1 +a0I1a1RFf4zLH1D YAM 48.26 1 +a1YFKlWCHRPoz9IL6Luloa Eme 4.62 1 +a7LCN189wUUjodznR3cGxSg 1Fu 74.79 1 +a83PNz8oZNDVGfLV9rKT0Tsh sFw 57.93 1 +a8ieSTL7yDEet1 fqt 95.35 1 +aEBQJ8fKJtHEKnaVi ghc 89.09 1 +aNQ9iQNqbBKfMXzTUebiM oLS 9.06 1 +aNodcnMUwPoH4OoUN6 eup 8.35 1 +aUADZmMjgFUxAkrHFx4bfRWZ 2Cd 84.55 1 +aUceCKfUdwp9dv Aex 33.22 1 +aXDoaEFeEKvLQRrjUXxdJwkl 5hh 68.43 1 +aYHElUwXeTTN4OCtUdt2H0 CEf 13.25 1 +aa5hqRRvupUCDu9NCBsP6zZ vB9 39.52 1 +aaiFxWjUtXKRBumYmSqlgYRb Vy0 68.36 1 +aakp3Rb901rsOLDuWlm GAE 45.86 1 +acdVTPFnqogRx9gikMWsB 8jH 55.89 1 +afyrl7dgzuV480wawSrZjz l8R 27.44 1 +ajqkL1CxrCwaYpU Bw5 61.41 1 +ammmvqZaFqTlmSzq4f8lYIU2 vkL 99.73 1 +aoU0VA3a8te7m3n3GPZYAy jHb 41.24 1 +atEN6joI3hy6HjfHz0 rqd 73.18 1 +aujyOBelqlItTXnygq tZk 13.88 1 +av1XVN3DkkMXa5Sx2gF mXG 22.18 1 +az7p1Ca7EXYyYqweozRXs hHh 71.25 1 +b1EohMuu3RFu0ODf 7D0 60.11 1 +b7YSy12TSvJ4qmC8q N2k 56.22 1 +b8n7j410XuVh28CWuoMSeOt3 mhI 48.37 1 +bAbnWECURh65qStcK5v DMr 22.28 1 +bB64XGJKBFr6Qo b3q 47.14 1 +bBeIYE38Pf8orcL7 mFn 42.48 1 +bDNRIv4PwbWiLcePGkt3J5i9 Xi5 86.21 1 +bHcWXuIKQHeZVYckcbXU WkI 86.64 1 +bI7NQK0ayJdC3yVs naY 25.36 1 +bPKwejTJTCVkvNFdp hOn 19.73 1 +bbQcAYd5yUpIvoV4dWzI2fR wor 52.26 1 +bcWm1WTcUUblbCsO QeD 68.85 1 +beA2y6z30s7oejMo pVy 50.15 1 +beUihKBvtpQwClc7P2L hoT 17.65 1 +bi2SGgPy13Wo8NDq shK 83.74 1 +bkNT9eFwou8H5Ibrp0OTQIEK oUb 1.95 1 +bm1J81ixcngRDKP lY8 76.78 1 +bmSINAUvvNcdpRYZhO7 fPd 58.55 1 +bmm0lD9EwbCu79JiYcOI4kD apd 44.79 1 +c3bY5UHCcUeeL3kP 0XL 44.89 1 +c4HHPES3FZpMSJA8XYUeCPq GGb 31.41 1 +c68sxu623O8YDChZb 3or 28.31 1 +c69Wxuv2337UfUHrWDpkW94s jgc 76.03 1 +c72RcUM6kquID2BKMlI IKD 29.04 1 +c7KB3B3mGVLPL52Qjp AJQ 30.2 1 +c8K63odATjtt15wQGJmOgcg zYo 76.82 1 +cFwoWbof5taOcG2vO4NjVT8 fQz 53.52 1 +cGG3cq9x36uAwKS bL9 8.49 1 +cHEKcUfelRkA1x 2a2 87.56 1 +cHGbyopcwn1sOJ3C1JaI 7y4 32.28 1 +cL8iBoVhGmje8H0uzL gRF 33.07 1 +cMA9992gTjrTg1Fk6nCvS jyM 23.1 1 +cNDs0qxsFtQmNQhSCaOAc drH 85.07 1 +cUNUne059wJJBjNc rCn 13.41 1 +cai0tg9EbojcgUSntIJ vzi 58.26 1 +ccyBivg6Og74uT qQO 98.23 1 +cg3qrHbpImojf6nFb4 Y5k 80.83 1 +cnch8V5fWDlpXH5gbQ zij 96.72 1 +colbQo9bGmba9WP9yk hwf 90.3 1 +csiDTpZeRu6KzdVEUkO7 csT 41.4 1 +ct9kDgus7GwujDa9njCon2S gnF 8.04 1 +cvdVs87UJyWPqILO5K6e XHC 59 1 +cy3bHMkkHU3Kw4hMefmsgGpZ xOx 23.54 1 +d63n3xCzy9nbQk2x XnE 6.43 1 +d6gBO8IeXWzefO wbh 7.09 1 +dFEHtMz9mS14i0Yh dlO 54.97 1 +dOU9tRM7rifaGvJg tNW 18.46 1 +dP9WhVsOtSgHeSc7 qvo 92.04 1 +dSWBiSQt1mKuS1Pm 99H 89.13 1 +dTpL52LZU1bQhpHm1n4 pY0 28.45 1 +dUGDERmG8Vrnzj1CRQzcYU hfv 59.64 1 +dZsyKuI6hJF9DzCd7ga6 g58 39.23 1 +daaJtWWiBE4jEnOFIRIQ6vh JTP 54.24 1 +dbS4HiRkxXxsqFArX Od1 76.76 1 +ddy7faiV2W5bru6bBjNBh L4Z 45.05 1 +desg7VfLwOTSLE27HqYY Xbf 47.72 1 +df9o64ZVbq5kzsWEaaDT8tOi ga4 45.58 1 +dhjVtCO2GdYxYE35LjnO aPk 90.09 1 +diPp5Vu2b3FCDRiZwS uEA 27.95 1 +diVJmsHNgwOtPEkd2 UHk 18.17 1 +dkVmWP2ZbXcQJCWbV6 wbp 23.65 1 +dkyoPwq0OS7NFX0noKC289 lrQ 38.2 1 +dmXu6Jusowkx2mT7p XDz 54.51 1 +dmajuncDjFIHNFrsZ aDQ 86.62 1 +dyA1aReE4XTAMsFrCyJjJUw6 DRW 16.45 1 +dyaFdJOlQj8RmqwU3kR9wd 9wb 8.62 1 +dzp2Sgi6QZxxLejXi meb 31.94 1 +e08I7ldipVbAzdci BNW 97.9 1 +e4rQdkzeNRUbIKyA WEu 51.64 1 +e9KDWFtPmHwMoCp56S 7Ps 50.04 1 +e9g9AVNUrKNhRRtHfqBGtnLN nxy 52.17 1 +eADG98VOOEdQwx KME 6.41 1 +eAcHdsfyXS8nxYWk Mcc 58.16 1 +eCZCT2xLDHkTlJ fWM 36.75 1 +eFZxoCg67FkKJUSGuU usf 83.56 1 +eNUw7B7Qryvi1fQSkQVB3vZ JRo 19.4 1 +eOYP8MztMrQ3kE5BgBA Bdx 34.49 1 +eSWaeN354IZCXYLf4WW3XK SlW 61.39 1 +eTZtcP4XTBAGXP arC 14.12 1 +eWdLHgE1dcx5pPJt 5mc 9.86 1 +eZ3cV55kkZSlskmKrHekl7Z1 MYU 25.98 1 +eaDCbG8rix0gzeKR5DQT DD4 53.44 1 +ecP3AI7w4yVvwk5 zLL 42.52 1 +ed8L2wdxiNc86DSg7xmOGM F92 89.53 1 +ejvVQSuMtiZfWkcL O98 63.82 1 +ekmN97mJTm2eT1L WfH 44.15 1 +eoNmcZZAlKPuIG5KFgn coA 26.27 1 +epbF3M9VM4IlxGY Ci3 83.7 1 +eqhYTsngwylVxKCCfTO4IKHX gqf 72.61 1 +essawDgvkdN8OytblGOOAHX E4i 97.32 1 +evhqR1IxBQPNjGud9 EK0 77.2 1 +ewQ3ArVcOzw1ogm U8h 13.74 1 +f03TYXbdYkqz6kveKs9 Xm0 96.71 1 +f1YL4SteqKeAgU1CefuURhF 9tr 96.93 1 +f1mklqyXiMP7dOqMXJxWOwK6 YOM 50.68 1 +f2UsAY5ZP9UeJwk xC0 13.44 1 +f4uNzlSUBx2oac0oXtFj afS 28.64 1 +fAZGgCJ3Fz2EaHd WnR 32.82 1 +fBKFpYmbTSCurZwIBSC M3C 81.05 1 +fC0pOjJCEzNkLUJC0jpm5jI xin 69.03 1 +fEajBZOY3Q5OI6K99FW kBJ 81.3 1 +fG3613AQ0emkzdvX0oXZn CRi 51.44 1 +fJYuteqa2fygw9prwdSV BgF 74.57 1 +fKqrXY2iItUCflY1 zNW 68.18 1 +fL65j4xPQMMKeFtbBXvIgG1 mVv 97.19 1 +fNj0gPW9u1tKetV4XyO U5r 72.18 1 +fOGulO7lbAJ3li30yYtadX aZU 49.56 1 +fTaRsKFYtUbCuDWp0YAMp ESE 94.78 1 +fUk27ftwVIAveXDvilM ad5 27.65 1 +fXqxhjhiqpioGKN XFC 99.44 1 +fYq0b2ZyNUanvTtMrrhg 4Kt 13.15 1 +fZaI8AUqdtHfeyCq P4H 44.69 1 +fbEhfFT2WHwwhfUoxHH Dwr 38.48 1 +fdcXsEKktWhgzsjYmyN4 F8m 10.36 1 +fgvY6TooB2ZTcJpEV5rTj4TL j2q 49.89 1 +fhYd8bR1CrmDrpenFY3 Meh 32.38 1 +fklohpdUdcUrvlmPdx SCY 56.22 1 +fmvj8i2csSbNAJP0 Urd 65.65 1 +fn76aJacxbh3RqZ060qkvxa rCK 29.59 1 +fwQRaqSzyapTBNRY8h YTi 84.46 1 +fwe32cDW2S6x5g9tYmX1029v vUI 30.67 1 +g3C2HgCVqKzbG4Zn qiU 34.64 1 +g4j6Af6X7hAQlC8kV 1Z2 94.04 1 +g5zRx3qwv4QOu68c1AFQFuIc Mxq 99.61 1 +g84ZHD9K0suew2BUFTiFz m0V 71.23 1 +gFG1jBh5jgQNqDEdFVR FgT 90.09 1 +gHH6wWJcIFEki8lidH trc 16.63 1 +gHvTRO6CFuayHg6NqbiKpKQ l2e 37.66 1 +gJH5WV0yMvzQsFfQNO2g LRb 5.21 1 +gMBEZ5rY0IxiDn vfX 33.2 1 +gNW2s6x8BY3CnQpaMgDDJ g1R 57.29 1 +gPHLtWz0iYkJnTSGDVBR4 jgS 62.07 1 +gPahrTSE52dMgk vss 89.98 1 +gPmMspDGLd4G497wOW4ZWLf j5K 83.18 1 +gUKV6ROlCtV9GNPkM3w 0FU 7.23 1 +gUrg1FzLkbooCBE22WIg4 SxM 21 1 +gWXcbNTDbDW4pLxQN5A O47 96.15 1 +gaCAaBGswfXtfCBfPlDE OF2 14.47 1 +gbRk5qYfwgDOh1F YZc 47.25 1 +gc8GbXA81WZw7F7W2vJ6 YZo 90.77 1 +gey8CaKBqdhvVYLp U49 74.12 1 +glJCE2ic334kqM14sckDx9Yn Nlb 20.95 1 +gqUG8XAT4pfEUXP tfB 97.45 1 +gtwRabCr9rVx81MngNIgain h1P 61.94 1 +guJje5wDM7bLBUIu wO8 86.7 1 +gusEY3Jn4eYrpelKN GVO 47.37 1 +gvSYL2kDTjx5150V1D5B2I aHp 21.24 1 +h0pWROTb8ipNNPDQLi2051k AEE 23.92 1 +h0wcljP38NtCfWlQKeWji OE6 79.83 1 +h35IrwBUXTRIDtRF 18m 17 1 +h3s7EHQkCrYLpxo nY0 45.18 1 +h6LRC7dwMCl2CJQaTBNlEOKJ Qor 93.35 1 +h8RjoESuZyGyDVXyK 46e 14.13 1 +h8UPMYMGWcN5P1z1eaYRl dzy 37.48 1 +h9hdpGErcPLbLbEY8RfNxk x7K 19.26 1 +hA1lXHgPGbLKcS0XG oPF 51.97 1 +hAdhqUNLC7oqNbtwNz 2Cx 15.37 1 +hB7peFFIHN7EvgQKc5qqHzz YG9 57.44 1 +hFz013C0fFFd6HIMfth8AEi mn5 14.36 1 +hIR3LKeudaVVMqmHr3lKjTOj wHA 25.78 1 +hJ8mOg8mPy2I9v0HmzZC9 S0z 2.48 1 +hMtBlFE2zJyiq2C750AJv7ka by3 52.75 1 +hPZJLAz1KlsLZok9 DQs 46.24 1 +hSxKK0vhNaSjPVX7Ce3KjhMP XGA 87.44 1 +hTSKR6g5foDADbVPsoSh6 MG1 80.5 1 +hU8wE9aFQL1JBTCP 2hN 84.82 1 +hWbG9bE0Wp48BE08P7hb m7S 54.19 1 +hZldgiYJTbp0aoA2Nb1h 3Jb 46.95 1 +hb6al633PbyzEiSluDhy8q aCr 34.61 1 +hc6cCZUTgz3YSWkZ3DS Lqy 63.33 1 +hk4mZI3SF2UubimAnMg3i Mcn 23.69 1 +hlY6G6OkrQlKpUKvx Mdi 50.98 1 +i0JH6SycK19B2UM1V4bidJke cGO 87.27 1 +i1beqaWK1HPC00z22t3hLrp c3s 37.25 1 +i3uMfHMSYlwlRdAqYHJOB Jh1 26.39 1 +i917yWGCtlUeCQvv2MlfD NXC 80.38 1 +i9ISiNUwd0J1lsHt9D uJh 70.68 1 +i9dJeWHcp5H51O6yR8 yxH 45.27 1 +iG1QCd7wzYOuwJ0jM ZYd 75.87 1 +iQYfjb1Z3NExsNab2B5TL TVT 61.17 1 +iZ0rQDWFZDRkpd8cu5LO nM2 90.78 1 +ihHMDJNMnz09bZXfk1esV nvn 15.8 1 +ik2QXWOdDZVRSq7RVsqUs20 9NF 53.81 1 +iwcT93ufn2B7M5 ori 35.24 1 +izjZOirYviwBIYCJf8TK9 3MR 80.61 1 +j5DAOG8B4uJKVsWaojSYhg LKH 82.56 1 +j6Y6cSZZrymxsFc2 etI 66.55 1 +j9J2C4xHsCpHqIC RIQ 22.82 1 +jAHs7ejqa3AZI0iw Nx8 81.71 1 +jGClFsDo52NZvwRJj3RE6P p5Y 25.38 1 +jJp8KSiZVCrej2mX uyb 30.22 1 +jLNs6gczzjWS24XDgqZxy iGp 2.77 1 +jLR1L4PRfsVCik gBM 6.84 1 +jMGD2Mer803aBGExl9FaD F7M 43.51 1 +jPnDlPtfM7Z9xUbcQK5GUt78 eTl 66.22 1 +jRfkpxXnTRuyWTe6z4qVd4dl hTE 35.43 1 +jY8NWI3j4hRW45 IxT 88.93 1 +jZxO1FOI7BYiT1Z kn9 8.95 1 +jbwjDKSPi1aSfODKn2 frY 98.09 1 +jj6X0MHR2poXJN LuK 60.38 1 +jjarCgSAbAT6rG MhY 5.81 1 +jnVHFkvTmqUXCm 1o9 23.13 1 +jnd7RfZQrtwO4ZkhS AXw 51.71 1 +joYF1D2gx4aZDJL Let 98.47 1 +jrqvSepuV66EWGE qVf 56.22 1 +js2VRcxAqbUdcIo Mic 74.43 1 +ju5cyZOMHkCEBRQeEQ7LH1a lph 79.34 1 +jzinJ4R0vsFHfrayOjTLdk Bt3 97.96 1 +k0qAn8ErQcbdaAsB kzW 91.81 1 +k2Rf2ysnXcfq0hTUp1e U04 83.2 1 +k83C17NqvbtRwFv99ystjjG BwG 45.46 1 +k8d4rHX37sgfugxa eHZ 12.58 1 +kFs7rTMsT9fBGk17K FHi 71.11 1 +kFwUJDVs8PUitVIbTccVLCsQ Gh5 19.66 1 +kK8NAPIOLrysH05hpuEcf2K Jhh 27.13 1 +kMO7WlpELX1L3V fIi 64.48 1 +kNEHkVKYtB1oBFDfyN qN7 26.54 1 +kNN3Y9vFapW6AQi7Iq 73L 31.7 1 +kPmFgyW2JpBkyuPDEV XYx 45 1 +kSpripiRtRzEgqCeK6 Z2H 77.04 1 +kTvKE9YjTLE2fqq rOJ 34.95 1 +kZf5TBY3Y9EoQlGLKj30 PvM 56.39 1 +kZipybmtluQgdWdrHnvIFR tlA 59.43 1 +kbmeHbl7B2dfOkZHsaeb HZ1 93.98 1 +kmguCIqw5Uwj5O9 3xN 93.76 1 +kxUO0WQNUzieeFTryflebY Dtg 84.79 1 +l0mzimgwlsXqGUBgM nG0 85.26 1 +l2QD3Yi4varknBZ90d4P wHG 8.99 1 +l3K8eizT2TIUALIMiSW4P Is6 1.68 1 +l4uiTfaSCWD5rwe1uY1 388 90.01 1 +lDnlB0YwIvkkGoe5x cio 15.7 1 +lJfAJ8RJ1sxsbmQS2Ck cPO 17.72 1 +lLgZ2NC4JVp5P9sa1d x1F 60.02 1 +lMahW3jFsjEElYo13nxgfI G6l 1.21 1 +lNVGlfZMxDB19DZy3V l3T 7.36 1 +lRx8wX2RW9W4if0xAWQ 58d 88.32 1 +lSg7tHj8Qnba502zVi Was 68.9 1 +lW8ht52DgEgRKbhV q1x 7.43 1 +lX3Ycw3Z6b65pLNM VxV 20.37 1 +lag6rsYOXDcrxxdYq8k I9s 57.6 1 +lcU2uPCkdf1mWyawJg9mR8 9Ft 21.7 1 +leawxU0mv8nsapdNNqr y9k 23.25 1 +lk0ed5qKtxeiC5144l rWw 95.73 1 +llrP3gT00Y8KDEau68e 4wN 46.28 1 +lnQmPf82CqN3qRTELyV znf 34.08 1 +lncie89pstAvCdIw7c cxL 46.95 1 +lxQrkMtX6g3B9PHCYT6mjT n6e 24.3 1 +m01ChpMoux1Lqlsr1wTgC AVt 12.43 1 +m3CoTJzGkqoWPOKnR pKT 3.76 1 +m5qiy5aSrDRsPjYuK3 oLZ 57.71 1 +m5tuJK7D4QfkTwNM4vvWkJTz ori 49.82 1 +m9DtL2Ki8CdBeN LpQ 51.53 1 +mCPMhEMo05eNLs peD 85.42 1 +mDvI5pU9im2ZfE Hm8 33.71 1 +mJAy4lJtNLmBVvMu tR3 14.12 1 +mN3RoRjh5lBfh6vuuSl2 b8r 36.48 1 +mPVqvyomHkvBWmtRgbM7FIB YWh 13.5 1 +mUwd6Bxd6foSy6m Mri 61.36 1 +mVDyAXKJMJzhxVVIBVLE WQt 45.47 1 +mX4gJhDnsTkARcg s8k 36.96 1 +maQHUnit2wH5w9oKu4 yIq 42.08 1 +mb8oJBj3rEctyGAoWvseC YM9 51.9 1 +mngVTPQkazW4N0sjj vGH 1.81 1 +moZcAiO3KAuJ87l 0iW 40.04 1 +msUeoyhGzGbFU41P2N4c kO8 94.7 1 +mt6pXBdIqwDKSnADdA4B rEX 44.73 1 +n6JMwoZhy8DIv5 ADO 5.42 1 +n6MevHte4zHHaG DM3 11.35 1 +n7aLzWfnUKnRqCE 5AH 48.76 1 +nAwyOtDhkko4E7I udX 44.28 1 +nDHKPelpvbdCQ1MEr7q sZx 92.71 1 +nFCPghrtwrKldJ7Ucez to5 16.31 1 +nN741i5RlauzTT5 OB2 98.08 1 +nPQ9MXF7AQQtfGHGLm8i81 MO7 97.31 1 +nQBItoA4Z6BRi9ryHZCJ KWR 84.01 1 +nTETvxx8Zx8rnPNO3eMQpNG GHx 72.1 1 +nTKqRKLVCtEAZHFRXGP ZAU 81.28 1 +nTNXT9GgQqd4SpUDlakQt YkL 72.96 1 +nU46pBloZd9IzLvWqkWw6KQ QKG 43.35 1 +nUZAtCgfhJyQOrPha2A7 fs4 96.27 1 +nVgbdsee2SP4FB5Hq2TBYep ADL 79.95 1 +nXUNnjAQqfCH7YbOYEF b4Y 18.33 1 +nYk2NTiKilobkNAjz k5d 73.55 1 +nboJrtJYV6Mt3zv1B4Lr9 e0c 73.16 1 +ndv6b86rKp9n2cNX K6g 47.78 1 +nhxGqyJtcmp0c2GS Wfi 9.96 1 +njbqCyHTsu8mcNXPIUEvBS6D 9iW 65.27 1 +noMRxGcZyhr29PjuwAosgc 4Z6 99.32 1 +nrtf4ebujgXutVUQ24vvRX6A 274 90.85 1 +nry7fD2PxCq0cKcancYLQT C8R 15.81 1 +nuStI9F3F0w686CyEPF EM8 76.39 1 +nv01rF8xhf5mmD tVe 48.18 1 +nyvE9NFl2vmvi2mzHMwt UWq 66.45 1 +nzsDP3gGhpvHviTBiYm2Yeqd CLP 46.77 1 +o6NQbq6fMGQZbsvY kJq 32.83 1 +o6k3ytLBgirhI9 tQs 30.6 1 +o8o3MRUxYQIgThukY C2r 37.22 1 +oA1rcvMtJMM3WN3IjDTlrI nWq 3.52 1 +oCges9emvR1NY4J TnX 8 1 +oHmIL1TqNdobgO7di 6v2 4.31 1 +oOxyniSQg7XkseS1dVQuzF PMg 74.39 1 +oSXPqILMtxwLj5 ES3 14.5 1 +oYBlXuJnf0AhIT otr 86.71 1 +octuE87qAIFUrn B0q 56.88 1 +ofOxLC6d6EzopbXCUBC hxO 22.95 1 +ofkxBHZUOGAPOxTYDP who 25.68 1 +ogO4DXOCOmZXKxoJ4atHn0 Zpu 88.7 1 +ohl2bd2nFU2jBg8 2AX 83.93 1 +olS5kG6EPR4IZ53q7 BcF 96.7 1 +onKlpy2g8wCx2Zy c2w 66.6 1 +oocJRss86l5uIOqT8BbpokD LHv 11.27 1 +ou1KaxGwHXKeqEnEIHu07JYo 1we 45.35 1 +ozEs5xfkNSaBSctPlMAXfLo tzR 87.64 1 +p2rOb9TRfrpmEB734J3K 4oU 12.58 1 +p3RrlAVpzgYG8j0C CEX 89.77 1 +p9jPfGcJVMsEwYYpmysYL Cuo 98.66 1 +pKkHlorQinRSRQJdZ0fYM Ye8 83.24 1 +pQFtR44HoQ4Grd5gQTB4bR sCv 11.73 1 +pSmu76DfLDpInp9 Y39 53.77 1 +pVRJAXJWxBDOPwHyZKs7INB cj6 10.03 1 +pYW2sZ7IEjg78gvea9 AwU 35.97 1 +pYlDV1rHMwOZ0j9TTMKNUeY WnO 96.96 1 +phaRh2uo7SAM3S OSi 55.68 1 +pmSlPgZ3UbACR1YwKx xvS 74.25 1 +pmivv2mZoqInf5HYg uor 82.4 1 +puu3QlA4QIaWKE3KrljJpwA xoU 72.05 1 +pyHViBYExLdKV4E0k ERy 90.25 1 +q04Ybp9gtmpT8RXwiKxqszj FjG 52.08 1 +q7ZUoEHOorsjVLz5m9F0ggew f00 55.62 1 +q8rdaB59K6MKmtqNW TLY 25.54 1 +qC10rKozjpso8r6dxu chl 7.79 1 +qJ29mh3igLo8PL95KNtLf lt1 25.19 1 +qMbOMkCscVI3i275oLoA0w Mo2 90.16 1 +qQebASxdzPNIE1J9Voe MDZ 66.49 1 +qR7Lk6AUzS8k3U9kyfV3 hus 56.42 1 +qRFzkyTggJkNJJ fgn 4.13 1 +qYf4XNzDv5vUlz ZOq 89.64 1 +qZhtNICPmT3xbeKdk8K1V0P 7nR 95.43 1 +qaP66yKXl8iuXduawPFxe bg6 38.91 1 +qaf7t83OBruktJ9 7QH 20.49 1 +qd9PzUTlhjEsekV0NUo3GbCM BIN 55.35 1 +qepymlgDIndNoEaR QUX 18.78 1 +qf1oZdzGr2W42i70kaNuk38 00y 76.81 1 +qf36p9CoGxOXIQ 1lt 66.28 1 +qgyo23KYSduq4rSGhmZdy dCE 63.24 1 +qhXD45Ge8KYXVKkBnl5AnUbi C2s 28.29 1 +qj3HacO8gluMPy s5V 90.65 1 +qjRCy8w2SpIYvDer3RAqu xYR 86.12 1 +qjVwvkToI6szzA7DjoYr7 ori 11.16 1 +qmMUUOHzOp6AxWvSI7tkK Xay 57.34 1 +qomB8fW6cCL67QXogBSk zlI 88.05 1 +qrvxcAkdMe39nfKtmdj5eW 8iV 8.77 1 +r0FWekbHIqzVzaJl1EIGWGsF z6y 7.73 1 +r0ToJLZC6ggPDyQZnGP 0Mj 39.35 1 +r0nHYC6SwliA90MXDX JRc 30.08 1 +r6PPkA8fr6WSvi7A BTw 57.55 1 +r85iRmJo8q4g35Je eFG 43.88 1 +rDNSGptsMtRWWC7Ezy7 3fz 88.06 1 +rEMmThyMzZGfakSOl D70 75.69 1 +rFmeR8mqXfQf6E 6pm 97.84 1 +rIQEnqBeUWYwkHtHCXFbJte8 a7m 91.61 1 +rKgzFhLYAklXz8S DBI 77.2 1 +rO69pVIhbbaAcs jyL 94.95 1 +rOl1hlxGDZbRZlJfLoHjwM4 f9m 49.15 1 +rW3o2WyHQDzlxkBk AWo 94.21 1 +rWWNfX5yWNi1d5j7Epn Jx6 36.79 1 +rXSKiGRzK1sbXN97a izQ 52.88 1 +rdovPcFy50ch0vNKQ8hkJE Xeo 96.01 1 +rf6V0JeVzw30yvdD9A3Dncp GMX 86.67 1 +rglgIlDapRkVgx0GVIJL2vF wmb 18.76 1 +rpYWiYZfjTIxOr Dcc 75.34 1 +rqBJSV5ieYSGSTg f7f 11.87 1 +rrSnOo3FgAlq8mo h7x 7.49 1 +rsnpStePhGJ5cbc0Qp LXX 2.63 1 +rvNzzk15hv27prn0IUt PAX 37.15 1 +rx5Nrmnah3H12WtEpow WtJ 57.16 1 +rzBXDyD76WdnD8MMINzi rFK 71.33 1 +s1Xdx5NRTT8P4QjS Joa 92.56 1 +s3k9YdBgCZChqqc2KJs0Rd 02o 66.93 1 +s43AZxvAuX5cryV NeL 7.71 1 +s4XVPloxW2sntECc3wEAPNA dMU 72.57 1 +sBAie5QHzV5fx82Zq9gzpU OqZ 32.24 1 +sDInbdYgzmGPxpJLSrxdO X8O 53.08 1 +sF3z0wWUD0IC1pH 30N 59.97 1 +sF4gpiUnSfXXcS3 TIW 81.31 1 +sJtOMpYW0fbPeLltexDrvLh TJr 44.57 1 +sNgMEXHDy2xYhk6gRX3Gy yio 86.8 1 +sc5aEYg6zhHbgthY Sa8 30.04 1 +sctez1OUXW0NHr03pfli4U lQA 37.21 1 +seU96HzNN0fwMfYlDJplU pHf 94.91 1 +sgc3SU66nhw24xmWNF 58R 73.4 1 +sgjGMbb4FA9dHaf lRa 34.6 1 +sj4tIRIyyn3es0jDtk8qF 4wO 67.79 1 +sj5Xr7qzw35utX yoC 25.68 1 +sjPUoLHBbatTmtocHMypO hHZ 99.89 1 +smXsoV5mxxJyxo8 bMm 45.78 1 +smwbAhBCUACd9sdJFWz2M833 Yyu 43.65 1 +ssHSCI7qRGVoaarb79KXz4ob K6M 61.93 1 +stxqwGJbgJeLb1mfY 0aD 25.79 1 +sukmVIXCSn67vVAlTet p4e 16.01 1 +swZiMOVaMB8L6DS4 MS1 6.44 1 +sxaxXe26hFT1Ibb XBF 24.83 1 +sz0NdgvFy62JNTU 9yD 87.19 1 +t3oHSHrOOQMVEP vnz 78.27 1 +t4Zc06ibr46rnUo XKB 38.2 1 +t4ccklaRBqjFXhCnH coA 49.72 1 +t59WezBkpcrvXagU5feH yCY 10.33 1 +t5coKomHaPANbfKiy2VXtL 4xQ 69.49 1 +t7esI9bupiR2eHMV4WLpc6J0 TQU 9.68 1 +t9lCi4dHew3BymRzyNy8nA9K scP 69.27 1 +tBfoqUZc3nKcKLdDnA8 GDs 31.12 1 +tENXvTd895E0pd2F2 EjT 23.77 1 +tEdzF8kghiu0yyZJ0 lAO 75.3 1 +tHM2V9ymycZdRs6ZPcG3g u48 36.22 1 +tHjOYdwyt7M5fL4hPuPo MY2 54.75 1 +tHnsNjID2XM0QaCrveL2hHxW tgL 65.35 1 +tJR3s3j9B7uEIRqrzfEVYe2 u7g 21.3 1 +tKKJfPuqcrfPcCI 6Q7 17.08 1 +tKeRiqmX72izEGY5Tpkxj KXB 92.34 1 +tKzof5KSuD9KU8o5awGpm0Pz Cf3 44.76 1 +tPBmfeclv9j6dVjMkiJj2X 2B1 86.19 1 +tTMz0Ce0QrqET2WrpYjYO A6g 83.68 1 +tW2FG2aHzlT2v8Jywkes3rt Kwd 86.06 1 +tYxPukj0QKMyqE3OgiD cnW 38.14 1 +tap9jqTTMyXCU3xh9 xG9 17.67 1 +tf54wabdRnf3NHdYVxzOg 3Vc 95.26 1 +tf9IkWLlXKssLH dSE 72.18 1 +tfdyDbfuq3Bfqem4lq lJG 47.38 1 +tluulKWRrloEkH L0D 22.68 1 +tmf6ThzUduSQkMuu N7x 30.97 1 +tpxXav2iTngSHqySX5mRDHD iKd 27.79 1 +ttBaqvlboRG9ha dlv 99.47 1 +tuNba31NCOwxD2UoJiXAOB 3Yc 13.75 1 +tvtglsqFLrIsvi EgB 80.26 1 +u2jGziNyuAucmwjZct5xR 6kD 67.01 1 +u4iOHwOb92rkaUAEmltGNgP ocq 47.96 1 +uKFdauo3vYlBiM2CsUwTv UBM 44.53 1 +uKGv1g5Spj7JMfySDgm Fca 49.26 1 +uLAO8qSC1TM6HXnQqQdXep J0q 11.85 1 +uULdcnAIUFxDkF JI0 45.13 1 +uUp8nPNSheg2zdf4MsOsOShV dnd 92.51 1 +uW0PG25fTkw9Rx7IMWAd e9H 37.66 1 +uYnJACueQS9AHYVaclwcC89s pPB 99.67 1 +uesKPfmyaDjzmA3mvTzz osf 17.6 1 +ug6RR5mud2770w jBS 37.59 1 +ugHT9UFOYGKLTF42Xo9T CVh 96.12 1 +umbDYpJJUBxZIFOghDdmK6qu HlR 25.13 1 +up0KitPCx9bACH1GSdk BM8 64.99 1 +uuB62majnBjKB9Lc4 uns 34.79 1 +uvTCdgplgiN7Y1JysetLMFOd RRd 49.47 1 +uybUE5WkGAGis3iz8T7y uSw 98.98 1 +v06hJC8wDms84e ZKo 35.55 1 +v1KMfS6cpybDLxhNptHl3g1 3c8 51.97 1 +v31Ksj4S3H5erUN VRU 54.72 1 +v6WfOyQkIW49I8w6g vdS 63.82 1 +v7MX26rwq1wfTfU ynk 3.7 1 +vAVkAgxqXwDy5bwemAkeT 6F4 59.62 1 +vDRO5wZLno5YpNuv ybr 77.91 1 +vGYHhVcP44YMXvl 1pP 28.51 1 +vJKBFA2R0yKwcVYa6i6 KrM 30.69 1 +vLIaSosKTKfP2x gq7 40.29 1 +vPQugjl2n6DAumhKfg 2nf 51.16 1 +vPlb1hBQU3px76vWSEm mHv 56.89 1 +vROPqIOdNcQXlGu vw6 41.75 1 +vSbUM9brN3tmHusQBk OQ7 60.58 1 +vV5NVSEt9iybQaQxI 82H 7.9 1 +vWYJvMIPGkAHP60zlW nv3 85.84 1 +vWqesjkTL758RF7KoOnRDKfr Zk5 39.25 1 +vY72xMdYCe0iMsQi TVo 62.56 1 +va3JJjZBG5BkyBRl RVo 1.79 1 +va5tqd1huUVXAhstsQ MJ3 10.22 1 +vbtwPamTB1bj8X HTp 14.61 1 +vhgoVjJUlBXDFdZCxzsaya5 byP 83.37 1 +vloWB3A3HY57KtTdbK rTo 19.64 1 +vltilX6riOX9kpMzBna7w2vr tqj 23.29 1 +vpchajIrSdh1S1 fA9 85.92 1 +vsEtCGHKFooVluQFC qwa 42.88 1 +vtNClByfxwM1jcWmrZ i2K 89.11 1 +vxnh14t05Ho74Qm0dbs 2Ky 61.67 1 +vyLJQ6WgvsD6XCqcpGW OLS 11.65 1 +w04nM63TBuTWx7OISI23zf 2M3 39.49 1 +w1WlXjmk4NIYWGxJbPJJK24 Rvs 69.54 1 +w4RHlt14C0ES7v qKq 27.72 1 +w6WqmNGIeptTLbBpEUW0 2tZ 1.43 1 +w95BTMeuzJYLF27VniD6BgB ZTQ 79.11 1 +wAWdZR2piZxtJYmLeJu45X rIt 1.7 1 +wCJO9G1gWMaw1NO Y02 14.36 1 +wGFRDl88owz5S6qKsFfLN loj 66.7 1 +wHG4PZVR76vx6uSI jfl 5.54 1 +wIaqUBG25Yzbu7ZxR c0J 16.07 1 +wTqYkZ3tbjLUfofA OZf 80.25 1 +wUsOMxLu5uapAopQkE Uiy 3.38 1 +wbC52JhiIbOCRaVYsEEhBsjC b0x 92.09 1 +weIpCGsT1Vl0eWE zAr 40.43 1 +wiAPnE21zfHA6Z88E20V0 Z9t 27.52 1 +wnLYCRGWqEd0CYuUQugaJJb qsR 83.91 1 +wnp6dLsieyRtDQlegF 4L7 34.7 1 +wp6OZ2Tz2P63ImEF Cv8 43.25 1 +wqSXAkIu6hm6wOB9MypS mvz 53.39 1 +wrYaCoZvq382kidwns Dr8 84.59 1 +wsSCg4pxP4GnKIQQKR xiV 38.4 1 +wu0eZF1g4Vy5j1F gb3 30.25 1 +wuhoaNNXiUcmQu8MfvkZpj HFS 20.94 1 +wuqKHVboW6oAsnd59xKtp sG5 8.59 1 +x0lK3HF94lK99GWIKXw7avy Yq4 78.01 1 +x7yR4WekD59VLb dHm 13.13 1 +xA3ZZPZGPZz4CpmIZb2pY4 iBd 93.5 1 +xAAbqdhFMj6rSoxEeXFxayWG 1Ea 90.9 1 +xGC0PGdvKZB4eUcFBXmo ghE 52.33 1 +xGwqgX1dUF9upg31 JPk 90.06 1 +xIx1Qj1OVMQcbT1 0DR 42.71 1 +xQVPiCddOZqGJuFBB Loc 30.13 1 +xWLVk81UzxCLYHDTkL 2vd 90.35 1 +xavgftQfXQ2FZL1PQtpo DRX 5.93 1 +xcjnBI7rtrPAT2nE uEX 41.79 1 +xetPAvJWrG2DGibcgI IBH 29.69 1 +xgZtZKhbcoWThEw5wGB RbE 24.88 1 +xjMmd163QZIDupNo Yth 56.1 1 +xjuf1THNUvBJ626XGBc1 Sg8 92.39 1 +xmRyNN5aCowYqCef 7NC 96.55 1 +xmtGtFPXUDZX9d2TMarr9Fs Vor 89.33 1 +xpERJlyvsUZItE04J1Ifl zSF 61.67 1 +xt2xS7RTO3djz9B1dsLt55cu hPf 41.6 1 +y0ztVqQkc9RISpY uef 51.97 1 +y1nNGFSAwyHreeOjIj ltB 5.36 1 +yBsTxoMOSuL2OQ6KMEPM6cLK TyT 6.22 1 +yCQo33cLmsgVVxx m6t 25.59 1 +yCwguRlWVZMAIfHgUmaVt cyz 67.13 1 +yDnENznEnLVzCGuoCOBHQG zWy 81.52 1 +yGIKSz03msfYEVQI2qKIsj kHY 50.91 1 +yJqU1OETNzihkL qtD 44.5 1 +yMnutEiPxpbXt1GnoFGd3G3 L8B 58.22 1 +yTa6a8QRg8ErVXd1B8 AgK 36.93 1 +yU0rQeGImscj8aaVrHmJ5 VWP 5.68 1 +yX6T4dG06qhQZ6Otyjb 6Nc 14.11 1 +ybDJ3X8oUNt3U4bf OQq 4.21 1 +ydqWU0Zcxp52Cvl fOF 43.42 1 +ypUZzU8lhQP1n3xYR1NIb Kyu 28.1 1 +yuYQXEuOB5Xl2HnsqMiWlZxB LJV 87.42 1 +yvpKM5VDTQ80aN7rZncvZM c0X 78.57 1 +ywbfIhFx8pBVpRXty vHh 29.87 1 +yztTo8pZgplkub6M Na9 37.86 1 +z2axjEQyGHLyCNMi9aF2TMlA TRx 56.45 1 +z3CNwWMBczlLeLQTXrYhxhHF 6tB 38.29 1 +z3cSvDFe3sMKsHyfWCRZdXQ Cor 71.94 1 +z4Kt5fRtrD2I4Jun0idlD7s Od7 80.61 1 +z4LNvVvPttwYhL caS 81.03 1 +z6CpY3vGToEeFoGFvVoX5L RHm 91.19 1 +zBm65MU6sxXieUOllu WZN 86.21 1 +zDWUNTGRNSVHDtC34oEZ4E 3du 86.19 1 +zDhfnfp94ZBkpL qbe 16.66 1 +zNRXf8lbdh1mSGU9mV4L Qty 18.76 1 +zOGsAMgiUpRD1lCUb34ATM dnJ 7.53 1 +zQd0y5Nz7NkI4bCxbxkM9 TSW 75.19 1 +zROImS2r0gmZPHu2 C2U 70.08 1 +zTjEQkKztB9qh57r MpR 45.86 1 +zUG8qz5tVC5vTWgup uRL 96.19 1 +zXHVES5b2EC0vsIItf NeC 17.83 1 +zXcDPC1sQRwiXKICxW MMN 25.92 1 +zY76m194yqaEKSZ027ZiaHfL CI8 61.72 1 +zbNu1xxEjde6HW C5d 77.68 1 +zd84PS7RDAWhYJ BaV 20.37 1 +zf2p9ajWtGH29kZYoWdGrU j3s 9.26 1 +zg8ggpg3qkR0RmfHa kg6 9.34 1 +zpokwAZYw1YQkw2 VvO 55.16 1 +zq46tAk9DESTglVxmU 0kA 89.53 1 +zrfVBd1A6T23x5PhAv pZt 61.89 1 +zxMHyXniVBNuJHq1qBSv OYJ 50.15 1 +zyBFm2DG74zK26LL6Ga CNK 59.42 1 +zynrGW9lxFY417 vGS 76.27 1 +zz3rluGqjB9PkRZdk8aLo 8KV 97.04 1 diff --git a/e2e_test/ch_benchmark/streaming/q18.slt.part b/e2e_test/ch_benchmark/streaming/q18.slt.part index f36a6c873903c..52edcd1d1d0bb 100644 --- a/e2e_test/ch_benchmark/streaming/q18.slt.part +++ b/e2e_test/ch_benchmark/streaming/q18.slt.part @@ -1,27 +1,27 @@ query TIITIR rowsort select * from ch_benchmark_q18; ---- - BARBAREING 10 2015-11-22 00:00:00 5 8745 - BARBAREING 10 2015-11-22 00:00:00 6 4321 - BARBARBAR 1 2022-10-19 04:54:01.318735 10 2204.5 - BARBAROUGHT 2 2022-10-19 04:54:01.355980 10 2204.5 - BARBARABLE 3 2022-10-19 04:54:01.393707 10 2204.5 - BARBARPRI 4 2022-10-19 04:54:01.425037 10 2204.5 - BARBARPRES 5 2022-10-19 04:54:01.454565 10 2204.5 - BARBARESE 6 2022-10-19 04:54:01.488399 10 2204.5 - BARBARANTI 7 2022-10-19 04:54:01.517262 10 2204.5 - BARBARCALLY 8 2022-10-19 04:54:01.544865 10 2204.5 - BARBARATION 9 2022-10-19 04:54:01.574206 10 2204.5 - BARBAREING 10 2022-10-19 04:54:01.604573 10 2204.5 - BARBARBAR 1 2022-10-19 04:54:01.631562 10 1235.19 - BARBAROUGHT 2 2022-10-19 04:54:01.658944 10 1235.19 - BARBARABLE 3 2022-10-19 04:54:01.687472 10 1235.19 - BARBARPRI 4 2022-10-19 04:54:01.713870 10 1235.19 - BARBARPRES 5 2022-10-19 04:54:01.740868 10 1235.19 - BARBARESE 6 2022-10-19 04:54:01.766780 10 1235.19 - BARBARANTI 7 2022-10-19 04:54:01.794099 10 1235.19 - BARBARCALLY 8 2022-10-19 04:54:01.822417 10 1235.19 - BARBARATION 9 2022-10-19 04:54:01.847674 10 1235.19 - BARBAREING 10 2022-10-19 04:54:01.875578 10 1235.19 - BARBARATION 9 2015-11-22 00:00:00 6 998 - BARBARCALLY 8 2015-11-22 00:00:00 5 543 +BARBARABLE 3 2022-10-19 04:54:01.393707 10 2204.5 +BARBARABLE 3 2022-10-19 04:54:01.687472 10 1235.19 +BARBARANTI 7 2022-10-19 04:54:01.517262 10 2204.5 +BARBARANTI 7 2022-10-19 04:54:01.794099 10 1235.19 +BARBARATION 9 2015-11-22 00:00:00 6 998 +BARBARATION 9 2022-10-19 04:54:01.574206 10 2204.5 +BARBARATION 9 2022-10-19 04:54:01.847674 10 1235.19 +BARBARBAR 1 2022-10-19 04:54:01.318735 10 2204.5 +BARBARBAR 1 2022-10-19 04:54:01.631562 10 1235.19 +BARBARCALLY 8 2015-11-22 00:00:00 5 543 +BARBARCALLY 8 2022-10-19 04:54:01.544865 10 2204.5 +BARBARCALLY 8 2022-10-19 04:54:01.822417 10 1235.19 +BARBAREING 10 2015-11-22 00:00:00 5 8745 +BARBAREING 10 2015-11-22 00:00:00 6 4321 +BARBAREING 10 2022-10-19 04:54:01.604573 10 2204.5 +BARBAREING 10 2022-10-19 04:54:01.875578 10 1235.19 +BARBARESE 6 2022-10-19 04:54:01.488399 10 2204.5 +BARBARESE 6 2022-10-19 04:54:01.766780 10 1235.19 +BARBAROUGHT 2 2022-10-19 04:54:01.355980 10 2204.5 +BARBAROUGHT 2 2022-10-19 04:54:01.658944 10 1235.19 +BARBARPRES 5 2022-10-19 04:54:01.454565 10 2204.5 +BARBARPRES 5 2022-10-19 04:54:01.740868 10 1235.19 +BARBARPRI 4 2022-10-19 04:54:01.425037 10 2204.5 +BARBARPRI 4 2022-10-19 04:54:01.713870 10 1235.19 diff --git a/e2e_test/ch_benchmark/streaming/q3.slt.part b/e2e_test/ch_benchmark/streaming/q3.slt.part index 5d0dd4f979fc2..b6a840251d873 100644 --- a/e2e_test/ch_benchmark/streaming/q3.slt.part +++ b/e2e_test/ch_benchmark/streaming/q3.slt.part @@ -1,21 +1,21 @@ query IIIIT rowsort select * from ch_benchmark_q3; ---- - 2111 1 4 21 2015-11-22 00:00:00 - 2107 1 4 0 2015-11-22 00:00:00 - 2105 1 7 0 2015-11-22 00:00:00 - 2112 1 2 0 2015-11-22 00:00:00 - 2106 1 9 0 2015-11-22 00:00:00 - 2108 1 6 0 2015-11-22 00:00:00 - 2108 1 2 0 2015-11-22 00:00:00 - 2109 1 4 0 2015-11-22 00:00:00 - 2112 1 8 0 2015-11-22 00:00:00 - 2114 1 4 0 2015-11-22 00:00:00 - 2110 1 7 0 2015-11-22 00:00:00 - 2107 1 8 0 2015-11-22 00:00:00 - 2113 1 2 0 2015-11-22 00:00:00 - 2106 1 4 0 2015-11-22 00:00:00 - 2111 1 9 0 2015-11-22 00:00:00 - 2112 1 4 0 2015-11-22 00:00:00 - 2107 1 2 0 2015-11-22 00:00:00 - 2113 1 6 0 2015-11-22 00:00:00 +2105 1 7 0 2015-11-22 00:00:00 +2106 1 4 0 2015-11-22 00:00:00 +2106 1 9 0 2015-11-22 00:00:00 +2107 1 2 0 2015-11-22 00:00:00 +2107 1 4 0 2015-11-22 00:00:00 +2107 1 8 0 2015-11-22 00:00:00 +2108 1 2 0 2015-11-22 00:00:00 +2108 1 6 0 2015-11-22 00:00:00 +2109 1 4 0 2015-11-22 00:00:00 +2110 1 7 0 2015-11-22 00:00:00 +2111 1 4 21 2015-11-22 00:00:00 +2111 1 9 0 2015-11-22 00:00:00 +2112 1 2 0 2015-11-22 00:00:00 +2112 1 4 0 2015-11-22 00:00:00 +2112 1 8 0 2015-11-22 00:00:00 +2113 1 2 0 2015-11-22 00:00:00 +2113 1 6 0 2015-11-22 00:00:00 +2114 1 4 0 2015-11-22 00:00:00 diff --git a/e2e_test/ch_benchmark/streaming/q4.slt.part b/e2e_test/ch_benchmark/streaming/q4.slt.part index f7d453c5f02be..0ac7e6e303477 100644 --- a/e2e_test/ch_benchmark/streaming/q4.slt.part +++ b/e2e_test/ch_benchmark/streaming/q4.slt.part @@ -1,12 +1,12 @@ query II rowsort select * from ch_benchmark_q4; ---- - 5 10 - 6 14 - 7 14 - 8 16 - 9 16 -10 10 -11 12 -12 6 -13 2 +10 10 +11 12 +12 6 +13 2 +5 10 +6 14 +7 14 +8 16 +9 16 diff --git a/e2e_test/ch_benchmark/streaming/views/q1.slt.part b/e2e_test/ch_benchmark/streaming/views/q1.slt.part index 05b41e31601e0..d90941cbc1fbd 100644 --- a/e2e_test/ch_benchmark/streaming/views/q1.slt.part +++ b/e2e_test/ch_benchmark/streaming/views/q1.slt.part @@ -1,4 +1,5 @@ # Todo: The precision is different from PostgresSql, Same issue in TPCH. We use `round` to ignore the imprecision. + statement ok create materialized view ch_benchmark_q1 as select ol_number, From 4558d3bff4c3f65ba2d2c4f9f35f4ed65f62710b Mon Sep 17 00:00:00 2001 From: Bugen Zhao Date: Mon, 12 Dec 2022 10:21:03 +0000 Subject: [PATCH 26/26] specify revision for sqllogictest Signed-off-by: Bugen Zhao --- ci/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/Dockerfile b/ci/Dockerfile index 626b21a1785d4..8a950c493bf2b 100644 --- a/ci/Dockerfile +++ b/ci/Dockerfile @@ -28,7 +28,7 @@ RUN rustup component add rustfmt llvm-tools-preview clippy # install build tools RUN cargo install cargo-llvm-cov cargo-nextest cargo-udeps cargo-hakari cargo-sort cargo-make cargo-cache \ - && cargo install --git https://github.com/risinglightdb/sqllogictest-rs --bin sqllogictest \ + && cargo install --git https://github.com/risinglightdb/sqllogictest-rs --rev 65b122f --bin sqllogictest \ && cargo cache -a \ && rm -rf "/root/.cargo/registry/index" \ && rm -rf "/root/.cargo/registry/cache" \