Resources
Usage
Instantiate an Instance of SGeva (WordMatchSGeva in our case) and call the run method.
object WordMatchSGevaRunner extends App { new WordMatchSGeva().run() }
Derive your SGeva from AbstractSGeva and mixin the necessary factories to instantiate the designated Geva modules.
class WordMatchSGeva extends net.entelijan.sgeva.AbstractSGeva with net.entelijan.sgeva.conf.RampedHalfAndHalfInitialiserFactory with net.entelijan.sgeva.conf.DefaultDerivationTreeFactory with net.entelijan.sgeva.conf.SinglePointCrossoverFactory with net.entelijan.sgeva.conf.IntFlipMutationFactory with net.entelijan.sgeva.conf.GenerationalSelectionRepalcementFactory with net.entelijan.sgeva.conf.ProportionalRouletteWheelFactory with net.entelijan.sgeva.conf.StdoutCollectorFactory with net.entelijan.sgeva.conf.JreRandomFactory with ExampleFormatter { // The properties needed for the above defined factories @SGevaProperty def seed = None @SGevaProperty def generations = 100 @SGevaProperty def populationSize = 150 @SGevaProperty def initChromSize = 100 @SGevaProperty def growProb = 0.5 @SGevaProperty def evaluateElite = false @SGevaProperty def eliteSize = 10 @SGevaProperty def mutationProb = 0.01 @SGevaProperty def crossoverProb = 0.8 @SGevaProperty def fixedPointCrossover = false @SGevaProperty def maxWraps = 0 @SGevaProperty def maxDepth = 10 @SGevaProperty def maxDerivationTreeDepth = 50 // The fitness function @SGevaProperty def fitnessFunction = new WordMatchFitnessFunction { def word = "noah" def canCache = true } // The grammar // In scala you can use XML directly inside the sourcecode. I used // that feature to define the grammer without using external resources. // So you can have all the relevant information together in one file def grammarString =::= .text }| ::= | | ::= _ # Vowels and consonats ::= a|o|u|e|i ::= q|w|r|t|y|p|s|d|f|g|h|j|k|l|z|x|c|v|b|n|m ]]>
A fitness function for the WordMatchSGeva. Returnes a fitness value according to the fitness of a program, expressed by the grammar above
/** * The fitness function for the wordmatch. * The code was migrated from geva (java) to scala */ trait WordMatchFitnessFunction extends net.entelijan.sgeva.DoubleValueFitnessFunction { import Individuals.Phenotype def word: String override def toString() = "WordMatchFitnessFunction('%s') cache=%s" format (word, canCache) /** * Compare a string to the word. Each symbol not matching increases the fitness by 1. * Max fitness is max(length of the word, phenotype). * @param p Compared phenotype * @return Number of missmatches */ protected def evaluateFitness(pheno: Phenotype): Double = { val indiWord: String = pheno.getStringNoSpace() if (indiWord == null) word.length() else { val minLength = math.min(indiWord.length(), word.length()) val matchList = (0 to (minLength - 1)).map(i => if (indiWord.charAt(i) == word.charAt(i)) 1 else 0) val matchCount = matchList.foldLeft(0)((a, b) => a + b) val maxFitnessValue = math.max(indiWord.length(), word.length()) return maxFitnessValue - matchCount; } } }
Defines how the results of the SGeva run are recorded. In our case the results are written to standard output as the StdoutCollectorFactory is used in WordMatchSGeva (see above). The StdoutCollectorFactory needs a Formatter to define how to format results.
/** * Define the output of the results */ trait ExampleFormatter extends net.entelijan.sgeva.module.Formatter with net.entelijan.sgeva.module.PopulationStat with net.entelijan.sgeva.module.SGevaProperties with net.entelijan.sgeva.module.FormatterUtil { import scala.collection.JavaConversions._ def printHeader(pw: java.io.PrintWriter) { pw.println("-- Properties -------------------------------------------------------------------------------") sGevaProperties.foreach(p => pw.println("%s = %s" format (p.key, p.value))) pw.println("---------------------------------------------------------------------------------------------") pw.println("%15s\t%15s\t%15s\t%15s\t%s" format ("gen", "best", "mean", "worst", "words")) } def printGenerationData(pw: java.io.PrintWriter, genCount: Int, pop: Individuals.Populations.Population) { val stat = fitness(pop) pop.sort() val indis = pop.getAll() val words = formatList("%9s", "")(indis.map(i => "'%s'" format i.getPhenotype().getStringNoSpace()).toList) pw.println("%15d\t%15.2f\t%15.2f\t%15.2f\t%s" format ( genCount, stat.min, stat.mean, stat.max, words)) } }
Running the program above leads to the following output
-- Properties ------------------------------------------------------------------------------- generations = 100 fitnessFunction = WordMatchFitnessFunction('noah') cache=true randomNumberGeneratorImpl = Jre seed = None initialiserImpl = RampedHalfAndHalfInitialiser crossoverOperationImpl = SinglePointCrossover mutationOperationImpl = IntFlipMutation eliteSelectionRepalcementStrategy = DefaultEliteSelectionRepalcementStrategy selectionRepalcementStrategy = Generational fitnessEvaluationStrategy = DefaultFitnessEvaluation populationSize = 150 initChromSize = 100 growProb = 0,500 evaluateElite = false eliteSize = 10 mutationProb = 0,010 crossoverProb = 0,800 fixedPointCrossover = false maxWraps = 0 maxDepth = 10 maxDerivationTreeDepth = 50 --------------------------------------------------------------------------------------------- gen best mean worst words 1 3,00 4,08 9,00 'ko' 'n' 'oiao' 'co' '__a' '_o' '_o' 'co' '_o__' 'jo' 'co' 'n' 'boi' '__a' 'oeai' 'lox' 'noga_' '_oli' 'oia' '_' 'x' 'm' '_' 'a' '_i_u' '_' '_' '_i' 'e' 'o' '__' '_' 'fi_' 'i' '_' 'hi_' 'xu' 'w' '_' 'u' '_' '_' 'a' 't' 'hixo' 'i' 'aat' '_e' 'e_' 'j' '_' 'z' 'b_s' 'u' '_' '_w' '_e' '_a' 'o' 'j' 'a' '_' '_e_' 'o' 'u' '__' 'a' 'yk' 'c' 'e' 'o' 'o' 'g' 'x' 'y' '_l__' '_' 'o' 'f' '__' '_a' 'q' 'i' 'a' 'w' '_' '__o' '_' '_y' '_i_' 'u_' '_' '__' 'a' 'l' '_' 'ixu' '___' 'i' 'a_' '_' '_' 'ce' '___' 'hade' '_y_' '_' 'z' 'esao_c' '_pocn' 'vv_en' '_w_lo' '__eaee' '_i_l_j' 'z_n_db''oojmkias''i_lae_e''e_vzuoh_''_eedpxud''_eedpgm_o' '_pue' '' '' '' '_' 'a_' 'z___' '_' '_l' '_' 'nog_' 'm_x' 'i' 'a' 'i_l__' '' '_o__' '_' 'zp' '' '_' '' 'e' 'q' '' '' '_' '' '' 2 3,00 3,86 8,00 'oiao' 'i_a' 'oia' 'noga_' 'esa_' 'oia' 'ko' '__a' 'co' 'go' '_o' 'n' 'ko' 'hia' 'jo' 'lox' 'oia' 'n' 'uox' 'noga_' '_o' 'n' 'jo' 'co' 'n' 'boi' '__a' 'oeai' 'lox' 'noga_' '_oli' 'oia' 'g' 'e' 'w' 'w' '_' '_k' '_t' '_l_' 'r' 'e_' 'hade' 'ixu' '__' '_' '_u_t' 'b_s' '_' '_i' '_a' '_' 'b_k' '_' 'u' '__' 'hixo' 'xu' '_e' 'o_i' 'beo' '__u' 'a' 'a' 'a' 'o' '_e' 'x' 'yz' 'a_' 'c_' '_' '_' 'yas' 'o' 'o' 'za' '_j' 'b_y' 'i' 'o' 'i' '_e_' '_u' '_' 'h' 'u' '_' 'o' 'm' 'i_' 'xu' '_e' 'uh' 'd' '_' '___' 'i' '_' '__u' '_' '_' '__i' 'e' 't' 'u' 'l_' 'xu' 'l' 'u' 'o' '_y' 'a' '_ane' 'a' 'a' '__' 'z' '_e_' '__' 'o' 'hi_' 'f_' 'z' 'yh' '_' 'y' 'esao_c' 'k_xud' '_ee_i' 'vv_en''oojmk_e''ojmkias''oi_lae_e' 'oea' 'iu' 'i' 'z' '_poy' '_j' '_poc' 'oz' '_ea''_nfoawy' 'o' '' 'b' '_' '' 3 2,00 3,85 7,00 'no_' 'n' 'ne' 'noga_' 'i_a' '_o' '__a' 'oia' 'ko' '__a' 'p_a' 'ng' 'oia' 'jo' '_o' '__a' 'esa_' '__a' 'uox' 'oiai' 'esa_' 'jo' 'co' 'n' 'boi' '__a' 'oeai' 'lox' 'noga_' '_oli' 'oia' 'v' 'y' '__' 'o' 'd' 's' '_j' '_' 'w' 'xi' '_e' 'i' '_ana' 'e' '_a_i' '_' '__o' '_' '_' 'o' 'z' '_u' 'o__' 'g_' '_' 'u' 'xu' '_' 'o' 'bu' 'eyun' '_' 'c__' 'o' 'v' 'o_' '__i' 'i_l' 'o_' 'xv' 'eai' '_d' 'e_' 'kd' 'a_' '_j' '_l_' 'b_y' 'f_' '_' '_' '_a' 'oiw' '__' 'i' 'i' 'u' 'g' 'gu' 'ke' 'pw' 'i' '_' '_i' 'l' 'ud' 'i' '_' '_' '_a' 'o' 'i' '__' 'j' 'b_s' '__' 'it' 'ea' '__u' 'k_o' 'a' 'o__' '_i' 'k_xud' 'k_xud' 'k_xuh' 'iykye' 'oedeai' 'l_v_en''ojmkiae''oim_ga_' '_' '_' 'y' '' '' 'hao' '__' 'bu' '__' '_o' 'u' 'iu' '' '_' 'a' 'o' '' 'z' 'x' 'e' '_uo' '_' '' 'd' 'hwit' '_oq' '__' 4 2,00 3,74 5,00 'no_' 'no_' 'jo' '_olx' 'nt_w' '_ow' 'nun' 'co' '__a' '__a' '_o' '__a' 'n' 'nxv' 'oga_' 'n' '__a' '__a' 'go' 'lot' 'oeai' 'nog_a' 'ne' 'n' '_ow' 'oia' 'lou' 'n' 'n' 'na_' '_ga_' '_o' 'nogod' 'jo' 'co' 'n' 'boi' '__a' 'oeai' 'lox' 'noga_' '_oli' 'b_s' 't_' 'i_' 'l__' 'ox' 'kd' 'e' 'e' '_' '_' 'u' 'i' 'u' 'f' 'e' 'i' '_g' 'i' 'k__i' '___' 'c_' '__' 'xu' '_n' 'u_' '_n' '_u' '_ai' 'o' '__' 'eyun' 'a' '__i' 'v' '_j' 'u' '_i' 'u' '_' 'o_' '_' '_y' 'o' '_ana' 'ef' 'o' 'k_t' '_u' 'v' '_b_' 'mt' 'i' '_' '_' 'ei' 'ewi' 'ud' '_a_' 'i' 'o' 'fi' 'd' '__' '_' 'od' 'l' '___' 'ea' 'g_' 'c__' '_' '__i' '__o' '_e' '__u' 'a_' 'eyuo' 'f' 'v_en' 'yas' 'j' 'm' 'e' 'oe_' '___' 'i' '_' '__i' 'u' 'c__' 'eyu' 'iu_s' 'w_' 'm' 'f' 't' 'u' 'e' 'u' 'oi__a' 'm_ga_' 'k_xud' 'l_lox' 'iykye' '____a' '_' 'o' 5 2,00 3,76 5,00 'noe' 'no_' 'no_' '_oly' 'lox' '_o' 'io' '_oxw' '_ea' 'oeai' '_ow' 'co' '_o' '__a' '_oy' 'na_' 'loj' '_o' 'low' 'sca' 'noga_' 'nt_g' 'co' '__a' '_o' 'n_' 'lot' 'jo' 'co' 'n' 'boi' '__a' 'oeai' 'lox' 'noga_' 'j' 'iuuy' 'b_s' '_y' '__u' 'l' 'x' '_' '_u_s' 'a_' '__' 'e' 'lbe' '_li' 'ms' 'b_o' 'e' 'j_' 'kd' 'odz' '_a' '_g' '_u' '_io' 'kye' 'oy' 'k_m' 'u' 'f' 'gx' 'i' 'j' 'j' 'xu' 'o' '_' 'o' '_' 'i' 'o' '__o' '__' 'me' 'o' 'be' 'c__' 'oai' '__' '_' 'i' 'p' 'u' 'w' 'ias' 'pw' '__u' 'o' 'o' '_' 'd' '_' 'iu_a' 'ou_' 'o' '_' 'la_' 'l' 'u' 'a' '__u' 'lu' 'a' 'l_' 'eyu_' 't' 'ii' 'u' 'l' 'ga' 'oee_' 'u' '_' '__u' '_' '__' 'ez' 'e' 'o' 'a_' 'xu' 'm' 't' 't' 'oj' 'd' 'x' 'ci' 'leyuo' '__m__' 'l_lox' 'm_ga_' '_avdu' 'ogal' 't' 'u' '' '' 'c' '' 'iu' 'k_' 'baa' 'oiwit' '' 6 2,00 3,83 7,00 'boai' 'no_' 'no_' 'no_' 'noe' '_oiw' 'mo' 'co' '_o' '_oxs' 'lox' '_oy' 'go' 'lon' 'ko' 'n' 'co' 'nno_' 'co' 'ao' 'low' 'n' 'bo_' '_ua' '__a' 'oeai' '_o_' '_o' 'jo' 'co' 'n' 'boi' '__a' 'oeai' 'lox' 'a_' 'm_gx' '__i' 'e' '_l_' 'e' 'cs' 'ce_i' 'r_' 'mu' 'gu__' 'eyco' 'i' 'oai' 'ii' '_l' 'o' 'i' '_' 'o' 'p_' 'd' 'e' 's' 'm' 'eyus' '___' 'f' '_e' 'o' 'e' 'a' 'ca' 'u' 'm' 'u' 'xpw' 'b_u' '__' 'o' 't' '_u_s' '_' 'l' 'u' 'm__' 'y_' '__i' '__j' 'eg' 'sco' '_' 'a_' '_' 'i_' '_' '_' 'ie' 'u' '__o' 'e_' 'l_' 'o_' 'xu' 'kd' 'kd' 'a' '_i' 's' 't' 'ox' 'i' 'be' 'l_' 'i' 'xe' 'l' 't' 'e' 'ca_' 'o' 'oao' 'oj' '_io' 'e' 'z' 'nogaw_' '___' 'k' 'u' 'e' 'he' 'u' '___' 't' '_s' 'iiu' '__u' 'c__' 'a' 't' 'ei' 'am' 'o' 'oee_' '_u_n' 'g' 'g_ga_' 'oet_w' 'i_eai' 'ea_u_s' 'cm_ga_' 'ouoga_''zx_deai' 7 2,00 3,72 7,00 'no_' 'boai' 'no_' 'no_' 'no_' 'noe' 'boai' 'no_' 'n' 'nu' 'io' '_o_a' 'co' 'n' '__a' '_u_h' 'eo' 'aoi' 'bo_' '_oxs' 'ao' 'ni' '_o_j' 'mo' 'aya_' 'co' 'n' 'n' 'lox' 'n' 'lod' '_ois' 'boi' 'jo' 'co' 'n' 'boi' '__a' 'i' 'y' '_u' 'm' 'f' 'e_' 'a' 'u' 'au' 'ow' 'ce_v' 'a_' 'o' '_' 'l_' 'oewb' 'h_' '_' 'eai' 'o' 'u_' 'ea_' 'z' 'r_' '_' 'a' 'j' 't' '_ai' 'ce__' 'i' 'y_' '_' 'c_o' '_' 'aam' '_e' 'o' 'ce' '__o_' '_y' 'ce' '_' '__i' 'g' 'cs' 'e' 'eyco' 'u' 'u' 'c' 'b' 'i' '_ai' 'o_u' 't' '_' 'o' 'i' 'iiu' 'g_z' 'e' 't_i' 'l' 'e' 'u' 'az' '_u' 'b' '_e' 'h' 'e' 'cs' 'b__' 'a' '_u__' '_k' 'ejt' 'cg' 'o' 'ke' '_i' '_xe' 'u' 'ei' 'iv' '_u' 'a' '__e' 'cw' 'g' '__o' 'a' '_' 'kh' '_' 'q' '__u' 'u_ga_' 'g_ga_' '_x_da_''bx_deai' '' '' '_g' '_l' 'u' 'eyu' 'i' 'eyo' '_' 8 1,00 3,84 9,00 'noa' 'boao' 'no_' 'no_' 'no_' 'noe' 'boai' 'no_' 'no_' 'boai' 'no_' 'n_' 'bo_' '_o' '_o_a' '__a' '_oin' 'nu' '_o_' 'oga_' 'nco' 'uo' 'n' 'lod' 'bo_' 'boo' 'dga_' 'jo' 'co' 'il' 'a' '_ai' '_' 'y_' 'f' 't' 'x' 'a' 'ce' 'a' 'j' 'i' 'o__' 'x_i_' 'e' 'g' 'y_' '_y' 'u' 'o' 'u' '_g' 'i' 'g' 'd' 'k' 'jt' 'u' 'yl' 'jn' 'o' 'o' 's' 'i' 'o_o' 's' '___a' '_ut' 'y_' '_e' 'c' 'ca_' 'o' 'o' 'o' 'ku__' '_a_' 'u' 's' 'ha' 'v' 'h_' 'u' '_' 'c' 'e' 'r' 'o' 'uu' 'o_' 'be_' 'g' '_' '_' 'o' 'e_' 'rv' 't' 'e' 'i' '__u' 'o_u' 'e' '_a' 'ykyn' '_' 'a' 'fu' 'u' 'b' 's' 't' 'i' 'in' '_ii' '_' 'o' 'b_' '__' 'i' 'cg' '_' 'h' 'g' 'ea_' 'i' '_' '_a' 'i' 'o' 'ow_' '_wb' 'e' 'a' 'u' 'u' '_x_bt' 'g_ga_' '_uia_' 'h_eai' 'x_deai''zx_deai''h_x_deai''euzx_deai' 'c_' '__i' 'tfoawy' 'aa' '' 9 1,00 3,69 7,00 'noa' 'no_' 'no_' 'no_' '_oa' 'noi' 'boa' 'no_' 'no_' 'noe' 'boai' 'no_' 'no_' 'boai' 'no_' 'boao' 'nuu' 'n_g' 'jo' 'nh_' 'n' 'nw' 'oga_' 'ny_' 'boo' 'lod' 'ne' 'n_' 'uo' 'oga_' '_oi' 'zoi' 'lod' 'boe' 'ro' 'na_' 'a' 'o' 'j' 'u' 'o_' '_' 'a' 'eco' 'i' '_' 's' 'fi' 'm' 'u' 'i' 't' 'o' 'f' 'o' 'od' '__' 'g' 'be_' 'f' 'g' 'o' 'u' 'u' 'n_eai' 'b_' 'oai' 't' 'u' 's' 'v' '_' 'yl' '__o' 'u' '_' 'rc' 'a' 'ee' '_ei' 'g' 'g' 'a' 'e' '__' 'mr' 'hr' 't' 'o' 'yz' 'a' 'a' '_a' 'o' 'a' 'w_' 'kye' '_ai' 'o_u' 'o' 'g' 't_' 'oli' 'nz__j' 'uw' '_uh' '__g' 'ca' 'a' 'j' 'u' 'x' 'b' '_ae' '___a' 'kco' 'h' 'o' '_' 'o' '_' 'm' '_' 'y' 'a' 't' 'o__' 'u_' 'a' 'jm' 'o' 'ba' '_g' 'y' '_kye' 'e_i' 'u' 'a' '_' 'owi' 'a' 'b__' '_uiue''ocaobe_' '_aobe_''_x_deai' 'n' '_' '' 10 1,00 3,63 6,00 'noa' 'noa' 'boa' 'no_m' 'boae' 'no_' 'boai' 'no_' 'no_' 'noe' 'boai' 'no_' 'no_' 'boai' 'no_' 'boao' 'n' 'uot' 'nboi' 'nuo_' 'zo' 'nuu' 'n' 'n_g' '_ea' 'm_a' 'oga_' 'nnw' '_o_' 'n_g' 'nac' 'nkco' 'uo' '_of' 'n_y' 'n' '_eai' '_o' 'nalu' '_o' 'nom__' 'y' 'o_' 'u' 'r' '_' 't' 'ee' 'm' 'e' 'ky' '_mr' 'e_' 'ii' 'e_u' 'o' 'fi' 'b' '_ai' 'y' 'u_' 'o' 'i' 'j' 'e_i' 'g' 'o_' 'oga_w' 'c' 'v' 'cl' 'o' 't' 'a' 'i' 'n_eae' 'ow' '_' '__o' 'y' 'ru' 'ca' 'nz__j' 'owi' 'ox__' 'e__' 'c' '_' 'j' 'g' '_' 'ca' 'ei' 'is' 'd' 'c' 'e_i' 'g' '_' 'j' 't' 't' 'l' 'i' 'g' 'g' '_' 'omr' 'a' '_' 'm' 'w' 'a' 'i' '_' 'm' '__' 'o' 'oce' 'a' 'b_' 'o' 'r' 'ce' 'e' 'o' '_' 'j' 'rr' 'a' 'u' 'np_ui' '____' '_a' 'eae' 'a' 'yb_a' '_i' 'w' '_a' 'uk_xud' 'oedeai' '_x_da_' 'ja' '' 'boa' '' 'la' 'bv' 11 1,00 3,45 9,00 'noa' 'noa' 'noat' 'noa' 'noa' 'noa' 'nsau' 'boa' 'boam' 'boa_' 'no_' 'boa' 'no_' 'boau' 'boau' 'no_' 'n_a' 'no_' 'no_' 'no_' 'no_' 'noe' 'boai' 'no_' 'no_' 'boai' 'no_' 'nac' 'co' 'mot' 'eeae' '_o' 'na__' '_o_' 'n_g' 'n_g' 'nn_s' 'n__' 'nao' 'n' 'nac' 'n' '_o' 'nx__' 'ni' 'uo' 'nj' 'nm_a' '_of' 'n' 'n_g' 'w_' 'e_e' 'e' 'i' 'ku' 'a_i' 'wut' 'b' 'b' '_s' 'e_' 'b' 'a' 's' 'u' 'm__' 'o' '_' '_m__' 'c' 'o' '_l' 'u' 'l' 'j' 'a' 'e_' '__' 'o' 'w' 'z_' 'ce' '_' 'a' 'q' 'np_ua' 'o' 'cu' 'ri' '_' 'u' 'w_' 'i' 'u_' '_e' 'e_' 'c' '_u' 't' 'a' 'g' 'e' 'le' 'at' '_' 'd' 'i' 'anoa' 'wi' '_bo' 'o' 'y' 'tau' 'q' 'i' 'nboao' 'o' 'b_' '_u' '_' 'u' 'u' '_g' 'fi' 'nz__j' 'o_' 'yk' 'uk_b' 'a' '__' 'n_ga_' 'ujm' 'o' 'omr' 'cl' 'c' '_t' '_' 'w_' 'h_' 'nknboi''np_ax_deai' 'bom' '_a' 'u' 'at' 'a' '' 12 1,00 3,49 8,00 'noaq' 'noa' 'noa' 'noa' 'noa' 'noat' 'noa' 'loa' 'no_' 'no_' 'boa_' 'noo' 'yoat' 'no_' 'non' 'noi' 'nom' 'n_a' 'noe' 'boai' 'boau' 'now_' 'no_' 'boa' 'boa' 'no_' 'no_' 'noe' 'boai' 'n' 'noomr' 'nj' 'n' 'n' 'nac' '_o' '__a' '_o' 'eo' 'naq' 'n_m' 'na_m' 'nb__' 'nnoa' 'm_a' 'uo' 'nan' 'n_r' 'n_w' 'yo' 'nk_' 'nm_a' 'n__a' 'n_' 'n_yk' 'na' 'zo' 'o_' 'u' '_r' 'nsu_a' 'bu' 'be' '_' 'oc' '_ei' 'w' 'n_gw_' 'c_' '_' 't' 'n_goo' '_t' 'e_' 'u' 'e' 'o_' 'a' '_' '___' 'u' 'oi' 'a' 'uk_d' '_a' 'b' 'c' 'g' 'caaq_' 'x__' 'o' 'wn' 'at' 'i' 'k' '_' 'eu' '_' 'e' 'na__a' '_' 'x' 'cu' 'n_no_' 't' 'w' 'nz__o' '_a' 'b' 'e_' 'ee' 'e_e' '__' 'ne_oa' 'm' 'bi_' 'za' 'b' 'a' 'o' 'at' 'u' '_' '_t' 'o' 'le' 'u' 'm' 'ba' 'o' 'e' '_' 'm' '__' 'we' 'oa' 'u' '__yu_' 'a_no_' 'np_awu' 'naobe_' 'ujno_''n_gaobe_''nknbboa_''nozx_deai''nnzx_deai' 'a' 'i' 'd' 13 1,00 3,31 6,00 'noa' 'noaq' 'noaq' 'noa' 'noa_' 'noa_' 'noa' 'noa' 'noa' 'noa' 'noat' 'noa' 'noaq' 'boai' 'no_o' 'uoa_' 'no_' 'yoat' 'noyk' 'noc' 'nou' 'not' 'no_' 'no_' 'boae' 'boa_' 'noe' 'n_ai' 'no_a' 'no_' 'no_' 'noe' 'm_a' 'eo' 'x_a' 'n' 'n__' 'n' 'n_' 'n_yb' '_o' 'wpad' 'ns' 'bo_' 'n_r' 'n_vo' 'eo' 'm_a' 'n_' 'p_a' 'nau' 'nax' 'na__' 'nnw' 'nb__' 'cow_' 'yo' 'n__a' 'bo' 'nau' 'nan' 'x' 'e' 'ai' 'ei' 'j' 'na__a' 'aw' 'e' 'wu' '_c' '_a' 'oio' 'es' '_' 'a' 'a' 'bw_' 'unnw' '__' 'u' '_' 'w' 't' '_n' 'c' 'on_g' 'bio_' 'edea' 'at' 'ke' 'ou' 'wi' 'u' 'x_wi' 'ua' 'o_' 'omo_' '_' 'e_' 'e' 'oi' 'o' 'aobe_' '__u' 'a' 'o' 't' 'c_' 'bom_n' 'm__' 'w_' 'dvd' 'uwu' '__' 'w' '_' 'o' 'ba' 'ye' 'z' 'a' 'ne_o_' 'ne_oo' '_' '_' 'ci' 'j' 'ei' 'y' 'owi' 'w' 'myo' '_a' 'o_' '_a' '_a' '_' '__o' 'a' '_a' 'eu' 'a' '_' 'u' 'uk_d' 'x' '__d' 'e' 14 1,00 3,21 5,00 'noai' 'noa' 'noa' 'noaa' 'noa_' 'noam' 'noa' 'noa' 'noa' 'noa' 'noat' 'noa' 'noaq' 'noa' 'noaq' 'noaq' 'nou' 'noz_' 'nou' 'noo' 'nnau' 'nou' 'no_a' 'nou' 'nog' 'no_e' 'noc' 'n_a' 'no_' 'no_a' 'noe' 'no_o' 'no_' 'non' 'uoao' 'noc' 'noe' 'nax' 'bow_' 'n' 'nnw' '_o_' 'na' 'nonoa' 'nco' 'bo_' 'co' 'n' 'ne_' 'nau' 'nan' 'nan' 'nau' 'n_r' 'nom_a' 'n_i' 'na_u' 'ns' 'nle' 'bo_' 'nao_' 'n_w_' 'woi' 'eo' 'nan' 'n_' 'ns' 'kau' 'bu' '_' 'w' '__o' 'o' 'aobea' 'be' '_' 'ei' 'a__' 'u_' 'wu' 'u' 'b_x' 'nanon' '_' 'm' '_' 'noou__' '_' 'ne_oo' 'qke' 'c' 'a' 'u' 'k_' 'ou' '_' 'w' 'ai' 'oa' 'ke' 'm__' 't' 'u' 'u' '__' 'en' 'au' 'a' 'm__' 'ad' 'p_w' 'x' 'o' 'u' 'uwu' '_' 'emo_' 'o_' 'w' 'x_wi' 'u' 'uk_d' 'g' 'o' 'ue' 'tau' 'r' '_' 'ai' 'wu' 'au' 'xad' '_a' '_' 'owi' 'x' 'e_' 'x_w_' 'f' 'bu' 'p_t' '_w' 'e' 'w' 'm_ke' 'u' 'o_' 'w_' 'w' 15 1,00 3,15 5,00 'noaa' 'noaa' 'noaq' 'noa' 'noak' 'noa' 'noaz' 'noa_' 'noa_' 'noa' 'noaq' 'noa' 'noa' 'noa' 'noa' 'noat' 'noa' 'noaq' 'noa' 'noaq' 'noaq' 'n_a' 'noo' 'no_' 'noe' 'n_a' 'noow' 'nmat' 'nou' 'n_a' 'nou' 'noe' 'no_o' 'no_a' 'noe' 'nna' 'nco' 'n__o' 'bo_' 'nao' 'noe_a' 'nax' 'yow' 'n_r' 'n_' 'na' 'n' 'wo' 'm_a' 'nec' 'nau' 'nco' 'bo_' 'nm_e' 'n__u' 'n' 'nawi' 'nan' 'n_' 'bou' 'nau' 'nao_' 'ni' 'naj' 'ne_' 'no_wo' '_o' 'nonoa' 'n_y' 'ne_' 'nle' 'nonau' 'n_o_' 'nau' 'n_e' 'nw_' '_' 'en' '_ke' 'mnoo' 't' '_u' 'ke_a' 'oe' '_m_a' 'a_' 'm' 'zm' 'uwu' 'kx' 'm' 'm_u' '_' '_' 'u' 'm_ke' '_' 'c' 'nu_ai' 'w_' 'owi' 'b_x' 'e' '__o' 'oa_' '_' 't' '_' 't' 'g' 'en' '_' 'o' 'eai' 'o' '_' 'uu' 'ow' 'u_i' '_' 'hb_e' 'm_e' '__' 'm_' 'w_' 'w' 'a' 'eu' '_a' 'oeo' 'u_' 'exw_' 'w_' 'w_' 'qkm' 'u' 'ou_' 'u' 'fi' 'oa' 'oa' 'uy' 'w_' '_' '_noom' 'ngelca' 'nuk_xu' 'edcxu''no_deai' 16 1,00 3,01 4,00 'noaq' 'noaa' 'noa' 'noaa' 'noa' 'noaz' 'noaq' 'noat' 'noae' 'noa' 'noa' 'noak' 'noa' 'noam' 'noa' 'noa' 'noa_' 'noa_' 'noa' 'noa' 'noa' 'noa' 'noat' 'noa' 'noaq' 'noa' 'noaq' 'noaq' 'non' 'noi' 'ntau' 'nmat' 'noeo' 'noe' 'nua' 'nou' 'nou' 'n_a' 'noe' 'nou' 'no_w' 'noon' 'now_' 'no' 'no_' 'm_a' 'nfi' 'nm' 'nukt' 'nag' 'nsg' 'n' 'nw_' 'nao' 'n_' 'o_a' 'n_oa' 'nonau' 'n__' 'nm_' 'nce' 'n_i' 'nlb' 'nau' 'noxw_' 'n_o' 'mo_' 'm_a' 'nec' 'ne_' 'nw_' 'n' 'nm_a' 'nau' 'nom_a' 'nou__' 'ww_p' 'ad' 'oa' '_' '_a' 'aw' 'w_' 'u' 'e_' 'wu' '_' 'm_' 'w_' 'aj' '_' 'aa' 'u' '__e' 'ngel_' 'no_lod' 'au' 'au' '_w_' 'u' 'u' 'ow' 'e' 'eai' 'oe' 'nnoa_' '_' 'nu_au' '_m__' 'm' 'z' 'g' 'noom_v' 'w' 'm__' 'o_' '_u' 'aw' 'j' 'bm_a' 'a' 'hb_e' 'w' 'e_' '_ai' 'z_' 'oa' 'a' 'w_' '__e' 'z' '_' 'hb_e' '_' 'w_' 'om' 'w' 'c' 'w_' 'ce' 'm__o' '_' 'e__' 'mwu' 'm_o' 'et' 'oe' 'm' 'wd' 17 1,00 2,87 4,00 'noa' 'noaq' 'noa' 'noak' 'noa' 'noaq' 'noa' 'noa' 'noa' 'noa' 'noaq' 'noa_' 'noaq' 'noa_' 'noa_' 'noa' 'noam' 'noa' 'noan' 'noa_' 'noa_' 'noaq' 'noaa' 'noa_' 'noa' 'noa' 'noa' 'noa' 'noa' 'noa' 'noat' 'noa' 'noaq' 'noa' 'noaq' 'noaq' 'noo' '_oat' 'noo' 'nmau' 'no__' 'now_' 'nofi' 'noe' 'no_' 'noe_' 'no_' 'no_' 'nsw' 'mwa' 'nm_u' 'nag' 'nad' 'nawi' 'ne_' 'mo_' 'n_e' 'nu_' 'nau' 'n' 'wo' 'noooe' 'ntm' 'na_' 'n' 'n' 'n__' 'nm_' 'nz_e' 'nukt' 'wo' 'nom__' 'ntm' 'n_i' 'nw_' 'ncw_' 'u_a' 'nau' '_on' 'n_' 'nzy' 'nww_' 'n_o' 'nau' 'n_g' 'hb_e' 'aq' 'w_' 'tw_' 'nox_a_' 'z' '__' 'fi' 'w' 'za' '_m_f' 'c' 'wi' 'o_' 'a_' '__u' 'hb_e' 'aa' 'e__' 'wu' 'hu' 'w' '__e' 'w_' 'ez' '_a' '__e' 'hb_e' 'te' 'et' 'oi' 'w_' 'o' 'mxw_' 'ad' 'ns_na' 'g' 'g' '_a' 'y' '_au' 'm' 'jq' 'aj' '_ai' 'a' 'm' 'w' 'w_' '_' 'gu_' '_g' 'x' 'j_' 'ze' 'nn_oa' '_q' 'oat' 'j' 'o' 'bb_a' 'wd' '_' 'e_' 18 1,00 2,87 5,00 'noan' 'noaq' 'noa_' 'noaq' 'noa' 'noaq' 'noa_' 'noa_' 'noa_' 'noa' 'noan' 'noa' 'noa' 'noa_' 'noa' 'noan' 'noa' 'noa' 'noa' 'noa' 'noat' 'noa' 'noaq' 'noa' 'noaq' 'noaq' 'noe' 'nou' 'nom_' 'no' 'n_au' 'nou' 'nooa' 'noe' 'no_' 'no_' 'nou' 'no_' 'noee' 'nma' 'no_i' 'noa_a' 'nou' 'noj' 'nou' 'noh' 'nooo' 'now' 'no_' 'nta' 'no_q' 'noe' '_oat' 'nwa' 'noo' 'n__' 'naea' 'nuzo' 'n_q' 'n_e' 'n_' 'nooo_' 'noe_a' 'nag' 'nak' 'nti' 'n' 'nue' 'nuu' 'neg' 'neo' 'nukt' 'nsw' 'n_' 'nd' 'nau' 'nu_' '_aa' 'u_a' 'nnoa' 'noxw_' 'nmo_' 'n_e' 'nww' 'wo' 'n__' 'nw_' 'nmx_' 'n__a' 'nwo' 'ntn' '_on' 'nag' 'ew' '__' '__e' 'noooa_' '_et' '_e' 'o_' 'oat' 'www_' 'e' '_u' 'hu' '_' 'et' 'oa' 'aau' 'zi' 'at' 'o' '_a' 'ek' '_m__' 'e' 'ja' 'w' 'w_' 'a' 'fi' 'e_e' 'oa' 'o' '_a_' '_a' 'm_o_' 'bu' 'w_' 'nwww_' 'a_' 'a_' 'e' 'mxsw' '_a' 'uwn' 'q' '__' 'aa' 'oat' 'y' 'hb_e' 'ad' 'xw_' 'wu' '_a' 'guh__' 'mzeai''nous_na' 19 1,00 2,79 5,00 'noaq' 'noa' 'noaq' 'noaq' 'noa_' 'noa' 'noan' 'noa' 'noa_' 'noa_' 'noa' 'noan' 'noaq' 'noa' 'noa' 'noa_' 'noa' 'noaq' 'noa' 'noaq' 'noaw' 'noa_' 'noa' 'noaw' 'noa' 'noa' 'noa' 'noa' 'noat' 'noa' 'noaq' 'noa' 'noaq' 'noaq' 'now' 'now_' 'now' 'nou' 'noea' 'no_' 'n_a' 'noe' 'no_' 'noe' 'noo' 'no_' 'no_' 'noa_u' 'noe' 'noeu' 'n_au' 'noy' 'no' 'noe' 'no_a' 'nona' 'non' 'nma' 'no' 'noi' 'num' 'nuo_' 'nn__' 'nuoa' 'zo' 'nuw_' 'nw_' 'mda_' 'nww' 'nxw_' 'ntn' 'nnu_' 'nm_a' 'ntm_' 'eo' 'nmo' 'nak' 'nt' 'n_' 'n__' 'nie' 'nu_' 'n_' 'nm_a' 'n__' 'nz_' 'nd' 'nuoa' 'nau' 'mwa' 'q' 'nm_on' '_s' 'at' 'bu' 'te' '_m' 'oj' '_a' 'za' 'ei' 'x_' '__' 'tu' 'ane_' 'tm' '_' '_' 'w_' 'noooa_' 'nun__' 'kt' '_et' '_u' 'xw_' 'a_' 'u_q' 'ze' '_n' 'cth' 'wau' 'a_' 'noroee' 'noom_e' '__' 'zi' '_q' 'a' '__w' 'w_' '_a_' 'o_' 'w_' 'mw_' '_z' 'g_' 'o' 't' 'ew' 'gu_' 'xw_' 'o' 'wu' 'nwww_' '_' 'oa' 'e' 'nanoaq' 'wk_xu' 20 1,00 2,90 4,00 'noak' 'noao' 'noaz' 'noaq' 'noa' 'noa' 'noa' 'noaa' 'noat' 'noan' 'noat' 'noa' 'noaq' 'noan' 'noa' 'noa' 'noa' 'noa' 'noa' 'noat' 'noa' 'noaq' 'noa' 'noaq' 'noaq' 'now' 'no_' 'noe_' 'now' 'no_' 'no__' 'noag_' 'nona' 'non' 'nea' 'noo_' 'nod' '_oa' 'nou_' 'nou' 'nob' 'noe' 'n_a' 'noo' 'non' 'no' 'nou' 'n_au' 'noa_e' 'no' 'nor' 'noo_' 'ne_' 'nxw_' 'nuwu' 'nu_' 'm_a' 'nm__' 'nq' 'nao' 'eo' 'nee' 'nh' 'nooaq' 'ng' 'nu_a' 'm_a' 'nnou' 'uo_' 'nn_z' 'nuoa' 'nd' 'n__a' 'nau' 'nxwe' 'nug' 'nte' 'nee' 'nm_e' 'eo' 'nwt' 'naw' 'nmu' 'zo' 'nm_a' 'nu_j' 'nno_' 'noaoa_' 'w_' 'wu' '_a_u' 'ta' 'om__' 'a' 'g_' 'haq' 'ke' '_q' '_z' 'aq' 'nm_o_' 'nun_a' 'w_' '_u' 'numoa' 'x_' 'mzu' 'noom_u' 'w_' 'tau' '_q' 'oj' 'm_y' 'qd' 'oaq' 'wnuy' 'an' '_' '_' 'bau' '__' 'a' '_' 'an' 'oi' 'au' 'w_' 'm_i' '_eq' 'u' 'at' '_' 'oa_' 'nnu_a' '_' 'u' 'e_' 'w_' 'wu' 'rw_' '_q' 'u_z' 'ha_' 'j' 'aooa_' 'mwe' 'at' 'oa' 'ze' 21 0,00 2,83 4,00 'noah' 'noa_' 'noat' 'noao' 'noa' 'noan' 'noaz' 'noaq' 'noat' 'noan' 'noa_' 'noaq' 'noa' 'noa' 'noan' 'noa' 'noa' 'noa' 'noa' 'noat' 'noa' 'noaq' 'noa' 'noaq' 'noaq' 'nua' 'noza' 'nooa' 'non' 'now' 'now' 'niak' 'noe' 'no_' 'noe' 'no_' 'noo' 'neai' 'n_a' 'now' 'now' 'noo' 'noe' 'nou_' 'noo' 'noi' 'nowu' 'noum' 'no' 'no' 'noo' 'noet' 'noe' 'nou' 'nou' '_ot' 'n_z' 'n' 'nu' 'nau' 'nw' 'nu_' 'nm_m' 'n_q' 'mow_' 'nxw_' 'ao' 'nee' 'nd' 'nu' 'n__a' 'nnoe' 'nmoa' 'nuwu' 'uo_' 'nnd' 'nbw' 'nnoa' 'na' 'ne_' 'nug' 'nuu' 'nmoa' 'uo_' 'nnou' 'ng' 'nz' 'nou_a' 'nao_' 'u_a' 'nooo_' 'nxw_' 'n_' 'ne_' 'm' 'rwn' 'g' 'ow' 'i' 'oan' 'eu' 'hw_' 'dpxu' '_' 'o_' 'bu' 'nm_o_' 'oa' 'tto' 'nodey_' 'ke' 'w_' 'a' '_' '_' 'e_e' 'w_' 'ndmo_' '_' 'wu' 'u_ke' 'xu' 'oa' 'q' 'te' 'ug' 'xw_' 'noom_r' 'u_u' 'qd' 'g' 'mk__' 'aooa_' 'numoa' '_i' 'e' 'aw' 'ww' 'ma_' 'z_' 'an' 'o_' 'gz' '_' '_' 'm_e' 'd_ue' 'dpxu' 'm_w' 22 0,00 2,77 4,00 'noah' 'noah' 'noaq' 'noa' 'noa' 'noa' 'noa' 'noa' 'noaq' 'noa' 'noa' 'noat' 'noa' 'noaq' 'noau' 'noaq' 'noat' 'noa' 'noan' 'noae' 'noa' 'noa' 'noa' 'noa' 'noa' 'noat' 'noa' 'noaq' 'noa' 'noaq' 'noza' 'noum' 'noze' 'neai' 'noow' 'no_' 'nooa' 'nog' 'n_a' 'no' 'nou_' 'noe' 'no_' 'noe' 'now' 'now' 'nou' 'no_' 'toat' 'no_' 'nooo_' 'mow_' 'nw' 'aouo' 'nau' 'nound' 'jo' 'e_a' 'm_a' 'noux_' 'nu_a' 'nu_' 'nu' 'ntg' 'nau' 'nw' '_o_' 'nm_' 'uo_' 'nz' 'n__' 'na' 'u_a' 'uow' 'nez' 'n_' 'nm_o' 'nom_n' 'norwn' 'nau' 'nw' 'n__a' 'nuo' 'nug' 'n' 'uooi' 'n' 'nu_e' 'nnxa' 'nu' 'to' 'na' 'bo' 'nio' 'nk' 'na_' 'nto' 'n' 'n_' 'nz' 'dpa_' 'n_' 'nw' '_' 'aq' 'w_' 't_' 'numoa' 'o' 'wew' 'ba_' 'r_u' 'oa' 'oa' 'm_o' 'z' '_' 'a' 'o_' 'k_' 'jai' 'kj' 'o' '___' '_' 'wu' 'u_u' 'rwn' 'hah' 'uw' 'ua''noadpxu' 'e' 'o_' 'eu' 'u' 'no_om_' '_c' 'za' 'm' 'o' 'a' 'y_n' 'o_' 'd_ua' '_a' 'nodeza' '_q' 'uu_w' 23 0,00 2,73 4,00 'noah' 'noah' 'noah' 'noa_' 'noat' 'noaq' 'noax' 'noa_' 'noaq' 'noat' 'noa' 'noaq' 'noaq' 'noaq' 'noaq' 'noaq' 'noaw' 'noak' 'noa' 'noa' 'noa' 'noa' 'noat' 'noa' 'noaq' 'noa' 'nouo' 'noze' 'noo' 'naau' 'naau' 'non' 'nou_' 'noaey' 'nout' '_oa' 'noo' 'n_a' 'nza' 'noo_' 'noze' 'no' 'nou' 'nooe' 'noo' 'nou_' 'noow' 'no_' 'nou' 'nea_' 'noze' 'noee' 'nou' 'uoa' 'nuau' 'nog' 'not' 'nu' 'n' 'nw' 'noxz_' 'nonoa' 'ne' 'nean_' 'nb' 'n' 'n' 'ng_' 'to_' '_om_' 'nonoa' 'nuz' 'n_' 'q_a' 'nnxa' 'nmw_' 'nn_a' 'nau' 'ngu_' 'nw' 'nx' 'm_an' 'too' 'noo_a' 'nw' 'nw' 'ni_' 'nau' 'nw_' '_o_' 'bo' 'nmx' 'nk' 'nu_' 'nou_e' 'na' '_om_' 'ni' 'nuu' 'n_u' 'ne_' 'n_' 'no__g' 'uoe' 'tau' 'a' 'aq' 'o_' 'an' 'ba' 'nmu_o' 'noo_a_' 'i' 'q' '_rwn' 'hano' 'h' '_' 'tau' 'nodeza''noadpxe' 'nnoan' 'u_' 'ha' 'b_' 'ag' '_e' 'e__a' 'g' 'uw_' '_a' 'w_' 'at' 'u' '__' 't' 'w' 'w_' 'o' 'uuu' 'ta' 'z_' 'uu' 'nooaey' '_a' 'wew' 'za' 'jq' 'kw' 24 0,00 2,72 4,00 'noah' 'noah' 'noah' 'noah' 'noah' 'noah' 'noah' 'noad' 'noaq' 'noa_' 'noab' 'noak' 'noat' 'noaq' 'noaq' 'noau' 'noau' 'noa' 'noa' 'noaq' 'noa_' 'noa' 'noat' 'noa' 'noa' 'noa' 'noa' 'noat' 'noa' 'noaq' 'noo' 'non' 'nouw' 'nouo' 'noage' 'no_' 'noo' 'ngae' 'now_' 'nozu' 'noo_' 'noo' 'xoat' 'noi_' 'nou' 'naad' 'noe' 'noh' 'now_' 'noadu' 'noi' 'nou' 'no' 'nooq' 'noe_' 'nou_' 'noe' 'ooa_' 'nzo' 'noaenx' '_o_' 'to' 'nx' 'nuaau' 't_a' 'nw_' 'nm' 'nwu' 'nw_' 'nx' 'n_' 'nu_a' '_o_' 'nm_n' 'nonoa' 'nom_e' 'nona_' 'nonaa' 'w_a' 'nm_' 'm_an' 'nuuu' 'no__g' 'n_' 'nu_' 'nxw_' 'noam_g' 'oja' 'new' 'n_e' 'nnu_' 'ao' 'noo_a' 'n' 'nwu' 'noi_t' 'nt' 'u' 'y' 'ugu_' 'nouoah' 'j_' 'nuoza' 'a' 'e' 'm_e' 'ue' '_u' 'aq' '_aq' 'a' 'nooxw_' 'oa' 'us' 'bx' 'mw_a' '_u' 'ha' 'zu' 'at' 'ow_' 'h_' 'oe' '_um' 'w' 'oa_' '_' '_i_' 'ze' 'ws' 'sn' 'nox_ae' 'a' 'zu' 'u' '_' 'qa' '_' 'w' '_q' 'ag' 'nooxza' 'ah' 'o' 'oa' 'nodttg' 'nip_a' 'tau' 'uu' 25 0,00 2,65 4,00 'noah' 'noah' 'noah' 'noah' 'noah' 'noah' 'noah' 'noah' 'noah' 'noah' 'noah' 'noah' 'noah' 'noah' 'noab' 'noaw' 'noan' 'noab' 'noan' 'noan' 'nuah' 'noa_' 'noao' 'noa' 'noa_' 'noao' 'noa' 'noau' 'noa_' 'noam' 'noa' 'noa' 'noa' 'noq' 'nou_' 'noa_a' 'nna' 'no_' 'noe' 'noh' 'nou' 'noug' 'noo' 'noaau' 'nong' 'no_' 'nou_' 'noex' 'ngae' 'nooq' 'noo' 'no_' 'ngae' 'no_' 'nou_' 'noeq' 'nw_' 'nm_' 'n__' 'nau' 'nuw_' 'noxoa' 'nu_' 'oo' 'na_' 'noi_t' 'ne' 'nwu' 'n_e' 'ne' 'ni' 'n_' 'nke' 'nu_a' '_o' 'nem' 'ni_' 'nwu' 'nxwx' 'nuw_' 'ng' 'nxw_' 'n_' 'nonhu_' 'noxwa' 'nuoa' 'mua' 'noim_' 'uoit' 'nw_' 'nnoa' 'noi_t' 'n_' 'na' 'nonax' 'nwn' 'nak' 'ng' 'nuw_' 'w_' 'o_o_' 'ta' 'gmoa' 'zu' 'xw_' 'w_' '_' 'wu' 'a' 'a' 'o' 'u_' 'w_' 'tg' 'bu' 'e' 'w' 'u' '_i_' '_' 'w_' 'nonoaq' 'zu' 'a_' 'th' '_u' 'uw_' 'ja' 'ug_' 'ah' 'wu' 'xw_' 'gu' 'hap' 'nooxw_' 'gae' 'ae' 'u' '_a' 'oah' 'aq' 'aq' 'w_' 'nmoue' '__n' 'u_' 'a' 'g' 'aa'