From 0bce80b6f86f62ce120f813f89803b26996a237d Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Thu, 20 Apr 2023 15:25:11 -0600 Subject: [PATCH] Fix remaining vim failures --- crates/util/src/test/marked_text.rs | 5 + crates/vim/src/editor_events.rs | 43 +- crates/vim/src/motion.rs | 1 + crates/vim/src/normal.rs | 10 +- crates/vim/src/object.rs | 15 +- .../src/test/neovim_backed_test_context.rs | 1 + crates/vim/src/vim.rs | 51 ++- .../test_change_sentence_object.json | 44 +- .../test_delete_sentence_object.json | 44 +- crates/vim/test_data/test_f_and_t.json | 430 +++++++++--------- 10 files changed, 331 insertions(+), 313 deletions(-) diff --git a/crates/util/src/test/marked_text.rs b/crates/util/src/test/marked_text.rs index dc91e7b5b6..dadf78622d 100644 --- a/crates/util/src/test/marked_text.rs +++ b/crates/util/src/test/marked_text.rs @@ -104,6 +104,10 @@ pub fn marked_text_ranges_by( /// ```text /// one «ˇreversed» selection and one «forwardˇ» selection /// ``` +/// +/// Any • characters in the input string will be replaced with spaces. This makes +/// it easier to test cases with trailing spaces, which tend to get trimmed from the +/// source code. pub fn marked_text_ranges( marked_text: &str, ranges_are_directed: bool, @@ -114,6 +118,7 @@ pub fn marked_text_ranges( let mut current_range_start = None; let mut current_range_cursor = None; + let marked_text = marked_text.replace("•", " "); for (marked_ix, marker) in marked_text.match_indices(&['«', '»', 'ˇ']) { unmarked_text.push_str(&marked_text[prev_marked_ix..marked_ix]); let unmarked_len = unmarked_text.len(); diff --git a/crates/vim/src/editor_events.rs b/crates/vim/src/editor_events.rs index 81fb03ea76..fadfdd3b0f 100644 --- a/crates/vim/src/editor_events.rs +++ b/crates/vim/src/editor_events.rs @@ -1,7 +1,6 @@ -use editor::{EditorBlurred, EditorFocused, EditorMode, EditorReleased, Event}; -use gpui::{AppContext, WindowContext}; - -use crate::{state::Mode, Vim}; +use crate::Vim; +use editor::{EditorBlurred, EditorFocused, EditorReleased}; +use gpui::AppContext; pub fn init(cx: &mut AppContext) { cx.subscribe_global(focused).detach(); @@ -15,33 +14,7 @@ fn focused(EditorFocused(editor): &EditorFocused, cx: &mut AppContext) { vim.update_active_editor(cx, |previously_active_editor, cx| { Vim::unhook_vim_settings(previously_active_editor, cx); }); - - vim.active_editor = Some(editor.downgrade()); - vim.editor_subscription = Some(cx.subscribe(editor, |editor, event, cx| match event { - Event::SelectionsChanged { local: true } => { - let editor = editor.read(cx); - if editor.leader_replica_id().is_none() { - let newest_empty = editor.selections.newest::(cx).is_empty(); - local_selections_changed(newest_empty, cx); - } - } - Event::InputIgnored { text } => { - Vim::active_editor_input_ignored(text.clone(), cx); - } - _ => {} - })); - - if vim.enabled { - let editor = editor.read(cx); - let editor_mode = editor.mode(); - let newest_selection_empty = editor.selections.newest::(cx).is_empty(); - - if editor_mode == EditorMode::Full && !newest_selection_empty { - vim.switch_mode(Mode::Visual { line: false }, true, cx); - } - } - - vim.sync_vim_settings(cx); + vim.set_active_editor(editor.clone(), cx); }); }); } @@ -73,11 +46,3 @@ fn released(EditorReleased(editor): &EditorReleased, cx: &mut AppContext) { }); }); } - -fn local_selections_changed(newest_empty: bool, cx: &mut WindowContext) { - Vim::update(cx, |vim, cx| { - if vim.enabled && vim.state.mode == Mode::Normal && !newest_empty { - vim.switch_mode(Mode::Visual { line: false }, false, cx) - } - }) -} diff --git a/crates/vim/src/motion.rs b/crates/vim/src/motion.rs index cc3ec06c47..cb583c0abe 100644 --- a/crates/vim/src/motion.rs +++ b/crates/vim/src/motion.rs @@ -117,6 +117,7 @@ pub fn init(cx: &mut AppContext) { } pub(crate) fn motion(motion: Motion, cx: &mut WindowContext) { + dbg!(&motion); if let Some(Operator::Namespace(_)) | Some(Operator::FindForward { .. }) | Some(Operator::FindBackward { .. }) = Vim::read(cx).active_operator() diff --git a/crates/vim/src/normal.rs b/crates/vim/src/normal.rs index 9f4cf449bd..edfec3d312 100644 --- a/crates/vim/src/normal.rs +++ b/crates/vim/src/normal.rs @@ -1017,15 +1017,17 @@ mod test { let test_case = indoc! {" ˇaaaˇbˇ ˇbˇ ˇbˇbˇ aˇaaˇbaaa ˇ ˇbˇaaˇa ˇbˇbˇb - ˇ + ˇ••• ˇb - "}; + " + } + .replace("•", " "); for count in 1..=3 { - cx.assert_binding_matches_all([&count.to_string(), "shift-f", "b"], test_case) + cx.assert_binding_matches_all([&count.to_string(), "shift-f", "b"], &test_case) .await; - cx.assert_binding_matches_all([&count.to_string(), "shift-t", "b"], test_case) + cx.assert_binding_matches_all([&count.to_string(), "shift-t", "b"], &test_case) .await; } } diff --git a/crates/vim/src/object.rs b/crates/vim/src/object.rs index fb09d7141f..5388dac1a2 100644 --- a/crates/vim/src/object.rs +++ b/crates/vim/src/object.rs @@ -434,19 +434,20 @@ mod test { use crate::test::{ExemptionFeatures, NeovimBackedTestContext}; const WORD_LOCATIONS: &'static str = indoc! {" - The quick ˇbrowˇnˇ + The quick ˇbrowˇnˇ••• fox ˇjuˇmpsˇ over - the lazy dogˇ + the lazy dogˇ•• ˇ ˇ ˇ - Thˇeˇ-ˇquˇickˇ ˇbrownˇ - ˇ - ˇ + Thˇeˇ-ˇquˇickˇ ˇbrownˇ• + ˇ•• + ˇ•• ˇ fox-jumpˇs over - the lazy dogˇ + the lazy dogˇ• ˇ - "}; + " + }; #[gpui::test] async fn test_change_word_object(cx: &mut gpui::TestAppContext) { diff --git a/crates/vim/src/test/neovim_backed_test_context.rs b/crates/vim/src/test/neovim_backed_test_context.rs index 9b6bf976ca..10234561d6 100644 --- a/crates/vim/src/test/neovim_backed_test_context.rs +++ b/crates/vim/src/test/neovim_backed_test_context.rs @@ -153,6 +153,7 @@ impl<'a> NeovimBackedTestContext<'a> { } } + dbg!(initial_state); let _state_context = self.set_shared_state(initial_state).await; let _keystroke_context = self.simulate_shared_keystrokes(keystrokes).await; self.assert_state_matches().await; diff --git a/crates/vim/src/vim.rs b/crates/vim/src/vim.rs index 32a3f6e3ea..a38c72f169 100644 --- a/crates/vim/src/vim.rs +++ b/crates/vim/src/vim.rs @@ -13,9 +13,10 @@ mod visual; use std::sync::Arc; use collections::CommandPaletteFilter; -use editor::{Bias, Cancel, Editor, EditorMode}; +use editor::{Bias, Cancel, Editor, EditorMode, Event}; use gpui::{ - actions, impl_actions, AppContext, Subscription, ViewContext, WeakViewHandle, WindowContext, + actions, impl_actions, AppContext, Subscription, ViewContext, ViewHandle, WeakViewHandle, + WindowContext, }; use language::CursorShape; use motion::Motion; @@ -142,6 +143,35 @@ impl Vim { cx.update_default_global(update) } + fn set_active_editor(&mut self, editor: ViewHandle, cx: &mut WindowContext) { + self.active_editor = Some(editor.downgrade()); + self.editor_subscription = Some(cx.subscribe(&editor, |editor, event, cx| match event { + Event::SelectionsChanged { local: true } => { + let editor = editor.read(cx); + if editor.leader_replica_id().is_none() { + let newest_empty = editor.selections.newest::(cx).is_empty(); + local_selections_changed(newest_empty, cx); + } + } + Event::InputIgnored { text } => { + Vim::active_editor_input_ignored(text.clone(), cx); + } + _ => {} + })); + + if self.enabled { + let editor = editor.read(cx); + let editor_mode = editor.mode(); + let newest_selection_empty = editor.selections.newest::(cx).is_empty(); + + if editor_mode == EditorMode::Full && !newest_selection_empty { + self.switch_mode(Mode::Visual { line: false }, true, cx); + } + } + + self.sync_vim_settings(cx); + } + fn update_active_editor( &self, cx: &mut WindowContext, @@ -179,6 +209,7 @@ impl Vim { } fn push_operator(&mut self, operator: Operator, cx: &mut WindowContext) { + dbg!("push_operator", &operator); self.state.operator_stack.push(operator); self.sync_vim_settings(cx); } @@ -218,6 +249,7 @@ impl Vim { } fn active_editor_input_ignored(text: Arc, cx: &mut WindowContext) { + dbg!(&text); if text.is_empty() { return; } @@ -253,11 +285,14 @@ impl Vim { cx.update_active_window(|cx| { if self.enabled { - self.active_editor = cx + let active_editor = cx .root_view() .downcast_ref::() .and_then(|workspace| workspace.read(cx).active_item(cx)) - .and_then(|item| item.downcast::().map(|h| h.downgrade())); + .and_then(|item| item.downcast::()); + if let Some(active_editor) = active_editor { + self.set_active_editor(active_editor, cx); + } self.switch_mode(Mode::Normal, false, cx); } self.sync_vim_settings(cx); @@ -291,3 +326,11 @@ impl Vim { editor.remove_keymap_context_layer::(); } } + +fn local_selections_changed(newest_empty: bool, cx: &mut WindowContext) { + Vim::update(cx, |vim, cx| { + if vim.enabled && vim.state.mode == Mode::Normal && !newest_empty { + vim.switch_mode(Mode::Visual { line: false }, false, cx) + } + }) +} diff --git a/crates/vim/test_data/test_change_sentence_object.json b/crates/vim/test_data/test_change_sentence_object.json index 11f99c8244..4afbae2713 100644 --- a/crates/vim/test_data/test_change_sentence_object.json +++ b/crates/vim/test_data/test_change_sentence_object.json @@ -53,46 +53,46 @@ {"Key":"i"} {"Key":"s"} {"Get":{"state":"The quick brown? Fox Jumps! ˇ","mode":"Insert"}} -{"Put":{"state":"ˇThe quick brown \nfox jumps over\nthe lazy dog. The quick \nbrown fox jumps over\n"}} +{"Put":{"state":"ˇThe quick brown\nfox jumps over\nthe lazy dog. The quick \nbrown fox jumps over\n"}} {"Key":"c"} {"Key":"i"} {"Key":"s"} {"Get":{"state":"ˇ The quick \nbrown fox jumps over\n","mode":"Insert"}} -{"Put":{"state":"The quick ˇbrown \nfox jumps over\nthe lazy dog. The quick \nbrown fox jumps over\n"}} +{"Put":{"state":"The quick ˇbrown\nfox jumps over\nthe lazy dog. The quick \nbrown fox jumps over\n"}} {"Key":"c"} {"Key":"i"} {"Key":"s"} {"Get":{"state":"ˇ The quick \nbrown fox jumps over\n","mode":"Insert"}} -{"Put":{"state":"The quick brownˇ \nfox jumps over\nthe lazy dog. The quick \nbrown fox jumps over\n"}} +{"Put":{"state":"The quick brownˇ\nfox jumps over\nthe lazy dog. The quick \nbrown fox jumps over\n"}} {"Key":"c"} {"Key":"i"} {"Key":"s"} {"Get":{"state":"ˇ The quick \nbrown fox jumps over\n","mode":"Insert"}} -{"Put":{"state":"The quick brown \nfox jumps over\nthe lazy doˇg. The quick \nbrown fox jumps over\n"}} +{"Put":{"state":"The quick brown\nfox jumps over\nthe lazy doˇg. The quick \nbrown fox jumps over\n"}} {"Key":"c"} {"Key":"i"} {"Key":"s"} {"Get":{"state":"ˇ The quick \nbrown fox jumps over\n","mode":"Insert"}} -{"Put":{"state":"The quick brown \nfox jumps over\nthe lazy dogˇ. The quick \nbrown fox jumps over\n"}} +{"Put":{"state":"The quick brown\nfox jumps over\nthe lazy dogˇ. The quick \nbrown fox jumps over\n"}} {"Key":"c"} {"Key":"i"} {"Key":"s"} {"Get":{"state":"ˇ The quick \nbrown fox jumps over\n","mode":"Insert"}} -{"Put":{"state":"The quick brown \nfox jumps over\nthe lazy dog.ˇ The quick \nbrown fox jumps over\n"}} +{"Put":{"state":"The quick brown\nfox jumps over\nthe lazy dog.ˇ The quick \nbrown fox jumps over\n"}} {"Key":"c"} {"Key":"i"} {"Key":"s"} -{"Get":{"state":"The quick brown \nfox jumps over\nthe lazy dog.ˇThe quick \nbrown fox jumps over\n","mode":"Insert"}} -{"Put":{"state":"The quick brown \nfox jumps over\nthe lazy dog. ˇThe quick \nbrown fox jumps over\n"}} +{"Get":{"state":"The quick brown\nfox jumps over\nthe lazy dog.ˇThe quick \nbrown fox jumps over\n","mode":"Insert"}} +{"Put":{"state":"The quick brown\nfox jumps over\nthe lazy dog. ˇThe quick \nbrown fox jumps over\n"}} {"Key":"c"} {"Key":"i"} {"Key":"s"} -{"Get":{"state":"The quick brown \nfox jumps over\nthe lazy dog. ˇ\n","mode":"Insert"}} -{"Put":{"state":"The quick brown \nfox jumps over\nthe lazy dog. The quick ˇ\nbrown fox jumps over\n"}} +{"Get":{"state":"The quick brown\nfox jumps over\nthe lazy dog. ˇ\n","mode":"Insert"}} +{"Put":{"state":"The quick brown\nfox jumps over\nthe lazy dog. The quick ˇ\nbrown fox jumps over\n"}} {"Key":"c"} {"Key":"i"} {"Key":"s"} -{"Get":{"state":"The quick brown \nfox jumps over\nthe lazy dog. ˇ\n","mode":"Insert"}} +{"Get":{"state":"The quick brown\nfox jumps over\nthe lazy dog. ˇ\n","mode":"Insert"}} {"Put":{"state":"ˇThe quick brown.)]'\" Brown fox jumps. "}} {"Key":"c"} {"Key":"i"} @@ -188,46 +188,46 @@ {"Key":"a"} {"Key":"s"} {"Get":{"state":"The quick brown? Fox Jumps!ˇ","mode":"Insert"}} -{"Put":{"state":"ˇThe quick brown \nfox jumps over\nthe lazy dog. The quick \nbrown fox jumps over\n"}} +{"Put":{"state":"ˇThe quick brown\nfox jumps over\nthe lazy dog. The quick \nbrown fox jumps over\n"}} {"Key":"c"} {"Key":"a"} {"Key":"s"} {"Get":{"state":"ˇThe quick \nbrown fox jumps over\n","mode":"Insert"}} -{"Put":{"state":"The quick ˇbrown \nfox jumps over\nthe lazy dog. The quick \nbrown fox jumps over\n"}} +{"Put":{"state":"The quick ˇbrown\nfox jumps over\nthe lazy dog. The quick \nbrown fox jumps over\n"}} {"Key":"c"} {"Key":"a"} {"Key":"s"} {"Get":{"state":"ˇThe quick \nbrown fox jumps over\n","mode":"Insert"}} -{"Put":{"state":"The quick brownˇ \nfox jumps over\nthe lazy dog. The quick \nbrown fox jumps over\n"}} +{"Put":{"state":"The quick brownˇ\nfox jumps over\nthe lazy dog. The quick \nbrown fox jumps over\n"}} {"Key":"c"} {"Key":"a"} {"Key":"s"} {"Get":{"state":"ˇThe quick \nbrown fox jumps over\n","mode":"Insert"}} -{"Put":{"state":"The quick brown \nfox jumps over\nthe lazy doˇg. The quick \nbrown fox jumps over\n"}} +{"Put":{"state":"The quick brown\nfox jumps over\nthe lazy doˇg. The quick \nbrown fox jumps over\n"}} {"Key":"c"} {"Key":"a"} {"Key":"s"} {"Get":{"state":"ˇThe quick \nbrown fox jumps over\n","mode":"Insert"}} -{"Put":{"state":"The quick brown \nfox jumps over\nthe lazy dogˇ. The quick \nbrown fox jumps over\n"}} +{"Put":{"state":"The quick brown\nfox jumps over\nthe lazy dogˇ. The quick \nbrown fox jumps over\n"}} {"Key":"c"} {"Key":"a"} {"Key":"s"} {"Get":{"state":"ˇThe quick \nbrown fox jumps over\n","mode":"Insert"}} -{"Put":{"state":"The quick brown \nfox jumps over\nthe lazy dog.ˇ The quick \nbrown fox jumps over\n"}} +{"Put":{"state":"The quick brown\nfox jumps over\nthe lazy dog.ˇ The quick \nbrown fox jumps over\n"}} {"Key":"c"} {"Key":"a"} {"Key":"s"} -{"Get":{"state":"The quick brown \nfox jumps over\nthe lazy dog.ˇ\n","mode":"Insert"}} -{"Put":{"state":"The quick brown \nfox jumps over\nthe lazy dog. ˇThe quick \nbrown fox jumps over\n"}} +{"Get":{"state":"The quick brown\nfox jumps over\nthe lazy dog.ˇ\n","mode":"Insert"}} +{"Put":{"state":"The quick brown\nfox jumps over\nthe lazy dog. ˇThe quick \nbrown fox jumps over\n"}} {"Key":"c"} {"Key":"a"} {"Key":"s"} -{"Get":{"state":"The quick brown \nfox jumps over\nthe lazy dog.ˇ\n","mode":"Insert"}} -{"Put":{"state":"The quick brown \nfox jumps over\nthe lazy dog. The quick ˇ\nbrown fox jumps over\n"}} +{"Get":{"state":"The quick brown\nfox jumps over\nthe lazy dog.ˇ\n","mode":"Insert"}} +{"Put":{"state":"The quick brown\nfox jumps over\nthe lazy dog. The quick ˇ\nbrown fox jumps over\n"}} {"Key":"c"} {"Key":"a"} {"Key":"s"} -{"Get":{"state":"The quick brown \nfox jumps over\nthe lazy dog.ˇ\n","mode":"Insert"}} +{"Get":{"state":"The quick brown\nfox jumps over\nthe lazy dog.ˇ\n","mode":"Insert"}} {"Put":{"state":"ˇThe quick brown.)]'\" Brown fox jumps. "}} {"Key":"c"} {"Key":"a"} diff --git a/crates/vim/test_data/test_delete_sentence_object.json b/crates/vim/test_data/test_delete_sentence_object.json index 5e657f35d5..e45ebd5c4e 100644 --- a/crates/vim/test_data/test_delete_sentence_object.json +++ b/crates/vim/test_data/test_delete_sentence_object.json @@ -53,46 +53,46 @@ {"Key":"i"} {"Key":"s"} {"Get":{"state":"The quick brown? Fox Jumps!ˇ ","mode":"Normal"}} -{"Put":{"state":"ˇThe quick brown \nfox jumps over\nthe lazy dog. The quick \nbrown fox jumps over\n"}} +{"Put":{"state":"ˇThe quick brown\nfox jumps over\nthe lazy dog. The quick \nbrown fox jumps over\n"}} {"Key":"d"} {"Key":"i"} {"Key":"s"} {"Get":{"state":"ˇ The quick \nbrown fox jumps over\n","mode":"Normal"}} -{"Put":{"state":"The quick ˇbrown \nfox jumps over\nthe lazy dog. The quick \nbrown fox jumps over\n"}} +{"Put":{"state":"The quick ˇbrown\nfox jumps over\nthe lazy dog. The quick \nbrown fox jumps over\n"}} {"Key":"d"} {"Key":"i"} {"Key":"s"} {"Get":{"state":"ˇ The quick \nbrown fox jumps over\n","mode":"Normal"}} -{"Put":{"state":"The quick brownˇ \nfox jumps over\nthe lazy dog. The quick \nbrown fox jumps over\n"}} +{"Put":{"state":"The quick brownˇ\nfox jumps over\nthe lazy dog. The quick \nbrown fox jumps over\n"}} {"Key":"d"} {"Key":"i"} {"Key":"s"} {"Get":{"state":"ˇ The quick \nbrown fox jumps over\n","mode":"Normal"}} -{"Put":{"state":"The quick brown \nfox jumps over\nthe lazy doˇg. The quick \nbrown fox jumps over\n"}} +{"Put":{"state":"The quick brown\nfox jumps over\nthe lazy doˇg. The quick \nbrown fox jumps over\n"}} {"Key":"d"} {"Key":"i"} {"Key":"s"} {"Get":{"state":"ˇ The quick \nbrown fox jumps over\n","mode":"Normal"}} -{"Put":{"state":"The quick brown \nfox jumps over\nthe lazy dogˇ. The quick \nbrown fox jumps over\n"}} +{"Put":{"state":"The quick brown\nfox jumps over\nthe lazy dogˇ. The quick \nbrown fox jumps over\n"}} {"Key":"d"} {"Key":"i"} {"Key":"s"} {"Get":{"state":"ˇ The quick \nbrown fox jumps over\n","mode":"Normal"}} -{"Put":{"state":"The quick brown \nfox jumps over\nthe lazy dog.ˇ The quick \nbrown fox jumps over\n"}} +{"Put":{"state":"The quick brown\nfox jumps over\nthe lazy dog.ˇ The quick \nbrown fox jumps over\n"}} {"Key":"d"} {"Key":"i"} {"Key":"s"} -{"Get":{"state":"The quick brown \nfox jumps over\nthe lazy dog.ˇThe quick \nbrown fox jumps over\n","mode":"Normal"}} -{"Put":{"state":"The quick brown \nfox jumps over\nthe lazy dog. ˇThe quick \nbrown fox jumps over\n"}} +{"Get":{"state":"The quick brown\nfox jumps over\nthe lazy dog.ˇThe quick \nbrown fox jumps over\n","mode":"Normal"}} +{"Put":{"state":"The quick brown\nfox jumps over\nthe lazy dog. ˇThe quick \nbrown fox jumps over\n"}} {"Key":"d"} {"Key":"i"} {"Key":"s"} -{"Get":{"state":"The quick brown \nfox jumps over\nthe lazy dog.ˇ \n","mode":"Normal"}} -{"Put":{"state":"The quick brown \nfox jumps over\nthe lazy dog. The quick ˇ\nbrown fox jumps over\n"}} +{"Get":{"state":"The quick brown\nfox jumps over\nthe lazy dog.ˇ \n","mode":"Normal"}} +{"Put":{"state":"The quick brown\nfox jumps over\nthe lazy dog. The quick ˇ\nbrown fox jumps over\n"}} {"Key":"d"} {"Key":"i"} {"Key":"s"} -{"Get":{"state":"The quick brown \nfox jumps over\nthe lazy dog.ˇ \n","mode":"Normal"}} +{"Get":{"state":"The quick brown\nfox jumps over\nthe lazy dog.ˇ \n","mode":"Normal"}} {"Put":{"state":"ˇThe quick brown.)]'\" Brown fox jumps. "}} {"Key":"d"} {"Key":"i"} @@ -188,46 +188,46 @@ {"Key":"a"} {"Key":"s"} {"Get":{"state":"The quick brown? Fox Jumpsˇ!","mode":"Normal"}} -{"Put":{"state":"ˇThe quick brown \nfox jumps over\nthe lazy dog. The quick \nbrown fox jumps over\n"}} +{"Put":{"state":"ˇThe quick brown\nfox jumps over\nthe lazy dog. The quick \nbrown fox jumps over\n"}} {"Key":"d"} {"Key":"a"} {"Key":"s"} {"Get":{"state":"ˇThe quick \nbrown fox jumps over\n","mode":"Normal"}} -{"Put":{"state":"The quick ˇbrown \nfox jumps over\nthe lazy dog. The quick \nbrown fox jumps over\n"}} +{"Put":{"state":"The quick ˇbrown\nfox jumps over\nthe lazy dog. The quick \nbrown fox jumps over\n"}} {"Key":"d"} {"Key":"a"} {"Key":"s"} {"Get":{"state":"ˇThe quick \nbrown fox jumps over\n","mode":"Normal"}} -{"Put":{"state":"The quick brownˇ \nfox jumps over\nthe lazy dog. The quick \nbrown fox jumps over\n"}} +{"Put":{"state":"The quick brownˇ\nfox jumps over\nthe lazy dog. The quick \nbrown fox jumps over\n"}} {"Key":"d"} {"Key":"a"} {"Key":"s"} {"Get":{"state":"ˇThe quick \nbrown fox jumps over\n","mode":"Normal"}} -{"Put":{"state":"The quick brown \nfox jumps over\nthe lazy doˇg. The quick \nbrown fox jumps over\n"}} +{"Put":{"state":"The quick brown\nfox jumps over\nthe lazy doˇg. The quick \nbrown fox jumps over\n"}} {"Key":"d"} {"Key":"a"} {"Key":"s"} {"Get":{"state":"ˇThe quick \nbrown fox jumps over\n","mode":"Normal"}} -{"Put":{"state":"The quick brown \nfox jumps over\nthe lazy dogˇ. The quick \nbrown fox jumps over\n"}} +{"Put":{"state":"The quick brown\nfox jumps over\nthe lazy dogˇ. The quick \nbrown fox jumps over\n"}} {"Key":"d"} {"Key":"a"} {"Key":"s"} {"Get":{"state":"ˇThe quick \nbrown fox jumps over\n","mode":"Normal"}} -{"Put":{"state":"The quick brown \nfox jumps over\nthe lazy dog.ˇ The quick \nbrown fox jumps over\n"}} +{"Put":{"state":"The quick brown\nfox jumps over\nthe lazy dog.ˇ The quick \nbrown fox jumps over\n"}} {"Key":"d"} {"Key":"a"} {"Key":"s"} -{"Get":{"state":"The quick brown \nfox jumps over\nthe lazy dogˇ.\n","mode":"Normal"}} -{"Put":{"state":"The quick brown \nfox jumps over\nthe lazy dog. ˇThe quick \nbrown fox jumps over\n"}} +{"Get":{"state":"The quick brown\nfox jumps over\nthe lazy dogˇ.\n","mode":"Normal"}} +{"Put":{"state":"The quick brown\nfox jumps over\nthe lazy dog. ˇThe quick \nbrown fox jumps over\n"}} {"Key":"d"} {"Key":"a"} {"Key":"s"} -{"Get":{"state":"The quick brown \nfox jumps over\nthe lazy dogˇ.\n","mode":"Normal"}} -{"Put":{"state":"The quick brown \nfox jumps over\nthe lazy dog. The quick ˇ\nbrown fox jumps over\n"}} +{"Get":{"state":"The quick brown\nfox jumps over\nthe lazy dogˇ.\n","mode":"Normal"}} +{"Put":{"state":"The quick brown\nfox jumps over\nthe lazy dog. The quick ˇ\nbrown fox jumps over\n"}} {"Key":"d"} {"Key":"a"} {"Key":"s"} -{"Get":{"state":"The quick brown \nfox jumps over\nthe lazy dogˇ.\n","mode":"Normal"}} +{"Get":{"state":"The quick brown\nfox jumps over\nthe lazy dogˇ.\n","mode":"Normal"}} {"Put":{"state":"ˇThe quick brown.)]'\" Brown fox jumps. "}} {"Key":"d"} {"Key":"a"} diff --git a/crates/vim/test_data/test_f_and_t.json b/crates/vim/test_data/test_f_and_t.json index d370c5585c..2d2a358452 100644 --- a/crates/vim/test_data/test_f_and_t.json +++ b/crates/vim/test_data/test_f_and_t.json @@ -1,557 +1,557 @@ -{"Put":{"state":"ˇaaab b bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Put":{"state":"ˇaaab b bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"1"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaaˇb b bb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} +{"Get":{"state":"aaaˇb b bb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} {"Key":"1"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab ˇb bb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaabˇ b bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab ˇb bb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaabˇ b bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"1"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab ˇb bb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} +{"Get":{"state":"aaab ˇb bb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} {"Key":"1"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab bˇ bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab bˇ bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"1"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} +{"Get":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} {"Key":"1"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} +{"Get":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} {"Key":"1"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bbˇ aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bbˇ aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"1"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aˇaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aˇaabaaa\n baaa bbb\n\nb\n"}} {"Key":"1"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n \nb\n","mode":"Normal"}} +{"Get":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n\nb\n","mode":"Normal"}} {"Key":"1"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\nˇ baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\nˇ baaa bbb\n\nb\n"}} {"Key":"1"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n ˇbaaa bbb\n \nb\n","mode":"Normal"}} +{"Get":{"state":"aaab b bb aaabaaa\n ˇbaaa bbb\n\nb\n","mode":"Normal"}} {"Key":"1"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n bˇaaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n bˇaaa bbb\n\nb\n"}} {"Key":"1"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaˇa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaˇa bbb\n\nb\n"}} {"Key":"1"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n \nb\n","mode":"Normal"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n\nb\n","mode":"Normal"}} {"Key":"1"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n \nb\n","mode":"Normal"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n\nb\n","mode":"Normal"}} {"Key":"1"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n \nb\n","mode":"Normal"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n\nb\n","mode":"Normal"}} {"Key":"1"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa bbb\nˇ \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa bbb\nˇ\nb\n"}} {"Key":"1"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bbb\nˇ \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa bbb\n \nˇb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bbb\nˇ\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa bbb\n\nˇb\n"}} {"Key":"1"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bbb\n \nˇb\n","mode":"Normal"}} -{"Put":{"state":"ˇaaab b bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bbb\n\nˇb\n","mode":"Normal"}} +{"Put":{"state":"ˇaaab b bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"1"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaˇab b bb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaaˇb b bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaˇab b bb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaaˇb b bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"1"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaabˇ b bb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} +{"Get":{"state":"aaabˇ b bb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} {"Key":"1"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaabˇ b bb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab ˇb bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaabˇ b bb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab ˇb bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"1"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b ˇ bb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab bˇ bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b ˇ bb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab bˇ bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"1"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b ˇ bb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b ˇ bb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"1"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"1"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaˇabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bbˇ aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaˇabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bbˇ aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"1"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaˇabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aˇaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaˇabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aˇaabaaa\n baaa bbb\n\nb\n"}} {"Key":"1"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaˇabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaˇabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n\nb\n"}} {"Key":"1"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\nˇ baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\nˇ baaa bbb\n\nb\n"}} {"Key":"1"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n ˇ baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n ˇbaaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n ˇ baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n ˇbaaa bbb\n\nb\n"}} {"Key":"1"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaaˇ bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n bˇaaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaaˇ bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n bˇaaa bbb\n\nb\n"}} {"Key":"1"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaaˇ bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaˇa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaaˇ bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaˇa bbb\n\nb\n"}} {"Key":"1"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaaˇ bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaaˇ bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n\nb\n"}} {"Key":"1"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n\nb\n"}} {"Key":"1"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n\nb\n"}} {"Key":"1"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa bbb\nˇ \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa bbb\nˇ\nb\n"}} {"Key":"1"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bbb\nˇ \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa bbb\n \nˇb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bbb\nˇ\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa bbb\n\nˇb\n"}} {"Key":"1"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bbb\n \nˇb\n","mode":"Normal"}} -{"Put":{"state":"ˇaaab b bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bbb\n\nˇb\n","mode":"Normal"}} +{"Put":{"state":"ˇaaab b bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab ˇb bb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaaˇb b bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab ˇb bb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaaˇb b bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaabˇ b bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaabˇ b bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab ˇb bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab ˇb bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab bˇ bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab bˇ bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bbˇ aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bbˇ aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bbˇ aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aˇaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bbˇ aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aˇaabaaa\n baaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aˇaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aˇaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\nˇ baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\nˇ baaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n ˇbaaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n ˇbaaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n bˇaaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n bˇaaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaˇa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaˇa bbb\n\nb\n"}} {"Key":"2"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n\nb\n"}} {"Key":"2"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n\nb\n"}} {"Key":"2"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n\nb\n"}} {"Key":"2"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa bbb\nˇ \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa bbb\nˇ\nb\n"}} {"Key":"2"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bbb\nˇ \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa bbb\n \nˇb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bbb\nˇ\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa bbb\n\nˇb\n"}} {"Key":"2"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bbb\n \nˇb\n","mode":"Normal"}} -{"Put":{"state":"ˇaaab b bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bbb\n\nˇb\n","mode":"Normal"}} +{"Put":{"state":"ˇaaab b bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaabˇ b bb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaaˇb b bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaabˇ b bb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaaˇb b bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b ˇ bb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaabˇ b bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b ˇ bb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaabˇ b bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b ˇ bb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab ˇb bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b ˇ bb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab ˇb bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab bˇ bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab bˇ bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} +{"Get":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} {"Key":"2"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaˇabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaˇabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bbˇ aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bbˇ aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bbˇ aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aˇaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bbˇ aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aˇaabaaa\n baaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aˇaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aˇaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\nˇ baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\nˇ baaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaaˇ bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n ˇbaaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaaˇ bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n ˇbaaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n bˇaaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n bˇaaa bbb\n\nb\n"}} {"Key":"2"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaˇa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaˇa bbb\n\nb\n"}} {"Key":"2"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n \nb\n","mode":"Normal"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n\nb\n","mode":"Normal"}} {"Key":"2"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n \nb\n","mode":"Normal"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n\nb\n","mode":"Normal"}} {"Key":"2"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n\nb\n"}} {"Key":"2"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa bbb\nˇ \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa bbb\nˇ\nb\n"}} {"Key":"2"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bbb\nˇ \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa bbb\n \nˇb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bbb\nˇ\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa bbb\n\nˇb\n"}} {"Key":"2"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bbb\n \nˇb\n","mode":"Normal"}} -{"Put":{"state":"ˇaaab b bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bbb\n\nˇb\n","mode":"Normal"}} +{"Put":{"state":"ˇaaab b bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaaˇb b bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaaˇb b bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaabˇ b bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaabˇ b bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab ˇb bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab ˇb bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab bˇ bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab bˇ bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bbˇ aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bbˇ aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bbˇ aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aˇaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bbˇ aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aˇaabaaa\n baaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aˇaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aˇaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\nˇ baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\nˇ baaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n ˇbaaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n ˇbaaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n bˇaaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n bˇaaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaˇa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaˇa bbb\n\nb\n"}} {"Key":"3"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n\nb\n"}} {"Key":"3"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n\nb\n"}} {"Key":"3"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n\nb\n"}} {"Key":"3"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa bbb\nˇ \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa bbb\nˇ\nb\n"}} {"Key":"3"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bbb\nˇ \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa bbb\n \nˇb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bbb\nˇ\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa bbb\n\nˇb\n"}} {"Key":"3"} {"Key":"f"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bbb\n \nˇb\n","mode":"Normal"}} -{"Put":{"state":"ˇaaab b bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bbb\n\nˇb\n","mode":"Normal"}} +{"Put":{"state":"ˇaaab b bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b ˇ bb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaaˇb b bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b ˇ bb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaaˇb b bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaabˇ b bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaabˇ b bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab ˇb bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab ˇb bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaˇabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab bˇ bb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaˇabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab bˇ bb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaˇabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaˇabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b ˇbb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bbˇ aaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bˇb aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bbˇ aaabaaa\n baaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bbˇ aaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aˇaabaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bbˇ aaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aˇaabaaa\n baaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aˇaabaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aˇaabaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\nˇ baaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaaˇbaaa\n baaa bbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\nˇ baaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n ˇbaaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n ˇbaaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n bˇaaa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n bˇaaa bbb\n\nb\n"}} {"Key":"3"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaˇa bbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaˇa bbb\n\nb\n"}} {"Key":"3"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n\nb\n"}} {"Key":"3"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa ˇbbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n\nb\n"}} {"Key":"3"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bˇbb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n\nb\n"}} {"Key":"3"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa bbb\nˇ \nb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bbˇb\n\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa bbb\nˇ\nb\n"}} {"Key":"3"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bbb\nˇ \nb\n","mode":"Normal"}} -{"Put":{"state":"aaab b bb aaabaaa\n baaa bbb\n \nˇb\n"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bbb\nˇ\nb\n","mode":"Normal"}} +{"Put":{"state":"aaab b bb aaabaaa\n baaa bbb\n\nˇb\n"}} {"Key":"3"} {"Key":"t"} {"Key":"b"} -{"Get":{"state":"aaab b bb aaabaaa\n baaa bbb\n \nˇb\n","mode":"Normal"}} +{"Get":{"state":"aaab b bb aaabaaa\n baaa bbb\n\nˇb\n","mode":"Normal"}}