2024/08/19-23:57:01.162957 140500288423488 DEBG dcompact_worker.cpp:2211: /storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-00672/att-00: fork to child time = 0.011780 sec 2024/08/19-23:57:01.163977 140500288423488 DEBG dcompact_worker.cpp:1011: Beg SerDeRead: /storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-00672/att-00 2024/08/19-23:57:01.168741 140500288423488 DEBG dcompact_worker.cpp:1031: End SerDeRead: /storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-00672/att-00 2024/08/19-23:57:01.170096 140500288423488 TRAC dcompact_worker.cpp:1081: INFO_LOG_LEVEL: rpc = INFO_LEVEL, env_var = undefined 2024/08/19-23:57:01.170415 140500288423488 [WARN] [column_family.cc:386] multiple cf_paths/db_paths and level_compaction_dynamic_level_bytes can't be used together 2024/08/19-23:57:01.221496 140500288423488 [version_set.cc:6139] Recovering from manifest file: /worker/dcompact-log/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/2024-08-19T23.41.30/.rocksdb/job-00672/att-00/MANIFEST-14619535 2024/08/19-23:57:01.302549 140500288423488 [version_set.cc:6182] Recovered from manifest file:/worker/dcompact-log/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/2024-08-19T23.41.30/.rocksdb/job-00672/att-00/MANIFEST-14619535 succeeded,manifest_file_number is 14619535, next_file_number is 14620264, last_sequence is 189594624262, log_number is 0,prev_log_number is 0,max_column_family is 0,min_log_number_to_keep is 14620156 2024/08/19-23:57:01.302560 140500288423488 [version_set.cc:6197] Column family [default] (ID 0), log number is 0 2024/08/19-23:57:01.302632 140500288423488 [version_set.cc:5652] Creating manifest 14620264 2024/08/19-23:57:01.336979 140500288423488 DEBG dcompact_worker.cpp:1215: /storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-00672/att-00: bottommost_level: fake = 1, rpc = 0 2024/08/19-23:57:01.354497 140500288423488 [compaction_job.cc:2433] [default] [JOB 672] Compacting 1@3 + 2@4 files to L4, score 1.00, subcompactions 1 : 1 2024/08/19-23:57:01.354512 140500288423488 [compaction_job.cc:2441] [default]: Compaction start summary: Base version 342 Base level 3, inputs: [14620018(38MB)], [14618538(19MB) 14617168(28MB)] 2024/08/19-23:57:01.363388 140500288423488 [top_zip_table.cc:59] core git_version_hash_info_is:commit 7517bad5c1a147474c3830831b9a22c996321ae8 Author: leipeng Date: 2024-01-08 19:18:17 +0800 vfork_cmd: call close before wait_finish g++ (GCC) 12.1.0 Copyright (C) 2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. INCS = -Isrc -I3rdparty/re2 -I3rdparty/zstd -Iboost-include CXXFLAGS = -D TOPLING_IO_WITH_URING=1 -fPIC -time -Wno-class-memaccess -fdiagnostics-color -Wformat=2 -Wcomment -Wall -Wextra -Wno-unused-parameter -Wno-alloc-size-larger-than -mcx16 -Wno-deprecated-declarations -Wstrict-aliasing=3 -DCLIENT_LICENSE_ID="public" -DNO_THREADS -ftls-model=initial-exec -DDIVSUFSORT_API= -fno-stack-protector RLS_FLAGS = -O3 -DNDEBUG -g3 WITH_BMI2 = 1 compile_cpu_flag: -march=haswell -mbmi -mbmi2 2024/08/19-23:57:01.363438 140500288423488 [top_zip_table.cc:60] fsa git_version_hash_info_is:commit 7517bad5c1a147474c3830831b9a22c996321ae8 Author: leipeng Date: 2024-01-08 19:18:17 +0800 vfork_cmd: call close before wait_finish g++ (GCC) 12.1.0 Copyright (C) 2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. INCS = -Isrc -I3rdparty/re2 -I3rdparty/zstd -Iboost-include CXXFLAGS = -D TOPLING_IO_WITH_URING=1 -fPIC -time -Wno-class-memaccess -fdiagnostics-color -Wformat=2 -Wcomment -Wall -Wextra -Wno-unused-parameter -Wno-alloc-size-larger-than -mcx16 -Wno-deprecated-declarations -Wstrict-aliasing=3 -DCLIENT_LICENSE_ID="public" -DNO_THREADS -ftls-model=initial-exec -DDIVSUFSORT_API= -fno-stack-protector RLS_FLAGS = -O3 -DNDEBUG -g3 WITH_BMI2 = 1 compile_cpu_flag: -march=haswell -mbmi -mbmi2 2024/08/19-23:57:01.363465 140500288423488 [top_zip_table.cc:61] zbs git_version_hash_info_is:commit 7517bad5c1a147474c3830831b9a22c996321ae8 Author: leipeng Date: 2024-01-08 19:18:17 +0800 vfork_cmd: call close before wait_finish g++ (GCC) 12.1.0 Copyright (C) 2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. INCS = -Isrc -I3rdparty/re2 -I3rdparty/zstd -Iboost-include CXXFLAGS = -D TOPLING_IO_WITH_URING=1 -fPIC -time -Wno-class-memaccess -fdiagnostics-color -Wformat=2 -Wcomment -Wall -Wextra -Wno-unused-parameter -Wno-alloc-size-larger-than -mcx16 -Wno-deprecated-declarations -Wstrict-aliasing=3 -DCLIENT_LICENSE_ID="public" -DNO_THREADS -ftls-model=initial-exec -DDIVSUFSORT_API= -fno-stack-protector RLS_FLAGS = -O3 -DNDEBUG -g3 WITH_BMI2 = 1 compile_cpu_flag: -march=haswell -mbmi -mbmi2 2024/08/19-23:57:01.363476 140500288423488 [top_zip_table.cc:62] topling-zip_table_reader: git_version_hash_info_is: commit 7f80399bfbd2071b6e0f5683e8ab7225b8e6e394 Author: leipeng Date: 2024-01-19 14:52:30 +0800 Change ToplingZipTableOptions::sampleRatio to vector g++ (GCC) 12.1.0 Copyright (C) 2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. cpu_flag: -march=native -mbmi -mbmi2 2024/08/19-23:57:01.363487 140500288423488 [top_zip_table.cc:64] topling-rocks git_version_hash_info_is: commit 1240987ca13d0fe562c9b9c037155079f0877840 Author: leipeng Date: 2024-01-19 15:07:04 +0800 Change ToplingZipTableOptions::sampleRatio to vector g++ (GCC) 12.1.0 Copyright (C) 2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. cpu_flag: -march=native -mbmi -mbmi2 2024/08/19-23:57:01.859816 140500288423488 [top_zip_table_builder.cc:934] ToplingZipTableBuilder(/storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-00672/att-00/14620265.sst) /dev/shm/ToplingTemp/Topling-65141-c9NlyP 2024/08/19-23:57:03.659399 140500288423488 [top_zip_table_builder.cc:1344] ToplingZipTableBuilder::Finish(/storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-00672/att-00/14620265.sst): first pass time = 1.80's, 149.171'MB/sec 2024/08/19-23:57:17.053116 140500288423488 [top_zip_table_builder.cc:2764] ToplingZipTableBuilder::Finish(/storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-00672/att-00/14620265.sst): old prealloc_size = 99680237, real_size = 72810656 2024/08/19-23:57:17.054511 140500288423488 [top_zip_table_builder.cc:1765] BuildReorderMap(/storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-00672/att-00/14620265.sst): index type = NestLoudsTrieDAWG_Mixed_XL_256_32_FL, store type = DictZipBlobStore usrkeys = 1860209 prefix = 4 raw-key = 0.0298 GB zip-key = 0.0035 GB avg-key = 16.00 avg-zkey = 1.90 raw-val = 0.2163 GB zip-val = 0.0688 GB avg-val = 116.30 avg-zval = 36.99 2024/08/19-23:57:17.062966 140500288423488 [top_zip_table_builder.cc:1295] /storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-00672/att-00/14620265.sst: sumWaitingMem = 0.005 GB, sumWorkingMem = 0.020 GB, reorder workingMem = 0.0049 GB, waited 0.000 sec, Key+Value = 0.268 GB 2024/08/19-23:57:19.503371 140500288423488 [top_zip_table_builder.cc:3092] ToplingZipTableBuilder::Finish(/storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-00672/att-00/14620265.sst): second pass time = 13.39's, 16.156'MB/sec, value only(80.6% of KV) wait indexing time = 0.00's, remap KeyValue time = 2.45's, 33.070'MB/sec (all stages of remap) Get OrderMap time = 0.00's, 2620.147'MB/sec (index lex order gen) rebuild zvType time = 1.88's, 0.247'MB/sec write SST data time = 0.56's, 143.579'MB/sec dict compress time = 4356233619.02's, 0.000'MB/sec z-dict build time = 0.00's, sample length = 2.157'MB, throughput = 14301.594'MB/sec zip my value time = 13.39's, unzip length = 0.216'GB zip my value throughput = 16.156'MB/sec zip pipeline throughput = 112.675'MB/sec entries = 1860209 avg-key = 28.00 avg-zkey = 1.90 avg-val = 116.30 avg-zval = 36.99 usrkeys = 1860209 avg-key = 20.00 avg-zkey = 1.90 avg-val = 123.30 avg-zval = 36.99 TagRS{ kinds = RS_Key0_Tag1 bytes = 0 } TagArray{ size = 1860209 bytes = 6510752 } seq expand size = 13021463 multi value expand size = 0 cnt WriteAppend = 15 UnZipSize{ index = 0.0372 GB value = 0.2163 GB dict = 2.16 MB all = 0.2684 GB } __ZipSize{ index = 0.0035 GB value = 0.0688 GB dict = 2.16 MB all = 0.0810 GB } UnZip/Zip{ index = 10.5168 value = 3.1443 dict = 1.00 all = 3.3128 } Zip/UnZip{ index = 0.0951 value = 0.3180 dict = 1.00 all = 0.3019 } ---------------------------- total value len = 62.526121 GB avg = 0.180 KB (by entry num) total key len = 6.840844 GB avg = 0.020 KB total ukey len = 3.226712 GB avg = 0.008 KB total ukey num = 0.391193770 Billion total entry num = 0.348071778 Billion write speed all = 3.016177795 MB/sec (with seq num) write speed all = 2.895100406 MB/sec (without seq num) 2024/08/19-23:57:19.599565 140500288423488 [compaction_job.cc:1944] [default] [JOB 672] Generated table #14620265: 1860209 keys, 81030925 bytes, temperature: kWarm 2024/08/19-23:57:19.599678 140500288423488 EVENT_LOG_v1 {"time_micros": 1724083039599614, "cf_name": "default", "job": 672, "event": "table_file_creation", "file_number": 14620265, "file_size": 81030925, "file_checksum": "", "file_checksum_func_name": "Unknown", "smallest_seqno": 189410456253, "largest_seqno": 189587259131, "table_properties": {"data_size": 68807824, "index_size": 3537600, "index_partitions": 0, "top_level_index_size": 0, "index_key_is_user_key": 0, "index_value_is_delta_encoded": 0, "filter_size": 0, "raw_key_size": 52085852, "raw_average_key_size": 28, "raw_value_size": 216349690, "raw_average_value_size": 116, "num_data_blocks": 1, "num_entries": 1860209, "num_filter_entries": 0, "num_deletions": 0, "num_merge_operands": 0, "num_range_deletions": 0, "format_version": 0, "fixed_key_len": 28, "fixed_value_len": 18446744073709551615, "filter_policy": "", "column_family_name": "default", "column_family_id": 0, "comparator": "leveldb.BytewiseComparator", "merge_operator": "nullptr", "prefix_extractor_name": "nullptr", "property_collectors": "[Rdb_tbl_prop_coll_factory]", "compression": "FlatZip", "compression_options": "RS_Key0_Tag1-NestLoudsTrieDAWG_Mixed_XL_256_32_FL-DictZipBlobStore", "creation_time": 1724083021, "oldest_key_time": 0, "file_creation_time": 1724083021, "slow_compression_estimated_data_size": 0, "fast_compression_estimated_data_size": 0, "db_id": "a007a635-5c0a-4b4a-be96-b9c695cb016b", "db_session_id": "9474K4QZ2QA6TIYF9LEW", "orig_file_number": 14620265, "seqno_to_time_mapping": "N/A", "__indexstats__": "[...1 records...]"}} 2024/08/19-23:57:19.700699 140500288423488 [top_zip_table_builder.cc:934] ToplingZipTableBuilder(/storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-00672/att-00/14620266.sst) /dev/shm/ToplingTemp/Topling-65141-Ur1luR 2024/08/19-23:57:19.892088 140500288423488 [top_zip_table_builder.cc:1344] ToplingZipTableBuilder::Finish(/storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-00672/att-00/14620266.sst): first pass time = 0.19's, 123.314'MB/sec 2024/08/19-23:57:21.109397 140500288423488 [top_zip_table_builder.cc:2764] ToplingZipTableBuilder::Finish(/storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-00672/att-00/14620266.sst): old prealloc_size = 99680237, real_size = 6719744 2024/08/19-23:57:21.109582 140500288423488 [top_zip_table_builder.cc:1765] BuildReorderMap(/storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-00672/att-00/14620266.sst): index type = NestLoudsTrieDAWG_Mixed_XL_256_32_FL, store type = DictZipBlobStore usrkeys = 164991 prefix = 4 raw-key = 0.0026 GB zip-key = 0.0003 GB avg-key = 16.00 avg-zkey = 1.91 raw-val = 0.0190 GB zip-val = 0.0064 GB avg-val = 115.00 avg-zval = 38.57 2024/08/19-23:57:21.109779 140500288423488 [top_zip_table_builder.cc:1295] /storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-00672/att-00/14620266.sst: sumWaitingMem = 0.000 GB, sumWorkingMem = 0.020 GB, reorder workingMem = 0.0004 GB, waited 0.000 sec, Key+Value = 0.024 GB 2024/08/19-23:57:21.371652 140500288423488 [top_zip_table_builder.cc:3092] ToplingZipTableBuilder::Finish(/storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-00672/att-00/14620266.sst): second pass time = 1.22's, 15.602'MB/sec, value only(80.4% of KV) wait indexing time = 0.00's, remap KeyValue time = 0.26's, 28.355'MB/sec (all stages of remap) Get OrderMap time = 0.00's, 1959.370'MB/sec (index lex order gen) rebuild zvType time = 0.18's, 0.227'MB/sec write SST data time = 0.08's, 92.947'MB/sec dict compress time = 4356233619.02's, 0.000'MB/sec z-dict build time = 0.00's, sample length = 0.198'MB, throughput = 3673.255'MB/sec zip my value time = 1.22's, unzip length = 0.019'GB zip my value throughput = 15.602'MB/sec zip pipeline throughput = 151.363'MB/sec entries = 164991 avg-key = 28.00 avg-zkey = 1.91 avg-val = 115.00 avg-zval = 38.57 usrkeys = 164991 avg-key = 20.00 avg-zkey = 1.91 avg-val = 122.00 avg-zval = 38.57 TagRS{ kinds = RS_Key0_Tag1 bytes = 0 } TagArray{ size = 164991 bytes = 556864 } seq expand size = 1154937 multi value expand size = 0 cnt WriteAppend = 13 UnZipSize{ index = 0.0033 GB value = 0.0190 GB dict = 0.20 MB all = 0.0236 GB } __ZipSize{ index = 0.0003 GB value = 0.0064 GB dict = 0.20 MB all = 0.0074 GB } UnZip/Zip{ index = 10.4690 value = 2.9818 dict = 1.00 all = 3.1729 } Zip/UnZip{ index = 0.0955 value = 0.3354 dict = 1.00 all = 0.3152 } ---------------------------- total value len = 62.546249 GB avg = 0.180 KB (by entry num) total key len = 6.845463 GB avg = 0.020 KB total ukey len = 3.230011 GB avg = 0.008 KB total ukey num = 0.391358761 Billion total entry num = 0.348236769 Billion write speed all = 3.017008793 MB/sec (with seq num) write speed all = 2.895883851 MB/sec (without seq num) 2024/08/19-23:57:21.391881 140500288423488 [compaction_job.cc:1944] [default] [JOB 672] Generated table #14620266: 164991 keys, 7435880 bytes, temperature: kWarm 2024/08/19-23:57:21.392036 140500288423488 EVENT_LOG_v1 {"time_micros": 1724083041391920, "cf_name": "default", "job": 672, "event": "table_file_creation", "file_number": 14620266, "file_size": 7435880, "file_checksum": "", "file_checksum_func_name": "Unknown", "smallest_seqno": 189410457380, "largest_seqno": 189514105169, "table_properties": {"data_size": 6363120, "index_size": 315200, "index_partitions": 0, "top_level_index_size": 0, "index_key_is_user_key": 0, "index_value_is_delta_encoded": 0, "filter_size": 0, "raw_key_size": 4619748, "raw_average_key_size": 28, "raw_value_size": 18973478, "raw_average_value_size": 114, "num_data_blocks": 1, "num_entries": 164991, "num_filter_entries": 0, "num_deletions": 0, "num_merge_operands": 0, "num_range_deletions": 0, "format_version": 0, "fixed_key_len": 28, "fixed_value_len": 18446744073709551615, "filter_policy": "", "column_family_name": "default", "column_family_id": 0, "comparator": "leveldb.BytewiseComparator", "merge_operator": "nullptr", "prefix_extractor_name": "nullptr", "property_collectors": "[Rdb_tbl_prop_coll_factory]", "compression": "FlatZip", "compression_options": "RS_Key0_Tag1-NestLoudsTrieDAWG_Mixed_XL_256_32_FL-DictZipBlobStore", "creation_time": 1724083039, "oldest_key_time": 0, "file_creation_time": 1724083039, "slow_compression_estimated_data_size": 0, "fast_compression_estimated_data_size": 0, "db_id": "a007a635-5c0a-4b4a-be96-b9c695cb016b", "db_session_id": "9474K4QZ2QA6TIYF9LEW", "orig_file_number": 14620266, "seqno_to_time_mapping": "N/A", "__indexstats__": "[...1 records...]"}} 2024/08/19-23:57:21.403700 140500288423488 [compaction_job.cc:699] job-00672: subcompact[0], size: 0.088467 G, files: /storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-00672/att-00 [14620265,14620266] 2024/08/19-23:57:21.438515 140500288423488 (Original Log Time 2024/08/19-23:57:01.354570) EVENT_LOG_v1 {"time_micros": 1724083021354526, "job": 672, "event": "compaction_started", "compaction_reason": "LevelMaxLevelSize", "files_L3": [14620018], "files_L4": [14618538, 14617168], "score": 1.00002, "input_data_size": 90618398, "oldest_snapshot_seqno": 189594623721} 2024/08/19-23:57:21.438521 140500288423488 (Original Log Time 2024/08/19-23:57:21.437992) [compaction_job.cc:2018] [default] [JOB 672] Compacted 1@3 + 2@4 files to L4 => 88466805 bytes 2024/08/19-23:57:21.438523 140500288423488 (Original Log Time 2024/08/19-23:57:21.438430) [compaction_job.cc:1220] [default] compacted to: files[0 0 0 0 2 0 0] max score 0.00, MB/sec: 4.5 rd, 4.4 wr, level 4, files in(1, 2) out(2 +0 blob) MB in(38.8, 47.6 +0.0 blob) out(84.4 +0.0 blob), read-write-amplify(4.4) write-amplify(2.2) OK, records in: 2025200, records dropped: 0 output_compression: Snappy 2024/08/19-23:57:21.438534 140500288423488 (Original Log Time 2024/08/19-23:57:21.438487) EVENT_LOG_v1 {"time_micros": 1724083041438461, "cf": "default", "job": 672, "event": "compaction_finished", "compaction_time_micros": 20049144, "compaction_time_cpu_micros": 4064251, "output_level": 4, "num_output_files": 2, "total_output_size": 88466805, "num_input_records": 2025200, "num_output_records": 2025200, "num_subcompactions": 1, "output_compression": "Snappy", "num_single_delete_mismatches": 0, "num_single_delete_fallthrough": 0, "file_write_nanos": 73427039, "file_range_sync_nanos": 0, "file_fsync_nanos": 2117, "file_prepare_write_nanos": 7861, "lsm_state": [0, 0, 0, 0, 2, 0, 0]} 2024/08/19-23:57:21.556489 140500288423488 DEBG dcompact_worker.cpp:240: HttpPost: 200 OK: url = http://nlb-7zny4kaa1poal01o64.cn-shenzhen.nlb.aliyuncs.com:8443, body = {"instanceId":"nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137","labourId":"","dbId":"a007a635-5c0a-4b4a-be96-b9c695cb016b","dbStarts":1724082090,"starts":1724083021,"executesMs":20269,"compactionJobId":672,"attempt":0,"compactionInputRawBytes":292028768,"compactionInputZipBytes":90618398,"compactionOutputRawBytes":0,"compactionOutputZipBytes":88466805,"headers":{"Accept":"*/*","Connection":"close","Host":"aliyun-topling-saas.topling.cn:18443","RemoteIp":"120.24.192.169","X-Forwarded-For":"120.24.192.169","region":"cn-shenzhen","token":"e6474c481bd4415abc537135cc03626b","instance-token":"e6474c481bd4415abc537135cc03626b","provider":"aliyun","CloudMarketInstanceId":"si-59c0ae5c955845588903","MeteringAssit":"","Transfer-Encoding":"chunked","traceparent":"00-ac681a3753a00530d9d0d1814e71ea4c-a56667725bb2166e-00"}}, response = 2024/08/19-23:57:21.556604 140500288423488 INFO dcompact_worker.cpp:1456: finish /worker/dcompact-log/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/2024-08-19T23.41.30/.rocksdb/job-00672/att-00: olev 4, work 20.270 s, result 4.848 ms, install 0.571 ms, input{raw 278.500 MiB zip 86.420 MiB}