fn substring_by_byte_replace_tabs(
    s: &str,
    start: usize,
    end: usize,
    tab_width: usize
) -> String