#![allow(non_snake_case)]
#![allow(non_upper_case_globals)]
#![allow(unused_mut)]
#![allow(unused_parens)]
#![allow(unused_variables)]
use snowball::SnowballEnv;
use snowball::Among;
#[derive(Clone)]
struct Context {
i_p1: i32,
}
static A_0: &'static [Among<Context>; 8] = &[
Among("\u{05D5}\u{05D5}", -1, 1, None),
Among("\u{05D5}\u{05D9}", -1, 2, None),
Among("\u{05D9}\u{05D9}", -1, 3, None),
Among("\u{05DA}", -1, 4, None),
Among("\u{05DD}", -1, 5, None),
Among("\u{05DF}", -1, 6, None),
Among("\u{05E3}", -1, 7, None),
Among("\u{05E5}", -1, 8, None),
];
static A_1: &'static [Among<Context>; 40] = &[
Among("\u{05D0}\u{05D3}\u{05D5}\u{05E8}\u{05DB}", -1, 1, None),
Among("\u{05D0}\u{05D4}\u{05D9}\u{05E0}", -1, 1, None),
Among("\u{05D0}\u{05D4}\u{05E2}\u{05E8}", -1, 1, None),
Among("\u{05D0}\u{05D4}\u{05F2}\u{05DE}", -1, 1, None),
Among("\u{05D0}\u{05D5}\u{05DE}", -1, 1, None),
Among("\u{05D0}\u{05D5}\u{05E0}\u{05D8}\u{05E2}\u{05E8}", -1, 1, None),
Among("\u{05D0}\u{05D9}\u{05D1}\u{05E2}\u{05E8}", -1, 1, None),
Among("\u{05D0}\u{05E0}", -1, 1, None),
Among("\u{05D0}\u{05E0}\u{05D8}", 7, 1, None),
Among("\u{05D0}\u{05E0}\u{05D8}\u{05E7}\u{05E2}\u{05D2}\u{05E0}", 8, 1, None),
Among("\u{05D0}\u{05E0}\u{05D9}\u{05D3}\u{05E2}\u{05E8}", 7, 1, None),
Among("\u{05D0}\u{05E4}", -1, 1, None),
Among("\u{05D0}\u{05E4}\u{05D9}\u{05E8}", 11, 1, None),
Among("\u{05D0}\u{05E7}\u{05E2}\u{05D2}\u{05E0}", -1, 1, None),
Among("\u{05D0}\u{05E8}\u{05D0}\u{05E4}", -1, 1, None),
Among("\u{05D0}\u{05E8}\u{05D5}\u{05DE}", -1, 1, None),
Among("\u{05D0}\u{05E8}\u{05D5}\u{05E0}\u{05D8}\u{05E2}\u{05E8}", -1, 1, None),
Among("\u{05D0}\u{05E8}\u{05D9}\u{05D1}\u{05E2}\u{05E8}", -1, 1, None),
Among("\u{05D0}\u{05E8}\u{05F1}\u{05E1}", -1, 1, None),
Among("\u{05D0}\u{05E8}\u{05F1}\u{05E4}", -1, 1, None),
Among("\u{05D0}\u{05E8}\u{05F2}\u{05E0}", -1, 1, None),
Among("\u{05D0}\u{05F0}\u{05E2}\u{05E7}", -1, 1, None),
Among("\u{05D0}\u{05F1}\u{05E1}", -1, 1, None),
Among("\u{05D0}\u{05F1}\u{05E4}", -1, 1, None),
Among("\u{05D0}\u{05F2}\u{05E0}", -1, 1, None),
Among("\u{05D1}\u{05D0}", -1, 1, None),
Among("\u{05D1}\u{05F2}", -1, 1, None),
Among("\u{05D3}\u{05D5}\u{05E8}\u{05DB}", -1, 1, None),
Among("\u{05D3}\u{05E2}\u{05E8}", -1, 1, None),
Among("\u{05DE}\u{05D9}\u{05D8}", -1, 1, None),
Among("\u{05E0}\u{05D0}\u{05DB}", -1, 1, None),
Among("\u{05E4}\u{05D0}\u{05E8}", -1, 1, None),
Among("\u{05E4}\u{05D0}\u{05E8}\u{05D1}\u{05F2}", 31, 1, None),
Among("\u{05E4}\u{05D0}\u{05E8}\u{05F1}\u{05E1}", 31, 1, None),
Among("\u{05E4}\u{05D5}\u{05E0}\u{05D0}\u{05E0}\u{05D3}\u{05E2}\u{05E8}", -1, 1, None),
Among("\u{05E6}\u{05D5}", -1, 1, None),
Among("\u{05E6}\u{05D5}\u{05D6}\u{05D0}\u{05DE}\u{05E2}\u{05E0}", 35, 1, None),
Among("\u{05E6}\u{05D5}\u{05E0}\u{05F1}\u{05E4}", 35, 1, None),
Among("\u{05E6}\u{05D5}\u{05E8}\u{05D9}\u{05E7}", 35, 1, None),
Among("\u{05E6}\u{05E2}", -1, 1, None),
];
static A_2: &'static [Among<Context>; 4] = &[
Among("\u{05D3}\u{05D6}\u{05E9}", -1, -1, None),
Among("\u{05E9}\u{05D8}\u{05E8}", -1, -1, None),
Among("\u{05E9}\u{05D8}\u{05E9}", -1, -1, None),
Among("\u{05E9}\u{05E4}\u{05E8}", -1, -1, None),
];
static A_3: &'static [Among<Context>; 26] = &[
Among("\u{05E7}\u{05DC}\u{05D9}\u{05D1}", -1, 9, None),
Among("\u{05E8}\u{05D9}\u{05D1}", -1, 10, None),
Among("\u{05D8}\u{05E8}\u{05D9}\u{05D1}", 1, 7, None),
Among("\u{05E9}\u{05E8}\u{05D9}\u{05D1}", 1, 15, None),
Among("\u{05D4}\u{05F1}\u{05D1}", -1, 23, None),
Among("\u{05E9}\u{05F0}\u{05D9}\u{05D2}", -1, 12, None),
Among("\u{05D2}\u{05D0}\u{05E0}\u{05D2}", -1, 1, None),
Among("\u{05D6}\u{05D5}\u{05E0}\u{05D2}", -1, 18, None),
Among("\u{05E9}\u{05DC}\u{05D5}\u{05E0}\u{05D2}", -1, 21, None),
Among("\u{05E6}\u{05F0}\u{05D5}\u{05E0}\u{05D2}", -1, 20, None),
Among("\u{05D1}\u{05F1}\u{05D2}", -1, 22, None),
Among("\u{05D1}\u{05D5}\u{05E0}\u{05D3}", -1, 16, None),
Among("\u{05F0}\u{05D9}\u{05D6}", -1, 6, None),
Among("\u{05D1}\u{05D9}\u{05D8}", -1, 4, None),
Among("\u{05DC}\u{05D9}\u{05D8}", -1, 8, None),
Among("\u{05DE}\u{05D9}\u{05D8}", -1, 3, None),
Among("\u{05E9}\u{05E0}\u{05D9}\u{05D8}", -1, 14, None),
Among("\u{05E0}\u{05D5}\u{05DE}", -1, 2, None),
Among("\u{05E9}\u{05D8}\u{05D0}\u{05E0}", -1, 25, None),
Among("\u{05D1}\u{05D9}\u{05E1}", -1, 5, None),
Among("\u{05E9}\u{05DE}\u{05D9}\u{05E1}", -1, 13, None),
Among("\u{05E8}\u{05D9}\u{05E1}", -1, 11, None),
Among("\u{05D8}\u{05E8}\u{05D5}\u{05E0}\u{05E7}", -1, 19, None),
Among("\u{05E4}\u{05D0}\u{05E8}\u{05DC}\u{05F1}\u{05E8}", -1, 24, None),
Among("\u{05E9}\u{05F0}\u{05F1}\u{05E8}", -1, 26, None),
Among("\u{05F0}\u{05D5}\u{05D8}\u{05E9}", -1, 17, None),
];
static A_4: &'static [Among<Context>; 79] = &[
Among("\u{05D5}\u{05E0}\u{05D2}", -1, 1, None),
Among("\u{05E1}\u{05D8}\u{05D5}", -1, 1, None),
Among("\u{05D8}", -1, 1, None),
Among("\u{05D1}\u{05E8}\u{05D0}\u{05DB}\u{05D8}", 2, 31, None),
Among("\u{05E1}\u{05D8}", 2, 1, None),
Among("\u{05D9}\u{05E1}\u{05D8}", 4, 33, None),
Among("\u{05E2}\u{05D8}", 2, 1, None),
Among("\u{05E9}\u{05D0}\u{05E4}\u{05D8}", 2, 1, None),
Among("\u{05D4}\u{05F2}\u{05D8}", 2, 1, None),
Among("\u{05E7}\u{05F2}\u{05D8}", 2, 1, None),
Among("\u{05D9}\u{05E7}\u{05F2}\u{05D8}", 9, 1, None),
Among("\u{05DC}\u{05E2}\u{05DB}", -1, 1, None),
Among("\u{05E2}\u{05DC}\u{05E2}\u{05DB}", 11, 1, None),
Among("\u{05D9}\u{05D6}\u{05DE}", -1, 1, None),
Among("\u{05D9}\u{05DE}", -1, 1, None),
Among("\u{05E2}\u{05DE}", -1, 1, None),
Among("\u{05E2}\u{05E0}\u{05E2}\u{05DE}", 15, 3, None),
Among("\u{05D8}\u{05E2}\u{05E0}\u{05E2}\u{05DE}", 16, 4, None),
Among("\u{05E0}", -1, 1, None),
Among("\u{05E7}\u{05DC}\u{05D9}\u{05D1}\u{05E0}", 18, 14, None),
Among("\u{05E8}\u{05D9}\u{05D1}\u{05E0}", 18, 15, None),
Among("\u{05D8}\u{05E8}\u{05D9}\u{05D1}\u{05E0}", 20, 12, None),
Among("\u{05E9}\u{05E8}\u{05D9}\u{05D1}\u{05E0}", 20, 7, None),
Among("\u{05D4}\u{05F1}\u{05D1}\u{05E0}", 18, 27, None),
Among("\u{05E9}\u{05F0}\u{05D9}\u{05D2}\u{05E0}", 18, 17, None),
Among("\u{05D6}\u{05D5}\u{05E0}\u{05D2}\u{05E0}", 18, 22, None),
Among("\u{05E9}\u{05DC}\u{05D5}\u{05E0}\u{05D2}\u{05E0}", 18, 25, None),
Among("\u{05E6}\u{05F0}\u{05D5}\u{05E0}\u{05D2}\u{05E0}", 18, 24, None),
Among("\u{05D1}\u{05F1}\u{05D2}\u{05E0}", 18, 26, None),
Among("\u{05D1}\u{05D5}\u{05E0}\u{05D3}\u{05E0}", 18, 20, None),
Among("\u{05F0}\u{05D9}\u{05D6}\u{05E0}", 18, 11, None),
Among("\u{05D8}\u{05E0}", 18, 4, None),
Among("GE\u{05D1}\u{05D9}\u{05D8}\u{05E0}", 31, 9, None),
Among("GE\u{05DC}\u{05D9}\u{05D8}\u{05E0}", 31, 13, None),
Among("GE\u{05DE}\u{05D9}\u{05D8}\u{05E0}", 31, 8, None),
Among("\u{05E9}\u{05E0}\u{05D9}\u{05D8}\u{05E0}", 31, 19, None),
Among("\u{05E1}\u{05D8}\u{05E0}", 31, 1, None),
Among("\u{05D9}\u{05E1}\u{05D8}\u{05E0}", 36, 1, None),
Among("\u{05E2}\u{05D8}\u{05E0}", 31, 1, None),
Among("GE\u{05D1}\u{05D9}\u{05E1}\u{05E0}", 18, 10, None),
Among("\u{05E9}\u{05DE}\u{05D9}\u{05E1}\u{05E0}", 18, 18, None),
Among("GE\u{05E8}\u{05D9}\u{05E1}\u{05E0}", 18, 16, None),
Among("\u{05E2}\u{05E0}", 18, 1, None),
Among("\u{05D2}\u{05D0}\u{05E0}\u{05D2}\u{05E2}\u{05E0}", 42, 5, None),
Among("\u{05E2}\u{05DC}\u{05E2}\u{05E0}", 42, 1, None),
Among("\u{05E0}\u{05D5}\u{05DE}\u{05E2}\u{05E0}", 42, 6, None),
Among("\u{05D9}\u{05D6}\u{05DE}\u{05E2}\u{05E0}", 42, 1, None),
Among("\u{05E9}\u{05D8}\u{05D0}\u{05E0}\u{05E2}\u{05E0}", 42, 29, None),
Among("\u{05D8}\u{05E8}\u{05D5}\u{05E0}\u{05E7}\u{05E0}", 18, 23, None),
Among("\u{05E4}\u{05D0}\u{05E8}\u{05DC}\u{05F1}\u{05E8}\u{05E0}", 18, 28, None),
Among("\u{05E9}\u{05F0}\u{05F1}\u{05E8}\u{05E0}", 18, 30, None),
Among("\u{05F0}\u{05D5}\u{05D8}\u{05E9}\u{05E0}", 18, 21, None),
Among("\u{05D2}\u{05F2}\u{05E0}", 18, 5, None),
Among("\u{05E1}", -1, 1, None),
Among("\u{05D8}\u{05E1}", 53, 4, None),
Among("\u{05E2}\u{05D8}\u{05E1}", 54, 1, None),
Among("\u{05E0}\u{05E1}", 53, 1, None),
Among("\u{05D8}\u{05E0}\u{05E1}", 56, 4, None),
Among("\u{05E2}\u{05E0}\u{05E1}", 56, 3, None),
Among("\u{05E2}\u{05E1}", 53, 1, None),
Among("\u{05D9}\u{05E2}\u{05E1}", 59, 2, None),
Among("\u{05E2}\u{05DC}\u{05E2}\u{05E1}", 59, 1, None),
Among("\u{05E2}\u{05E8}\u{05E1}", 53, 1, None),
Among("\u{05E2}\u{05E0}\u{05E2}\u{05E8}\u{05E1}", 62, 1, None),
Among("\u{05E2}", -1, 1, None),
Among("\u{05D8}\u{05E2}", 64, 4, None),
Among("\u{05E1}\u{05D8}\u{05E2}", 65, 1, None),
Among("\u{05E2}\u{05D8}\u{05E2}", 65, 1, None),
Among("\u{05D9}\u{05E2}", 64, -1, None),
Among("\u{05E2}\u{05DC}\u{05E2}", 64, 1, None),
Among("\u{05E2}\u{05E0}\u{05E2}", 64, 3, None),
Among("\u{05D8}\u{05E2}\u{05E0}\u{05E2}", 70, 4, None),
Among("\u{05E2}\u{05E8}", -1, 1, None),
Among("\u{05D8}\u{05E2}\u{05E8}", 72, 4, None),
Among("\u{05E1}\u{05D8}\u{05E2}\u{05E8}", 73, 1, None),
Among("\u{05E2}\u{05D8}\u{05E2}\u{05E8}", 73, 1, None),
Among("\u{05E2}\u{05E0}\u{05E2}\u{05E8}", 72, 3, None),
Among("\u{05D8}\u{05E2}\u{05E0}\u{05E2}\u{05E8}", 76, 4, None),
Among("\u{05D5}\u{05EA}", -1, 32, None),
];
static A_5: &'static [Among<Context>; 6] = &[
Among("\u{05D5}\u{05E0}\u{05D2}", -1, 1, None),
Among("\u{05E9}\u{05D0}\u{05E4}\u{05D8}", -1, 1, None),
Among("\u{05D4}\u{05F2}\u{05D8}", -1, 1, None),
Among("\u{05E7}\u{05F2}\u{05D8}", -1, 1, None),
Among("\u{05D9}\u{05E7}\u{05F2}\u{05D8}", 3, 1, None),
Among("\u{05DC}", -1, 2, None),
];
static A_6: &'static [Among<Context>; 9] = &[
Among("\u{05D9}\u{05D2}", -1, 1, None),
Among("\u{05D9}\u{05E7}", -1, 1, None),
Among("\u{05D3}\u{05D9}\u{05E7}", 1, 1, None),
Among("\u{05E0}\u{05D3}\u{05D9}\u{05E7}", 2, 1, None),
Among("\u{05E2}\u{05E0}\u{05D3}\u{05D9}\u{05E7}", 3, 1, None),
Among("\u{05D1}\u{05DC}\u{05D9}\u{05E7}", 1, -1, None),
Among("\u{05D2}\u{05DC}\u{05D9}\u{05E7}", 1, -1, None),
Among("\u{05E0}\u{05D9}\u{05E7}", 1, 1, None),
Among("\u{05D9}\u{05E9}", -1, 1, None),
];
static G_niked: &'static [u8; 3] = &[255, 155, 6];
static G_vowel: &'static [u8; 5] = &[33, 2, 4, 0, 6];
static G_consonant: &'static [u8; 4] = &[239, 254, 253, 131];
fn r_prelude(env: &mut SnowballEnv, context: &mut Context) -> bool {
let mut among_var;
let v_1 = env.cursor;
'lab0: loop {
'replab1: loop{
let v_2 = env.cursor;
'lab2: for _ in 0..1 {
'golab3: loop {
let v_3 = env.cursor;
'lab4: loop {
env.bra = env.cursor;
among_var = env.find_among(A_0, context);
if among_var == 0 {
break 'lab4;
}
env.ket = env.cursor;
match among_var {
1 => {
let v_4 = env.cursor;
'lab5: loop {
if !env.eq_s(&"\u{05BC}") {
break 'lab5;
}
break 'lab4;
}
env.cursor = v_4;
env.slice_from("\u{05F0}");
}
2 => {
let v_5 = env.cursor;
'lab6: loop {
if !env.eq_s(&"\u{05B4}") {
break 'lab6;
}
break 'lab4;
}
env.cursor = v_5;
env.slice_from("\u{05F1}");
}
3 => {
let v_6 = env.cursor;
'lab7: loop {
if !env.eq_s(&"\u{05B4}") {
break 'lab7;
}
break 'lab4;
}
env.cursor = v_6;
env.slice_from("\u{05F2}");
}
4 => {
env.slice_from("\u{05DB}");
}
5 => {
env.slice_from("\u{05DE}");
}
6 => {
env.slice_from("\u{05E0}");
}
7 => {
env.slice_from("\u{05E4}");
}
8 => {
env.slice_from("\u{05E6}");
}
_ => ()
}
env.cursor = v_3;
break 'golab3;
}
env.cursor = v_3;
if env.cursor >= env.limit {
break 'lab2;
}
env.next_char();
}
continue 'replab1;
}
env.cursor = v_2;
break 'replab1;
}
break 'lab0;
}
env.cursor = v_1;
let v_7 = env.cursor;
'lab8: loop {
'replab9: loop{
let v_8 = env.cursor;
'lab10: for _ in 0..1 {
'golab11: loop {
let v_9 = env.cursor;
'lab12: loop {
env.bra = env.cursor;
if !env.in_grouping(G_niked, 1456, 1474) {
break 'lab12;
}
env.ket = env.cursor;
env.slice_del();
env.cursor = v_9;
break 'golab11;
}
env.cursor = v_9;
if env.cursor >= env.limit {
break 'lab10;
}
env.next_char();
}
continue 'replab9;
}
env.cursor = v_8;
break 'replab9;
}
break 'lab8;
}
env.cursor = v_7;
return true
}
fn r_mark_regions(env: &mut SnowballEnv, context: &mut Context) -> bool {
let mut i_x : i32;
context.i_p1 = env.limit;
let v_1 = env.cursor;
'lab0: loop {
env.bra = env.cursor;
if !env.eq_s(&"\u{05D2}\u{05E2}") {
env.cursor = v_1;
break 'lab0;
}
env.ket = env.cursor;
let v_2 = env.cursor;
'lab1: loop {
'lab2: loop {
let v_3 = env.cursor;
'lab3: loop {
if !env.eq_s(&"\u{05DC}\u{05D8}") {
break 'lab3;
}
break 'lab2;
}
env.cursor = v_3;
'lab4: loop {
if !env.eq_s(&"\u{05D1}\u{05E0}") {
break 'lab4;
}
break 'lab2;
}
env.cursor = v_3;
if env.cursor < env.limit {
break 'lab1;
}
break 'lab2;
}
env.cursor = v_1;
break 'lab0;
}
env.cursor = v_2;
env.slice_from("GE");
break 'lab0;
}
let v_4 = env.cursor;
'lab5: loop {
if env.find_among(A_1, context) == 0 {
env.cursor = v_4;
break 'lab5;
}
'lab6: loop {
let v_5 = env.cursor;
'lab7: loop {
let v_6 = env.cursor;
'lab8: loop {
let v_7 = env.cursor;
'lab9: loop {
if !env.eq_s(&"\u{05E6}\u{05D5}\u{05D2}\u{05E0}") {
break 'lab9;
}
break 'lab8;
}
env.cursor = v_7;
'lab10: loop {
if !env.eq_s(&"\u{05E6}\u{05D5}\u{05E7}\u{05D8}") {
break 'lab10;
}
break 'lab8;
}
env.cursor = v_7;
if !env.eq_s(&"\u{05E6}\u{05D5}\u{05E7}\u{05E0}") {
break 'lab7;
}
break 'lab8;
}
if env.cursor < env.limit {
break 'lab7;
}
env.cursor = v_6;
break 'lab6;
}
env.cursor = v_5;
'lab11: loop {
let v_8 = env.cursor;
if !env.eq_s(&"\u{05D2}\u{05E2}\u{05D1}\u{05E0}") {
break 'lab11;
}
env.cursor = v_8;
break 'lab6;
}
env.cursor = v_5;
'lab12: loop {
env.bra = env.cursor;
if !env.eq_s(&"\u{05D2}\u{05E2}") {
break 'lab12;
}
env.ket = env.cursor;
env.slice_from("GE");
break 'lab6;
}
env.cursor = v_5;
env.bra = env.cursor;
if !env.eq_s(&"\u{05E6}\u{05D5}") {
env.cursor = v_4;
break 'lab5;
}
env.ket = env.cursor;
env.slice_from("TSU");
break 'lab6;
}
break 'lab5;
}
let v_9 = env.cursor;
if !env.hop(3) {
return false;
}
i_x = env.cursor;
env.cursor = v_9;
let v_10 = env.cursor;
'lab13: loop {
if (env.cursor + 5 >= env.limit || (env.current.as_bytes()[(env.cursor + 5) as usize] as u8 != 169 as u8 && env.current.as_bytes()[(env.cursor + 5) as usize] as u8 != 168 as u8)) {
env.cursor = v_10;
break 'lab13;
}
if env.find_among(A_2, context) == 0 {
env.cursor = v_10;
break 'lab13;
}
break 'lab13;
}
let v_11 = env.cursor;
'lab14: loop {
if !env.in_grouping(G_consonant, 1489, 1520) {
break 'lab14;
}
if !env.in_grouping(G_consonant, 1489, 1520) {
break 'lab14;
}
if !env.in_grouping(G_consonant, 1489, 1520) {
break 'lab14;
}
context.i_p1 = env.cursor;
return false;
}
env.cursor = v_11;
if !env.go_out_grouping(G_vowel, 1488, 1522) {
return false;
}
env.next_char();
if !env.go_in_grouping(G_vowel, 1488, 1522) {
return false;
}
context.i_p1 = env.cursor;
'lab15: loop {
if context.i_p1 >= i_x{
break 'lab15;
}
context.i_p1 = i_x;
break 'lab15;
}
return true
}
fn r_R1(env: &mut SnowballEnv, context: &mut Context) -> bool {
return context.i_p1 <= env.cursor
}
fn r_R1plus3(env: &mut SnowballEnv, context: &mut Context) -> bool {
return context.i_p1 <= (env.cursor + 6)
}
fn r_standard_suffix(env: &mut SnowballEnv, context: &mut Context) -> bool {
let mut among_var;
let v_1 = env.limit - env.cursor;
'lab0: loop {
env.ket = env.cursor;
among_var = env.find_among_b(A_4, context);
if among_var == 0 {
break 'lab0;
}
env.bra = env.cursor;
match among_var {
1 => {
if !r_R1(env, context) {
break 'lab0;
}
env.slice_del();
}
2 => {
if !r_R1(env, context) {
break 'lab0;
}
env.slice_from("\u{05D9}\u{05E2}");
}
3 => {
if !r_R1(env, context) {
break 'lab0;
}
env.slice_del();
env.ket = env.cursor;
among_var = env.find_among_b(A_3, context);
if among_var == 0 {
break 'lab0;
}
env.bra = env.cursor;
match among_var {
1 => {
env.slice_from("\u{05D2}\u{05F2}");
}
2 => {
env.slice_from("\u{05E0}\u{05E2}\u{05DE}");
}
3 => {
env.slice_from("\u{05DE}\u{05F2}\u{05D3}");
}
4 => {
env.slice_from("\u{05D1}\u{05F2}\u{05D8}");
}
5 => {
env.slice_from("\u{05D1}\u{05F2}\u{05E1}");
}
6 => {
env.slice_from("\u{05F0}\u{05F2}\u{05D6}");
}
7 => {
env.slice_from("\u{05D8}\u{05E8}\u{05F2}\u{05D1}");
}
8 => {
env.slice_from("\u{05DC}\u{05F2}\u{05D8}");
}
9 => {
env.slice_from("\u{05E7}\u{05DC}\u{05F2}\u{05D1}");
}
10 => {
env.slice_from("\u{05E8}\u{05F2}\u{05D1}");
}
11 => {
env.slice_from("\u{05E8}\u{05F2}\u{05E1}");
}
12 => {
env.slice_from("\u{05E9}\u{05F0}\u{05F2}\u{05D2}");
}
13 => {
env.slice_from("\u{05E9}\u{05DE}\u{05F2}\u{05E1}");
}
14 => {
env.slice_from("\u{05E9}\u{05E0}\u{05F2}\u{05D3}");
}
15 => {
env.slice_from("\u{05E9}\u{05E8}\u{05F2}\u{05D1}");
}
16 => {
env.slice_from("\u{05D1}\u{05D9}\u{05E0}\u{05D3}");
}
17 => {
env.slice_from("\u{05F0}\u{05D9}\u{05D8}\u{05E9}");
}
18 => {
env.slice_from("\u{05D6}\u{05D9}\u{05E0}\u{05D2}");
}
19 => {
env.slice_from("\u{05D8}\u{05E8}\u{05D9}\u{05E0}\u{05E7}");
}
20 => {
env.slice_from("\u{05E6}\u{05F0}\u{05D9}\u{05E0}\u{05D2}");
}
21 => {
env.slice_from("\u{05E9}\u{05DC}\u{05D9}\u{05E0}\u{05D2}");
}
22 => {
env.slice_from("\u{05D1}\u{05F2}\u{05D2}");
}
23 => {
env.slice_from("\u{05D4}\u{05F2}\u{05D1}");
}
24 => {
env.slice_from("\u{05E4}\u{05D0}\u{05E8}\u{05DC}\u{05D9}\u{05E8}");
}
25 => {
env.slice_from("\u{05E9}\u{05D8}\u{05F2}");
}
26 => {
env.slice_from("\u{05E9}\u{05F0}\u{05E2}\u{05E8}");
}
_ => ()
}
}
4 => {
'lab1: loop {
let v_2 = env.limit - env.cursor;
'lab2: loop {
if !r_R1(env, context) {
break 'lab2;
}
env.slice_del();
break 'lab1;
}
env.cursor = env.limit - v_2;
env.slice_from("\u{05D8}");
break 'lab1;
}
env.ket = env.cursor;
if !env.eq_s_b(&"\u{05D1}\u{05E8}\u{05D0}\u{05DB}") {
break 'lab0;
}
let v_3 = env.limit - env.cursor;
'lab3: loop {
if !env.eq_s_b(&"\u{05D2}\u{05E2}") {
env.cursor = env.limit - v_3;
break 'lab3;
}
break 'lab3;
}
env.bra = env.cursor;
env.slice_from("\u{05D1}\u{05E8}\u{05E2}\u{05E0}\u{05D2}");
}
5 => {
env.slice_from("\u{05D2}\u{05F2}");
}
6 => {
env.slice_from("\u{05E0}\u{05E2}\u{05DE}");
}
7 => {
env.slice_from("\u{05E9}\u{05E8}\u{05F2}\u{05D1}");
}
8 => {
env.slice_from("\u{05DE}\u{05F2}\u{05D3}");
}
9 => {
env.slice_from("\u{05D1}\u{05F2}\u{05D8}");
}
10 => {
env.slice_from("\u{05D1}\u{05F2}\u{05E1}");
}
11 => {
env.slice_from("\u{05F0}\u{05F2}\u{05D6}");
}
12 => {
env.slice_from("\u{05D8}\u{05E8}\u{05F2}\u{05D1}");
}
13 => {
env.slice_from("\u{05DC}\u{05F2}\u{05D8}");
}
14 => {
env.slice_from("\u{05E7}\u{05DC}\u{05F2}\u{05D1}");
}
15 => {
env.slice_from("\u{05E8}\u{05F2}\u{05D1}");
}
16 => {
env.slice_from("\u{05E8}\u{05F2}\u{05E1}");
}
17 => {
env.slice_from("\u{05E9}\u{05F0}\u{05F2}\u{05D2}");
}
18 => {
env.slice_from("\u{05E9}\u{05DE}\u{05F2}\u{05E1}");
}
19 => {
env.slice_from("\u{05E9}\u{05E0}\u{05F2}\u{05D3}");
}
20 => {
env.slice_from("\u{05D1}\u{05D9}\u{05E0}\u{05D3}");
}
21 => {
env.slice_from("\u{05F0}\u{05D9}\u{05D8}\u{05E9}");
}
22 => {
env.slice_from("\u{05D6}\u{05D9}\u{05E0}\u{05D2}");
}
23 => {
env.slice_from("\u{05D8}\u{05E8}\u{05D9}\u{05E0}\u{05E7}");
}
24 => {
env.slice_from("\u{05E6}\u{05F0}\u{05D9}\u{05E0}\u{05D2}");
}
25 => {
env.slice_from("\u{05E9}\u{05DC}\u{05D9}\u{05E0}\u{05D2}");
}
26 => {
env.slice_from("\u{05D1}\u{05F2}\u{05D2}");
}
27 => {
env.slice_from("\u{05D4}\u{05F2}\u{05D1}");
}
28 => {
env.slice_from("\u{05E4}\u{05D0}\u{05E8}\u{05DC}\u{05D9}\u{05E8}");
}
29 => {
env.slice_from("\u{05E9}\u{05D8}\u{05F2}");
}
30 => {
env.slice_from("\u{05E9}\u{05F0}\u{05E2}\u{05E8}");
}
31 => {
env.slice_from("\u{05D1}\u{05E8}\u{05E2}\u{05E0}\u{05D2}");
}
32 => {
if !r_R1(env, context) {
break 'lab0;
}
env.slice_from("\u{05D4}");
}
33 => {
'lab4: loop {
let v_4 = env.limit - env.cursor;
'lab5: loop {
'lab6: loop {
let v_5 = env.limit - env.cursor;
'lab7: loop {
if !env.eq_s_b(&"\u{05D2}") {
break 'lab7;
}
break 'lab6;
}
env.cursor = env.limit - v_5;
if !env.eq_s_b(&"\u{05E9}") {
break 'lab5;
}
break 'lab6;
}
let v_6 = env.limit - env.cursor;
'lab8: loop {
if !r_R1plus3(env, context) {
env.cursor = env.limit - v_6;
break 'lab8;
}
env.slice_from("\u{05D9}\u{05E1}");
break 'lab8;
}
break 'lab4;
}
env.cursor = env.limit - v_4;
if !r_R1(env, context) {
break 'lab0;
}
env.slice_del();
break 'lab4;
}
}
_ => ()
}
break 'lab0;
}
env.cursor = env.limit - v_1;
let v_7 = env.limit - env.cursor;
'lab9: loop {
env.ket = env.cursor;
if (env.cursor - 1 <= env.limit_backward || env.current.as_bytes()[(env.cursor - 1) as usize] as u8 >> 5 != 4 as u8 || ((285474816 as i32 >> (env.current.as_bytes()[(env.cursor - 1) as usize] as u8 & 0x1f)) & 1) == 0) {
break 'lab9;
}
among_var = env.find_among_b(A_5, context);
if among_var == 0 {
break 'lab9;
}
env.bra = env.cursor;
match among_var {
1 => {
if !r_R1(env, context) {
break 'lab9;
}
env.slice_del();
}
2 => {
if !r_R1(env, context) {
break 'lab9;
}
if !env.in_grouping_b(G_consonant, 1489, 1520) {
break 'lab9;
}
env.slice_del();
}
_ => ()
}
break 'lab9;
}
env.cursor = env.limit - v_7;
let v_8 = env.limit - env.cursor;
'lab10: loop {
env.ket = env.cursor;
among_var = env.find_among_b(A_6, context);
if among_var == 0 {
break 'lab10;
}
env.bra = env.cursor;
match among_var {
1 => {
if !r_R1(env, context) {
break 'lab10;
}
env.slice_del();
}
_ => ()
}
break 'lab10;
}
env.cursor = env.limit - v_8;
let v_9 = env.limit - env.cursor;
'lab11: loop {
'replab12: loop{
let v_10 = env.limit - env.cursor;
'lab13: for _ in 0..1 {
'golab14: loop {
let v_11 = env.limit - env.cursor;
'lab15: loop {
env.ket = env.cursor;
'lab16: loop {
let v_12 = env.limit - env.cursor;
'lab17: loop {
if !env.eq_s_b(&"GE") {
break 'lab17;
}
break 'lab16;
}
env.cursor = env.limit - v_12;
if !env.eq_s_b(&"TSU") {
break 'lab15;
}
break 'lab16;
}
env.bra = env.cursor;
env.slice_del();
env.cursor = env.limit - v_11;
break 'golab14;
}
env.cursor = env.limit - v_11;
if env.cursor <= env.limit_backward {
break 'lab13;
}
env.previous_char();
}
continue 'replab12;
}
env.cursor = env.limit - v_10;
break 'replab12;
}
break 'lab11;
}
env.cursor = env.limit - v_9;
return true
}
pub fn stem(env: &mut SnowballEnv) -> bool {
let mut context = &mut Context {
i_p1: 0,
};
r_prelude(env, context);
let v_1 = env.cursor;
r_mark_regions(env, context);
env.cursor = v_1;
env.limit_backward = env.cursor;
env.cursor = env.limit;
r_standard_suffix(env, context);
env.cursor = env.limit_backward;
return true
}