// This file was generated automatically by the Snowball to Java compiler

package org.tartarus.snowball.ext;

import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballProgram;

 /**
  * This class was automatically generated by a Snowball to Java compiler 
  * It implements the stemming algorithm defined by a snowball script.
  */

@SuppressWarnings("unused") public class LovinsStemmer extends SnowballProgram {

private static final long serialVersionUID = 1L;

        /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup();

                private final static Among a_0[] = {
                    new Among ( "d", -1, -1, "", methodObject ),
                    new Among ( "f", -1, -1, "", methodObject ),
                    new Among ( "ph", -1, -1, "", methodObject ),
                    new Among ( "th", -1, -1, "", methodObject ),
                    new Among ( "l", -1, -1, "", methodObject ),
                    new Among ( "er", -1, -1, "", methodObject ),
                    new Among ( "or", -1, -1, "", methodObject ),
                    new Among ( "es", -1, -1, "", methodObject ),
                    new Among ( "t", -1, -1, "", methodObject )
                };

                private final static Among a_1[] = {
                    new Among ( "s'", -1, 1, "r_A", methodObject ),
                    new Among ( "a", -1, 1, "r_A", methodObject ),
                    new Among ( "ia", 1, 1, "r_A", methodObject ),
                    new Among ( "ata", 1, 1, "r_A", methodObject ),
                    new Among ( "ic", -1, 1, "r_A", methodObject ),
                    new Among ( "aic", 4, 1, "r_A", methodObject ),
                    new Among ( "allic", 4, 1, "r_BB", methodObject ),
                    new Among ( "aric", 4, 1, "r_A", methodObject ),
                    new Among ( "atic", 4, 1, "r_B", methodObject ),
                    new Among ( "itic", 4, 1, "r_H", methodObject ),
                    new Among ( "antic", 4, 1, "r_C", methodObject ),
                    new Among ( "istic", 4, 1, "r_A", methodObject ),
                    new Among ( "alistic", 11, 1, "r_B", methodObject ),
                    new Among ( "aristic", 11, 1, "r_A", methodObject ),
                    new Among ( "ivistic", 11, 1, "r_A", methodObject ),
                    new Among ( "ed", -1, 1, "r_E", methodObject ),
                    new Among ( "anced", 15, 1, "r_B", methodObject ),
                    new Among ( "enced", 15, 1, "r_A", methodObject ),
                    new Among ( "ished", 15, 1, "r_A", methodObject ),
                    new Among ( "ied", 15, 1, "r_A", methodObject ),
                    new Among ( "ened", 15, 1, "r_E", methodObject ),
                    new Among ( "ioned", 15, 1, "r_A", methodObject ),
                    new Among ( "ated", 15, 1, "r_I", methodObject ),
                    new Among ( "ented", 15, 1, "r_C", methodObject ),
                    new Among ( "ized", 15, 1, "r_F", methodObject ),
                    new Among ( "arized", 24, 1, "r_A", methodObject ),
                    new Among ( "oid", -1, 1, "r_A", methodObject ),
                    new Among ( "aroid", 26, 1, "r_A", methodObject ),
                    new Among ( "hood", -1, 1, "r_A", methodObject ),
                    new Among ( "ehood", 28, 1, "r_A", methodObject ),
                    new Among ( "ihood", 28, 1, "r_A", methodObject ),
                    new Among ( "elihood", 30, 1, "r_E", methodObject ),
                    new Among ( "ward", -1, 1, "r_A", methodObject ),
                    new Among ( "e", -1, 1, "r_A", methodObject ),
                    new Among ( "ae", 33, 1, "r_A", methodObject ),
                    new Among ( "ance", 33, 1, "r_B", methodObject ),
                    new Among ( "icance", 35, 1, "r_A", methodObject ),
                    new Among ( "ence", 33, 1, "r_A", methodObject ),
                    new Among ( "ide", 33, 1, "r_L", methodObject ),
                    new Among ( "icide", 38, 1, "r_A", methodObject ),
                    new Among ( "otide", 38, 1, "r_A", methodObject ),
                    new Among ( "age", 33, 1, "r_B", methodObject ),
                    new Among ( "able", 33, 1, "r_A", methodObject ),
                    new Among ( "atable", 42, 1, "r_A", methodObject ),
                    new Among ( "izable", 42, 1, "r_E", methodObject ),
                    new Among ( "arizable", 44, 1, "r_A", methodObject ),
                    new Among ( "ible", 33, 1, "r_A", methodObject ),
                    new Among ( "encible", 46, 1, "r_A", methodObject ),
                    new Among ( "ene", 33, 1, "r_E", methodObject ),
                    new Among ( "ine", 33, 1, "r_M", methodObject ),
                    new Among ( "idine", 49, 1, "r_I", methodObject ),
                    new Among ( "one", 33, 1, "r_R", methodObject ),
                    new Among ( "ature", 33, 1, "r_E", methodObject ),
                    new Among ( "eature", 52, 1, "r_Z", methodObject ),
                    new Among ( "ese", 33, 1, "r_A", methodObject ),
                    new Among ( "wise", 33, 1, "r_A", methodObject ),
                    new Among ( "ate", 33, 1, "r_A", methodObject ),
                    new Among ( "entiate", 56, 1, "r_A", methodObject ),
                    new Among ( "inate", 56, 1, "r_A", methodObject ),
                    new Among ( "ionate", 56, 1, "r_D", methodObject ),
                    new Among ( "ite", 33, 1, "r_AA", methodObject ),
                    new Among ( "ive", 33, 1, "r_A", methodObject ),
                    new Among ( "ative", 61, 1, "r_A", methodObject ),
                    new Among ( "ize", 33, 1, "r_F", methodObject ),
                    new Among ( "alize", 63, 1, "r_A", methodObject ),
                    new Among ( "icalize", 64, 1, "r_A", methodObject ),
                    new Among ( "ialize", 64, 1, "r_A", methodObject ),
                    new Among ( "entialize", 66, 1, "r_A", methodObject ),
                    new Among ( "ionalize", 64, 1, "r_A", methodObject ),
                    new Among ( "arize", 63, 1, "r_A", methodObject ),
                    new Among ( "ing", -1, 1, "r_N", methodObject ),
                    new Among ( "ancing", 70, 1, "r_B", methodObject ),
                    new Among ( "encing", 70, 1, "r_A", methodObject ),
                    new Among ( "aging", 70, 1, "r_B", methodObject ),
                    new Among ( "ening", 70, 1, "r_E", methodObject ),
                    new Among ( "ioning", 70, 1, "r_A", methodObject ),
                    new Among ( "ating", 70, 1, "r_I", methodObject ),
                    new Among ( "enting", 70, 1, "r_C", methodObject ),
                    new Among ( "ying", 70, 1, "r_B", methodObject ),
                    new Among ( "izing", 70, 1, "r_F", methodObject ),
                    new Among ( "arizing", 79, 1, "r_A", methodObject ),
                    new Among ( "ish", -1, 1, "r_C", methodObject ),
                    new Among ( "yish", 81, 1, "r_A", methodObject ),
                    new Among ( "i", -1, 1, "r_A", methodObject ),
                    new Among ( "al", -1, 1, "r_BB", methodObject ),
                    new Among ( "ical", 84, 1, "r_A", methodObject ),
                    new Among ( "aical", 85, 1, "r_A", methodObject ),
                    new Among ( "istical", 85, 1, "r_A", methodObject ),
                    new Among ( "oidal", 84, 1, "r_A", methodObject ),
                    new Among ( "eal", 84, 1, "r_Y", methodObject ),
                    new Among ( "ial", 84, 1, "r_A", methodObject ),
                    new Among ( "ancial", 90, 1, "r_A", methodObject ),
                    new Among ( "arial", 90, 1, "r_A", methodObject ),
                    new Among ( "ential", 90, 1, "r_A", methodObject ),
                    new Among ( "ional", 84, 1, "r_A", methodObject ),
                    new Among ( "ational", 94, 1, "r_B", methodObject ),
                    new Among ( "izational", 95, 1, "r_A", methodObject ),
                    new Among ( "ental", 84, 1, "r_A", methodObject ),
                    new Among ( "ful", -1, 1, "r_A", methodObject ),
                    new Among ( "eful", 98, 1, "r_A", methodObject ),
                    new Among ( "iful", 98, 1, "r_A", methodObject ),
                    new Among ( "yl", -1, 1, "r_R", methodObject ),
                    new Among ( "ism", -1, 1, "r_B", methodObject ),
                    new Among ( "icism", 102, 1, "r_A", methodObject ),
                    new Among ( "oidism", 102, 1, "r_A", methodObject ),
                    new Among ( "alism", 102, 1, "r_B", methodObject ),
                    new Among ( "icalism", 105, 1, "r_A", methodObject ),
                    new Among ( "ionalism", 105, 1, "r_A", methodObject ),
                    new Among ( "inism", 102, 1, "r_J", methodObject ),
                    new Among ( "ativism", 102, 1, "r_A", methodObject ),
                    new Among ( "um", -1, 1, "r_U", methodObject ),
                    new Among ( "ium", 110, 1, "r_A", methodObject ),
                    new Among ( "ian", -1, 1, "r_A", methodObject ),
                    new Among ( "ician", 112, 1, "r_A", methodObject ),
                    new Among ( "en", -1, 1, "r_F", methodObject ),
                    new Among ( "ogen", 114, 1, "r_A", methodObject ),
                    new Among ( "on", -1, 1, "r_S", methodObject ),
                    new Among ( "ion", 116, 1, "r_Q", methodObject ),
                    new Among ( "ation", 117, 1, "r_B", methodObject ),
                    new Among ( "ication", 118, 1, "r_G", methodObject ),
                    new Among ( "entiation", 118, 1, "r_A", methodObject ),
                    new Among ( "ination", 118, 1, "r_A", methodObject ),
                    new Among ( "isation", 118, 1, "r_A", methodObject ),
                    new Among ( "arisation", 122, 1, "r_A", methodObject ),
                    new Among ( "entation", 118, 1, "r_A", methodObject ),
                    new Among ( "ization", 118, 1, "r_F", methodObject ),
                    new Among ( "arization", 125, 1, "r_A", methodObject ),
                    new Among ( "action", 117, 1, "r_G", methodObject ),
                    new Among ( "o", -1, 1, "r_A", methodObject ),
                    new Among ( "ar", -1, 1, "r_X", methodObject ),
                    new Among ( "ear", 129, 1, "r_Y", methodObject ),
                    new Among ( "ier", -1, 1, "r_A", methodObject ),
                    new Among ( "ariser", -1, 1, "r_A", methodObject ),
                    new Among ( "izer", -1, 1, "r_F", methodObject ),
                    new Among ( "arizer", 133, 1, "r_A", methodObject ),
                    new Among ( "or", -1, 1, "r_T", methodObject ),
                    new Among ( "ator", 135, 1, "r_A", methodObject ),
                    new Among ( "s", -1, 1, "r_W", methodObject ),
                    new Among ( "'s", 137, 1, "r_A", methodObject ),
                    new Among ( "as", 137, 1, "r_B", methodObject ),
                    new Among ( "ics", 137, 1, "r_A", methodObject ),
                    new Among ( "istics", 140, 1, "r_A", methodObject ),
                    new Among ( "es", 137, 1, "r_E", methodObject ),
                    new Among ( "ances", 142, 1, "r_B", methodObject ),
                    new Among ( "ences", 142, 1, "r_A", methodObject ),
                    new Among ( "ides", 142, 1, "r_L", methodObject ),
                    new Among ( "oides", 145, 1, "r_A", methodObject ),
                    new Among ( "ages", 142, 1, "r_B", methodObject ),
                    new Among ( "ies", 142, 1, "r_P", methodObject ),
                    new Among ( "acies", 148, 1, "r_A", methodObject ),
                    new Among ( "ancies", 148, 1, "r_A", methodObject ),
                    new Among ( "encies", 148, 1, "r_A", methodObject ),
                    new Among ( "aries", 148, 1, "r_A", methodObject ),
                    new Among ( "ities", 148, 1, "r_A", methodObject ),
                    new Among ( "alities", 153, 1, "r_A", methodObject ),
                    new Among ( "ivities", 153, 1, "r_A", methodObject ),
                    new Among ( "ines", 142, 1, "r_M", methodObject ),
                    new Among ( "nesses", 142, 1, "r_A", methodObject ),
                    new Among ( "ates", 142, 1, "r_A", methodObject ),
                    new Among ( "atives", 142, 1, "r_A", methodObject ),
                    new Among ( "ings", 137, 1, "r_N", methodObject ),
                    new Among ( "is", 137, 1, "r_A", methodObject ),
                    new Among ( "als", 137, 1, "r_BB", methodObject ),
                    new Among ( "ials", 162, 1, "r_A", methodObject ),
                    new Among ( "entials", 163, 1, "r_A", methodObject ),
                    new Among ( "ionals", 162, 1, "r_A", methodObject ),
                    new Among ( "isms", 137, 1, "r_B", methodObject ),
                    new Among ( "ians", 137, 1, "r_A", methodObject ),
                    new Among ( "icians", 167, 1, "r_A", methodObject ),
                    new Among ( "ions", 137, 1, "r_B", methodObject ),
                    new Among ( "ations", 169, 1, "r_B", methodObject ),
                    new Among ( "arisations", 170, 1, "r_A", methodObject ),
                    new Among ( "entations", 170, 1, "r_A", methodObject ),
                    new Among ( "izations", 170, 1, "r_A", methodObject ),
                    new Among ( "arizations", 173, 1, "r_A", methodObject ),
                    new Among ( "ars", 137, 1, "r_O", methodObject ),
                    new Among ( "iers", 137, 1, "r_A", methodObject ),
                    new Among ( "izers", 137, 1, "r_F", methodObject ),
                    new Among ( "ators", 137, 1, "r_A", methodObject ),
                    new Among ( "less", 137, 1, "r_A", methodObject ),
                    new Among ( "eless", 179, 1, "r_A", methodObject ),
                    new Among ( "ness", 137, 1, "r_A", methodObject ),
                    new Among ( "eness", 181, 1, "r_E", methodObject ),
                    new Among ( "ableness", 182, 1, "r_A", methodObject ),
                    new Among ( "eableness", 183, 1, "r_E", methodObject ),
                    new Among ( "ibleness", 182, 1, "r_A", methodObject ),
                    new Among ( "ateness", 182, 1, "r_A", methodObject ),
                    new Among ( "iteness", 182, 1, "r_A", methodObject ),
                    new Among ( "iveness", 182, 1, "r_A", methodObject ),
                    new Among ( "ativeness", 188, 1, "r_A", methodObject ),
                    new Among ( "ingness", 181, 1, "r_A", methodObject ),
                    new Among ( "ishness", 181, 1, "r_A", methodObject ),
                    new Among ( "iness", 181, 1, "r_A", methodObject ),
                    new Among ( "ariness", 192, 1, "r_E", methodObject ),
                    new Among ( "alness", 181, 1, "r_A", methodObject ),
                    new Among ( "icalness", 194, 1, "r_A", methodObject ),
                    new Among ( "antialness", 194, 1, "r_A", methodObject ),
                    new Among ( "entialness", 194, 1, "r_A", methodObject ),
                    new Among ( "ionalness", 194, 1, "r_A", methodObject ),
                    new Among ( "fulness", 181, 1, "r_A", methodObject ),
                    new Among ( "lessness", 181, 1, "r_A", methodObject ),
                    new Among ( "ousness", 181, 1, "r_A", methodObject ),
                    new Among ( "eousness", 201, 1, "r_A", methodObject ),
                    new Among ( "iousness", 201, 1, "r_A", methodObject ),
                    new Among ( "itousness", 201, 1, "r_A", methodObject ),
                    new Among ( "entness", 181, 1, "r_A", methodObject ),
                    new Among ( "ants", 137, 1, "r_B", methodObject ),
                    new Among ( "ists", 137, 1, "r_A", methodObject ),
                    new Among ( "icists", 207, 1, "r_A", methodObject ),
                    new Among ( "us", 137, 1, "r_V", methodObject ),
                    new Among ( "ous", 209, 1, "r_A", methodObject ),
                    new Among ( "eous", 210, 1, "r_A", methodObject ),
                    new Among ( "aceous", 211, 1, "r_A", methodObject ),
                    new Among ( "antaneous", 211, 1, "r_A", methodObject ),
                    new Among ( "ious", 210, 1, "r_A", methodObject ),
                    new Among ( "acious", 214, 1, "r_B", methodObject ),
                    new Among ( "itous", 210, 1, "r_A", methodObject ),
                    new Among ( "ant", -1, 1, "r_B", methodObject ),
                    new Among ( "icant", 217, 1, "r_A", methodObject ),
                    new Among ( "ent", -1, 1, "r_C", methodObject ),
                    new Among ( "ement", 219, 1, "r_A", methodObject ),
                    new Among ( "izement", 220, 1, "r_A", methodObject ),
                    new Among ( "ist", -1, 1, "r_A", methodObject ),
                    new Among ( "icist", 222, 1, "r_A", methodObject ),
                    new Among ( "alist", 222, 1, "r_A", methodObject ),
                    new Among ( "icalist", 224, 1, "r_A", methodObject ),
                    new Among ( "ialist", 224, 1, "r_A", methodObject ),
                    new Among ( "ionist", 222, 1, "r_A", methodObject ),
                    new Among ( "entist", 222, 1, "r_A", methodObject ),
                    new Among ( "y", -1, 1, "r_B", methodObject ),
                    new Among ( "acy", 229, 1, "r_A", methodObject ),
                    new Among ( "ancy", 229, 1, "r_B", methodObject ),
                    new Among ( "ency", 229, 1, "r_A", methodObject ),
                    new Among ( "ly", 229, 1, "r_B", methodObject ),
                    new Among ( "ealy", 233, 1, "r_Y", methodObject ),
                    new Among ( "ably", 233, 1, "r_A", methodObject ),
                    new Among ( "ibly", 233, 1, "r_A", methodObject ),
                    new Among ( "edly", 233, 1, "r_E", methodObject ),
                    new Among ( "iedly", 237, 1, "r_A", methodObject ),
                    new Among ( "ely", 233, 1, "r_E", methodObject ),
                    new Among ( "ately", 239, 1, "r_A", methodObject ),
                    new Among ( "ively", 239, 1, "r_A", methodObject ),
                    new Among ( "atively", 241, 1, "r_A", methodObject ),
                    new Among ( "ingly", 233, 1, "r_B", methodObject ),
                    new Among ( "atingly", 243, 1, "r_A", methodObject ),
                    new Among ( "ily", 233, 1, "r_A", methodObject ),
                    new Among ( "lily", 245, 1, "r_A", methodObject ),
                    new Among ( "arily", 245, 1, "r_A", methodObject ),
                    new Among ( "ally", 233, 1, "r_B", methodObject ),
                    new Among ( "ically", 248, 1, "r_A", methodObject ),
                    new Among ( "aically", 249, 1, "r_A", methodObject ),
                    new Among ( "allically", 249, 1, "r_C", methodObject ),
                    new Among ( "istically", 249, 1, "r_A", methodObject ),
                    new Among ( "alistically", 252, 1, "r_B", methodObject ),
                    new Among ( "oidally", 248, 1, "r_A", methodObject ),
                    new Among ( "ially", 248, 1, "r_A", methodObject ),
                    new Among ( "entially", 255, 1, "r_A", methodObject ),
                    new Among ( "ionally", 248, 1, "r_A", methodObject ),
                    new Among ( "ationally", 257, 1, "r_B", methodObject ),
                    new Among ( "izationally", 258, 1, "r_B", methodObject ),
                    new Among ( "entally", 248, 1, "r_A", methodObject ),
                    new Among ( "fully", 233, 1, "r_A", methodObject ),
                    new Among ( "efully", 261, 1, "r_A", methodObject ),
                    new Among ( "ifully", 261, 1, "r_A", methodObject ),
                    new Among ( "enly", 233, 1, "r_E", methodObject ),
                    new Among ( "arly", 233, 1, "r_K", methodObject ),
                    new Among ( "early", 265, 1, "r_Y", methodObject ),
                    new Among ( "lessly", 233, 1, "r_A", methodObject ),
                    new Among ( "ously", 233, 1, "r_A", methodObject ),
                    new Among ( "eously", 268, 1, "r_A", methodObject ),
                    new Among ( "iously", 268, 1, "r_A", methodObject ),
                    new Among ( "ently", 233, 1, "r_A", methodObject ),
                    new Among ( "ary", 229, 1, "r_F", methodObject ),
                    new Among ( "ery", 229, 1, "r_E", methodObject ),
                    new Among ( "icianry", 229, 1, "r_A", methodObject ),
                    new Among ( "atory", 229, 1, "r_A", methodObject ),
                    new Among ( "ity", 229, 1, "r_A", methodObject ),
                    new Among ( "acity", 276, 1, "r_A", methodObject ),
                    new Among ( "icity", 276, 1, "r_A", methodObject ),
                    new Among ( "eity", 276, 1, "r_A", methodObject ),
                    new Among ( "ality", 276, 1, "r_A", methodObject ),
                    new Among ( "icality", 280, 1, "r_A", methodObject ),
                    new Among ( "iality", 280, 1, "r_A", methodObject ),
                    new Among ( "antiality", 282, 1, "r_A", methodObject ),
                    new Among ( "entiality", 282, 1, "r_A", methodObject ),
                    new Among ( "ionality", 280, 1, "r_A", methodObject ),
                    new Among ( "elity", 276, 1, "r_A", methodObject ),
                    new Among ( "ability", 276, 1, "r_A", methodObject ),
                    new Among ( "izability", 287, 1, "r_A", methodObject ),
                    new Among ( "arizability", 288, 1, "r_A", methodObject ),
                    new Among ( "ibility", 276, 1, "r_A", methodObject ),
                    new Among ( "inity", 276, 1, "r_CC", methodObject ),
                    new Among ( "arity", 276, 1, "r_B", methodObject ),
                    new Among ( "ivity", 276, 1, "r_A", methodObject )
                };

                private final static Among a_2[] = {
                    new Among ( "bb", -1, -1, "", methodObject ),
                    new Among ( "dd", -1, -1, "", methodObject ),
                    new Among ( "gg", -1, -1, "", methodObject ),
                    new Among ( "ll", -1, -1, "", methodObject ),
                    new Among ( "mm", -1, -1, "", methodObject ),
                    new Among ( "nn", -1, -1, "", methodObject ),
                    new Among ( "pp", -1, -1, "", methodObject ),
                    new Among ( "rr", -1, -1, "", methodObject ),
                    new Among ( "ss", -1, -1, "", methodObject ),
                    new Among ( "tt", -1, -1, "", methodObject )
                };

                private final static Among a_3[] = {
                    new Among ( "uad", -1, 18, "", methodObject ),
                    new Among ( "vad", -1, 19, "", methodObject ),
                    new Among ( "cid", -1, 20, "", methodObject ),
                    new Among ( "lid", -1, 21, "", methodObject ),
                    new Among ( "erid", -1, 22, "", methodObject ),
                    new Among ( "pand", -1, 23, "", methodObject ),
                    new Among ( "end", -1, 24, "", methodObject ),
                    new Among ( "ond", -1, 25, "", methodObject ),
                    new Among ( "lud", -1, 26, "", methodObject ),
                    new Among ( "rud", -1, 27, "", methodObject ),
                    new Among ( "ul", -1, 9, "", methodObject ),
                    new Among ( "her", -1, 28, "", methodObject ),
                    new Among ( "metr", -1, 7, "", methodObject ),
                    new Among ( "istr", -1, 6, "", methodObject ),
                    new Among ( "urs", -1, 5, "", methodObject ),
                    new Among ( "uct", -1, 2, "", methodObject ),
                    new Among ( "et", -1, 32, "", methodObject ),
                    new Among ( "mit", -1, 29, "", methodObject ),
                    new Among ( "ent", -1, 30, "", methodObject ),
                    new Among ( "umpt", -1, 3, "", methodObject ),
                    new Among ( "rpt", -1, 4, "", methodObject ),
                    new Among ( "ert", -1, 31, "", methodObject ),
                    new Among ( "yt", -1, 33, "", methodObject ),
                    new Among ( "iev", -1, 1, "", methodObject ),
                    new Among ( "olv", -1, 8, "", methodObject ),
                    new Among ( "ax", -1, 14, "", methodObject ),
                    new Among ( "ex", -1, 15, "", methodObject ),
                    new Among ( "bex", 26, 10, "", methodObject ),
                    new Among ( "dex", 26, 11, "", methodObject ),
                    new Among ( "pex", 26, 12, "", methodObject ),
                    new Among ( "tex", 26, 13, "", methodObject ),
                    new Among ( "ix", -1, 16, "", methodObject ),
                    new Among ( "lux", -1, 17, "", methodObject ),
                    new Among ( "yz", -1, 34, "", methodObject )
                };


                private void copy_from(LovinsStemmer other) {
                    super.copy_from(other);
                }

                private boolean r_A() {
                    // (, line 21
                    // hop, line 21
                    {
                        int c = cursor - 2;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    return true;
                }

                private boolean r_B() {
                    // (, line 22
                    // hop, line 22
                    {
                        int c = cursor - 3;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    return true;
                }

                private boolean r_C() {
                    // (, line 23
                    // hop, line 23
                    {
                        int c = cursor - 4;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    return true;
                }

                private boolean r_D() {
                    // (, line 24
                    // hop, line 24
                    {
                        int c = cursor - 5;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    return true;
                }

                private boolean r_E() {
            int v_1;
            int v_2;
                    // (, line 25
                    // test, line 25
                    v_1 = limit - cursor;
                    // hop, line 25
                    {
                        int c = cursor - 2;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // not, line 25
                    {
                        v_2 = limit - cursor;
                        lab0: do {
                            // literal, line 25
                            if (!(eq_s_b(1, "e")))
                            {
                                break lab0;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_2;
                    }
                    return true;
                }

                private boolean r_F() {
            int v_1;
            int v_2;
                    // (, line 26
                    // test, line 26
                    v_1 = limit - cursor;
                    // hop, line 26
                    {
                        int c = cursor - 3;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // not, line 26
                    {
                        v_2 = limit - cursor;
                        lab0: do {
                            // literal, line 26
                            if (!(eq_s_b(1, "e")))
                            {
                                break lab0;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_2;
                    }
                    return true;
                }

                private boolean r_G() {
            int v_1;
                    // (, line 27
                    // test, line 27
                    v_1 = limit - cursor;
                    // hop, line 27
                    {
                        int c = cursor - 3;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // literal, line 27
                    if (!(eq_s_b(1, "f")))
                    {
                        return false;
                    }
                    return true;
                }

                private boolean r_H() {
            int v_1;
            int v_2;
                    // (, line 28
                    // test, line 28
                    v_1 = limit - cursor;
                    // hop, line 28
                    {
                        int c = cursor - 2;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // or, line 28
                    lab0: do {
                        v_2 = limit - cursor;
                        lab1: do {
                            // literal, line 28
                            if (!(eq_s_b(1, "t")))
                            {
                                break lab1;
                            }
                            break lab0;
                        } while (false);
                        cursor = limit - v_2;
                        // literal, line 28
                        if (!(eq_s_b(2, "ll")))
                        {
                            return false;
                        }
                    } while (false);
                    return true;
                }

                private boolean r_I() {
            int v_1;
            int v_2;
            int v_3;
                    // (, line 29
                    // test, line 29
                    v_1 = limit - cursor;
                    // hop, line 29
                    {
                        int c = cursor - 2;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // not, line 29
                    {
                        v_2 = limit - cursor;
                        lab0: do {
                            // literal, line 29
                            if (!(eq_s_b(1, "o")))
                            {
                                break lab0;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_2;
                    }
                    // not, line 29
                    {
                        v_3 = limit - cursor;
                        lab1: do {
                            // literal, line 29
                            if (!(eq_s_b(1, "e")))
                            {
                                break lab1;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_3;
                    }
                    return true;
                }

                private boolean r_J() {
            int v_1;
            int v_2;
            int v_3;
                    // (, line 30
                    // test, line 30
                    v_1 = limit - cursor;
                    // hop, line 30
                    {
                        int c = cursor - 2;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // not, line 30
                    {
                        v_2 = limit - cursor;
                        lab0: do {
                            // literal, line 30
                            if (!(eq_s_b(1, "a")))
                            {
                                break lab0;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_2;
                    }
                    // not, line 30
                    {
                        v_3 = limit - cursor;
                        lab1: do {
                            // literal, line 30
                            if (!(eq_s_b(1, "e")))
                            {
                                break lab1;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_3;
                    }
                    return true;
                }

                private boolean r_K() {
            int v_1;
            int v_2;
                    // (, line 31
                    // test, line 31
                    v_1 = limit - cursor;
                    // hop, line 31
                    {
                        int c = cursor - 3;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // or, line 31
                    lab0: do {
                        v_2 = limit - cursor;
                        lab1: do {
                            // literal, line 31
                            if (!(eq_s_b(1, "l")))
                            {
                                break lab1;
                            }
                            break lab0;
                        } while (false);
                        cursor = limit - v_2;
                        lab2: do {
                            // literal, line 31
                            if (!(eq_s_b(1, "i")))
                            {
                                break lab2;
                            }
                            break lab0;
                        } while (false);
                        cursor = limit - v_2;
                        // (, line 31
                        // literal, line 31
                        if (!(eq_s_b(1, "e")))
                        {
                            return false;
                        }
                        // next, line 31
                        if (cursor <= limit_backward)
                        {
                            return false;
                        }
                        cursor--;
                        // literal, line 31
                        if (!(eq_s_b(1, "u")))
                        {
                            return false;
                        }
                    } while (false);
                    return true;
                }

                private boolean r_L() {
            int v_1;
            int v_2;
            int v_3;
            int v_4;
            int v_5;
                    // (, line 32
                    // test, line 32
                    v_1 = limit - cursor;
                    // hop, line 32
                    {
                        int c = cursor - 2;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // not, line 32
                    {
                        v_2 = limit - cursor;
                        lab0: do {
                            // literal, line 32
                            if (!(eq_s_b(1, "u")))
                            {
                                break lab0;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_2;
                    }
                    // not, line 32
                    {
                        v_3 = limit - cursor;
                        lab1: do {
                            // literal, line 32
                            if (!(eq_s_b(1, "x")))
                            {
                                break lab1;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_3;
                    }
                    // not, line 32
                    {
                        v_4 = limit - cursor;
                        lab2: do {
                            // (, line 32
                            // literal, line 32
                            if (!(eq_s_b(1, "s")))
                            {
                                break lab2;
                            }
                            // not, line 32
                            {
                                v_5 = limit - cursor;
                                lab3: do {
                                    // literal, line 32
                                    if (!(eq_s_b(1, "o")))
                                    {
                                        break lab3;
                                    }
                                    break lab2;
                                } while (false);
                                cursor = limit - v_5;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_4;
                    }
                    return true;
                }

                private boolean r_M() {
            int v_1;
            int v_2;
            int v_3;
            int v_4;
            int v_5;
                    // (, line 33
                    // test, line 33
                    v_1 = limit - cursor;
                    // hop, line 33
                    {
                        int c = cursor - 2;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // not, line 33
                    {
                        v_2 = limit - cursor;
                        lab0: do {
                            // literal, line 33
                            if (!(eq_s_b(1, "a")))
                            {
                                break lab0;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_2;
                    }
                    // not, line 33
                    {
                        v_3 = limit - cursor;
                        lab1: do {
                            // literal, line 33
                            if (!(eq_s_b(1, "c")))
                            {
                                break lab1;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_3;
                    }
                    // not, line 33
                    {
                        v_4 = limit - cursor;
                        lab2: do {
                            // literal, line 33
                            if (!(eq_s_b(1, "e")))
                            {
                                break lab2;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_4;
                    }
                    // not, line 33
                    {
                        v_5 = limit - cursor;
                        lab3: do {
                            // literal, line 33
                            if (!(eq_s_b(1, "m")))
                            {
                                break lab3;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_5;
                    }
                    return true;
                }

                private boolean r_N() {
            int v_1;
            int v_2;
            int v_3;
                    // (, line 34
                    // test, line 34
                    v_1 = limit - cursor;
                    // hop, line 34
                    {
                        int c = cursor - 3;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // (, line 34
                    // hop, line 34
                    {
                        int c = cursor - 2;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    // or, line 34
                    lab0: do {
                        v_2 = limit - cursor;
                        lab1: do {
                            // not, line 34
                            {
                                v_3 = limit - cursor;
                                lab2: do {
                                    // literal, line 34
                                    if (!(eq_s_b(1, "s")))
                                    {
                                        break lab2;
                                    }
                                    break lab1;
                                } while (false);
                                cursor = limit - v_3;
                            }
                            break lab0;
                        } while (false);
                        cursor = limit - v_2;
                        // hop, line 34
                        {
                            int c = cursor - 2;
                            if (limit_backward > c || c > limit)
                            {
                                return false;
                            }
                            cursor = c;
                        }
                    } while (false);
                    return true;
                }

                private boolean r_O() {
            int v_1;
            int v_2;
                    // (, line 35
                    // test, line 35
                    v_1 = limit - cursor;
                    // hop, line 35
                    {
                        int c = cursor - 2;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // or, line 35
                    lab0: do {
                        v_2 = limit - cursor;
                        lab1: do {
                            // literal, line 35
                            if (!(eq_s_b(1, "l")))
                            {
                                break lab1;
                            }
                            break lab0;
                        } while (false);
                        cursor = limit - v_2;
                        // literal, line 35
                        if (!(eq_s_b(1, "i")))
                        {
                            return false;
                        }
                    } while (false);
                    return true;
                }

                private boolean r_P() {
            int v_1;
            int v_2;
                    // (, line 36
                    // test, line 36
                    v_1 = limit - cursor;
                    // hop, line 36
                    {
                        int c = cursor - 2;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // not, line 36
                    {
                        v_2 = limit - cursor;
                        lab0: do {
                            // literal, line 36
                            if (!(eq_s_b(1, "c")))
                            {
                                break lab0;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_2;
                    }
                    return true;
                }

                private boolean r_Q() {
            int v_1;
            int v_2;
            int v_3;
            int v_4;
                    // (, line 37
                    // test, line 37
                    v_1 = limit - cursor;
                    // hop, line 37
                    {
                        int c = cursor - 2;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // test, line 37
                    v_2 = limit - cursor;
                    // hop, line 37
                    {
                        int c = cursor - 3;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_2;
                    // not, line 37
                    {
                        v_3 = limit - cursor;
                        lab0: do {
                            // literal, line 37
                            if (!(eq_s_b(1, "l")))
                            {
                                break lab0;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_3;
                    }
                    // not, line 37
                    {
                        v_4 = limit - cursor;
                        lab1: do {
                            // literal, line 37
                            if (!(eq_s_b(1, "n")))
                            {
                                break lab1;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_4;
                    }
                    return true;
                }

                private boolean r_R() {
            int v_1;
            int v_2;
                    // (, line 38
                    // test, line 38
                    v_1 = limit - cursor;
                    // hop, line 38
                    {
                        int c = cursor - 2;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // or, line 38
                    lab0: do {
                        v_2 = limit - cursor;
                        lab1: do {
                            // literal, line 38
                            if (!(eq_s_b(1, "n")))
                            {
                                break lab1;
                            }
                            break lab0;
                        } while (false);
                        cursor = limit - v_2;
                        // literal, line 38
                        if (!(eq_s_b(1, "r")))
                        {
                            return false;
                        }
                    } while (false);
                    return true;
                }

                private boolean r_S() {
            int v_1;
            int v_2;
            int v_3;
                    // (, line 39
                    // test, line 39
                    v_1 = limit - cursor;
                    // hop, line 39
                    {
                        int c = cursor - 2;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // or, line 39
                    lab0: do {
                        v_2 = limit - cursor;
                        lab1: do {
                            // literal, line 39
                            if (!(eq_s_b(2, "dr")))
                            {
                                break lab1;
                            }
                            break lab0;
                        } while (false);
                        cursor = limit - v_2;
                        // (, line 39
                        // literal, line 39
                        if (!(eq_s_b(1, "t")))
                        {
                            return false;
                        }
                        // not, line 39
                        {
                            v_3 = limit - cursor;
                            lab2: do {
                                // literal, line 39
                                if (!(eq_s_b(1, "t")))
                                {
                                    break lab2;
                                }
                                return false;
                            } while (false);
                            cursor = limit - v_3;
                        }
                    } while (false);
                    return true;
                }

                private boolean r_T() {
            int v_1;
            int v_2;
            int v_3;
                    // (, line 40
                    // test, line 40
                    v_1 = limit - cursor;
                    // hop, line 40
                    {
                        int c = cursor - 2;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // or, line 40
                    lab0: do {
                        v_2 = limit - cursor;
                        lab1: do {
                            // literal, line 40
                            if (!(eq_s_b(1, "s")))
                            {
                                break lab1;
                            }
                            break lab0;
                        } while (false);
                        cursor = limit - v_2;
                        // (, line 40
                        // literal, line 40
                        if (!(eq_s_b(1, "t")))
                        {
                            return false;
                        }
                        // not, line 40
                        {
                            v_3 = limit - cursor;
                            lab2: do {
                                // literal, line 40
                                if (!(eq_s_b(1, "o")))
                                {
                                    break lab2;
                                }
                                return false;
                            } while (false);
                            cursor = limit - v_3;
                        }
                    } while (false);
                    return true;
                }

                private boolean r_U() {
            int v_1;
            int v_2;
                    // (, line 41
                    // test, line 41
                    v_1 = limit - cursor;
                    // hop, line 41
                    {
                        int c = cursor - 2;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // or, line 41
                    lab0: do {
                        v_2 = limit - cursor;
                        lab1: do {
                            // literal, line 41
                            if (!(eq_s_b(1, "l")))
                            {
                                break lab1;
                            }
                            break lab0;
                        } while (false);
                        cursor = limit - v_2;
                        lab2: do {
                            // literal, line 41
                            if (!(eq_s_b(1, "m")))
                            {
                                break lab2;
                            }
                            break lab0;
                        } while (false);
                        cursor = limit - v_2;
                        lab3: do {
                            // literal, line 41
                            if (!(eq_s_b(1, "n")))
                            {
                                break lab3;
                            }
                            break lab0;
                        } while (false);
                        cursor = limit - v_2;
                        // literal, line 41
                        if (!(eq_s_b(1, "r")))
                        {
                            return false;
                        }
                    } while (false);
                    return true;
                }

                private boolean r_V() {
            int v_1;
                    // (, line 42
                    // test, line 42
                    v_1 = limit - cursor;
                    // hop, line 42
                    {
                        int c = cursor - 2;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // literal, line 42
                    if (!(eq_s_b(1, "c")))
                    {
                        return false;
                    }
                    return true;
                }

                private boolean r_W() {
            int v_1;
            int v_2;
            int v_3;
                    // (, line 43
                    // test, line 43
                    v_1 = limit - cursor;
                    // hop, line 43
                    {
                        int c = cursor - 2;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // not, line 43
                    {
                        v_2 = limit - cursor;
                        lab0: do {
                            // literal, line 43
                            if (!(eq_s_b(1, "s")))
                            {
                                break lab0;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_2;
                    }
                    // not, line 43
                    {
                        v_3 = limit - cursor;
                        lab1: do {
                            // literal, line 43
                            if (!(eq_s_b(1, "u")))
                            {
                                break lab1;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_3;
                    }
                    return true;
                }

                private boolean r_X() {
            int v_1;
            int v_2;
                    // (, line 44
                    // test, line 44
                    v_1 = limit - cursor;
                    // hop, line 44
                    {
                        int c = cursor - 2;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // or, line 44
                    lab0: do {
                        v_2 = limit - cursor;
                        lab1: do {
                            // literal, line 44
                            if (!(eq_s_b(1, "l")))
                            {
                                break lab1;
                            }
                            break lab0;
                        } while (false);
                        cursor = limit - v_2;
                        lab2: do {
                            // literal, line 44
                            if (!(eq_s_b(1, "i")))
                            {
                                break lab2;
                            }
                            break lab0;
                        } while (false);
                        cursor = limit - v_2;
                        // (, line 44
                        // literal, line 44
                        if (!(eq_s_b(1, "e")))
                        {
                            return false;
                        }
                        // next, line 44
                        if (cursor <= limit_backward)
                        {
                            return false;
                        }
                        cursor--;
                        // literal, line 44
                        if (!(eq_s_b(1, "u")))
                        {
                            return false;
                        }
                    } while (false);
                    return true;
                }

                private boolean r_Y() {
            int v_1;
                    // (, line 45
                    // test, line 45
                    v_1 = limit - cursor;
                    // hop, line 45
                    {
                        int c = cursor - 2;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // literal, line 45
                    if (!(eq_s_b(2, "in")))
                    {
                        return false;
                    }
                    return true;
                }

                private boolean r_Z() {
            int v_1;
            int v_2;
                    // (, line 46
                    // test, line 46
                    v_1 = limit - cursor;
                    // hop, line 46
                    {
                        int c = cursor - 2;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // not, line 46
                    {
                        v_2 = limit - cursor;
                        lab0: do {
                            // literal, line 46
                            if (!(eq_s_b(1, "f")))
                            {
                                break lab0;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_2;
                    }
                    return true;
                }

                private boolean r_AA() {
            int v_1;
                    // (, line 47
                    // test, line 47
                    v_1 = limit - cursor;
                    // hop, line 47
                    {
                        int c = cursor - 2;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // among, line 47
                    if (find_among_b(a_0, 9) == 0)
                    {
                        return false;
                    }
                    return true;
                }

                private boolean r_BB() {
            int v_1;
            int v_2;
            int v_3;
                    // (, line 49
                    // test, line 49
                    v_1 = limit - cursor;
                    // hop, line 49
                    {
                        int c = cursor - 3;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // not, line 49
                    {
                        v_2 = limit - cursor;
                        lab0: do {
                            // literal, line 49
                            if (!(eq_s_b(3, "met")))
                            {
                                break lab0;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_2;
                    }
                    // not, line 49
                    {
                        v_3 = limit - cursor;
                        lab1: do {
                            // literal, line 49
                            if (!(eq_s_b(4, "ryst")))
                            {
                                break lab1;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_3;
                    }
                    return true;
                }

                private boolean r_CC() {
            int v_1;
                    // (, line 50
                    // test, line 50
                    v_1 = limit - cursor;
                    // hop, line 50
                    {
                        int c = cursor - 2;
                        if (limit_backward > c || c > limit)
                        {
                            return false;
                        }
                        cursor = c;
                    }
                    cursor = limit - v_1;
                    // literal, line 50
                    if (!(eq_s_b(1, "l")))
                    {
                        return false;
                    }
                    return true;
                }

                private boolean r_endings() {
            int among_var;
                    // (, line 55
                    // [, line 56
                    ket = cursor;
                    // substring, line 56
                    among_var = find_among_b(a_1, 294);
                    if (among_var == 0)
                    {
                        return false;
                    }
                    // ], line 56
                    bra = cursor;
                    switch(among_var) {
                        case 0:
                            return false;
                        case 1:
                            // (, line 145
                            // delete, line 145
                            slice_del();
                            break;
                    }
                    return true;
                }

                private boolean r_undouble() {
            int v_1;
                    // (, line 151
                    // test, line 152
                    v_1 = limit - cursor;
                    // substring, line 152
                    if (find_among_b(a_2, 10) == 0)
                    {
                        return false;
                    }
                    cursor = limit - v_1;
                    // [, line 154
                    ket = cursor;
                    // next, line 154
                    if (cursor <= limit_backward)
                    {
                        return false;
                    }
                    cursor--;
                    // ], line 154
                    bra = cursor;
                    // delete, line 154
                    slice_del();
                    return true;
                }

                private boolean r_respell() {
            int among_var;
            int v_1;
            int v_2;
            int v_3;
            int v_4;
            int v_5;
            int v_6;
            int v_7;
            int v_8;
                    // (, line 159
                    // [, line 160
                    ket = cursor;
                    // substring, line 160
                    among_var = find_among_b(a_3, 34);
                    if (among_var == 0)
                    {
                        return false;
                    }
                    // ], line 160
                    bra = cursor;
                    switch(among_var) {
                        case 0:
                            return false;
                        case 1:
                            // (, line 161
                            // <-, line 161
                            slice_from("ief");
                            break;
                        case 2:
                            // (, line 162
                            // <-, line 162
                            slice_from("uc");
                            break;
                        case 3:
                            // (, line 163
                            // <-, line 163
                            slice_from("um");
                            break;
                        case 4:
                            // (, line 164
                            // <-, line 164
                            slice_from("rb");
                            break;
                        case 5:
                            // (, line 165
                            // <-, line 165
                            slice_from("ur");
                            break;
                        case 6:
                            // (, line 166
                            // <-, line 166
                            slice_from("ister");
                            break;
                        case 7:
                            // (, line 167
                            // <-, line 167
                            slice_from("meter");
                            break;
                        case 8:
                            // (, line 168
                            // <-, line 168
                            slice_from("olut");
                            break;
                        case 9:
                            // (, line 169
                            // not, line 169
                            {
                                v_1 = limit - cursor;
                                lab0: do {
                                    // literal, line 169
                                    if (!(eq_s_b(1, "a")))
                                    {
                                        break lab0;
                                    }
                                    return false;
                                } while (false);
                                cursor = limit - v_1;
                            }
                            // not, line 169
                            {
                                v_2 = limit - cursor;
                                lab1: do {
                                    // literal, line 169
                                    if (!(eq_s_b(1, "i")))
                                    {
                                        break lab1;
                                    }
                                    return false;
                                } while (false);
                                cursor = limit - v_2;
                            }
                            // not, line 169
                            {
                                v_3 = limit - cursor;
                                lab2: do {
                                    // literal, line 169
                                    if (!(eq_s_b(1, "o")))
                                    {
                                        break lab2;
                                    }
                                    return false;
                                } while (false);
                                cursor = limit - v_3;
                            }
                            // <-, line 169
                            slice_from("l");
                            break;
                        case 10:
                            // (, line 170
                            // <-, line 170
                            slice_from("bic");
                            break;
                        case 11:
                            // (, line 171
                            // <-, line 171
                            slice_from("dic");
                            break;
                        case 12:
                            // (, line 172
                            // <-, line 172
                            slice_from("pic");
                            break;
                        case 13:
                            // (, line 173
                            // <-, line 173
                            slice_from("tic");
                            break;
                        case 14:
                            // (, line 174
                            // <-, line 174
                            slice_from("ac");
                            break;
                        case 15:
                            // (, line 175
                            // <-, line 175
                            slice_from("ec");
                            break;
                        case 16:
                            // (, line 176
                            // <-, line 176
                            slice_from("ic");
                            break;
                        case 17:
                            // (, line 177
                            // <-, line 177
                            slice_from("luc");
                            break;
                        case 18:
                            // (, line 178
                            // <-, line 178
                            slice_from("uas");
                            break;
                        case 19:
                            // (, line 179
                            // <-, line 179
                            slice_from("vas");
                            break;
                        case 20:
                            // (, line 180
                            // <-, line 180
                            slice_from("cis");
                            break;
                        case 21:
                            // (, line 181
                            // <-, line 181
                            slice_from("lis");
                            break;
                        case 22:
                            // (, line 182
                            // <-, line 182
                            slice_from("eris");
                            break;
                        case 23:
                            // (, line 183
                            // <-, line 183
                            slice_from("pans");
                            break;
                        case 24:
                            // (, line 184
                            // not, line 184
                            {
                                v_4 = limit - cursor;
                                lab3: do {
                                    // literal, line 184
                                    if (!(eq_s_b(1, "s")))
                                    {
                                        break lab3;
                                    }
                                    return false;
                                } while (false);
                                cursor = limit - v_4;
                            }
                            // <-, line 184
                            slice_from("ens");
                            break;
                        case 25:
                            // (, line 185
                            // <-, line 185
                            slice_from("ons");
                            break;
                        case 26:
                            // (, line 186
                            // <-, line 186
                            slice_from("lus");
                            break;
                        case 27:
                            // (, line 187
                            // <-, line 187
                            slice_from("rus");
                            break;
                        case 28:
                            // (, line 188
                            // not, line 188
                            {
                                v_5 = limit - cursor;
                                lab4: do {
                                    // literal, line 188
                                    if (!(eq_s_b(1, "p")))
                                    {
                                        break lab4;
                                    }
                                    return false;
                                } while (false);
                                cursor = limit - v_5;
                            }
                            // not, line 188
                            {
                                v_6 = limit - cursor;
                                lab5: do {
                                    // literal, line 188
                                    if (!(eq_s_b(1, "t")))
                                    {
                                        break lab5;
                                    }
                                    return false;
                                } while (false);
                                cursor = limit - v_6;
                            }
                            // <-, line 188
                            slice_from("hes");
                            break;
                        case 29:
                            // (, line 189
                            // <-, line 189
                            slice_from("mis");
                            break;
                        case 30:
                            // (, line 190
                            // not, line 190
                            {
                                v_7 = limit - cursor;
                                lab6: do {
                                    // literal, line 190
                                    if (!(eq_s_b(1, "m")))
                                    {
                                        break lab6;
                                    }
                                    return false;
                                } while (false);
                                cursor = limit - v_7;
                            }
                            // <-, line 190
                            slice_from("ens");
                            break;
                        case 31:
                            // (, line 192
                            // <-, line 192
                            slice_from("ers");
                            break;
                        case 32:
                            // (, line 193
                            // not, line 193
                            {
                                v_8 = limit - cursor;
                                lab7: do {
                                    // literal, line 193
                                    if (!(eq_s_b(1, "n")))
                                    {
                                        break lab7;
                                    }
                                    return false;
                                } while (false);
                                cursor = limit - v_8;
                            }
                            // <-, line 193
                            slice_from("es");
                            break;
                        case 33:
                            // (, line 194
                            // <-, line 194
                            slice_from("ys");
                            break;
                        case 34:
                            // (, line 195
                            // <-, line 195
                            slice_from("ys");
                            break;
                    }
                    return true;
                }

                @Override
                public boolean stem() {
            int v_1;
            int v_2;
            int v_3;
                    // (, line 200
                    // backwards, line 202
                    limit_backward = cursor; cursor = limit;
                    // (, line 202
                    // do, line 203
                    v_1 = limit - cursor;
                    lab0: do {
                        // call endings, line 203
                        if (!r_endings())
                        {
                            break lab0;
                        }
                    } while (false);
                    cursor = limit - v_1;
                    // do, line 204
                    v_2 = limit - cursor;
                    lab1: do {
                        // call undouble, line 204
                        if (!r_undouble())
                        {
                            break lab1;
                        }
                    } while (false);
                    cursor = limit - v_2;
                    // do, line 205
                    v_3 = limit - cursor;
                    lab2: do {
                        // call respell, line 205
                        if (!r_respell())
                        {
                            break lab2;
                        }
                    } while (false);
                    cursor = limit - v_3;
                    cursor = limit_backward;                    return true;
                }

        @Override
        public boolean equals( Object o ) {
            return o instanceof LovinsStemmer;
        }

        @Override
        public int hashCode() {
            return LovinsStemmer.class.getName().hashCode();
        }



}

