{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE DataKinds #-} module Crypto.Encoding.BIP39.English ( english ) where import Basement.Imports import Basement.Sized.Vect import Data.Maybe (fromMaybe) import qualified Data.List import Crypto.Encoding.BIP39.Dictionary (Dictionary (..), WordIndex, unWordIndex, DictionaryError (..)) english :: Dictionary english :: Dictionary english = Dictionary :: (WordIndex -> String) -> (String -> Either DictionaryError WordIndex) -> (String -> Bool) -> String -> Dictionary Dictionary { dictionaryWordToIndex :: String -> Either DictionaryError WordIndex dictionaryWordToIndex = \String word -> case String -> [(String, WordIndex)] -> Maybe WordIndex forall a b. Eq a => a -> [(a, b)] -> Maybe b Data.List.lookup String word [(String, WordIndex)] list of Just WordIndex x -> WordIndex -> Either DictionaryError WordIndex forall a b. b -> Either a b Right WordIndex x Maybe WordIndex Nothing -> DictionaryError -> Either DictionaryError WordIndex forall a b. a -> Either a b Left (DictionaryError -> Either DictionaryError WordIndex) -> DictionaryError -> Either DictionaryError WordIndex forall a b. (a -> b) -> a -> b $ String -> DictionaryError ErrInvalidDictionaryWord String word , dictionaryTestWord :: String -> Bool dictionaryTestWord = (String -> [String] -> Bool) -> [String] -> String -> Bool forall a b c. (a -> b -> c) -> b -> a -> c flip String -> [String] -> Bool forall (t :: Type -> Type) a. (Foldable t, Eq a) => a -> t a -> Bool Data.List.elem [String] wordList , dictionaryIndexToWord :: WordIndex -> String dictionaryIndexToWord = Vect 2048 String -> Offset String -> String forall (n :: Nat) ty. Vect n ty -> Offset ty -> ty index Vect 2048 String words (Offset String -> String) -> (WordIndex -> Offset String) -> WordIndex -> String forall k (cat :: k -> k -> Type) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . WordIndex -> Offset String unWordIndex , dictionaryWordSeparator :: String dictionaryWordSeparator = String " " } words :: Vect 2048 String words :: Vect 2048 String words = Vect 2048 String -> Maybe (Vect 2048 String) -> Vect 2048 String forall a. a -> Maybe a -> a fromMaybe (String -> Vect 2048 String forall a. HasCallStack => String -> a error String "invalid vector length") (Maybe (Vect 2048 String) -> Vect 2048 String) -> Maybe (Vect 2048 String) -> Vect 2048 String forall a b. (a -> b) -> a -> b $ Array String -> Maybe (Vect 2048 String) forall (n :: Nat) ty. (KnownNat n, Countable ty n) => Array ty -> Maybe (Vect n ty) toVect (Array String -> Maybe (Vect 2048 String)) -> Array String -> Maybe (Vect 2048 String) forall a b. (a -> b) -> a -> b $ [Item (Array String)] -> Array String forall l. IsList l => [Item l] -> l fromList [Item (Array String)] [String] wordList list :: [(String, WordIndex)] list :: [(String, WordIndex)] list = [String] -> [WordIndex] -> [(String, WordIndex)] forall a b. [a] -> [b] -> [(a, b)] Data.List.zip [String] wordList [WordIndex forall a. Bounded a => a minBound..WordIndex forall a. Bounded a => a maxBound] wordList :: [String] wordList :: [String] wordList = [ String "abandon" , String "ability" , String "able" , String "about" , String "above" , String "absent" , String "absorb" , String "abstract" , String "absurd" , String "abuse" , String "access" , String "accident" , String "account" , String "accuse" , String "achieve" , String "acid" , String "acoustic" , String "acquire" , String "across" , String "act" , String "action" , String "actor" , String "actress" , String "actual" , String "adapt" , String "add" , String "addict" , String "address" , String "adjust" , String "admit" , String "adult" , String "advance" , String "advice" , String "aerobic" , String "affair" , String "afford" , String "afraid" , String "again" , String "age" , String "agent" , String "agree" , String "ahead" , String "aim" , String "air" , String "airport" , String "aisle" , String "alarm" , String "album" , String "alcohol" , String "alert" , String "alien" , String "all" , String "alley" , String "allow" , String "almost" , String "alone" , String "alpha" , String "already" , String "also" , String "alter" , String "always" , String "amateur" , String "amazing" , String "among" , String "amount" , String "amused" , String "analyst" , String "anchor" , String "ancient" , String "anger" , String "angle" , String "angry" , String "animal" , String "ankle" , String "announce" , String "annual" , String "another" , String "answer" , String "antenna" , String "antique" , String "anxiety" , String "any" , String "apart" , String "apology" , String "appear" , String "apple" , String "approve" , String "april" , String "arch" , String "arctic" , String "area" , String "arena" , String "argue" , String "arm" , String "armed" , String "armor" , String "army" , String "around" , String "arrange" , String "arrest" , String "arrive" , String "arrow" , String "art" , String "artefact" , String "artist" , String "artwork" , String "ask" , String "aspect" , String "assault" , String "asset" , String "assist" , String "assume" , String "asthma" , String "athlete" , String "atom" , String "attack" , String "attend" , String "attitude" , String "attract" , String "auction" , String "audit" , String "august" , String "aunt" , String "author" , String "auto" , String "autumn" , String "average" , String "avocado" , String "avoid" , String "awake" , String "aware" , String "away" , String "awesome" , String "awful" , String "awkward" , String "axis" , String "baby" , String "bachelor" , String "bacon" , String "badge" , String "bag" , String "balance" , String "balcony" , String "ball" , String "bamboo" , String "banana" , String "banner" , String "bar" , String "barely" , String "bargain" , String "barrel" , String "base" , String "basic" , String "basket" , String "battle" , String "beach" , String "bean" , String "beauty" , String "because" , String "become" , String "beef" , String "before" , String "begin" , String "behave" , String "behind" , String "believe" , String "below" , String "belt" , String "bench" , String "benefit" , String "best" , String "betray" , String "better" , String "between" , String "beyond" , String "bicycle" , String "bid" , String "bike" , String "bind" , String "biology" , String "bird" , String "birth" , String "bitter" , String "black" , String "blade" , String "blame" , String "blanket" , String "blast" , String "bleak" , String "bless" , String "blind" , String "blood" , String "blossom" , String "blouse" , String "blue" , String "blur" , String "blush" , String "board" , String "boat" , String "body" , String "boil" , String "bomb" , String "bone" , String "bonus" , String "book" , String "boost" , String "border" , String "boring" , String "borrow" , String "boss" , String "bottom" , String "bounce" , String "box" , String "boy" , String "bracket" , String "brain" , String "brand" , String "brass" , String "brave" , String "bread" , String "breeze" , String "brick" , String "bridge" , String "brief" , String "bright" , String "bring" , String "brisk" , String "broccoli" , String "broken" , String "bronze" , String "broom" , String "brother" , String "brown" , String "brush" , String "bubble" , String "buddy" , String "budget" , String "buffalo" , String "build" , String "bulb" , String "bulk" , String "bullet" , String "bundle" , String "bunker" , String "burden" , String "burger" , String "burst" , String "bus" , String "business" , String "busy" , String "butter" , String "buyer" , String "buzz" , String "cabbage" , String "cabin" , String "cable" , String "cactus" , String "cage" , String "cake" , String "call" , String "calm" , String "camera" , String "camp" , String "can" , String "canal" , String "cancel" , String "candy" , String "cannon" , String "canoe" , String "canvas" , String "canyon" , String "capable" , String "capital" , String "captain" , String "car" , String "carbon" , String "card" , String "cargo" , String "carpet" , String "carry" , String "cart" , String "case" , String "cash" , String "casino" , String "castle" , String "casual" , String "cat" , String "catalog" , String "catch" , String "category" , String "cattle" , String "caught" , String "cause" , String "caution" , String "cave" , String "ceiling" , String "celery" , String "cement" , String "census" , String "century" , String "cereal" , String "certain" , String "chair" , String "chalk" , String "champion" , String "change" , String "chaos" , String "chapter" , String "charge" , String "chase" , String "chat" , String "cheap" , String "check" , String "cheese" , String "chef" , String "cherry" , String "chest" , String "chicken" , String "chief" , String "child" , String "chimney" , String "choice" , String "choose" , String "chronic" , String "chuckle" , String "chunk" , String "churn" , String "cigar" , String "cinnamon" , String "circle" , String "citizen" , String "city" , String "civil" , String "claim" , String "clap" , String "clarify" , String "claw" , String "clay" , String "clean" , String "clerk" , String "clever" , String "click" , String "client" , String "cliff" , String "climb" , String "clinic" , String "clip" , String "clock" , String "clog" , String "close" , String "cloth" , String "cloud" , String "clown" , String "club" , String "clump" , String "cluster" , String "clutch" , String "coach" , String "coast" , String "coconut" , String "code" , String "coffee" , String "coil" , String "coin" , String "collect" , String "color" , String "column" , String "combine" , String "come" , String "comfort" , String "comic" , String "common" , String "company" , String "concert" , String "conduct" , String "confirm" , String "congress" , String "connect" , String "consider" , String "control" , String "convince" , String "cook" , String "cool" , String "copper" , String "copy" , String "coral" , String "core" , String "corn" , String "correct" , String "cost" , String "cotton" , String "couch" , String "country" , String "couple" , String "course" , String "cousin" , String "cover" , String "coyote" , String "crack" , String "cradle" , String "craft" , String "cram" , String "crane" , String "crash" , String "crater" , String "crawl" , String "crazy" , String "cream" , String "credit" , String "creek" , String "crew" , String "cricket" , String "crime" , String "crisp" , String "critic" , String "crop" , String "cross" , String "crouch" , String "crowd" , String "crucial" , String "cruel" , String "cruise" , String "crumble" , String "crunch" , String "crush" , String "cry" , String "crystal" , String "cube" , String "culture" , String "cup" , String "cupboard" , String "curious" , String "current" , String "curtain" , String "curve" , String "cushion" , String "custom" , String "cute" , String "cycle" , String "dad" , String "damage" , String "damp" , String "dance" , String "danger" , String "daring" , String "dash" , String "daughter" , String "dawn" , String "day" , String "deal" , String "debate" , String "debris" , String "decade" , String "december" , String "decide" , String "decline" , String "decorate" , String "decrease" , String "deer" , String "defense" , String "define" , String "defy" , String "degree" , String "delay" , String "deliver" , String "demand" , String "demise" , String "denial" , String "dentist" , String "deny" , String "depart" , String "depend" , String "deposit" , String "depth" , String "deputy" , String "derive" , String "describe" , String "desert" , String "design" , String "desk" , String "despair" , String "destroy" , String "detail" , String "detect" , String "develop" , String "device" , String "devote" , String "diagram" , String "dial" , String "diamond" , String "diary" , String "dice" , String "diesel" , String "diet" , String "differ" , String "digital" , String "dignity" , String "dilemma" , String "dinner" , String "dinosaur" , String "direct" , String "dirt" , String "disagree" , String "discover" , String "disease" , String "dish" , String "dismiss" , String "disorder" , String "display" , String "distance" , String "divert" , String "divide" , String "divorce" , String "dizzy" , String "doctor" , String "document" , String "dog" , String "doll" , String "dolphin" , String "domain" , String "donate" , String "donkey" , String "donor" , String "door" , String "dose" , String "double" , String "dove" , String "draft" , String "dragon" , String "drama" , String "drastic" , String "draw" , String "dream" , String "dress" , String "drift" , String "drill" , String "drink" , String "drip" , String "drive" , String "drop" , String "drum" , String "dry" , String "duck" , String "dumb" , String "dune" , String "during" , String "dust" , String "dutch" , String "duty" , String "dwarf" , String "dynamic" , String "eager" , String "eagle" , String "early" , String "earn" , String "earth" , String "easily" , String "east" , String "easy" , String "echo" , String "ecology" , String "economy" , String "edge" , String "edit" , String "educate" , String "effort" , String "egg" , String "eight" , String "either" , String "elbow" , String "elder" , String "electric" , String "elegant" , String "element" , String "elephant" , String "elevator" , String "elite" , String "else" , String "embark" , String "embody" , String "embrace" , String "emerge" , String "emotion" , String "employ" , String "empower" , String "empty" , String "enable" , String "enact" , String "end" , String "endless" , String "endorse" , String "enemy" , String "energy" , String "enforce" , String "engage" , String "engine" , String "enhance" , String "enjoy" , String "enlist" , String "enough" , String "enrich" , String "enroll" , String "ensure" , String "enter" , String "entire" , String "entry" , String "envelope" , String "episode" , String "equal" , String "equip" , String "era" , String "erase" , String "erode" , String "erosion" , String "error" , String "erupt" , String "escape" , String "essay" , String "essence" , String "estate" , String "eternal" , String "ethics" , String "evidence" , String "evil" , String "evoke" , String "evolve" , String "exact" , String "example" , String "excess" , String "exchange" , String "excite" , String "exclude" , String "excuse" , String "execute" , String "exercise" , String "exhaust" , String "exhibit" , String "exile" , String "exist" , String "exit" , String "exotic" , String "expand" , String "expect" , String "expire" , String "explain" , String "expose" , String "express" , String "extend" , String "extra" , String "eye" , String "eyebrow" , String "fabric" , String "face" , String "faculty" , String "fade" , String "faint" , String "faith" , String "fall" , String "false" , String "fame" , String "family" , String "famous" , String "fan" , String "fancy" , String "fantasy" , String "farm" , String "fashion" , String "fat" , String "fatal" , String "father" , String "fatigue" , String "fault" , String "favorite" , String "feature" , String "february" , String "federal" , String "fee" , String "feed" , String "feel" , String "female" , String "fence" , String "festival" , String "fetch" , String "fever" , String "few" , String "fiber" , String "fiction" , String "field" , String "figure" , String "file" , String "film" , String "filter" , String "final" , String "find" , String "fine" , String "finger" , String "finish" , String "fire" , String "firm" , String "first" , String "fiscal" , String "fish" , String "fit" , String "fitness" , String "fix" , String "flag" , String "flame" , String "flash" , String "flat" , String "flavor" , String "flee" , String "flight" , String "flip" , String "float" , String "flock" , String "floor" , String "flower" , String "fluid" , String "flush" , String "fly" , String "foam" , String "focus" , String "fog" , String "foil" , String "fold" , String "follow" , String "food" , String "foot" , String "force" , String "forest" , String "forget" , String "fork" , String "fortune" , String "forum" , String "forward" , String "fossil" , String "foster" , String "found" , String "fox" , String "fragile" , String "frame" , String "frequent" , String "fresh" , String "friend" , String "fringe" , String "frog" , String "front" , String "frost" , String "frown" , String "frozen" , String "fruit" , String "fuel" , String "fun" , String "funny" , String "furnace" , String "fury" , String "future" , String "gadget" , String "gain" , String "galaxy" , String "gallery" , String "game" , String "gap" , String "garage" , String "garbage" , String "garden" , String "garlic" , String "garment" , String "gas" , String "gasp" , String "gate" , String "gather" , String "gauge" , String "gaze" , String "general" , String "genius" , String "genre" , String "gentle" , String "genuine" , String "gesture" , String "ghost" , String "giant" , String "gift" , String "giggle" , String "ginger" , String "giraffe" , String "girl" , String "give" , String "glad" , String "glance" , String "glare" , String "glass" , String "glide" , String "glimpse" , String "globe" , String "gloom" , String "glory" , String "glove" , String "glow" , String "glue" , String "goat" , String "goddess" , String "gold" , String "good" , String "goose" , String "gorilla" , String "gospel" , String "gossip" , String "govern" , String "gown" , String "grab" , String "grace" , String "grain" , String "grant" , String "grape" , String "grass" , String "gravity" , String "great" , String "green" , String "grid" , String "grief" , String "grit" , String "grocery" , String "group" , String "grow" , String "grunt" , String "guard" , String "guess" , String "guide" , String "guilt" , String "guitar" , String "gun" , String "gym" , String "habit" , String "hair" , String "half" , String "hammer" , String "hamster" , String "hand" , String "happy" , String "harbor" , String "hard" , String "harsh" , String "harvest" , String "hat" , String "have" , String "hawk" , String "hazard" , String "head" , String "health" , String "heart" , String "heavy" , String "hedgehog" , String "height" , String "hello" , String "helmet" , String "help" , String "hen" , String "hero" , String "hidden" , String "high" , String "hill" , String "hint" , String "hip" , String "hire" , String "history" , String "hobby" , String "hockey" , String "hold" , String "hole" , String "holiday" , String "hollow" , String "home" , String "honey" , String "hood" , String "hope" , String "horn" , String "horror" , String "horse" , String "hospital" , String "host" , String "hotel" , String "hour" , String "hover" , String "hub" , String "huge" , String "human" , String "humble" , String "humor" , String "hundred" , String "hungry" , String "hunt" , String "hurdle" , String "hurry" , String "hurt" , String "husband" , String "hybrid" , String "ice" , String "icon" , String "idea" , String "identify" , String "idle" , String "ignore" , String "ill" , String "illegal" , String "illness" , String "image" , String "imitate" , String "immense" , String "immune" , String "impact" , String "impose" , String "improve" , String "impulse" , String "inch" , String "include" , String "income" , String "increase" , String "index" , String "indicate" , String "indoor" , String "industry" , String "infant" , String "inflict" , String "inform" , String "inhale" , String "inherit" , String "initial" , String "inject" , String "injury" , String "inmate" , String "inner" , String "innocent" , String "input" , String "inquiry" , String "insane" , String "insect" , String "inside" , String "inspire" , String "install" , String "intact" , String "interest" , String "into" , String "invest" , String "invite" , String "involve" , String "iron" , String "island" , String "isolate" , String "issue" , String "item" , String "ivory" , String "jacket" , String "jaguar" , String "jar" , String "jazz" , String "jealous" , String "jeans" , String "jelly" , String "jewel" , String "job" , String "join" , String "joke" , String "journey" , String "joy" , String "judge" , String "juice" , String "jump" , String "jungle" , String "junior" , String "junk" , String "just" , String "kangaroo" , String "keen" , String "keep" , String "ketchup" , String "key" , String "kick" , String "kid" , String "kidney" , String "kind" , String "kingdom" , String "kiss" , String "kit" , String "kitchen" , String "kite" , String "kitten" , String "kiwi" , String "knee" , String "knife" , String "knock" , String "know" , String "lab" , String "label" , String "labor" , String "ladder" , String "lady" , String "lake" , String "lamp" , String "language" , String "laptop" , String "large" , String "later" , String "latin" , String "laugh" , String "laundry" , String "lava" , String "law" , String "lawn" , String "lawsuit" , String "layer" , String "lazy" , String "leader" , String "leaf" , String "learn" , String "leave" , String "lecture" , String "left" , String "leg" , String "legal" , String "legend" , String "leisure" , String "lemon" , String "lend" , String "length" , String "lens" , String "leopard" , String "lesson" , String "letter" , String "level" , String "liar" , String "liberty" , String "library" , String "license" , String "life" , String "lift" , String "light" , String "like" , String "limb" , String "limit" , String "link" , String "lion" , String "liquid" , String "list" , String "little" , String "live" , String "lizard" , String "load" , String "loan" , String "lobster" , String "local" , String "lock" , String "logic" , String "lonely" , String "long" , String "loop" , String "lottery" , String "loud" , String "lounge" , String "love" , String "loyal" , String "lucky" , String "luggage" , String "lumber" , String "lunar" , String "lunch" , String "luxury" , String "lyrics" , String "machine" , String "mad" , String "magic" , String "magnet" , String "maid" , String "mail" , String "main" , String "major" , String "make" , String "mammal" , String "man" , String "manage" , String "mandate" , String "mango" , String "mansion" , String "manual" , String "maple" , String "marble" , String "march" , String "margin" , String "marine" , String "market" , String "marriage" , String "mask" , String "mass" , String "master" , String "match" , String "material" , String "math" , String "matrix" , String "matter" , String "maximum" , String "maze" , String "meadow" , String "mean" , String "measure" , String "meat" , String "mechanic" , String "medal" , String "media" , String "melody" , String "melt" , String "member" , String "memory" , String "mention" , String "menu" , String "mercy" , String "merge" , String "merit" , String "merry" , String "mesh" , String "message" , String "metal" , String "method" , String "middle" , String "midnight" , String "milk" , String "million" , String "mimic" , String "mind" , String "minimum" , String "minor" , String "minute" , String "miracle" , String "mirror" , String "misery" , String "miss" , String "mistake" , String "mix" , String "mixed" , String "mixture" , String "mobile" , String "model" , String "modify" , String "mom" , String "moment" , String "monitor" , String "monkey" , String "monster" , String "month" , String "moon" , String "moral" , String "more" , String "morning" , String "mosquito" , String "mother" , String "motion" , String "motor" , String "mountain" , String "mouse" , String "move" , String "movie" , String "much" , String "muffin" , String "mule" , String "multiply" , String "muscle" , String "museum" , String "mushroom" , String "music" , String "must" , String "mutual" , String "myself" , String "mystery" , String "myth" , String "naive" , String "name" , String "napkin" , String "narrow" , String "nasty" , String "nation" , String "nature" , String "near" , String "neck" , String "need" , String "negative" , String "neglect" , String "neither" , String "nephew" , String "nerve" , String "nest" , String "net" , String "network" , String "neutral" , String "never" , String "news" , String "next" , String "nice" , String "night" , String "noble" , String "noise" , String "nominee" , String "noodle" , String "normal" , String "north" , String "nose" , String "notable" , String "note" , String "nothing" , String "notice" , String "novel" , String "now" , String "nuclear" , String "number" , String "nurse" , String "nut" , String "oak" , String "obey" , String "object" , String "oblige" , String "obscure" , String "observe" , String "obtain" , String "obvious" , String "occur" , String "ocean" , String "october" , String "odor" , String "off" , String "offer" , String "office" , String "often" , String "oil" , String "okay" , String "old" , String "olive" , String "olympic" , String "omit" , String "once" , String "one" , String "onion" , String "online" , String "only" , String "open" , String "opera" , String "opinion" , String "oppose" , String "option" , String "orange" , String "orbit" , String "orchard" , String "order" , String "ordinary" , String "organ" , String "orient" , String "original" , String "orphan" , String "ostrich" , String "other" , String "outdoor" , String "outer" , String "output" , String "outside" , String "oval" , String "oven" , String "over" , String "own" , String "owner" , String "oxygen" , String "oyster" , String "ozone" , String "pact" , String "paddle" , String "page" , String "pair" , String "palace" , String "palm" , String "panda" , String "panel" , String "panic" , String "panther" , String "paper" , String "parade" , String "parent" , String "park" , String "parrot" , String "party" , String "pass" , String "patch" , String "path" , String "patient" , String "patrol" , String "pattern" , String "pause" , String "pave" , String "payment" , String "peace" , String "peanut" , String "pear" , String "peasant" , String "pelican" , String "pen" , String "penalty" , String "pencil" , String "people" , String "pepper" , String "perfect" , String "permit" , String "person" , String "pet" , String "phone" , String "photo" , String "phrase" , String "physical" , String "piano" , String "picnic" , String "picture" , String "piece" , String "pig" , String "pigeon" , String "pill" , String "pilot" , String "pink" , String "pioneer" , String "pipe" , String "pistol" , String "pitch" , String "pizza" , String "place" , String "planet" , String "plastic" , String "plate" , String "play" , String "please" , String "pledge" , String "pluck" , String "plug" , String "plunge" , String "poem" , String "poet" , String "point" , String "polar" , String "pole" , String "police" , String "pond" , String "pony" , String "pool" , String "popular" , String "portion" , String "position" , String "possible" , String "post" , String "potato" , String "pottery" , String "poverty" , String "powder" , String "power" , String "practice" , String "praise" , String "predict" , String "prefer" , String "prepare" , String "present" , String "pretty" , String "prevent" , String "price" , String "pride" , String "primary" , String "print" , String "priority" , String "prison" , String "private" , String "prize" , String "problem" , String "process" , String "produce" , String "profit" , String "program" , String "project" , String "promote" , String "proof" , String "property" , String "prosper" , String "protect" , String "proud" , String "provide" , String "public" , String "pudding" , String "pull" , String "pulp" , String "pulse" , String "pumpkin" , String "punch" , String "pupil" , String "puppy" , String "purchase" , String "purity" , String "purpose" , String "purse" , String "push" , String "put" , String "puzzle" , String "pyramid" , String "quality" , String "quantum" , String "quarter" , String "question" , String "quick" , String "quit" , String "quiz" , String "quote" , String "rabbit" , String "raccoon" , String "race" , String "rack" , String "radar" , String "radio" , String "rail" , String "rain" , String "raise" , String "rally" , String "ramp" , String "ranch" , String "random" , String "range" , String "rapid" , String "rare" , String "rate" , String "rather" , String "raven" , String "raw" , String "razor" , String "ready" , String "real" , String "reason" , String "rebel" , String "rebuild" , String "recall" , String "receive" , String "recipe" , String "record" , String "recycle" , String "reduce" , String "reflect" , String "reform" , String "refuse" , String "region" , String "regret" , String "regular" , String "reject" , String "relax" , String "release" , String "relief" , String "rely" , String "remain" , String "remember" , String "remind" , String "remove" , String "render" , String "renew" , String "rent" , String "reopen" , String "repair" , String "repeat" , String "replace" , String "report" , String "require" , String "rescue" , String "resemble" , String "resist" , String "resource" , String "response" , String "result" , String "retire" , String "retreat" , String "return" , String "reunion" , String "reveal" , String "review" , String "reward" , String "rhythm" , String "rib" , String "ribbon" , String "rice" , String "rich" , String "ride" , String "ridge" , String "rifle" , String "right" , String "rigid" , String "ring" , String "riot" , String "ripple" , String "risk" , String "ritual" , String "rival" , String "river" , String "road" , String "roast" , String "robot" , String "robust" , String "rocket" , String "romance" , String "roof" , String "rookie" , String "room" , String "rose" , String "rotate" , String "rough" , String "round" , String "route" , String "royal" , String "rubber" , String "rude" , String "rug" , String "rule" , String "run" , String "runway" , String "rural" , String "sad" , String "saddle" , String "sadness" , String "safe" , String "sail" , String "salad" , String "salmon" , String "salon" , String "salt" , String "salute" , String "same" , String "sample" , String "sand" , String "satisfy" , String "satoshi" , String "sauce" , String "sausage" , String "save" , String "say" , String "scale" , String "scan" , String "scare" , String "scatter" , String "scene" , String "scheme" , String "school" , String "science" , String "scissors" , String "scorpion" , String "scout" , String "scrap" , String "screen" , String "script" , String "scrub" , String "sea" , String "search" , String "season" , String "seat" , String "second" , String "secret" , String "section" , String "security" , String "seed" , String "seek" , String "segment" , String "select" , String "sell" , String "seminar" , String "senior" , String "sense" , String "sentence" , String "series" , String "service" , String "session" , String "settle" , String "setup" , String "seven" , String "shadow" , String "shaft" , String "shallow" , String "share" , String "shed" , String "shell" , String "sheriff" , String "shield" , String "shift" , String "shine" , String "ship" , String "shiver" , String "shock" , String "shoe" , String "shoot" , String "shop" , String "short" , String "shoulder" , String "shove" , String "shrimp" , String "shrug" , String "shuffle" , String "shy" , String "sibling" , String "sick" , String "side" , String "siege" , String "sight" , String "sign" , String "silent" , String "silk" , String "silly" , String "silver" , String "similar" , String "simple" , String "since" , String "sing" , String "siren" , String "sister" , String "situate" , String "six" , String "size" , String "skate" , String "sketch" , String "ski" , String "skill" , String "skin" , String "skirt" , String "skull" , String "slab" , String "slam" , String "sleep" , String "slender" , String "slice" , String "slide" , String "slight" , String "slim" , String "slogan" , String "slot" , String "slow" , String "slush" , String "small" , String "smart" , String "smile" , String "smoke" , String "smooth" , String "snack" , String "snake" , String "snap" , String "sniff" , String "snow" , String "soap" , String "soccer" , String "social" , String "sock" , String "soda" , String "soft" , String "solar" , String "soldier" , String "solid" , String "solution" , String "solve" , String "someone" , String "song" , String "soon" , String "sorry" , String "sort" , String "soul" , String "sound" , String "soup" , String "source" , String "south" , String "space" , String "spare" , String "spatial" , String "spawn" , String "speak" , String "special" , String "speed" , String "spell" , String "spend" , String "sphere" , String "spice" , String "spider" , String "spike" , String "spin" , String "spirit" , String "split" , String "spoil" , String "sponsor" , String "spoon" , String "sport" , String "spot" , String "spray" , String "spread" , String "spring" , String "spy" , String "square" , String "squeeze" , String "squirrel" , String "stable" , String "stadium" , String "staff" , String "stage" , String "stairs" , String "stamp" , String "stand" , String "start" , String "state" , String "stay" , String "steak" , String "steel" , String "stem" , String "step" , String "stereo" , String "stick" , String "still" , String "sting" , String "stock" , String "stomach" , String "stone" , String "stool" , String "story" , String "stove" , String "strategy" , String "street" , String "strike" , String "strong" , String "struggle" , String "student" , String "stuff" , String "stumble" , String "style" , String "subject" , String "submit" , String "subway" , String "success" , String "such" , String "sudden" , String "suffer" , String "sugar" , String "suggest" , String "suit" , String "summer" , String "sun" , String "sunny" , String "sunset" , String "super" , String "supply" , String "supreme" , String "sure" , String "surface" , String "surge" , String "surprise" , String "surround" , String "survey" , String "suspect" , String "sustain" , String "swallow" , String "swamp" , String "swap" , String "swarm" , String "swear" , String "sweet" , String "swift" , String "swim" , String "swing" , String "switch" , String "sword" , String "symbol" , String "symptom" , String "syrup" , String "system" , String "table" , String "tackle" , String "tag" , String "tail" , String "talent" , String "talk" , String "tank" , String "tape" , String "target" , String "task" , String "taste" , String "tattoo" , String "taxi" , String "teach" , String "team" , String "tell" , String "ten" , String "tenant" , String "tennis" , String "tent" , String "term" , String "test" , String "text" , String "thank" , String "that" , String "theme" , String "then" , String "theory" , String "there" , String "they" , String "thing" , String "this" , String "thought" , String "three" , String "thrive" , String "throw" , String "thumb" , String "thunder" , String "ticket" , String "tide" , String "tiger" , String "tilt" , String "timber" , String "time" , String "tiny" , String "tip" , String "tired" , String "tissue" , String "title" , String "toast" , String "tobacco" , String "today" , String "toddler" , String "toe" , String "together" , String "toilet" , String "token" , String "tomato" , String "tomorrow" , String "tone" , String "tongue" , String "tonight" , String "tool" , String "tooth" , String "top" , String "topic" , String "topple" , String "torch" , String "tornado" , String "tortoise" , String "toss" , String "total" , String "tourist" , String "toward" , String "tower" , String "town" , String "toy" , String "track" , String "trade" , String "traffic" , String "tragic" , String "train" , String "transfer" , String "trap" , String "trash" , String "travel" , String "tray" , String "treat" , String "tree" , String "trend" , String "trial" , String "tribe" , String "trick" , String "trigger" , String "trim" , String "trip" , String "trophy" , String "trouble" , String "truck" , String "true" , String "truly" , String "trumpet" , String "trust" , String "truth" , String "try" , String "tube" , String "tuition" , String "tumble" , String "tuna" , String "tunnel" , String "turkey" , String "turn" , String "turtle" , String "twelve" , String "twenty" , String "twice" , String "twin" , String "twist" , String "two" , String "type" , String "typical" , String "ugly" , String "umbrella" , String "unable" , String "unaware" , String "uncle" , String "uncover" , String "under" , String "undo" , String "unfair" , String "unfold" , String "unhappy" , String "uniform" , String "unique" , String "unit" , String "universe" , String "unknown" , String "unlock" , String "until" , String "unusual" , String "unveil" , String "update" , String "upgrade" , String "uphold" , String "upon" , String "upper" , String "upset" , String "urban" , String "urge" , String "usage" , String "use" , String "used" , String "useful" , String "useless" , String "usual" , String "utility" , String "vacant" , String "vacuum" , String "vague" , String "valid" , String "valley" , String "valve" , String "van" , String "vanish" , String "vapor" , String "various" , String "vast" , String "vault" , String "vehicle" , String "velvet" , String "vendor" , String "venture" , String "venue" , String "verb" , String "verify" , String "version" , String "very" , String "vessel" , String "veteran" , String "viable" , String "vibrant" , String "vicious" , String "victory" , String "video" , String "view" , String "village" , String "vintage" , String "violin" , String "virtual" , String "virus" , String "visa" , String "visit" , String "visual" , String "vital" , String "vivid" , String "vocal" , String "voice" , String "void" , String "volcano" , String "volume" , String "vote" , String "voyage" , String "wage" , String "wagon" , String "wait" , String "walk" , String "wall" , String "walnut" , String "want" , String "warfare" , String "warm" , String "warrior" , String "wash" , String "wasp" , String "waste" , String "water" , String "wave" , String "way" , String "wealth" , String "weapon" , String "wear" , String "weasel" , String "weather" , String "web" , String "wedding" , String "weekend" , String "weird" , String "welcome" , String "west" , String "wet" , String "whale" , String "what" , String "wheat" , String "wheel" , String "when" , String "where" , String "whip" , String "whisper" , String "wide" , String "width" , String "wife" , String "wild" , String "will" , String "win" , String "window" , String "wine" , String "wing" , String "wink" , String "winner" , String "winter" , String "wire" , String "wisdom" , String "wise" , String "wish" , String "witness" , String "wolf" , String "woman" , String "wonder" , String "wood" , String "wool" , String "word" , String "work" , String "world" , String "worry" , String "worth" , String "wrap" , String "wreck" , String "wrestle" , String "wrist" , String "write" , String "wrong" , String "yard" , String "year" , String "yellow" , String "you" , String "young" , String "youth" , String "zebra" , String "zero" , String "zone" , String "zoo" ]