diff --git a/app/utils.py b/app/utils.py index c2a8b7914..ca683f78f 100644 --- a/app/utils.py +++ b/app/utils.py @@ -9,26 +9,23 @@ from flask_wtf import FlaskForm from unidecode import unidecode -from .config import WORDS_FILE_PATH, ALLOWED_REDIRECT_DOMAINS +from .words import safe_words +from .config import ALLOWED_REDIRECT_DOMAINS from .log import LOG -with open(WORDS_FILE_PATH) as f: - LOG.d("load words file: %s", WORDS_FILE_PATH) - _words = f.read().split() - def random_word(): - return secrets.choice(_words) + return secrets.choice(safe_words) def word_exist(word): - return word in _words + return word in safe_words def random_words(words: int = 2, numbers: int = 0): """Generate a random words. Used to generate user-facing string, for ex email addresses""" # nb_words = random.randint(2, 3) - fields = [secrets.choice(_words) for i in range(words)] + fields = [secrets.choice(safe_words) for i in range(words)] if numbers > 0: digits = [n for n in range(10)] diff --git a/app/words.py b/app/words.py new file mode 100644 index 000000000..b8dd13475 --- /dev/null +++ b/app/words.py @@ -0,0 +1,9 @@ +# +# This file is auto-generated. Please run ./scripts/regen-words.py to re-generate it +# + +import json + +safe_words = json.loads( + '["meo", "cat", "chat", "alo", "hey", "yeah", "yes", "abacus", "abased", "abases", "abated", "abates", "abbess", "abbeys", "abbots", "abbrev", "abduct", "abhors", "abides", "abject", "abjure", "ablate", "ablaze", "ablest", "abloom", "aboard", "abodes", "aborts", "abound", "abrade", "abroad", "abrupt", "abseil", "absent", "absorb", "absurd", "abused", "abuser", "abuses", "acacia", "accede", "accent", "accept", "access", "accord", "accost", "accrue", "accuse", "acetic", "acetyl", "achene", "achier", "aching", "acidic", "acidly", "acorns", "acquit", "across", "acting", "action", "active", "actors", "actual", "acuity", "acumen", "acuter", "acutes", "adages", "adagio", "adapts", "addend", "adders", "addict", "adding", "addled", "addles", "adduce", "adepts", "adhere", "adieus", "adjoin", "adjure", "adjust", "admins", "admire", "admits", "adobes", "adopts", "adored", "adorer", "adores", "adorns", "adrift", "adroit", "adsorb", "adults", "advent", "adverb", "advert", "advice", "advise", "adware", "aerate", "aerial", "aeries", "affair", "affect", "affirm", "afford", "affray", "afghan", "afield", "aflame", "afloat", "afraid", "afresh", "afters", "agates", "ageing", "ageism", "ageist", "agency", "agenda", "agents", "aghast", "agleam", "agreed", "agrees", "ahchoo", "aiding", "ailing", "aiming", "airbag", "airbed", "airbus", "airier", "airily", "airing", "airman", "airmen", "airway", "aisles", "akimbo", "alarms", "albeit", "albino", "albums", "alcove", "alders", "alerts", "alibis", "aliens", "alight", "aligns", "aliyah", "alkali", "alkyds", "allays", "allege", "allele", "alleys", "allied", "allies", "allots", "allows", "alloys", "allude", "allure", "almond", "almost", "alohas", "alpaca", "alphas", "alpine", "altars", "alters", "alumna", "alumni", "always", "amazed", "amazes", "amazon", "ambled", "ambler", "ambles", "ambush", "amends", "amerce", "amides", "amidst", "amigos", "amines", "amnion", "amoeba", "amount", "amours", "ampere", "ampler", "ampule", "amulet", "amused", "amuses", "anally", "anchor", "angels", "angers", "angina", "angled", "angler", "angles", "angora", "animal", "animus", "anions", "ankles", "anklet", "anneal", "annoys", "annual", "annuls", "anodes", "anoint", "anorak", "answer", "anthem", "anther", "antics", "antler", "antrum", "anuses", "anvils", "anyhow", "anyone", "anyway", "aortas", "aortic", "apathy", "apexes", "aphids", "apiary", "apical", "apiece", "aplomb", "apogee", "appals", "appeal", "appear", "append", "apples", "applet", "appose", "approx", "aprons", "aptest", "arable", "arbour", "arcade", "arcane", "arched", "archer", "arches", "archly", "arcing", "arctic", "ardent", "ardour", "arenas", "argent", "argosy", "argots", "argued", "arguer", "argues", "argyle", "aridly", "aright", "arisen", "arises", "armada", "armful", "armies", "arming", "armlet", "armour", "armpit", "aromas", "around", "arouse", "arrant", "arrays", "arrest", "arrive", "arrows", "arroyo", "arsing", "artery", "artful", "artier", "artist", "ascend", "ascent", "ascots", "ashcan", "ashier", "ashing", "ashlar", "ashore", "ashram", "asides", "asking", "aslant", "asleep", "aspect", "aspens", "aspics", "aspire", "assail", "assays", "assent", "assert", "assess", "assets", "assign", "assist", "assize", "assort", "assume", "assure", "astern", "asters", "asthma", "astral", "astray", "astute", "asylum", "ataxia", "ataxic", "atolls", "atomic", "atonal", "atoned", "atones", "atrial", "atrium", "attach", "attack", "attain", "attend", "attest", "attics", "attire", "attune", "auburn", "audios", "audits", "augers", "aughts", "augurs", "augury", "august", "auntie", "aureus", "aurora", "author", "autumn", "avails", "avatar", "avaunt", "avenge", "avenue", "averse", "averts", "aviary", "avidly", "avoids", "avouch", "avowal", "avowed", "awaits", "awaken", "awakes", "awards", "aweigh", "awhile", "awning", "awoken", "axioms", "azalea", "azures", "baaing", "babble", "babels", "babied", "babier", "babies", "baboon", "backed", "backer", "backup", "badder", "baddie", "badger", "badges", "badman", "badmen", "baffle", "bagels", "bagful", "bagged", "baggie", "bailed", "bailey", "bairns", "baited", "bakers", "bakery", "baking", "balboa", "balded", "balder", "baldly", "baleen", "balers", "baling", "ballad", "balled", "ballet", "ballot", "ballsy", "balsam", "balsas", "bamboo", "banana", "banded", "bandit", "banged", "banger", "bangle", "banish", "banjos", "banked", "banker", "banned", "banner", "bantam", "banter", "banyan", "banzai", "baobab", "barbed", "barbel", "barber", "barbie", "bardic", "barely", "barest", "barfed", "barfly", "barged", "barges", "barhop", "baring", "barium", "barked", "barker", "barley", "barman", "barmen", "barney", "barons", "barony", "barque", "barred", "barrel", "barren", "barres", "barrio", "barrow", "barter", "baryon", "basalt", "basely", "basest", "bashed", "bashes", "basics", "basing", "basins", "basked", "basket", "basque", "basses", "basset", "bassos", "basted", "baster", "bastes", "bathed", "bather", "bathes", "bathos", "batiks", "bating", "batman", "batmen", "batons", "batted", "batten", "batter", "battle", "bauble", "baulks", "bawled", "baying", "bayous", "bazaar", "beacon", "beaded", "beadle", "beagle", "beaked", "beaker", "beamed", "beaned", "beanie", "beards", "bearer", "beasts", "beaten", "beater", "beauts", "beauty", "beaver", "bebops", "becalm", "became", "beckon", "become", "bedaub", "bedbug", "bedded", "bedder", "bedeck", "bedims", "bedlam", "bedpan", "bedsit", "beefed", "beeped", "beeper", "beetle", "beeves", "befall", "befell", "befits", "befogs", "before", "befoul", "begets", "beggar", "begged", "begins", "begone", "begums", "behalf", "behave", "behead", "beheld", "behest", "behind", "behold", "behove", "beings", "belays", "belfry", "belied", "belief", "belies", "belled", "belles", "bellow", "belong", "belted", "beluga", "bemire", "bemoan", "bemuse", "bender", "benign", "benumb", "benzyl", "berate", "bereft", "berets", "berths", "beryls", "beseem", "besets", "beside", "besoms", "besots", "bested", "bestir", "bestow", "betake", "betcha", "betide", "betook", "betray", "better", "bettor", "bevels", "bevies", "bewail", "beware", "beyond", "bezels", "biased", "biases", "bibles", "bicarb", "biceps", "bicker", "bidden", "bidder", "bidets", "biding", "biffed", "bigamy", "bigger", "biggie", "bights", "bigots", "bigwig", "bijoux", "bikers", "biking", "bilges", "bilked", "bilker", "billed", "billet", "billow", "binary", "binder", "binged", "binges", "binman", "binmen", "binned", "bionic", "biopic", "biopsy", "biotin", "bipeds", "birded", "birder", "birdie", "births", "bisect", "bishop", "bisque", "bistro", "bitchy", "biters", "biting", "bitmap", "bitten", "bitter", "blacks", "bladed", "blades", "blamed", "blamer", "blames", "blammo", "blanch", "blanks", "blared", "blares", "blasts", "blazed", "blazer", "blazes", "blazon", "bleach", "bleary", "bleats", "bleeds", "bleeps", "blench", "blends", "bletch", "blight", "blimey", "blimps", "blinds", "blinis", "blinks", "blintz", "blithe", "blivet", "bloats", "blocks", "blokes", "blonde", "blonds", "blooms", "bloops", "blotch", "blotto", "blouse", "blower", "blowsy", "blowup", "bluest", "bluesy", "bluets", "bluffs", "bluing", "bluish", "blunts", "blurbs", "blurry", "blurts", "boards", "boasts", "boated", "boater", "bobbed", "bobbin", "bobble", "bobcat", "boccie", "bodega", "bodged", "bodges", "bodice", "bodied", "bodies", "bodily", "boding", "bodkin", "boffin", "bogeys", "bogged", "boggle", "bogies", "boiled", "boiler", "boinks", "bolder", "boldly", "bolero", "bollix", "bolted", "bombed", "bomber", "bonbon", "bonces", "bonded", "boners", "bonged", "bongos", "bonier", "boning", "bonito", "bonked", "bonnet", "bonobo", "bonsai", "boobed", "boodle", "booger", "boogie", "boohoo", "booing", "booked", "bookie", "boomed", "boomer", "boosts", "booted", "bootee", "booths", "boozed", "boozer", "boozes", "bopped", "border", "borers", "boring", "borrow", "borzoi", "bosoms", "bosomy", "bossed", "bosses", "botany", "bother", "botnet", "bottle", "bottom", "boughs", "bought", "boules", "bounce", "bouncy", "bounds", "bounty", "bovine", "bovver", "bowing", "bowled", "bowleg", "bowler", "bowman", "bowmen", "bowwow", "boxcar", "boxier", "boxing", "braced", "bracer", "braces", "bracts", "braids", "brains", "brainy", "braise", "braked", "brakes", "branch", "brands", "brandy", "brassy", "bratty", "braved", "braver", "braves", "bravos", "brawls", "brawny", "brayed", "brazed", "brazen", "brazer", "brazes", "breach", "breads", "breaks", "breams", "breath", "breech", "breeds", "breeze", "breezy", "breves", "brevet", "brewed", "brewer", "briars", "bricks", "bridal", "brides", "bridge", "bridle", "briefs", "bright", "brings", "brinks", "brisks", "broach", "broads", "brogan", "brogue", "broils", "broken", "broker", "brolly", "bronco", "broncs", "bronze", "brooch", "broods", "broody", "brooks", "brooms", "broths", "browns", "browse", "bruins", "bruise", "bruits", "brunch", "brunet", "brutal", "brutes", "bubble", "bubbly", "buboes", "bucked", "bucket", "buckle", "budded", "budged", "budges", "budget", "budgie", "buffed", "buffer", "buffet", "bugged", "builds", "bulked", "bulled", "bullet", "bumbag", "bumble", "bummed", "bummer", "bumped", "bumper", "bunchy", "buncos", "bundle", "bunged", "bungee", "bungle", "bunion", "bunked", "bunker", "bunkum", "bunted", "buoyed", "burble", "burden", "bureau", "burger", "burghs", "burgle", "burial", "buried", "buries", "burkas", "burlap", "burled", "burned", "burner", "burped", "burqas", "burred", "burros", "burrow", "bursae", "bursar", "bursts", "busboy", "bushed", "bushel", "bushes", "busied", "busier", "busies", "busily", "busked", "busker", "buskin", "bussed", "busses", "busted", "buster", "bustle", "butane", "butler", "butted", "butter", "buttes", "button", "buyers", "buying", "buyout", "buzzed", "buzzer", "buzzes", "bygone", "bylaws", "byline", "bypass", "bypath", "byplay", "byroad", "byways", "byword", "cabals", "cabana", "cabbed", "cabers", "cabins", "cabled", "cables", "cacaos", "cached", "caches", "cachet", "cackle", "cactus", "caddie", "cadets", "cadged", "cadger", "cadges", "cadres", "cagier", "cagily", "caging", "cahoot", "caiman", "cairns", "cajole", "caking", "calico", "caliph", "callas", "called", "caller", "callow", "callus", "calmed", "calmer", "calmly", "calved", "calves", "camber", "camels", "cameos", "camera", "camped", "camper", "campus", "canals", "canape", "canard", "canary", "cancan", "cancel", "cancer", "candid", "candle", "caners", "canine", "caning", "canker", "canned", "cannon", "cannot", "canoed", "canoes", "canola", "canons", "canopy", "canted", "canter", "canton", "cantor", "cantos", "canvas", "canyon", "capers", "caplet", "capons", "capped", "captor", "carafe", "carats", "carbon", "carboy", "carded", "carder", "cardio", "careen", "career", "carers", "caress", "carets", "carhop", "caries", "caring", "carnal", "carobs", "carols", "caroms", "carpal", "carped", "carpel", "carper", "carpet", "carpus", "carrel", "carrot", "carted", "cartel", "carter", "carton", "carved", "carver", "carves", "casaba", "casein", "cashed", "cashes", "cashew", "casing", "casino", "casket", "cassia", "caster", "castes", "castle", "castor", "casual", "catchy", "caters", "catgut", "cation", "catkin", "catnap", "catnip", "catted", "cattle", "caucus", "caudal", "caught", "caulks", "causal", "caused", "causer", "causes", "caveat", "cavern", "cavers", "caviar", "cavils", "caving", "cavity", "cavort", "cawing", "cayuse", "ceased", "ceases", "cedars", "ceders", "ceding", "celebs", "celery", "cellar", "celled", "cellos", "cement", "censer", "censor", "census", "centre", "cereal", "cerise", "cerium", "cermet", "cervix", "chafed", "chafes", "chaffs", "chains", "chairs", "chaise", "chalet", "chalks", "chalky", "champs", "chance", "chancy", "change", "chants", "chapel", "chappy", "charge", "charms", "charts", "chased", "chaser", "chases", "chasms", "chaste", "chatty", "cheapo", "cheats", "checks", "cheeks", "cheeky", "cheeps", "cheers", "cheery", "cheese", "cheesy", "cheque", "cherry", "cherub", "chests", "chesty", "chewed", "chewer", "chicer", "chichi", "chicks", "chicle", "chided", "chides", "chiefs", "chilli", "chills", "chilly", "chimed", "chimer", "chimes", "chimps", "chines", "chinks", "chinos", "chintz", "chippy", "chirps", "chirpy", "chisel", "chitin", "chives", "chocks", "choice", "choirs", "choked", "choker", "chokes", "choler", "chomps", "choose", "choosy", "choppy", "choral", "chords", "chorea", "chores", "chorus", "chosen", "chowed", "chrism", "chrome", "chubby", "chucks", "chukka", "chummy", "chumps", "chunks", "chunky", "church", "churls", "churns", "chutes", "cicada", "ciders", "cigars", "cilium", "cinder", "cinema", "cipher", "circle", "circus", "cirque", "cirrus", "cities", "citing", "citric", "citron", "citrus", "civets", "civics", "clacks", "claims", "clammy", "clamps", "clangs", "clanks", "claque", "claret", "clasps", "classy", "clause", "clawed", "clayey", "cleans", "clears", "cleats", "cleave", "clefts", "clench", "clergy", "cleric", "clerks", "clever", "clevis", "clewed", "cliche", "clicks", "client", "cliffs", "climax", "climbs", "climes", "clinch", "clings", "clingy", "clinic", "clinks", "clique", "cloche", "clocks", "clomps", "clonal", "cloned", "clones", "clonks", "closed", "closer", "closes", "closet", "clothe", "cloths", "clouds", "cloudy", "clouts", "cloven", "clover", "cloves", "clowns", "cloyed", "clucks", "cluing", "clumps", "clumpy", "clumsy", "clunks", "clunky", "clutch", "clxvii", "coaled", "coarse", "coasts", "coated", "coaxed", "coaxer", "coaxes", "cobalt", "cobber", "cobble", "cobnut", "cobras", "cobweb", "coccis", "coccus", "coccyx", "cocked", "cockle", "cocoas", "cocoon", "codded", "coddle", "coders", "codger", "codify", "coding", "codons", "coerce", "coeval", "coffee", "coffer", "coffin", "cogent", "cognac", "coheir", "cohere", "cohort", "coiled", "coined", "coiner", "coital", "coitus", "coking", "colder", "coldly", "coleus", "coleys", "collar", "collie", "colloq", "colons", "colony", "colour", "column", "combat", "combed", "comber", "combos", "comedy", "comely", "comers", "comets", "comfit", "comics", "coming", "comity", "commas", "commie", "commit", "common", "comped", "compel", "comply", "compos", "conchs", "concur", "condor", "condos", "coneys", "confab", "confer", "congas", "conger", "conics", "coning", "conked", "conker", "conman", "conned", "consed", "conses", "consul", "contra", "convex", "convey", "convoy", "cooing", "cooked", "cooker", "cookie", "cooled", "cooler", "coolie", "coolly", "cooped", "cooper", "cootie", "copied", "copier", "copies", "coping", "copped", "copper", "copses", "copter", "copula", "corals", "corbel", "corded", "cordon", "corers", "corgis", "coring", "corked", "corker", "cornea", "corned", "corner", "cornet", "corona", "corpse", "corpus", "corral", "corrie", "corset", "cortex", "coshed", "coshes", "cosier", "cosies", "cosign", "cosily", "cosine", "cosmic", "cosmos", "cosset", "costar", "costed", "costly", "cottar", "cotter", "cotton", "cougar", "coughs", "coulee", "coulis", "counts", "county", "coupes", "couple", "coupon", "course", "courts", "cousin", "covens", "covers", "covert", "covets", "coveys", "coward", "cowboy", "cowers", "cowing", "cowman", "cowmen", "cowpat", "cowpox", "cowrie", "coxing", "coyest", "coyote", "coypus", "cozens", "crabby", "cracks", "cradle", "crafts", "crafty", "craggy", "cramps", "craned", "cranes", "cranks", "cranky", "cranny", "crated", "crater", "crates", "cravat", "craved", "craven", "craves", "crawls", "crawly", "crayon", "crazed", "crazes", "creaks", "creaky", "creams", "crease", "create", "creche", "credit", "credos", "creeds", "creeks", "creels", "cremes", "creole", "crepes", "crests", "cretin", "crewed", "crewel", "cricks", "criers", "crikey", "crimes", "crimps", "cringe", "cripes", "crises", "crisis", "crisps", "crispy", "critic", "croaks", "croaky", "crocks", "crocus", "crofts", "crones", "crooks", "croons", "crotch", "crouch", "croupy", "crowds", "crowed", "crowns", "cruddy", "cruder", "cruets", "crufts", "crufty", "cruise", "crumbs", "crumby", "crummy", "crunch", "cruses", "crusts", "crusty", "crutch", "cruxes", "crying", "crypts", "cubers", "cubing", "cubism", "cubist", "cubits", "cuboid", "cuckoo", "cuddle", "cuddly", "cudgel", "cuffed", "culled", "cumber", "cumuli", "cupful", "cupids", "cupola", "cuppas", "cupped", "cupric", "curacy", "curare", "curate", "curbed", "curdle", "curers", "curfew", "curiae", "curies", "curing", "curios", "curium", "curled", "curler", "curlew", "cursed", "curses", "cursor", "curter", "curtly", "curtsy", "curved", "curves", "cuspid", "cussed", "cusses", "custom", "cutely", "cutest", "cutesy", "cuteys", "cuties", "cutler", "cutlet", "cutoff", "cutout", "cutter", "cutups", "cyborg", "cycled", "cycles", "cyclic", "cygnet", "cymbal", "cynics", "cystic", "dabbed", "dabber", "dabble", "dachas", "dactyl", "dadoes", "daemon", "dafter", "daftly", "dagger", "dagoes", "dahlia", "dainty", "daises", "damage", "damask", "damped", "dampen", "damper", "damply", "damsel", "damson", "danced", "dancer", "dances", "dander", "dandle", "danged", "danger", "dangle", "danish", "danker", "dankly", "dapper", "dapple", "darers", "daring", "darken", "darker", "darkly", "darned", "darner", "darted", "darter", "dashed", "dasher", "dashes", "dative", "daubed", "dauber", "daunts", "davits", "dawdle", "dawned", "daybed", "dazing", "dazzle", "deacon", "deaden", "deader", "deadly", "deafen", "deafer", "dealer", "dearer", "dearly", "dearth", "deaths", "deaves", "debark", "debars", "debase", "debate", "debits", "debris", "debtor", "debugs", "debunk", "debuts", "decade", "decaff", "decafs", "decals", "decamp", "decant", "decays", "deceit", "decent", "decide", "decked", "deckle", "declaw", "decode", "decors", "decoys", "decree", "deduce", "deduct", "deeded", "deejay", "deemed", "deepen", "deeper", "deeply", "deface", "defame", "defeat", "defect", "defend", "defers", "deffer", "defied", "defies", "defile", "define", "defogs", "deform", "defray", "defter", "deftly", "defuse", "degree", "deiced", "deicer", "deices", "deigns", "deists", "deject", "delays", "delete", "delint", "deltas", "delude", "deluge", "deluxe", "delved", "delver", "delves", "demand", "demean", "demise", "demist", "demobs", "demode", "demoed", "demons", "demote", "demure", "demurs", "dengue", "denial", "denied", "denier", "denies", "denims", "denote", "denser", "dental", "dented", "denude", "depart", "depend", "depict", "deploy", "deport", "depose", "depots", "depths", "depute", "deputy", "derail", "deride", "derive", "dermal", "dermis", "desalt", "descry", "desert", "design", "desire", "desist", "despot", "detach", "detail", "detain", "detect", "deters", "detest", "detour", "deuces", "device", "devils", "devise", "devoid", "devote", "devour", "devout", "dewier", "dewlap", "dharma", "dhotis", "diadem", "dialog", "diatom", "dibble", "dicier", "dicing", "dicker", "dickey", "dictum", "diddle", "diddly", "didoes", "diesel", "dieted", "dieter", "diffed", "differ", "digest", "digger", "digits", "diking", "diktat", "dilate", "dilute", "dimity", "dimmed", "dimmer", "dimple", "dimply", "dimwit", "dinars", "diners", "dinged", "dinghy", "dingle", "dingus", "dining", "dinker", "dinned", "dinner", "diodes", "dioxin", "dipole", "dipped", "dipper", "dipsos", "direct", "direly", "direst", "dirges", "dirndl", "disarm", "disbar", "discos", "discus", "dished", "dishes", "dismal", "dismay", "disown", "dispel", "dissed", "distal", "distil", "disuse", "dither", "dittos", "ditzes", "divans", "divers", "divert", "divest", "divide", "divine", "diving", "divots", "doable", "dobbed", "dobbin", "docent", "docile", "docked", "docker", "docket", "doctor", "dodder", "doddle", "dodged", "dodgem", "dodger", "dodges", "doffed", "dogged", "dogies", "dogleg", "dogmas", "doings", "doling", "dollar", "dolled", "dollop", "dolmen", "dolour", "domain", "doming", "domino", "donate", "donged", "dongle", "donkey", "donned", "donors", "donuts", "doodad", "doodah", "doodle", "doomed", "dopers", "dopier", "doping", "dories", "dormer", "dorsal", "dosage", "dosing", "dossed", "dosser", "dosses", "dotage", "dotard", "dotcom", "doters", "doting", "dotted", "double", "doubly", "doubts", "doughy", "dourer", "dourly", "doused", "douses", "dovish", "dowels", "dowers", "downed", "downer", "dowsed", "dowser", "dowses", "doyens", "dozens", "dozier", "dozily", "dozing", "drably", "drafts", "draggy", "dragon", "drains", "drakes", "dramas", "draped", "draper", "drapes", "drawer", "drawls", "dreads", "dreams", "dreamt", "dreamy", "dreary", "dredge", "drench", "dressy", "driers", "driest", "drifts", "drills", "drinks", "drippy", "drivel", "driven", "driver", "drives", "drogue", "droids", "drolly", "droned", "drones", "drools", "droops", "droopy", "dropsy", "drover", "droves", "drowns", "drowse", "drowsy", "drudge", "druggy", "druids", "drunks", "drupes", "dryads", "dryers", "drying", "dubbed", "dubber", "dubbin", "ducats", "ducked", "duding", "duenna", "duffed", "duffer", "dugout", "dunces", "dunged", "dunked", "dunned", "dunner", "dupers", "duping", "duplex", "duress", "during", "dusted", "duster", "duties", "duvets", "dwarfs", "dweebs", "dwells", "dyadic", "dybbuk", "dyeing", "dynamo", "eagles", "eaglet", "earbud", "earful", "earned", "earner", "earths", "earthy", "earwax", "earwig", "easels", "easier", "easily", "easing", "eaters", "eatery", "eating", "ebbing", "echoed", "echoes", "echoic", "eclair", "eczema", "eddied", "eddies", "edgers", "edgier", "edgily", "edging", "edible", "edicts", "edited", "editor", "educed", "educes", "eerier", "eerily", "efface", "effect", "effete", "effigy", "effing", "efflux", "effort", "effuse", "eggcup", "egging", "eggnog", "egoism", "egoist", "egress", "egrets", "eiders", "eighth", "eights", "eighty", "either", "ejects", "elands", "elapse", "elated", "elates", "elbows", "elders", "eldest", "elects", "eleven", "elfish", "elicit", "elided", "elides", "elites", "elixir", "elodea", "eloped", "elopes", "eluded", "eludes", "elvers", "elvish", "emails", "embalm", "embank", "embark", "embeds", "embers", "emblem", "embody", "emboss", "embryo", "emceed", "emcees", "emends", "emerge", "emetic", "emigre", "emojis", "emoted", "emotes", "empire", "employ", "enable", "enacts", "enamel", "encamp", "encase", "encode", "encore", "encyst", "endear", "ending", "endive", "endows", "endued", "endues", "endure", "energy", "enfold", "engage", "engine", "engram", "engulf", "enigma", "enjoin", "enjoys", "enlist", "enmesh", "enmity", "enough", "enrage", "enrich", "enrols", "ensign", "ensued", "ensues", "ensure", "entail", "enters", "entice", "entire", "entity", "entomb", "entrap", "entree", "envied", "envies", "envoys", "enzyme", "eolian", "epochs", "equals", "equate", "equine", "equips", "equity", "erased", "eraser", "erases", "erbium", "erects", "ermine", "eroded", "erodes", "errand", "errant", "errata", "erring", "errors", "ersatz", "eructs", "erupts", "escape", "eschew", "escrow", "escudo", "espied", "espies", "esprit", "essays", "estate", "esteem", "esters", "etched", "etcher", "etches", "ethane", "ethics", "ethnic", "etudes", "euchre", "eulogy", "eureka", "evaded", "evader", "evades", "evened", "evener", "evenly", "events", "evicts", "eviler", "evilly", "evince", "evoked", "evokes", "evolve", "exacts", "exalts", "exceed", "excels", "except", "excess", "excise", "excite", "excuse", "exempt", "exerts", "exeunt", "exhale", "exhume", "exiled", "exiles", "exilic", "exists", "exited", "exodus", "exotic", "expand", "expats", "expect", "expels", "expend", "expert", "expire", "expiry", "export", "expose", "extant", "extend", "extent", "extols", "extras", "exuded", "exudes", "exults", "exurbs", "eyeful", "eyeing", "eyelet", "eyelid", "fabled", "fables", "fabric", "facade", "facets", "facial", "facile", "facing", "factor", "fading", "faecal", "faeces", "faerie", "faffed", "fagged", "failed", "faille", "fainer", "faints", "fairer", "fairly", "faiths", "fajita", "fakers", "faking", "fakirs", "falcon", "fallen", "fallow", "falser", "falsie", "falter", "family", "famine", "famish", "famous", "fanboy", "fandom", "fanged", "fanned", "farads", "farces", "farina", "faring", "farmed", "farmer", "farrow", "fascia", "fasted", "fasten", "faster", "faucet", "faults", "faulty", "faunas", "favour", "fawned", "fawner", "faxing", "fayest", "fazing", "fealty", "feared", "feasts", "fecund", "fedora", "feeble", "feebly", "feeder", "feeler", "feigns", "feints", "feisty", "feline", "fellas", "felled", "feller", "fellow", "felons", "felony", "felted", "female", "femurs", "fenced", "fencer", "fences", "fended", "fender", "fennel", "ferret", "ferric", "ferule", "fervid", "fessed", "fesses", "festal", "fester", "feting", "fetter", "fettle", "feudal", "feuded", "fevers", "fewest", "fezzes", "fiance", "fiasco", "fibbed", "fibber", "fibres", "fibril", "fibrin", "fibula", "fiches", "fichus", "fickle", "fiddle", "fiddly", "fidget", "fields", "fiends", "fierce", "fiesta", "fifers", "fifths", "fights", "figure", "filers", "filial", "filing", "filled", "filler", "fillet", "fillip", "filmed", "filter", "filthy", "finale", "finals", "finder", "finely", "finery", "finest", "finger", "finial", "fining", "finish", "finite", "finked", "finned", "firers", "firing", "firmed", "firmer", "firmly", "firsts", "firths", "fiscal", "fished", "fisher", "fishes", "fitful", "fitted", "fitter", "fivers", "fixate", "fixers", "fixing", "fixity", "fizzed", "fizzes", "fizzle", "fjords", "flabby", "flacks", "flagon", "flails", "flairs", "flaked", "flakes", "flambe", "flamed", "flames", "flanks", "flared", "flares", "flashy", "flasks", "flatly", "flatus", "flaunt", "flavor", "flawed", "flaxen", "flayed", "flecks", "fleece", "fleecy", "fleets", "fleshy", "flexed", "flexes", "flicks", "fliest", "flight", "flimsy", "flinch", "flings", "flints", "flinty", "flippy", "flirts", "flirty", "floats", "flocks", "floods", "floors", "floozy", "floppy", "floral", "floras", "floret", "florid", "florin", "flossy", "flours", "floury", "flouts", "flowed", "flower", "fluent", "fluffs", "fluffy", "fluids", "flukes", "flumes", "flunks", "flunky", "flurry", "fluted", "flutes", "fluxed", "fluxes", "flybys", "flyers", "flying", "flyway", "foaled", "foamed", "fobbed", "fodder", "fogeys", "fogged", "foible", "foiled", "foists", "folded", "folder", "folios", "folksy", "follow", "foment", "fonder", "fondle", "fondly", "fondue", "foobar", "foodie", "fooled", "footed", "footer", "footie", "forage", "forays", "forbid", "forced", "forces", "forded", "forego", "forest", "forged", "forger", "forges", "forget", "forgot", "forked", "formal", "format", "formed", "former", "formic", "fortes", "forums", "fossil", "foster", "fought", "fouled", "fouler", "foully", "founds", "founts", "fourth", "fowled", "foxier", "foxily", "foxing", "foyers", "fracas", "fracks", "framed", "framer", "frames", "francs", "franks", "frappe", "frauds", "frayed", "freely", "freest", "freeze", "french", "frenzy", "fresco", "friars", "friary", "fridge", "friend", "frieze", "fright", "frigid", "frills", "frilly", "fringe", "frisks", "frisky", "frizzy", "frocks", "frolic", "fronds", "fronts", "frosts", "frosty", "froths", "frothy", "frowns", "frowzy", "frozen", "frugal", "fruits", "fruity", "frumps", "frumpy", "fryers", "frying", "ftpers", "ftping", "fuddle", "fudged", "fudges", "fugues", "fuhrer", "fulfil", "fulled", "fuller", "fumble", "fumier", "fuming", "funded", "fungal", "fungus", "funked", "funnel", "funner", "furies", "furled", "furore", "furred", "furrow", "fusees", "fusing", "fusion", "fussed", "fusses", "futile", "futons", "future", "futzed", "futzes", "fuzzed", "fuzzes", "gabbed", "gabble", "gabled", "gables", "gadded", "gadder", "gadfly", "gadget", "gaffed", "gaffer", "gaffes", "gagged", "gaggle", "gaiety", "gained", "gainer", "gaiter", "galaxy", "galena", "galled", "galley", "gallon", "gallop", "galoot", "galore", "galosh", "gambit", "gamble", "gambol", "gamely", "gamest", "gamete", "gamier", "gamine", "gaming", "gamins", "gammas", "gammon", "gamuts", "gander", "ganged", "gannet", "gantry", "gaping", "garage", "garbed", "garble", "garcon", "garden", "gargle", "garish", "garlic", "garner", "garnet", "garret", "garter", "gasbag", "gashed", "gashes", "gasket", "gasped", "gasses", "gateau", "gather", "gating", "gators", "gauche", "gaucho", "gauged", "gauges", "gavels", "gawked", "gawped", "gayest", "gazebo", "gazers", "gazing", "gazump", "geared", "geckos", "geddit", "geeing", "geezer", "geisha", "gelcap", "gelded", "gelled", "gender", "genera", "genial", "genies", "genius", "genned", "genome", "genres", "gentle", "gently", "gentry", "geodes", "gerbil", "gerund", "gewgaw", "geyser", "ghetto", "ghosts", "ghouls", "giants", "gibber", "gibbet", "gibbon", "giblet", "gifted", "gigged", "giggle", "giggly", "gigolo", "gilded", "gilder", "gillie", "gimlet", "gimmes", "gimped", "ginger", "ginkgo", "ginned", "girded", "girder", "girdle", "girted", "girths", "givens", "givers", "giving", "gizmos", "glaces", "glades", "gladly", "glance", "glands", "glared", "glares", "glassy", "glazed", "glazes", "gleams", "gleans", "glibly", "glided", "glider", "glides", "glints", "glitch", "glitzy", "gloats", "global", "globed", "globes", "gloomy", "gloppy", "glossy", "gloved", "gloves", "glowed", "glower", "gluier", "gluing", "glumly", "gluons", "gluten", "glycol", "gnarls", "gnarly", "gnawed", "gneiss", "gnomes", "gnomic", "goaded", "goalie", "goatee", "gobbed", "gobbet", "gobble", "goblet", "goblin", "godson", "gofers", "goggle", "goings", "goitre", "golden", "golfed", "golfer", "gonads", "goners", "gonged", "goober", "goodly", "goofed", "google", "googly", "gooier", "goosed", "gooses", "gopher", "gorged", "gorges", "gorgon", "gorier", "gorily", "goring", "gospel", "gossip", "gotcha", "gotten", "gouged", "gouger", "gouges", "gourde", "gourds", "govern", "gowned", "grabby", "graced", "graces", "graded", "grader", "grades", "grafts", "graham", "grains", "grainy", "grands", "grange", "granny", "grants", "grapes", "graphs", "grasps", "grassy", "grated", "grater", "grates", "gratin", "gratis", "graved", "gravel", "graven", "graver", "graves", "gravid", "grazed", "grazer", "grazes", "grease", "greasy", "greats", "grebes", "greedy", "greens", "greets", "greyed", "greyer", "griefs", "grieve", "grille", "grills", "grimed", "grimes", "grimly", "grinds", "griped", "griper", "gripes", "grippe", "grisly", "gritty", "groans", "groats", "grocer", "groggy", "groins", "grooms", "groove", "groovy", "groped", "groper", "gropes", "grotto", "grotty", "grouch", "ground", "groups", "grouse", "grouts", "grovel", "groves", "grower", "growls", "growth", "groyne", "grubby", "grudge", "grumps", "grumpy", "grunge", "grungy", "grunts", "guards", "guavas", "guests", "guffaw", "guided", "guider", "guides", "guilds", "guilty", "guinea", "guises", "guitar", "gulags", "gulden", "gulled", "gullet", "gulped", "gulper", "gumbos", "gummed", "gunman", "gunmen", "gunned", "gunnel", "gunner", "gurgle", "gurney", "gushed", "gusher", "gushes", "gusset", "gusted", "gutted", "gutter", "guvnor", "guying", "guzzle", "gybing", "gypped", "gypper", "gypsum", "gyrate", "gyving", "habits", "hackle", "hadith", "haggis", "haggle", "hailed", "hairdo", "haired", "halest", "haling", "halite", "halloo", "hallow", "haloed", "halted", "halter", "halved", "halves", "hamlet", "hammed", "hammer", "hamper", "handed", "handle", "hangar", "hanged", "hanger", "hangup", "hanker", "hansom", "happen", "haptic", "harass", "harden", "harems", "haring", "harlot", "harmed", "harped", "harrow", "hashed", "hashes", "hassle", "hasted", "hasten", "hastes", "hatbox", "haters", "hating", "hatpin", "hatred", "hatted", "hatter", "hauled", "hauler", "haunch", "haunts", "havens", "having", "hawing", "hawked", "hawker", "hawser", "haying", "haymow", "hazard", "hazels", "hazers", "hazier", "hazily", "hazing", "hazmat", "headed", "header", "healed", "healer", "health", "heaped", "hearer", "hearse", "hearth", "hearts", "hearty", "heated", "heater", "heaths", "heaved", "heaven", "heaver", "heaves", "heckle", "hectic", "hector", "hedged", "hedger", "hedges", "heeded", "heehaw", "heeled", "hefted", "hegira", "heifer", "height", "heists", "helium", "hellos", "helmet", "helots", "helped", "helper", "helves", "hemmed", "hemmer", "hempen", "hennas", "hepper", "herald", "herbal", "herded", "herder", "hereby", "herein", "hereof", "hereon", "heresy", "hereto", "hermit", "hernia", "heroes", "heroic", "heroin", "herons", "herpes", "hetero", "hewers", "hewing", "hexing", "heyday", "hiatus", "hiccup", "hickey", "hidden", "hiders", "hiding", "hieing", "higher", "highly", "hijabs", "hijack", "hikers", "hiking", "hinder", "hinged", "hinges", "hinted", "hinter", "hipped", "hipper", "hippos", "hiring", "hissed", "hisses", "hither", "hitter", "hiving", "hoagie", "hoards", "hoarse", "hoaxed", "hoaxer", "hoaxes", "hobbit", "hobble", "hobnob", "hocked", "hockey", "hoeing", "hogans", "hogged", "hogtie", "hoicks", "hoists", "hokier", "hoking", "holder", "holdup", "holier", "holing", "holism", "holler", "hollow", "homage", "hombre", "homely", "homers", "homeys", "homier", "homily", "homing", "hominy", "honcho", "honers", "honest", "honeys", "honing", "honked", "honker", "honour", "hooded", "hoodie", "hoodoo", "hoofed", "hoofer", "hookah", "hooked", "hookup", "hooped", "hoopla", "hooray", "hooted", "hooter", "hoover", "hooves", "hoping", "hopped", "hopper", "horded", "hordes", "horned", "hornet", "horrid", "horror", "horsed", "horses", "horsey", "hosier", "hosing", "hosted", "hostel", "hotbed", "hotbox", "hotels", "hotkey", "hotpot", "hotted", "hotter", "hottie", "hounds", "houris", "hourly", "housed", "houses", "hovels", "hovers", "howdah", "howled", "howler", "hoyden", "hubbub", "hubcap", "hubris", "huddle", "huffed", "hugely", "hugest", "hugged", "humane", "humans", "humble", "humbly", "humbug", "humeri", "hummed", "hummer", "hummus", "humour", "humped", "humphs", "hunger", "hungry", "hunker", "hunted", "hunter", "hurdle", "hurled", "hurler", "hurrah", "hurtle", "hushed", "hushes", "husked", "husker", "hussar", "hustle", "huzzah", "hybrid", "hydras", "hyenas", "hymens", "hymnal", "hymned", "hyphen", "hyping", "hyssop", "iambic", "iambus", "ibexes", "ibidem", "ibises", "icebox", "icecap", "iceman", "icemen", "icicle", "iciest", "icings", "ickier", "iconic", "ideals", "idiocy", "idioms", "idiots", "idlers", "idlest", "idling", "idylls", "iffier", "igloos", "ignite", "ignore", "iguana", "imaged", "images", "imbibe", "imbued", "imbues", "immune", "immure", "impact", "impair", "impala", "impale", "impart", "impede", "impels", "impend", "imperf", "impish", "import", "impose", "impost", "impugn", "impure", "impute", "inaner", "inborn", "inbred", "inched", "inches", "incing", "incise", "incite", "income", "incurs", "indeed", "indent", "indict", "indies", "indigo", "indite", "indium", "indoor", "induce", "induct", "infamy", "infant", "infect", "infers", "infest", "infill", "infirm", "inflow", "influx", "inform", "infuse", "ingest", "ingots", "inhale", "inhere", "inject", "injure", "injury", "inkier", "inking", "inlaid", "inland", "inlays", "inlets", "inline", "inmate", "inmost", "innate", "inning", "inputs", "inroad", "inrush", "insane", "inseam", "insect", "insert", "insets", "inside", "insist", "insole", "instar", "instep", "instil", "insula", "insult", "insure", "intact", "intake", "intend", "intent", "interj", "intern", "inters", "intone", "intros", "intuit", "inured", "inures", "invade", "invent", "invert", "invest", "invite", "invoke", "inward", "iodide", "iodine", "iodise", "ionise", "ipecac", "ireful", "irenic", "irides", "irises", "irking", "ironed", "ironic", "irrupt", "island", "islets", "isobar", "isomer", "issued", "issuer", "issues", "italic", "itched", "itches", "itself", "jabbed", "jabber", "jabots", "jackal", "jacked", "jacket", "jading", "jagged", "jaguar", "jalopy", "jammed", "jangle", "japans", "japing", "jarful", "jargon", "jarred", "jasper", "jaunts", "jaunty", "jawing", "jazzed", "jazzes", "jeered", "jejuna", "jejune", "jelled", "jellos", "jennet", "jersey", "jested", "jester", "jetsam", "jetted", "jewels", "jibbed", "jibing", "jigged", "jigger", "jiggle", "jiggly", "jigsaw", "jihads", "jilted", "jingle", "jingly", "jinked", "jinxed", "jinxes", "jitney", "jiving", "jobbed", "jobber", "jockey", "jocose", "jocund", "jogged", "jogger", "joggle", "johnny", "joined", "joiner", "joints", "joists", "jojoba", "jokers", "jokier", "joking", "jolted", "jolter", "joshed", "josher", "joshes", "jostle", "jotted", "jotter", "joules", "jounce", "jouncy", "journo", "jousts", "jovial", "joyful", "joying", "joyous", "judder", "judged", "judges", "jugful", "jugged", "juggle", "juiced", "juicer", "juices", "jujube", "juleps", "jumble", "jumbos", "jumped", "jumper", "juncos", "jungle", "junior", "junked", "junker", "junket", "junkie", "juntas", "juries", "jurist", "jurors", "juster", "justly", "jutted", "kaboom", "kabuki", "kaftan", "kahuna", "kaiser", "kaolin", "kappas", "karate", "karats", "karmic", "kayaks", "kayoed", "kazoos", "kebabs", "keeled", "keened", "keener", "keenly", "keeper", "kelvin", "kenned", "kennel", "kerbed", "kernel", "ketone", "kettle", "keying", "keypad", "khakis", "kibble", "kibitz", "kibosh", "kicked", "kicker", "kidded", "kidder", "kiddie", "kiddos", "kidney", "kilted", "kilter", "kimono", "kinase", "kinder", "kindle", "kindly", "kingly", "kiosks", "kipped", "kipper", "kirsch", "kismet", "kiting", "kitsch", "kitted", "kitten", "klaxon", "kludge", "kluged", "kluges", "klutzy", "knacks", "knaves", "knifes", "knight", "knives", "knobby", "knocks", "knolls", "knotty", "knurls", "koalas", "kopeck", "kosher", "kowtow", "kraals", "krauts", "kroner", "kronor", "kronur", "kuchen", "kudzus", "kvetch", "labels", "labial", "labile", "labium", "labour", "lacier", "lacing", "lacked", "lackey", "lactic", "lacuna", "ladder", "laddie", "ladies", "lading", "ladled", "ladles", "lagers", "lagged", "lagoon", "lairds", "lambda", "lambed", "lamely", "lament", "lamers", "lamest", "lamina", "laming", "lammed", "lanais", "lanced", "lancer", "lances", "lancet", "landau", "landed", "lander", "lanker", "lankly", "lapdog", "lapels", "lapins", "lapped", "lappet", "lapsed", "lapses", "laptop", "larded", "larder", "larger", "larges", "largos", "lariat", "larked", "larvae", "larval", "larynx", "lasers", "lashed", "lashes", "lasing", "lasses", "lassie", "lassos", "lasted", "lastly", "lately", "latent", "latest", "lathed", "lather", "lathes", "latish", "latter", "lattes", "lauded", "laughs", "launch", "laurel", "lavage", "laving", "lavish", "lawful", "lawman", "lawmen", "lawyer", "laxest", "laxity", "layers", "laying", "layman", "laymen", "layoff", "layout", "layups", "lazied", "lazier", "lazies", "lazily", "lazing", "leaded", "leaden", "leader", "leafed", "league", "leaked", "leaned", "leaner", "leaper", "learns", "learnt", "leased", "leaser", "leases", "leaved", "leaven", "leaver", "leaves", "leched", "lecher", "leches", "ledger", "ledges", "leered", "leeway", "lefter", "legacy", "legals", "legate", "legato", "legend", "legged", "legion", "legman", "legmen", "legume", "lemmas", "lemons", "lemony", "lemurs", "lender", "length", "lenses", "lentil", "lepers", "lepton", "lesion", "lessee", "lessen", "lesser", "lesson", "lessor", "lethal", "letter", "letups", "levees", "levels", "levers", "levied", "levier", "levies", "levity", "lewder", "lewdly", "lexers", "liable", "liaise", "libber", "libels", "libido", "lichen", "licked", "lidded", "lieder", "liefer", "lieges", "lifers", "lifted", "lifter", "ligate", "lights", "lignin", "likely", "likens", "likest", "liking", "lilacs", "lilies", "lilted", "limber", "limbos", "limeys", "limier", "liming", "limits", "limned", "limped", "limper", "limpet", "limpid", "limply", "linage", "linden", "lineal", "linear", "linens", "liners", "lineup", "linger", "lining", "linked", "linker", "linkup", "linnet", "linted", "lintel", "lipids", "lipped", "liquid", "liquor", "lisped", "lisper", "lissom", "listed", "listen", "litany", "litchi", "lither", "litmus", "litres", "litter", "little", "lively", "livens", "livers", "livery", "livest", "living", "lizard", "llamas", "llanos", "loaded", "loader", "loafed", "loafer", "loaned", "loaner", "loathe", "loaves", "lobbed", "lobber", "locale", "locals", "locate", "locked", "locker", "locket", "lockup", "locums", "locust", "lodged", "lodger", "lodges", "lofted", "logged", "logger", "loggia", "logier", "logins", "logjam", "logoff", "logons", "logout", "loiter", "lolcat", "lolled", "lollop", "lonely", "loners", "longed", "longer", "loofah", "looked", "looker", "lookup", "loomed", "loonie", "looped", "loosed", "loosen", "looser", "looses", "looted", "looter", "loping", "lopped", "lorded", "lordly", "losers", "losing", "losses", "lotion", "louche", "louder", "loudly", "loughs", "lounge", "loured", "loused", "louses", "louvre", "lovely", "lovers", "loveys", "loving", "lowboy", "lowers", "lowest", "lowing", "lowish", "lubber", "lubing", "lucked", "luffed", "lugged", "lugger", "lulled", "lumbar", "lumber", "lummox", "lumped", "lumpen", "lunacy", "lunged", "lunges", "lupine", "lupins", "luring", "lusher", "lushes", "lushly", "lusted", "lustre", "luxury", "lyceum", "lynxes", "lyrics", "macaws", "macing", "macron", "macros", "madame", "madams", "madcap", "madden", "madder", "madman", "madmen", "madras", "mafias", "maggot", "magics", "magnet", "magnon", "magnum", "magpie", "mahout", "maiden", "mailed", "mailer", "maimed", "mainly", "maizes", "majors", "makers", "makeup", "making", "malady", "malice", "malign", "mallet", "mallow", "malted", "mambas", "mambos", "mammal", "mammon", "manage", "manana", "manege", "manful", "manged", "manger", "mangle", "maniac", "manias", "manics", "manioc", "manned", "manner", "manors", "manque", "manses", "mantas", "mantel", "mantis", "mantle", "mantra", "manual", "manure", "maples", "mapped", "mapper", "maraca", "maraud", "marble", "margin", "marina", "marine", "marked", "marker", "market", "markka", "markup", "marlin", "marmot", "maroon", "marque", "marred", "marrow", "marshy", "marten", "martin", "martyr", "marvel", "mascot", "masers", "mashed", "masher", "mashes", "mashup", "masked", "masker", "masons", "masque", "massed", "masses", "massif", "masted", "master", "mastic", "mateys", "mating", "matins", "matres", "matrix", "matron", "matted", "matter", "mattes", "mature", "matzoh", "matzos", "matzot", "mauled", "mauler", "mavens", "maxima", "maxims", "maxing", "maybes", "mayday", "mayfly", "mayhem", "mayors", "meadow", "meagre", "meaner", "meanie", "meanly", "measly", "meccas", "medals", "meddle", "medial", "median", "medias", "medico", "medics", "medium", "medley", "medusa", "meeker", "meekly", "meetup", "melded", "melees", "mellow", "melody", "melons", "melted", "member", "memoir", "memory", "menace", "menage", "mended", "mender", "menial", "meninx", "mensch", "menses", "mental", "mentor", "mercer", "merely", "merest", "merged", "merger", "merges", "merino", "merits", "merman", "mermen", "mescal", "meshed", "meshes", "mesons", "messed", "messes", "metals", "meteor", "meters", "method", "methyl", "metier", "meting", "metres", "metric", "metros", "mettle", "mewing", "mewled", "mezzos", "miaows", "miasma", "mickey", "micron", "micros", "midair", "midday", "midden", "middle", "midges", "midget", "midrib", "midway", "miffed", "mighty", "mikado", "miking", "milady", "milder", "mildew", "mildly", "milers", "milieu", "milked", "milker", "milled", "miller", "millet", "milted", "mimics", "miming", "mimosa", "minced", "mincer", "minces", "minded", "minder", "miners", "mingle", "minima", "minims", "mining", "minion", "minnow", "minors", "minted", "minter", "minuet", "minute", "minxes", "mirage", "mirier", "miring", "mirror", "miscue", "misdid", "misers", "misery", "misfit", "mishap", "mishit", "mislay", "misled", "missal", "missed", "misses", "missus", "misted", "mister", "misuse", "mitral", "mitred", "mitres", "mitten", "mixers", "mixing", "mizzen", "moaned", "moaner", "moated", "mobbed", "mobile", "mochas", "mocked", "mocker", "modals", "modded", "models", "modems", "modern", "modest", "modify", "modish", "module", "modulo", "moggie", "moguls", "mohair", "moiety", "moiled", "moires", "molars", "molest", "molten", "molter", "moment", "moneys", "monger", "mongol", "monies", "monism", "monist", "monkey", "monody", "months", "mooing", "mooned", "moored", "mooted", "mopeds", "mopers", "mopier", "moping", "mopish", "mopped", "moppet", "morale", "morals", "morass", "morays", "morbid", "morels", "morgue", "morons", "morose", "morphs", "morrow", "morsel", "mortal", "mortar", "mosaic", "moseys", "moshed", "moshes", "mosque", "mosses", "mostly", "motels", "motets", "mother", "motifs", "motile", "motion", "motive", "motley", "motors", "mottle", "moulds", "mouldy", "moults", "mounds", "mounts", "mourns", "moused", "mouser", "mouses", "mousse", "mouths", "mouthy", "mouton", "movers", "movies", "moving", "mowers", "mowing", "mucked", "mucous", "muddle", "muesli", "muffed", "muffin", "muffle", "muftis", "mugful", "mugged", "mugger", "muggle", "mukluk", "mulcts", "mulish", "mulled", "mullet", "mumble", "mummer", "munged", "murals", "murder", "murmur", "muscat", "muscle", "muscly", "museum", "mushed", "musher", "mushes", "musics", "musing", "muskeg", "musket", "muskie", "muskox", "muslin", "mussed", "mussel", "musses", "muster", "mutant", "mutate", "mutely", "mutest", "muting", "mutiny", "mutter", "mutton", "mutual", "muumuu", "muzzle", "myopia", "myopic", "myriad", "myrtle", "myself", "mystic", "mythic", "nabbed", "nabobs", "nachos", "nadirs", "naffer", "nagged", "nagger", "naiads", "nailed", "naiver", "namely", "naming", "napalm", "napkin", "napped", "napper", "narrow", "nasals", "nation", "native", "natter", "nature", "nausea", "navels", "navies", "nearby", "neared", "nearer", "nearly", "neaten", "neater", "neatly", "nebula", "necked", "nectar", "needed", "needle", "negate", "neighs", "nelson", "neocon", "nephew", "nerved", "nerves", "nested", "nestle", "nether", "netted", "netter", "nettle", "neural", "neuron", "neuter", "newbie", "newels", "newest", "newton", "niacin", "nibble", "nicely", "nicest", "nicety", "niches", "nicked", "nickel", "nicker", "nickle", "nieces", "niggle", "nigher", "nights", "nimble", "nimbly", "nimbus", "nimrod", "ninety", "ninjas", "ninths", "nipped", "nipper", "nitric", "nitwit", "nixing", "nobble", "nobler", "nobles", "nobody", "nodded", "noddle", "nodule", "noggin", "noised", "noises", "nomads", "nonage", "noncom", "nonfat", "noodle", "nookie", "nooses", "normal", "noshed", "nosher", "noshes", "nosier", "nosily", "nosing", "notary", "notate", "notice", "notify", "noting", "notion", "nougat", "nought", "novels", "novena", "novice", "noways", "nowise", "nozzle", "nuance", "nubbin", "nubile", "numbed", "number", "numbly", "nuncio", "nursed", "nurser", "nurses", "nutmeg", "nutria", "nutted", "nutter", "nuzzle", "nybble", "nylons", "nymphs", "oafish", "oaring", "obeyed", "object", "oblate", "oblige", "oblong", "oboist", "obsess", "obtain", "obtuse", "occult", "occupy", "occurs", "oceans", "ocelot", "ockers", "octane", "octave", "octavo", "octets", "ocular", "oddest", "oddity", "odious", "odours", "oedema", "oeuvre", "offend", "offers", "office", "offing", "offish", "offset", "oglers", "ogling", "ogress", "oilcan", "oilier", "oiling", "oilman", "oilmen", "oinked", "okapis", "okayed", "oldest", "oldies", "oldish", "olives", "omegas", "onions", "online", "onrush", "onsets", "onside", "onsite", "onuses", "onward", "onyxes", "oodles", "oohing", "oozier", "oozing", "opaque", "opcode", "opened", "opener", "openly", "operas", "opiate", "opined", "opines", "oppose", "optics", "optima", "opting", "option", "opuses", "oracle", "orange", "orated", "orates", "orator", "orbits", "orchid", "ordain", "ordeal", "orders", "ordure", "organs", "orgies", "oriels", "orient", "origin", "oriole", "orison", "ormolu", "ornate", "ornery", "orphan", "osiers", "osmium", "osprey", "ossify", "ostler", "others", "otiose", "otters", "ounces", "ousted", "ouster", "outage", "outbid", "outbox", "outcry", "outdid", "outfit", "outfox", "outgun", "outhit", "outing", "outlaw", "outlay", "outlet", "output", "outran", "outrun", "outset", "outwit", "overdo", "overly", "ovoids", "ovular", "ovules", "owlets", "owlish", "owners", "owning", "oxbows", "oxcart", "oxford", "oxides", "oxtail", "oxygen", "oyster", "pablum", "pacers", "pacier", "pacify", "pacing", "packed", "packer", "packet", "padded", "paddle", "padres", "paeans", "paella", "pagans", "pagers", "paging", "pagoda", "pained", "paints", "paired", "palace", "palate", "palely", "palest", "paling", "palish", "palled", "pallet", "pallid", "pallor", "palmed", "paltry", "pampas", "pamper", "panama", "pandas", "pander", "panels", "panics", "panned", "papacy", "papaya", "papers", "papery", "papist", "papyri", "parade", "parcel", "pardon", "parent", "parers", "pariah", "paring", "parish", "parity", "parkas", "parked", "parlay", "parley", "parody", "parole", "parred", "parrot", "parsec", "parsed", "parser", "parses", "parson", "parted", "partly", "pascal", "pashas", "passed", "passel", "passer", "passes", "passim", "pastas", "pasted", "pastel", "pastes", "pastie", "pastor", "pastry", "patchy", "patent", "pathos", "patina", "patios", "patois", "patrol", "patron", "patted", "patter", "paunch", "pauper", "paused", "pauses", "paving", "pawing", "pawned", "pawpaw", "payday", "payees", "payers", "paying", "payoff", "payola", "payout", "peaces", "peachy", "peahen", "peaked", "pealed", "peanut", "pearls", "pearly", "pebble", "pebbly", "pecans", "pecked", "pectic", "pectin", "pedalo", "pedals", "pedant", "peddle", "pedlar", "peeing", "peeked", "peeled", "peeler", "peepbo", "peeped", "peeper", "peered", "peeved", "peeves", "peewee", "peewit", "pegged", "pellet", "pelmet", "pelted", "pelvic", "pelvis", "pencil", "pended", "penile", "penman", "penmen", "penned", "pennon", "penury", "people", "pepped", "pepper", "pepsin", "peptic", "perils", "period", "perish", "perked", "permed", "permit", "person", "perter", "pertly", "peruke", "peruse", "peseta", "pester", "pestle", "petals", "petard", "peters", "petite", "petrel", "petrol", "petted", "pewees", "pewits", "pewter", "peyote", "phages", "phalli", "phased", "phases", "phenol", "phenom", "phials", "phlegm", "phloem", "phoned", "phones", "phoney", "phonic", "phonon", "phooey", "photon", "photos", "phrase", "phylum", "physic", "physio", "pianos", "piazza", "pickax", "picked", "picker", "picket", "pickle", "pickup", "picnic", "picots", "piddle", "piddly", "pidgin", "pieced", "pieces", "pieing", "pierce", "piffle", "pigeon", "pigged", "piglet", "pigpen", "pigsty", "pikers", "piking", "pilafs", "pileup", "pilfer", "piling", "pillar", "pilled", "pillow", "pilots", "pimped", "pimple", "pimply", "pinata", "pincer", "pinged", "pinier", "pining", "pinion", "pinked", "pinker", "pinkie", "pinkos", "pinned", "pinons", "pintos", "pinups", "pinyin", "pinyon", "pipers", "piping", "pipits", "pipped", "pippin", "piqued", "piques", "piracy", "pirate", "pirogi", "pistes", "pistil", "pistol", "piston", "pitied", "pities", "pitons", "pittas", "pitted", "pivots", "pixels", "pixies", "pizzas", "placed", "placer", "places", "placid", "plague", "plaice", "plaids", "plains", "plaint", "plaits", "planar", "planed", "planer", "planes", "planet", "planks", "plants", "plaque", "plasma", "plated", "platen", "plates", "platys", "played", "player", "plazas", "pleads", "please", "pleats", "plebby", "plebes", "pledge", "plenty", "plenum", "pleura", "plexus", "pliant", "pliers", "plight", "plinth", "plonks", "plough", "plover", "plucks", "plucky", "plugin", "plumbs", "plumed", "plumes", "plummy", "plumps", "plunge", "plunks", "plural", "pluses", "plushy", "plying", "pocked", "pocket", "podded", "podium", "poetic", "poetry", "pogrom", "points", "pointy", "poised", "pokers", "pokeys", "pokier", "poking", "police", "policy", "poling", "polios", "polish", "polite", "polity", "polkas", "polled", "pollen", "polyps", "pomade", "pommel", "pompom", "ponced", "ponces", "poncho", "ponder", "ponged", "pongee", "ponied", "ponies", "poodle", "poohed", "pooing", "pooled", "pooped", "poorer", "poorly", "popgun", "poplar", "poplin", "poppas", "popped", "popper", "poppet", "popups", "poring", "porker", "porous", "portal", "ported", "porter", "portly", "posers", "poseur", "posher", "posies", "posing", "posits", "posses", "possum", "postal", "posted", "poster", "postie", "potash", "potato", "potent", "potful", "pother", "potion", "potpie", "potted", "potter", "pouffe", "pounce", "pounds", "poured", "pouted", "pouter", "powder", "powers", "powwow", "praise", "prance", "prangs", "pranks", "prated", "prater", "prates", "prawns", "prayed", "prayer", "preach", "precis", "preens", "prefab", "prefer", "prefix", "prelim", "premed", "premix", "prenup", "prepay", "preppy", "preset", "presto", "pretax", "pretty", "prewar", "preyed", "priced", "prices", "pricey", "prided", "prides", "priers", "priest", "primal", "primed", "primer", "primes", "primly", "primps", "prince", "prints", "prions", "priors", "priory", "prised", "prises", "prisms", "prison", "prissy", "privet", "prizes", "probed", "probes", "profit", "proles", "prolix", "promos", "prompt", "prongs", "pronto", "proofs", "propel", "proper", "proton", "proved", "proven", "proves", "prowls", "prudes", "pruned", "pruner", "prunes", "prying", "psalms", "pseudo", "pseuds", "pseudy", "pshaws", "psyche", "psycho", "psychs", "public", "pucker", "puddle", "pueblo", "puffed", "puffer", "puffin", "puking", "puling", "pulled", "puller", "pullet", "pulley", "pulped", "pulpit", "pulsar", "pulsed", "pulses", "pumice", "pummel", "pumped", "pumper", "punchy", "pundit", "punier", "punish", "punker", "punned", "punnet", "punted", "punter", "pupate", "pupils", "pupped", "puppet", "purdah", "pureed", "purees", "purely", "purest", "purged", "purger", "purges", "purify", "purine", "purism", "purist", "purity", "purled", "purple", "purred", "pursed", "purser", "purses", "pursue", "purvey", "pushed", "pusher", "pushes", "pusses", "putout", "putrid", "putsch", "putted", "puttee", "putter", "putzes", "puzzle", "pwning", "pyjama", "pylons", "pylori", "pyrite", "python", "quacks", "quaffs", "quahog", "quails", "quaint", "quaked", "quakes", "qualms", "quango", "quanta", "quarks", "quarry", "quarto", "quarts", "quartz", "quasar", "quaver", "queasy", "queens", "queers", "quells", "quench", "quests", "queued", "queues", "quiche", "quiets", "quiffs", "quills", "quilts", "quince", "quines", "quinoa", "quinsy", "quints", "quires", "quirks", "quirky", "quirts", "quiver", "quoins", "quoits", "quorum", "quotas", "quoted", "quotes", "qwerty", "rabbet", "rabbis", "rabbit", "rabble", "rabies", "raceme", "racier", "racily", "racing", "racket", "radars", "radial", "radian", "radios", "radish", "radium", "radius", "raffia", "raffle", "rafted", "rafter", "ragbag", "ragged", "raging", "raglan", "ragout", "ragtag", "raided", "raider", "railed", "rained", "raised", "raiser", "raises", "raisin", "rajahs", "raking", "rakish", "ramble", "ramify", "ramjet", "rammed", "ramrod", "rancid", "random", "ranees", "ranged", "ranger", "ranges", "ranked", "ranker", "rankle", "rankly", "ransom", "ranted", "ranter", "rapers", "rapids", "rapier", "rapine", "rapped", "rappel", "rapper", "raptly", "raptor", "rarefy", "rarely", "rarest", "raring", "rarity", "rascal", "rasher", "rashes", "rashly", "rasped", "raster", "ratbag", "raters", "rather", "ratify", "rating", "ration", "ratios", "rattan", "ratted", "ratter", "rattle", "rattly", "ravage", "ravels", "ravens", "ravers", "ravine", "raving", "ravish", "rawest", "razing", "razors", "razzed", "razzes", "reacts", "reader", "realer", "really", "realms", "realty", "reamed", "reamer", "reaped", "reaper", "reared", "rearms", "reason", "rebate", "rebels", "rebids", "rebind", "reboil", "reboot", "reborn", "rebuff", "rebuke", "rebury", "rebuts", "recall", "recant", "recaps", "recast", "recces", "recede", "recent", "recess", "recipe", "recite", "reckon", "recoil", "recons", "recook", "recopy", "record", "recoup", "rectal", "rector", "rectos", "recurs", "recuse", "redact", "redcap", "redden", "redder", "redeem", "redial", "redoes", "redone", "redraw", "redrew", "reduce", "redyed", "redyes", "reecho", "reedit", "reefed", "reefer", "reeked", "reeled", "reeves", "reface", "refers", "reffed", "refile", "refill", "refine", "refits", "reflex", "refold", "reform", "refuel", "refuge", "refund", "refuse", "refute", "regain", "regale", "regard", "regent", "regexp", "reggae", "regime", "region", "regret", "regrew", "regrow", "rehabs", "rehang", "rehash", "rehear", "reheat", "rehire", "rehung", "reigns", "reined", "reject", "rejigs", "rejoin", "relaid", "relate", "relays", "relent", "relics", "relied", "relief", "relies", "reline", "relish", "relist", "relive", "reload", "remade", "remain", "remake", "remand", "remaps", "remark", "remedy", "remelt", "remind", "remiss", "remits", "remote", "remove", "rename", "render", "renege", "renews", "rennet", "rennin", "renown", "rental", "rented", "renter", "reopen", "reorgs", "repack", "repaid", "repair", "repast", "repave", "repays", "repeal", "repeat", "repels", "repent", "repine", "replay", "report", "repose", "repute", "reread", "reruns", "resale", "rescue", "reseal", "reseed", "resell", "resend", "resent", "resets", "resewn", "resews", "reship", "reside", "resign", "resins", "resist", "resits", "resize", "resold", "resole", "resort", "resown", "resows", "rested", "result", "resume", "retail", "retain", "retake", "retell", "retest", "retied", "reties", "retina", "retire", "retold", "retook", "retool", "retort", "retrod", "retros", "return", "retype", "reused", "reuses", "revamp", "reveal", "revels", "reverb", "revere", "revers", "revert", "review", "revile", "revise", "revive", "revoke", "revolt", "revues", "revved", "reward", "rewarm", "rewash", "reweds", "rewind", "rewire", "reword", "rework", "rewove", "rezone", "rhesus", "rheumy", "rhinos", "rhymed", "rhymer", "rhymes", "rhythm", "ribald", "ribbed", "ribber", "ribbon", "ricers", "richer", "riches", "richly", "ricing", "ricked", "ridden", "riddle", "riders", "ridged", "ridges", "riding", "rifest", "riffed", "riffle", "rifled", "rifler", "rifles", "rifted", "rigged", "rigger", "righto", "rights", "rigour", "riling", "riming", "rimmed", "ringed", "ringer", "rinsed", "rinses", "rioted", "rioter", "ripely", "ripens", "ripest", "ripoff", "ripped", "ripper", "ripple", "ripply", "ripsaw", "risers", "rising", "risked", "risque", "ritual", "rivals", "rivers", "rivets", "riving", "riyals", "roadie", "roamed", "roamer", "roared", "roarer", "roasts", "robbed", "robber", "robing", "robins", "robots", "robust", "rocked", "rocker", "rocket", "rococo", "rodent", "rodeos", "rogers", "rogues", "roiled", "rolled", "roller", "romeos", "romped", "romper", "rondos", "roofed", "roofer", "rooked", "rookie", "roomed", "roomer", "roosts", "rooted", "rooter", "ropers", "ropier", "roping", "rosary", "rosier", "rosily", "rosins", "roster", "rotary", "rotate", "rotgut", "rotors", "rotted", "rotten", "rotter", "rotund", "rouble", "rouged", "rouges", "roughs", "rounds", "roused", "rouses", "rousts", "routed", "router", "routes", "rovers", "roving", "rowans", "rowels", "rowers", "rowing", "royals", "rubato", "rubbed", "rubber", "rubble", "rubier", "rubies", "rubric", "ruched", "rucked", "ruckus", "rudder", "rudely", "rudest", "rueful", "ruffed", "ruffle", "ruffly", "rugged", "rugger", "rugrat", "ruined", "rulers", "ruling", "rumbas", "rumble", "rummer", "rumour", "rumple", "rumply", "rumpus", "runlet", "runnel", "runner", "runoff", "runway", "rupees", "rupiah", "rushed", "rusher", "rushes", "russet", "rusted", "rustic", "rustle", "rutted", "sables", "sabots", "sabras", "sabres", "sachem", "sachet", "sacked", "sacker", "sacred", "sacrum", "sadden", "sadder", "saddle", "sadhus", "safari", "safely", "safest", "safety", "sagely", "sagest", "sagged", "sahibs", "sailed", "sailor", "saints", "salaam", "salads", "salami", "salary", "saline", "saliva", "sallow", "salmon", "salons", "saloon", "salsas", "salted", "salter", "salute", "salved", "salver", "salves", "salvos", "sambas", "samosa", "sampan", "sample", "sandal", "sanded", "sander", "sanely", "sanest", "sanity", "sapped", "sapper", "sarges", "sarnie", "sarong", "sashay", "sashes", "sassed", "sasses", "sateen", "sating", "satiny", "satire", "satori", "satrap", "satyrs", "sauced", "saucer", "sauces", "saunas", "sautes", "savage", "savant", "savers", "saving", "savour", "savoys", "sawfly", "sawing", "sawyer", "saying", "scabby", "scalar", "scalds", "scaled", "scales", "scalps", "scampi", "scamps", "scants", "scanty", "scarab", "scarce", "scared", "scares", "scarfs", "scarps", "scatty", "scenes", "scenic", "scents", "schema", "scheme", "schism", "schist", "schizo", "schlep", "schnoz", "school", "schuss", "schwas", "scions", "scoffs", "scolds", "sconce", "scones", "scoops", "scoots", "scoped", "scopes", "scorch", "scored", "scorer", "scores", "scorns", "scotch", "scours", "scouts", "scowls", "scrags", "scrams", "scrape", "scraps", "scrawl", "scream", "screed", "screen", "screes", "screws", "screwy", "scribe", "scrimp", "scrims", "scrips", "script", "scrogs", "scroll", "scrota", "scrubs", "scruff", "scrump", "scrums", "scubas", "scuffs", "sculls", "sculpt", "scummy", "scurfy", "scurry", "scurvy", "scuzzy", "scythe", "seabed", "sealed", "sealer", "seaman", "seamed", "seamen", "seance", "search", "seared", "season", "seated", "seaway", "secant", "secede", "second", "secret", "sector", "secure", "sedans", "sedate", "seduce", "seeded", "seeder", "seeing", "seeker", "seemed", "seemly", "seeped", "seesaw", "seethe", "segued", "segues", "seined", "seiner", "seines", "seized", "seizes", "seldom", "select", "selfie", "seller", "selves", "senate", "sender", "senile", "senior", "senora", "senors", "sensed", "senses", "sensor", "sentry", "sepals", "sepsis", "septal", "septet", "septic", "septum", "sequel", "sequin", "serape", "seraph", "serene", "serest", "serial", "series", "serifs", "serine", "sermon", "serous", "serums", "served", "server", "serves", "servos", "sesame", "settee", "setter", "settle", "setups", "sevens", "severe", "severs", "sewage", "sewers", "sewing", "shacks", "shaded", "shades", "shadow", "shafts", "shaggy", "shaken", "shaker", "shakes", "shaman", "shandy", "shanks", "shanty", "shaped", "shapes", "shards", "shared", "sharer", "shares", "sharia", "sharks", "sharps", "shaved", "shaven", "shaver", "shaves", "shawls", "shears", "sheath", "sheave", "sheeny", "sheers", "sheets", "sheikh", "sheila", "shekel", "shells", "shelve", "sherry", "shewed", "shield", "shiest", "shifts", "shifty", "shills", "shimmy", "shined", "shiner", "shines", "shinny", "shires", "shirks", "shirrs", "shirts", "shirty", "shiver", "shoals", "shoats", "shocks", "shoddy", "shogun", "shooed", "shoots", "shoppe", "shored", "shores", "shorts", "shorty", "should", "shouts", "shoved", "shovel", "shoves", "showed", "shower", "shrank", "shreds", "shrewd", "shrews", "shriek", "shrift", "shrike", "shrill", "shrimp", "shrine", "shrink", "shrive", "shroud", "shrubs", "shrugs", "shrunk", "shtick", "shucks", "shunts", "shyest", "shying", "sibyls", "sicced", "sicked", "sicken", "sicker", "sickie", "sickle", "sickly", "sickos", "siding", "sidled", "sidles", "sieges", "sienna", "sierra", "siesta", "sieved", "sieves", "sifted", "sifter", "sighed", "sights", "sigmas", "signal", "signed", "signer", "signet", "signor", "silage", "silent", "silica", "silken", "silted", "silver", "simian", "simile", "simmer", "simony", "simper", "simple", "simply", "sinews", "sinewy", "sinful", "singed", "singer", "singes", "single", "singly", "sinker", "sinned", "sinner", "siphon", "sipped", "sipper", "sirens", "siring", "sirrah", "sirree", "sister", "sitars", "sitcom", "siting", "sitter", "sixths", "sizing", "sizzle", "skated", "skater", "skates", "skeins", "sketch", "skewed", "skewer", "skibob", "skiers", "skiffs", "skiing", "skills", "skimps", "skimpy", "skinny", "skirts", "skived", "skiver", "skives", "skivvy", "skoals", "skulks", "skulls", "skunks", "skycap", "skying", "slacks", "slaked", "slakes", "slalom", "slangy", "slants", "slated", "slates", "slayed", "slayer", "sleaze", "sleazy", "sledge", "sleeks", "sleeps", "sleepy", "sleets", "sleety", "sleeve", "sleigh", "sleuth", "slewed", "sliced", "slicer", "slices", "slicks", "slider", "slides", "slight", "slings", "slinks", "slinky", "slippy", "sliver", "slogan", "sloops", "sloped", "slopes", "sloppy", "sloths", "slouch", "slough", "sloven", "slowed", "slower", "slowly", "sludge", "sludgy", "sluice", "sluing", "slummy", "slumps", "slurps", "slurry", "slushy", "slutty", "slyest", "smacks", "smalls", "smarmy", "smarts", "smarty", "smears", "smeary", "smells", "smelly", "smelts", "smilax", "smiled", "smiles", "smiley", "smirch", "smirks", "smites", "smiths", "smithy", "smocks", "smoggy", "smoked", "smoker", "smokes", "smokey", "smooch", "smooth", "smudge", "smudgy", "smugly", "smurfs", "smutty", "snacks", "snafus", "snails", "snaked", "snakes", "snappy", "snared", "snares", "snarfs", "snarks", "snarky", "snarls", "snarly", "snazzy", "sneaks", "sneaky", "sneers", "sneeze", "snicks", "snider", "sniffs", "sniffy", "sniped", "sniper", "snipes", "snippy", "snitch", "snivel", "snobby", "snoods", "snoops", "snoopy", "snoots", "snooty", "snooze", "snored", "snorer", "snores", "snorts", "snotty", "snouts", "snowed", "snuffs", "snugly", "soaked", "soaped", "soared", "sobbed", "sobers", "soccer", "social", "socked", "socket", "sodded", "sodden", "sodium", "soever", "soften", "softer", "softly", "soigne", "soiled", "soiree", "solace", "solder", "solely", "solemn", "solidi", "solids", "soling", "soloed", "solute", "solved", "solver", "solves", "sombre", "sonars", "sonata", "sonnet", "sooner", "soothe", "sopped", "sorbet", "sordid", "sorely", "sorest", "sorrel", "sorrow", "sorted", "sorter", "sortie", "soughs", "sought", "sounds", "souped", "source", "soured", "sourer", "sourly", "soused", "souses", "soviet", "sowers", "sowing", "spaced", "spacer", "spaces", "spacey", "spaded", "spades", "spadix", "spanks", "spared", "sparer", "spares", "sparks", "sparky", "sparse", "spasms", "spates", "spathe", "spavin", "spawns", "spayed", "speaks", "spears", "specie", "specif", "specks", "speech", "speeds", "speedy", "spells", "spends", "sperms", "spewed", "spewer", "sphere", "sphinx", "spiced", "spices", "spider", "spiels", "spiffs", "spiffy", "spigot", "spiked", "spikes", "spills", "spinal", "spines", "spinet", "spiral", "spires", "spirit", "spited", "spites", "splash", "splats", "splays", "spleen", "splice", "spliff", "spline", "splint", "splits", "splosh", "spoils", "spoilt", "spoken", "spokes", "sponge", "spongy", "spoofs", "spooks", "spooky", "spools", "spoons", "spoors", "spored", "spores", "sports", "sporty", "spotty", "spouse", "spouts", "sprain", "sprang", "sprats", "sprawl", "sprays", "spread", "spreed", "sprees", "sprier", "sprigs", "spring", "sprint", "sprite", "spritz", "sprogs", "sprout", "spruce", "sprung", "spryly", "spumed", "spumes", "spunks", "spunky", "spurge", "spurns", "spurts", "sputum", "spying", "squabs", "squads", "squall", "square", "squash", "squats", "squawk", "squaws", "squeak", "squeal", "squibs", "squids", "squint", "squire", "squirm", "squirt", "squish", "stable", "stably", "stacks", "staffs", "staged", "stages", "stains", "stairs", "staked", "stakes", "staled", "staler", "stales", "stalks", "stalls", "stamen", "stamps", "stance", "stanch", "stands", "stanza", "staple", "starch", "stared", "starer", "stares", "starry", "starts", "starve", "stasis", "stated", "stater", "states", "static", "statue", "status", "staved", "staves", "stayed", "stayer", "steads", "steady", "steaks", "steals", "steams", "steamy", "steeds", "steels", "steely", "steeps", "steers", "steins", "stench", "stenos", "stents", "steppe", "stereo", "sterns", "stewed", "sticks", "sticky", "stiffs", "stifle", "stigma", "stiles", "stills", "stilts", "stings", "stingy", "stinks", "stinky", "stints", "stitch", "stoats", "stocks", "stocky", "stodge", "stodgy", "stogie", "stoics", "stoked", "stoker", "stokes", "stolen", "stoles", "stolid", "stolon", "stomps", "stoned", "stoner", "stones", "stooge", "stools", "stoops", "stored", "stores", "storey", "storks", "storms", "stormy", "stoups", "stouts", "stoves", "stowed", "strafe", "strain", "strait", "strand", "straps", "strata", "strati", "straws", "strays", "streak", "stream", "street", "stress", "strewn", "strews", "striae", "strict", "stride", "strife", "strike", "string", "stripe", "strips", "stripy", "strive", "strobe", "strode", "stroke", "stroll", "strong", "strops", "strove", "struck", "strums", "strung", "struts", "stubby", "stucco", "studio", "studly", "stuffs", "stuffy", "stumps", "stumpy", "stunts", "stupid", "stupor", "sturdy", "styled", "styles", "stylus", "stymie", "suaver", "subbed", "subdue", "sublet", "submit", "suborn", "subpar", "subset", "subtle", "subtly", "suburb", "subway", "sucked", "sucker", "suckle", "sudden", "suffer", "suffix", "sugars", "sugary", "suited", "suites", "suitor", "sulked", "sullen", "sultan", "sultry", "summat", "summed", "summer", "summit", "summon", "sunbed", "sundae", "sunder", "sundry", "sunhat", "sunken", "sunlit", "sunned", "sunset", "suntan", "superb", "supers", "supine", "supped", "supper", "supple", "supply", "surely", "surest", "surety", "surfed", "surfer", "surged", "surges", "surrey", "surtax", "survey", "sussed", "susses", "sutler", "suttee", "suture", "svelte", "swains", "swamis", "swamps", "swampy", "swanks", "swanky", "swards", "swarms", "swatch", "swathe", "swaths", "swayed", "swears", "sweats", "sweaty", "swedes", "sweeps", "sweets", "swells", "swerve", "swifts", "swills", "swines", "swings", "swiped", "swipes", "swirls", "swirly", "switch", "swivel", "swoons", "swoops", "swoosh", "swords", "sylphs", "sylvan", "symbol", "synced", "synods", "syntax", "synths", "syrups", "syrupy", "sysops", "system", "tabbed", "tablas", "tabled", "tables", "tablet", "taboos", "tabors", "tacked", "tacker", "tackle", "tactic", "tagged", "tagger", "taigas", "tailed", "tailor", "taints", "takers", "taking", "talcum", "talent", "talked", "talker", "talkie", "taller", "tallow", "talons", "tamale", "tamely", "tamers", "tamest", "taming", "tamped", "tamper", "tampon", "tandem", "tangle", "tangos", "tanked", "tanker", "tanned", "tanner", "tannin", "tantra", "tapers", "taping", "tapirs", "tapped", "tapper", "tappet", "target", "tariff", "taring", "tarmac", "tarots", "tarpon", "tarred", "tarsal", "tarsus", "tartan", "tartar", "tarted", "tarter", "tartly", "tasers", "tasked", "tassel", "tasted", "taster", "tastes", "tatami", "taters", "tatted", "tatter", "tattie", "tattle", "tattoo", "taught", "taunts", "tauten", "tauter", "tautly", "tavern", "tawdry", "taxers", "taxied", "taxing", "taxman", "taxmen", "teabag", "teacup", "teamed", "teapot", "teared", "teased", "teasel", "teaser", "teases", "techie", "techno", "tedium", "teeing", "teemed", "teeter", "teethe", "teller", "telnet", "temped", "temper", "temple", "tempos", "tempts", "tenant", "tended", "tender", "tendon", "tenets", "tenner", "tennis", "tenons", "tenors", "tenpin", "tensed", "tenser", "tenses", "tensor", "tented", "tenths", "tenure", "tepees", "termed", "termly", "terror", "terser", "tested", "tester", "testes", "testis", "tetchy", "tether", "tetras", "texted", "thanes", "thanks", "thatch", "thawed", "thefts", "theirs", "theism", "theist", "themed", "themes", "thence", "theory", "therms", "theses", "thesis", "thetas", "thicko", "thieve", "thighs", "things", "thingy", "thinks", "thinly", "thirds", "thirst", "thirty", "tholes", "thongs", "thorax", "thorns", "thorny", "though", "thrall", "thrash", "thread", "threat", "threes", "thresh", "thrice", "thrift", "thrill", "thrive", "throat", "throbs", "throes", "throne", "throng", "thrown", "throws", "thrums", "thrush", "thrust", "thumbs", "thumps", "thunks", "thwack", "thwart", "thymus", "tiaras", "tibiae", "tibial", "ticked", "ticker", "ticket", "tickle", "tiddly", "tidied", "tidier", "tidies", "tidily", "tiding", "tiepin", "tiered", "tiffed", "tigers", "tights", "tildes", "tilers", "tiling", "tilled", "tiller", "tilted", "timber", "timbre", "timely", "timers", "timing", "tinder", "tinged", "tinges", "tingle", "tingly", "tinier", "tinker", "tinkle", "tinned", "tinpot", "tinsel", "tinted", "tipped", "tipper", "tippet", "tippex", "tipple", "tiptoe", "tiptop", "tirade", "tiring", "tissue", "titans", "titbit", "titchy", "tithed", "tither", "tithes", "titian", "titled", "titles", "titter", "tittle", "toasts", "toasty", "tocsin", "toddle", "toecap", "toeing", "toerag", "toffee", "togaed", "togged", "toggle", "toiled", "toiler", "toilet", "tokens", "toking", "tolled", "tomato", "tombed", "tomboy", "tomcat", "tomtit", "toners", "tonged", "tongue", "tonics", "tonier", "toning", "tonnes", "tonsil", "tooled", "tooted", "tooter", "toothy", "tootle", "topees", "topics", "topped", "topper", "topple", "toques", "torpid", "torpor", "torque", "torrid", "torsos", "tortes", "tossed", "tosses", "tossup", "totals", "totems", "toting", "totted", "totter", "toucan", "touche", "touchy", "toughs", "toupee", "toured", "tousle", "touted", "toward", "towels", "towers", "towhee", "towing", "townee", "townie", "toxins", "toyboy", "toying", "traced", "tracer", "traces", "tracks", "tracts", "traded", "trader", "trades", "tragic", "trails", "trains", "traits", "tramps", "trance", "transl", "trashy", "trauma", "travel", "trawls", "treads", "treats", "treaty", "treble", "tremor", "trench", "trends", "trendy", "triads", "triage", "trials", "tribal", "tribes", "tricks", "tricky", "triers", "trifle", "trikes", "trilby", "trills", "trimly", "triple", "triply", "tripod", "tripos", "triter", "trivet", "trivia", "troika", "trolls", "tromps", "troops", "tropes", "trophy", "tropic", "trough", "troupe", "trouts", "troves", "trowed", "trowel", "truant", "truces", "trucks", "trudge", "truest", "truing", "truism", "trumps", "trunks", "trusts", "trusty", "truths", "trying", "tryout", "trysts", "tsetse", "tubers", "tubful", "tubing", "tubule", "tucked", "tucker", "tufted", "tufter", "tugged", "tulips", "tumble", "tumour", "tumult", "tundra", "tuners", "tuneup", "tunics", "tuning", "tunnel", "tuples", "tuques", "turban", "turbid", "turbos", "turbot", "tureen", "turfed", "turgid", "turkey", "turned", "turner", "turnip", "turret", "turtle", "tushes", "tusked", "tussle", "tutors", "tutted", "tuttis", "tuxedo", "twangs", "twangy", "tweaks", "tweeds", "tweedy", "tweets", "twelve", "twenty", "twerks", "twerps", "twiggy", "twilit", "twined", "twiner", "twines", "twinge", "twinks", "twirls", "twirly", "twists", "twisty", "twitch", "twofer", "tycoon", "typhus", "typify", "typing", "typist", "tyrant", "udders", "uglier", "ukases", "ulcers", "ulster", "ultimo", "ultras", "umbels", "umbras", "umiaks", "umlaut", "umping", "umpire", "unable", "unbars", "unbend", "unbent", "unbind", "unbolt", "unborn", "uncaps", "uncial", "unclad", "uncles", "unclog", "uncoil", "uncool", "uncork", "uncurl", "undies", "undoes", "undone", "unduly", "unease", "uneasy", "uneven", "unfair", "unfits", "unfold", "unfurl", "unhand", "unholy", "unhook", "unhurt", "unions", "unique", "unison", "united", "unites", "unjust", "unkind", "unlace", "unless", "unlike", "unload", "unlock", "unmade", "unmake", "unmans", "unmask", "unpack", "unpaid", "unpick", "unpins", "unplug", "unread", "unreal", "unreel", "unrest", "unripe", "unroll", "unruly", "unsafe", "unsaid", "unsays", "unseal", "unseat", "unseen", "unsent", "unshod", "unsnap", "unsold", "unstop", "unsung", "unsure", "untidy", "untied", "unties", "untold", "untrod", "untrue", "unused", "unveil", "unwary", "unwell", "unwind", "unwise", "unworn", "unwrap", "unyoke", "unzips", "upbeat", "update", "upends", "upheld", "uphill", "uphold", "upkeep", "upland", "uplift", "upload", "upmost", "uppers", "upping", "uppish", "uppity", "uprear", "uproar", "uproot", "upsets", "upshot", "upside", "uptake", "uptick", "uptown", "upturn", "upward", "upwind", "uracil", "urbane", "urchin", "ureter", "urgent", "urging", "urinal", "ursine", "usable", "usages", "useful", "ushers", "usurer", "usurps", "uterus", "utmost", "utopia", "utters", "uvular", "uvulas", "vacant", "vacate", "vacuum", "vagary", "vaguer", "vainer", "vainly", "valets", "valise", "valley", "valour", "valued", "valuer", "values", "valved", "valves", "vamped", "vandal", "vanish", "vanity", "vanned", "vaping", "vapour", "varied", "varies", "varlet", "vassal", "vaster", "vastly", "vatted", "vaults", "vaunts", "vector", "veejay", "veered", "vegans", "vegged", "vegges", "veggie", "veiled", "veined", "velars", "vellum", "velour", "velvet", "vended", "vendor", "veneer", "venial", "venous", "vented", "venues", "verbal", "verged", "verger", "verges", "verier", "verify", "verily", "verity", "vermin", "vernal", "versed", "verses", "versos", "versus", "vertex", "vesper", "vessel", "vestal", "vested", "vestry", "vetoed", "vetoes", "vetted", "vexing", "viable", "viably", "viands", "vicars", "vicing", "victim", "victor", "vicuna", "videos", "viewed", "viewer", "vigils", "vigour", "viking", "vilely", "vilest", "vilify", "villas", "villus", "vinous", "vinyls", "violas", "violet", "violin", "vipers", "virago", "vireos", "virgin", "virile", "virtue", "visaed", "visage", "viscid", "viscus", "vising", "vision", "visits", "visors", "vistas", "visual", "vitals", "vivace", "vivify", "vixens", "vizier", "vocals", "vodkas", "vogues", "voiced", "voices", "voided", "volley", "volume", "volute", "vomits", "voodoo", "vortex", "votary", "voters", "voting", "votive", "vowels", "vowing", "voyage", "wabbit", "wacker", "wackos", "wadded", "waddle", "waders", "wadges", "wading", "wafers", "waffle", "wafted", "wagers", "wagged", "waggle", "waging", "wagons", "wailed", "wailer", "waists", "waited", "waiter", "waived", "waiver", "waives", "wakens", "waking", "waldos", "waling", "walked", "walker", "wallah", "walled", "wallet", "wallop", "wallow", "walnut", "walrus", "wampum", "wander", "wangle", "waning", "wanked", "wanner", "wanted", "wanton", "wapiti", "warble", "warded", "warden", "warder", "warier", "warily", "warmed", "warmer", "warmly", "warmth", "warned", "warped", "warred", "warren", "wasabi", "washed", "washer", "washes", "wasted", "waster", "wastes", "waters", "watery", "wattle", "wavers", "wavier", "waving", "waxier", "waxing", "waylay", "wazoos", "weaken", "weaker", "weakly", "wealth", "weaned", "weapon", "wearer", "weasel", "weaved", "weaver", "weaves", "webbed", "webcam", "weblog", "wedded", "wedder", "wedged", "wedges", "wedgie", "weeded", "weeder", "weeing", "weekly", "weened", "weenie", "weensy", "weeper", "weepie", "weevil", "weighs", "weight", "weirdo", "welded", "welder", "welkin", "welled", "wellie", "welted", "welter", "wended", "wetter", "whacks", "whaled", "whaler", "whales", "whammy", "wheals", "wheels", "wheeze", "wheezy", "whelks", "whelms", "whelps", "whence", "wheres", "wherry", "whiffs", "whiled", "whiles", "whilom", "whilst", "whimsy", "whined", "whiner", "whines", "whinge", "whinny", "whirls", "whirrs", "whisks", "whisky", "whited", "whiten", "whiter", "whites", "whitey", "wholes", "wholly", "whoops", "whoosh", "whores", "whorls", "wicked", "wicker", "wicket", "widely", "widens", "widest", "widget", "widows", "widths", "wields", "wiener", "wienie", "wifely", "wigeon", "wigged", "wiggle", "wiggly", "wights", "wiglet", "wigwag", "wigwam", "wilder", "wildly", "wilful", "wilier", "wiling", "willed", "willow", "wilted", "wimped", "wimple", "winced", "winces", "winded", "winder", "window", "windup", "winery", "winged", "winger", "winier", "wining", "winked", "winker", "winkle", "winner", "winnow", "winter", "wintry", "wipers", "wiping", "wireds", "wirier", "wiring", "wisdom", "wisely", "wisest", "wished", "wisher", "wishes", "wising", "withal", "withed", "wither", "withes", "within", "witted", "witter", "wiving", "wizard", "wobble", "wobbly", "wodges", "woeful", "wolfed", "wolves", "wombat", "womble", "wonder", "wonted", "wooded", "wooden", "woodsy", "wooers", "woofed", "woofer", "wooing", "woolly", "worded", "worked", "worker", "workup", "worlds", "wormed", "worsen", "worsts", "worthy", "wotcha", "woulds", "wounds", "wowing", "wracks", "wraith", "wrasse", "wreaks", "wreath", "wrecks", "wrench", "wrests", "wretch", "wright", "wrings", "wrists", "writer", "writes", "writhe", "wrongs", "wryest", "wursts", "wusses", "xxviii", "xxxiii", "xxxvii", "xylene", "yachts", "yahoos", "yakked", "yammer", "yanked", "yapped", "yarrow", "yawing", "yawned", "yawner", "yearly", "yearns", "yeasts", "yeasty", "yelled", "yellow", "yelped", "yeoman", "yeomen", "yessed", "yields", "yipped", "yippee", "yobbos", "yodels", "yogurt", "yokels", "yoking", "yolked", "yonder", "youths", "yowled", "yuccas", "yukked", "yuppie", "zanier", "zanies", "zapped", "zapper", "zealot", "zebras", "zenith", "zenned", "zephyr", "zeroed", "zeroes", "zeroth", "zigzag", "zinged", "zinger", "zinnia", "zipped", "zipper", "zircon", "zither", "zlotys", "zodiac", "zombie", "zoning", "zonked", "zoomed", "zoster", "zounds", "zydeco", "zygote"]' +) diff --git a/scripts/regen-words.py b/scripts/regen-words.py new file mode 100755 index 000000000..54c9ed149 --- /dev/null +++ b/scripts/regen-words.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 +import os +import sys +import json + +from app import config +from app.log import LOG + +rootDir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +sys.path.append(rootDir) + +LOG.i(f"Reading {config.WORDS_FILE_PATH} file") +words = [ + word.strip() + for word in open(config.WORDS_FILE_PATH, "r").readlines() + if word.strip() +] + +destFile = os.path.join(rootDir, "app", "words.py") +LOG.i(f"Writing {destFile}") + +serialized_words = json.dumps(words) +with open(destFile, "wb") as fd: + fd.write( + f"""# +#This file is auto-generated. Please run {sys.argv[0]} to re-generate it +# + +import json + +safe_words = json.loads('{serialized_words}') +""".encode("utf-8") + )