#!/usr/bin/env python
# -*- coding: utf-8 -*-
##########################################
## NOTE: This module was autogenerated. ##
## Contains no user-servicable parts!!! ##
##########################################
import re
VERSION = 20210606.145933
plural_of = {
"abides": "abide",
"aches": "ache",
"am": "are",
"arcs": "arc",
"are": "are",
"arises": "arise",
"asks": "ask",
"avalanches": "avalanche",
"awakes": "awake",
"beats": "beat",
"becomes": "become",
"begets": "beget",
"begins": "begin",
"beholds": "behold",
"bellyaches": "bellyache",
"bends": "bend",
"bets": "bet",
"biases": "bias",
"bites": "bite",
"bleeds": "bleed",
"blitzes": "blitz",
"blows": "blow",
"breaks": "break",
"brings": "bring",
"builds": "build",
"burns": "burn",
"bursts": "burst",
"buses": "bus",
"busts": "bust",
"caches": "cache",
"caddies": "caddie",
"can": "can",
"canvases": "canvas",
"catches": "catch",
"caucuses": "caucus",
"changes": "change",
"chooses": "choose",
"choruses": "chorus",
"claps": "clap",
"clings": "cling",
"comes": "come",
"continues": "continue",
"costs": "cost",
"could": "could",
"creches": "creche",
"creeps": "creep",
"dares": "dare",
"deals": "deal",
"dies": "die",
"digs": "dig",
"disses": "dis",
"dives": "dive",
"does": "do",
"douches": "douche",
"drags": "drag",
"dreams": "dream",
"drinks": "drink",
"drives": "drive",
"dwells": "dwell",
"eats": "eat",
"expects": "expect",
"falls": "fall",
"feels": "feel",
"fights": "fight",
"finds": "find",
"flees": "flee",
"flies": "fly",
"flings": "fling",
"focuses": "focus",
"follows": "follow",
"forbids": "forbid",
"foresees": "foresee",
"foretells": "foretell",
"forgets": "forget",
"forgives": "forgive",
"forsakes": "forsake",
"gases": "gas",
"gets": "get",
"gilds": "gild",
"gives": "give",
"goes": "go",
"grinds": "grind",
"happens": "happen",
"has": "have",
"helps": "help",
"hews": "hew",
"hies": "hie",
"hits": "hit",
"hocuses": "hocus",
"holds": "hold",
"hurts": "hurt",
"inlays": "inlay",
"insists": "insist",
"interlays": "interlay",
"irises": "iris",
"is": "are",
"keeps": "keep",
"kills": "kill",
"kneels": "kneel",
"knits": "knit",
"knows": "know",
"lays": "lay",
"leads": "lead",
"leans": "lean",
"leaps": "leap",
"learns": "learn",
"leaves": "leave",
"lets": "let",
"lies": "lie",
"likes": "like",
"lives": "live",
"looks": "look",
"loses": "lose",
"loves": "love",
"may": "may",
"means": "mean",
"meets": "meet",
"menus": "menu",
"might": "might",
"misleads": "mislead",
"mistakes": "mistake",
"misunderstands": "misunderstand",
"moves": "move",
"must": "must",
"needs": "need",
"niches": "niche",
"ought": "ought",
"outvies": "outvie",
"overdraws": "overdraw",
"overhears": "overhear",
"overtakes": "overtake",
"presets": "preset",
"proves": "prove",
"provides": "provide",
"psyches": "psyche",
"puts": "put",
"quits": "quit",
"quizzes": "quiz",
"reaches": "reach",
"remains": "remain",
"remembers": "remember",
"rends": "rend",
"rents": "rent",
"rids": "rid",
"rings": "ring",
"rises": "rise",
"rives": "rive",
"s": "",
"saws": "saw",
"seeks": "seek",
"seems": "seem",
"shakes": "shake",
"shall": "shall",
"shaves": "shave",
"sheds": "shed",
"shits": "shit",
"shoes": "shoe",
"should": "should",
"shows": "show",
"shrinks": "shrink",
"sings": "sing",
"sinks": "sink",
"sits": "sit",
"skis": "ski",
"slays": "slay",
"slides": "slide",
"slinks": "slink",
"slits": "slit",
"smells": "smell",
"smites": "smite",
"sneaks": "sneak",
"sows": "sow",
"speaks": "speak",
"speeds": "speed",
"spends": "spend",
"spits": "spit",
"spoils": "spoil",
"springs": "spring",
"stands": "stand",
"staves": "stave",
"stays": "stay",
"steals": "steal",
"stings": "sting",
"stinks": "stink",
"stops": "stop",
"strews": "strew",
"strides": "stride",
"strips": "strip",
"strives": "strive",
"sublets": "sublet",
"sunburns": "sunburn",
"swears": "swear",
"sweats": "sweat",
"sweeps": "sweep",
"swells": "swell",
"swims": "swim",
"swings": "swing",
"talks": "talk",
"tears": "tear",
"thrives": "thrive",
"thrusts": "thrust",
"treads": "tread",
"undergoes": "undergo",
"underlies": "underlie",
"understands": "understand",
"undertakes": "undertake",
"upsets": "upset",
"vexes": "vex",
"vies": "vie",
"waits": "wait",
"wakes": "wake",
"walks": "walk",
"wants": "want",
"was": "were",
"watches": "watch",
"wears": "wear",
"weeps": "weep",
"wends": "wend",
"will": "will",
"wins": "win",
"wises": "wis",
"withdraws": "withdraw",
"withholds": "withhold",
"withstands": "withstand",
"would": "would",
"wrings": "wring"
}
singular_of = {
"": "s",
"abide": "abides",
"ache": "aches",
"arc": "arcs",
"are": "is",
"arise": "arises",
"ask": "asks",
"avalanche": "avalanches",
"awake": "awakes",
"be": "is",
"beat": "beats",
"become": "becomes",
"beget": "begets",
"begin": "begins",
"behold": "beholds",
"bellyache": "bellyaches",
"bend": "bends",
"bet": "bets",
"bias": "biases",
"bite": "bites",
"bleed": "bleeds",
"blitz": "blitzes",
"blow": "blows",
"break": "breaks",
"bring": "brings",
"build": "builds",
"burn": "burns",
"burst": "bursts",
"bus": "buses",
"bust": "busts",
"cache": "caches",
"caddie": "caddies",
"can": "can",
"canvas": "canvases",
"catch": "catches",
"caucus": "caucuses",
"change": "changes",
"choose": "chooses",
"chorus": "choruses",
"clap": "claps",
"cling": "clings",
"come": "comes",
"continue": "continues",
"cost": "costs",
"could": "could",
"creche": "creches",
"creep": "creeps",
"dare": "dares",
"deal": "deals",
"die": "dies",
"dig": "digs",
"dis": "disses",
"dive": "dives",
"do": "does",
"douche": "douches",
"drag": "drags",
"dream": "dreams",
"drink": "drinks",
"drive": "drives",
"dwell": "dwells",
"eat": "eats",
"expect": "expects",
"fall": "falls",
"feel": "feels",
"fight": "fights",
"find": "finds",
"flee": "flees",
"fling": "flings",
"fly": "flies",
"focus": "focuses",
"follow": "follows",
"forbid": "forbids",
"foresee": "foresees",
"foretell": "foretells",
"forget": "forgets",
"forgive": "forgives",
"forsake": "forsakes",
"gas": "gases",
"get": "gets",
"gild": "gilds",
"give": "gives",
"go": "goes",
"grind": "grinds",
"happen": "happens",
"have": "has",
"help": "helps",
"hew": "hews",
"hie": "hies",
"hit": "hits",
"hocus": "hocuses",
"hold": "holds",
"hurt": "hurts",
"inlay": "inlays",
"insist": "insists",
"interlay": "interlays",
"iris": "irises",
"keep": "keeps",
"kill": "kills",
"kneel": "kneels",
"knit": "knits",
"know": "knows",
"lay": "lays",
"lead": "leads",
"lean": "leans",
"leap": "leaps",
"learn": "learns",
"leave": "leaves",
"let": "lets",
"lie": "lies",
"like": "likes",
"live": "lives",
"look": "looks",
"lose": "loses",
"love": "loves",
"may": "may",
"mean": "means",
"meet": "meets",
"menu": "menus",
"might": "might",
"mislead": "misleads",
"mistake": "mistakes",
"misunderstand": "misunderstands",
"move": "moves",
"must": "must",
"need": "needs",
"niche": "niches",
"ought": "ought",
"outvie": "outvies",
"overdraw": "overdraws",
"overhear": "overhears",
"overtake": "overtakes",
"preset": "presets",
"prove": "proves",
"provide": "provides",
"psyche": "psyches",
"put": "puts",
"quit": "quits",
"quiz": "quizzes",
"reach": "reaches",
"remain": "remains",
"remember": "remembers",
"rend": "rends",
"rent": "rents",
"rid": "rids",
"ring": "rings",
"rise": "rises",
"rive": "rives",
"saw": "saws",
"seek": "seeks",
"seem": "seems",
"shake": "shakes",
"shall": "shall",
"shave": "shaves",
"shed": "sheds",
"shit": "shits",
"shoe": "shoes",
"should": "should",
"show": "shows",
"shrink": "shrinks",
"sing": "sings",
"sink": "sinks",
"sit": "sits",
"ski": "skis",
"slay": "slays",
"slide": "slides",
"slink": "slinks",
"slit": "slits",
"smell": "smells",
"smite": "smites",
"sneak": "sneaks",
"sow": "sows",
"speak": "speaks",
"speed": "speeds",
"spend": "spends",
"spit": "spits",
"spoil": "spoils",
"spring": "springs",
"stand": "stands",
"stave": "staves",
"stay": "stays",
"steal": "steals",
"sting": "stings",
"stink": "stinks",
"stop": "stops",
"strew": "strews",
"stride": "strides",
"strip": "strips",
"strive": "strives",
"sublet": "sublets",
"sunburn": "sunburns",
"swear": "swears",
"sweat": "sweats",
"sweep": "sweeps",
"swell": "swells",
"swim": "swims",
"swing": "swings",
"talk": "talks",
"tear": "tears",
"thrive": "thrives",
"thrust": "thrusts",
"tread": "treads",
"undergo": "undergoes",
"underlie": "underlies",
"understand": "understands",
"undertake": "undertakes",
"upset": "upsets",
"vex": "vexes",
"vie": "vies",
"wait": "waits",
"wake": "wakes",
"walk": "walks",
"want": "wants",
"watch": "watches",
"wear": "wears",
"weep": "weeps",
"wend": "wends",
"were": "was",
"will": "will",
"win": "wins",
"wis": "wises",
"withdraw": "withdraws",
"withhold": "withholds",
"withstand": "withstands",
"would": "would",
"wring": "wrings"
}
past_of = {
"abide": "abided",
"abided": "abided",
"abides": "abided",
"abiding": "abided",
"ache": "ached",
"ached": "ached",
"aches": "ached",
"aching": "ached",
"am": "was",
"arc": "arced",
"arced": "arced",
"arcing": "arced",
"arcs": "arced",
"are": "were",
"arise": "arose",
"arisen": "arose",
"arises": "arose",
"arising": "arose",
"ask": "asked",
"asked": "asked",
"asking": "asked",
"asks": "asked",
"avalanche": "avalanched",
"avalanched": "avalanched",
"avalanches": "avalanched",
"avalanching": "avalanched",
"awake": "awoke",
"awakening": "awoke",
"awakes": "awoke",
"awoken": "awoke",
"be": "were",
"beat": "beat",
"beaten": "beat",
"beating": "beat",
"beats": "beat",
"become": "became",
"becomes": "became",
"becoming": "became",
"been": "was",
"beget": "begot",
"begets": "begot",
"begetting": "begot",
"begin": "began",
"beginning": "began",
"begins": "began",
"begotten": "begot",
"begun": "began",
"beheld": "beheld",
"behold": "beheld",
"beholding": "beheld",
"beholds": "beheld",
"being": "was",
"bellyache": "bellyached",
"bellyached": "bellyached",
"bellyaches": "bellyached",
"bellyaching": "bellyached",
"bend": "bent",
"bending": "bent",
"bends": "bent",
"bent": "bent",
"bet": "bet",
"bets": "bet",
"betting": "bet",
"bias": "biased",
"biased": "biased",
"biases": "biased",
"biasing": "biased",
"bite": "bit",
"bites": "bit",
"biting": "bit",
"bitten": "bit",
"bled": "bled",
"bleed": "bled",
"bleeding": "bled",
"bleeds": "bled",
"blitz": "blitzed",
"blitzed": "blitzed",
"blitzes": "blitzed",
"blitzing": "blitzed",
"blow": "blew",
"blowing": "blew",
"blown": "blew",
"blows": "blew",
"break": "broke",
"breaking": "broke",
"breaks": "broke",
"bring": "brought",
"bringing": "brought",
"brings": "brought",
"broken": "broke",
"brought": "brought",
"build": "built",
"building": "built",
"builds": "built",
"built": "built",
"burn": "burnt",
"burning": "burnt",
"burns": "burnt",
"burnt": "burnt",
"burst": "burst",
"bursting": "burst",
"bursts": "burst",
"bus": "bused",
"bused": "bused",
"buses": "bused",
"busing": "bused",
"bust": "bust",
"busting": "bust",
"busts": "bust",
"cache": "cached",
"cached": "cached",
"caches": "cached",
"caching": "cached",
"caddie": "caddied",
"caddied": "caddied",
"caddies": "caddied",
"caddying": "caddied",
"can": "could",
"canvas": "canvased",
"canvased": "canvased",
"canvases": "canvased",
"canvasing": "canvased",
"catch": "caught",
"catches": "caught",
"catching": "caught",
"caucus": "caucused",
"caucused": "caucused",
"caucuses": "caucused",
"caucusing": "caucused",
"caught": "caught",
"change": "changed",
"changed": "changed",
"changes": "changed",
"changing": "changed",
"choose": "chose",
"chooses": "chose",
"choosing": "chose",
"chorus": "chorused",
"chorused": "chorused",
"choruses": "chorused",
"chorusing": "chorused",
"chosen": "chose",
"clap": "clapped",
"clapped": "clapped",
"clapping": "clapped",
"claps": "clapped",
"cling": "clung",
"clinging": "clung",
"clings": "clung",
"clung": "clung",
"come": "came",
"comes": "came",
"coming": "came",
"continue": "continued",
"continued": "continued",
"continues": "continued",
"continuing": "continued",
"cost": "cost",
"costing": "cost",
"costs": "cost",
"creche": "creched",
"creched": "creched",
"creches": "creched",
"creching": "creched",
"creep": "crept",
"creeping": "crept",
"creeps": "crept",
"crept": "crept",
"dare": "dared",
"dared": "dared",
"dares": "dared",
"daring": "dared",
"deal": "dealt",
"dealing": "dealt",
"deals": "dealt",
"dealt": "dealt",
"die": "died",
"died": "died",
"dies": "died",
"dig": "dug",
"digging": "dug",
"digs": "dug",
"dis": "dissed",
"dissed": "dissed",
"disses": "dissed",
"dissing": "dissed",
"dive": "dived",
"dived": "dived",
"dives": "dived",
"diving": "dived",
"do": "did",
"does": "did",
"doing": "did",
"done": "did",
"douche": "douched",
"douched": "douched",
"douches": "douched",
"douching": "douched",
"drag": "dragged",
"dragged": "dragged",
"dragging": "dragged",
"drags": "dragged",
"dream": "dreamed",
"dreamed": "dreamed",
"dreaming": "dreamed",
"dreams": "dreamed",
"drink": "drank",
"drinking": "drank",
"drinks": "drank",
"drive": "drove",
"driven": "drove",
"drives": "drove",
"driving": "drove",
"drunk": "drank",
"dug": "dug",
"dwell": "dwelt",
"dwelling": "dwelt",
"dwells": "dwelt",
"dwelt": "dwelt",
"dying": "died",
"eat": "ate",
"eaten": "ate",
"eating": "ate",
"eats": "ate",
"expect": "expected",
"expected": "expected",
"expecting": "expected",
"expects": "expected",
"fall": "fell",
"fallen": "fell",
"falling": "fell",
"falls": "fell",
"feel": "felt",
"feeling": "felt",
"feels": "felt",
"felt": "felt",
"fight": "fought",
"fighting": "fought",
"fights": "fought",
"find": "found",
"finding": "found",
"finds": "found",
"fled": "fled",
"flee": "fled",
"fleeing": "fled",
"flees": "fled",
"flies": "flew",
"fling": "flung",
"flinging": "flung",
"flings": "flung",
"flown": "flew",
"flung": "flung",
"fly": "flew",
"flying": "flew",
"focus": "focused",
"focused": "focused",
"focuses": "focused",
"focusing": "focused",
"follow": "followed",
"followed": "followed",
"following": "followed",
"follows": "followed",
"forbid": "forbade",
"forbidden": "forbade",
"forbidding": "forbade",
"forbids": "forbade",
"foresee": "foresaw",
"foreseeing": "foresaw",
"foreseen": "foresaw",
"foresees": "foresaw",
"foretell": "foretold",
"foretelling": "foretold",
"foretells": "foretold",
"foretold": "foretold",
"forget": "forgot",
"forgets": "forgot",
"forgetting": "forgot",
"forgive": "forgave",
"forgiven": "forgave",
"forgives": "forgave",
"forgiving": "forgave",
"forgotten": "forgot",
"forsake": "forsook",
"forsaken": "forsook",
"forsakes": "forsook",
"forsaking": "forsook",
"fought": "fought",
"found": "found",
"gas": "gassed",
"gases": "gassed",
"gassed": "gassed",
"gassing": "gassed",
"get": "got",
"gets": "got",
"getting": "got",
"gild": "gilded",
"gilded": "gilded",
"gilding": "gilded",
"gilds": "gilded",
"give": "gave",
"given": "gave",
"gives": "gave",
"giving": "gave",
"go": "went",
"goes": "went",
"going": "went",
"gone": "went",
"gotten": "got",
"grind": "ground",
"grinding": "ground",
"grinds": "ground",
"ground": "ground",
"had": "had",
"happen": "happened",
"happened": "happened",
"happening": "happened",
"happens": "happened",
"has": "had",
"have": "had",
"having": "had",
"held": "held",
"help": "helped",
"helped": "helped",
"helping": "helped",
"helps": "helped",
"hew": "hewed",
"hewing": "hewed",
"hewn": "hewed",
"hews": "hewed",
"hie": "hied",
"hied": "hied",
"hies": "hied",
"hit": "hit",
"hits": "hit",
"hitting": "hit",
"hocus": "hocused",
"hocused": "hocused",
"hocuses": "hocused",
"hocusing": "hocused",
"hold": "held",
"holding": "held",
"holds": "held",
"hurt": "hurt",
"hurting": "hurt",
"hurts": "hurt",
"hying": "hied",
"inlaid": "inlaid",
"inlay": "inlaid",
"inlaying": "inlaid",
"inlays": "inlaid",
"insist": "insisted",
"insisted": "insisted",
"insisting": "insisted",
"insists": "insisted",
"interlaid": "interlaid",
"interlay": "interlaid",
"interlaying": "interlaid",
"interlays": "interlaid",
"iris": "irised",
"irised": "irised",
"irises": "irised",
"irising": "irised",
"is": "was",
"keep": "kept",
"keeping": "kept",
"keeps": "kept",
"kept": "kept",
"kill": "killed",
"killed": "killed",
"killing": "killed",
"kills": "killed",
"kneel": "knelt",
"kneeling": "knelt",
"kneels": "knelt",
"knelt": "knelt",
"knit": "knitted",
"knits": "knitted",
"knitted": "knitted",
"knitting": "knitted",
"know": "knew",
"knowing": "knew",
"known": "knew",
"knows": "knew",
"laid": "laid",
"lain": "lay",
"lay": "laid",
"laying": "laid",
"lays": "laid",
"lead": "led",
"leading": "led",
"leads": "led",
"lean": "leaned",
"leaned": "leaned",
"leaning": "leaned",
"leans": "leaned",
"leap": "leapt",
"leaping": "leapt",
"leaps": "leapt",
"leapt": "leapt",
"learn": "learned",
"learned": "learned",
"learning": "learned",
"learns": "learned",
"leave": "left",
"leaves": "left",
"leaving": "left",
"led": "led",
"left": "left",
"let": "let",
"lets": "let",
"letting": "let",
"lie": "lay",
"lies": "lay",
"like": "liked",
"liked": "liked",
"likes": "liked",
"liking": "liked",
"live": "lived",
"lived": "lived",
"lives": "lived",
"living": "lived",
"look": "looked",
"looked": "looked",
"looking": "looked",
"looks": "looked",
"lose": "lost",
"loses": "lost",
"losing": "lost",
"lost": "lost",
"love": "loved",
"loved": "loved",
"loves": "loved",
"loving": "loved",
"lying": "lay",
"may": "might",
"mean": "meant",
"meaning": "meant",
"means": "meant",
"meant": "meant",
"meet": "met",
"meeting": "met",
"meets": "met",
"menu": "menued",
"menued": "menued",
"menuing": "menued",
"menus": "menued",
"met": "met",
"mislead": "misled",
"misleading": "misled",
"misleads": "misled",
"misled": "misled",
"mistake": "mistook",
"mistaken": "mistook",
"mistakes": "mistook",
"mistaking": "mistook",
"misunderstand": "misunderstood",
"misunderstanding": "misunderstood",
"misunderstands": "misunderstood",
"misunderstood": "misunderstood",
"move": "moved",
"moved": "moved",
"moves": "moved",
"moving": "moved",
"need": "needed",
"needed": "needed",
"needing": "needed",
"needs": "needed",
"niche": "niched",
"niched": "niched",
"nicheing": "niched",
"niches": "niched",
"outvie": "outvied",
"outvied": "outvied",
"outvies": "outvied",
"outvying": "outvied",
"overdraw": "overdrew",
"overdrawing": "overdrew",
"overdrawn": "overdrew",
"overdraws": "overdrew",
"overhear": "overheard",
"overheard": "overheard",
"overhearing": "overheard",
"overhears": "overheard",
"overtake": "overtook",
"overtaken": "overtook",
"overtakes": "overtook",
"overtaking": "overtook",
"preset": "preset",
"presets": "preset",
"presetting": "preset",
"prove": "proved",
"proved": "proved",
"proven": "proved",
"proves": "proved",
"provide": "provided",
"provided": "provided",
"provides": "provided",
"providing": "provided",
"proving": "proved",
"psyche": "psyched",
"psyched": "psyched",
"psyches": "psyched",
"psyching": "psyched",
"put": "put",
"puts": "put",
"putting": "put",
"quit": "quit",
"quits": "quit",
"quitting": "quit",
"quiz": "quizzed",
"quizzed": "quizzed",
"quizzes": "quizzed",
"quizzing": "quizzed",
"reach": "reached",
"reached": "reached",
"reaches": "reached",
"reaching": "reached",
"remain": "remained",
"remained": "remained",
"remaining": "remained",
"remains": "remained",
"remember": "remembered",
"remembered": "remembered",
"remembering": "remembered",
"remembers": "remembered",
"rend": "rent",
"rending": "rent",
"rends": "rent",
"rent": "rent",
"rented": "rented",
"renting": "rented",
"rents": "rented",
"rid": "rid",
"ridding": "rid",
"rids": "rid",
"ring": "rang",
"ringing": "rang",
"rings": "rang",
"rise": "rose",
"risen": "rose",
"rises": "rose",
"rising": "rose",
"rive": "rived",
"riven": "rived",
"rives": "rived",
"riving": "rived",
"rung": "rang",
"sat": "sat",
"saw": "sawed",
"sawing": "sawed",
"sawn": "sawed",
"saws": "sawed",
"seek": "sought",
"seeking": "sought",
"seeks": "sought",
"seem": "seemed",
"seemed": "seemed",
"seeming": "seemed",
"seems": "seemed",
"shake": "shook",
"shaken": "shook",
"shakes": "shook",
"shaking": "shook",
"shall": "should",
"shave": "shaved",
"shaved": "shaved",
"shaves": "shaved",
"shaving": "shaved",
"shed": "shed",
"shedding": "shed",
"sheds": "shed",
"shit": "shat",
"shits": "shat",
"shitted": "shat",
"shitting": "shat",
"shod": "shod",
"shoe": "shod",
"shoeing": "shod",
"shoes": "shod",
"show": "showed",
"showing": "showed",
"shown": "showed",
"shows": "showed",
"shrink": "shrank",
"shrinking": "shrank",
"shrinks": "shrank",
"shrunk": "shrank",
"sing": "sang",
"singing": "sang",
"sings": "sang",
"sink": "sank",
"sinking": "sank",
"sinks": "sank",
"sit": "sat",
"sits": "sat",
"sitting": "sat",
"ski": "skied",
"skied": "skied",
"skiing": "skied",
"skis": "skied",
"slain": "slew",
"slay": "slew",
"slaying": "slew",
"slays": "slew",
"slid": "slid",
"slide": "slid",
"slides": "slid",
"sliding": "slid",
"slink": "slunk",
"slinking": "slunk",
"slinks": "slunk",
"slit": "slit",
"slits": "slit",
"slitting": "slit",
"slunk": "slunk",
"smell": "smelled",
"smelled": "smelled",
"smelling": "smelled",
"smells": "smelled",
"smite": "smote",
"smites": "smote",
"smiting": "smote",
"smitten": "smote",
"sneak": "sneaked",
"sneaked": "sneaked",
"sneaking": "sneaked",
"sneaks": "sneaked",
"sought": "sought",
"sow": "sowed",
"sowing": "sowed",
"sown": "sowed",
"sows": "sowed",
"spat": "spat",
"speak": "spoke",
"speaking": "spoke",
"speaks": "spoke",
"sped": "sped",
"speed": "sped",
"speeding": "sped",
"speeds": "sped",
"spend": "spent",
"spending": "spent",
"spends": "spent",
"spent": "spent",
"spit": "spat",
"spits": "spat",
"spitting": "spat",
"spoil": "spoilt",
"spoiled": "spoilt",
"spoiling": "spoilt",
"spoils": "spoilt",
"spoken": "spoke",
"spring": "sprang",
"springing": "sprang",
"springs": "sprang",
"sprung": "sprang",
"stand": "stood",
"standing": "stood",
"stands": "stood",
"stave": "staved",
"staved": "staved",
"staves": "staved",
"staving": "staved",
"stay": "stayed",
"stayed": "stayed",
"staying": "stayed",
"stays": "stayed",
"steal": "stole",
"stealing": "stole",
"steals": "stole",
"sting": "stung",
"stinging": "stung",
"stings": "stung",
"stink": "stank",
"stinking": "stank",
"stinks": "stank",
"stolen": "stole",
"stood": "stood",
"stop": "stopped",
"stopped": "stopped",
"stopping": "stopped",
"stops": "stopped",
"strew": "strewed",
"strewing": "strewed",
"strewn": "strewed",
"strews": "strewed",
"stride": "strode",
"strides": "strode",
"striding": "strode",
"strip": "stripped",
"stripped": "stripped",
"stripping": "stripped",
"strips": "stripped",
"strive": "strove",
"strived": "strove",
"strives": "strove",
"striving": "strove",
"strode": "strode",
"stung": "stung",
"stunk": "stank",
"sublet": "sublet",
"sublets": "sublet",
"subletting": "sublet",
"sunburn": "sunburned",
"sunburned": "sunburned",
"sunburning": "sunburned",
"sunburns": "sunburned",
"sung": "sang",
"sunk": "sank",
"swear": "swore",
"swearing": "swore",
"swears": "swore",
"sweat": "sweat",
"sweated": "sweat",
"sweating": "sweat",
"sweats": "sweat",
"sweep": "swept",
"sweeping": "swept",
"sweeps": "swept",
"swell": "swelled",
"swelling": "swelled",
"swells": "swelled",
"swept": "swept",
"swim": "swam",
"swimming": "swam",
"swims": "swam",
"swing": "swung",
"swinging": "swung",
"swings": "swung",
"swollen": "swelled",
"sworn": "swore",
"swum": "swam",
"swung": "swung",
"talk": "talked",
"talked": "talked",
"talking": "talked",
"talks": "talked",
"tear": "tore",
"tearing": "tore",
"tears": "tore",
"thrive": "thrived",
"thrived": "thrived",
"thrives": "thrived",
"thriving": "thrived",
"thrust": "thrust",
"thrusting": "thrust",
"thrusts": "thrust",
"torn": "tore",
"tread": "trod",
"treading": "trod",
"treads": "trod",
"trodden": "trod",
"undergo": "underwent",
"undergoes": "underwent",
"undergoing": "underwent",
"undergone": "underwent",
"underlain": "underlay",
"underlie": "underlay",
"underlies": "underlay",
"underlying": "underlay",
"understand": "understood",
"understanding": "understood",
"understands": "understood",
"understood": "understood",
"undertake": "undertook",
"undertaken": "undertook",
"undertakes": "undertook",
"undertaking": "undertook",
"upset": "upset",
"upsets": "upset",
"upsetting": "upset",
"vex": "vexed",
"vexed": "vexed",
"vexes": "vexed",
"vexing": "vexed",
"vie": "vied",
"vied": "vied",
"vies": "vied",
"vying": "vied",
"wait": "waited",
"waited": "waited",
"waiting": "waited",
"waits": "waited",
"wake": "woke",
"wakes": "woke",
"waking": "woke",
"walk": "walked",
"walked": "walked",
"walking": "walked",
"walks": "walked",
"want": "wanted",
"wanted": "wanted",
"wanting": "wanted",
"wants": "wanted",
"was": "was",
"watch": "watched",
"watched": "watched",
"watches": "watched",
"watching": "watched",
"wear": "wore",
"wearing": "wore",
"wears": "wore",
"weep": "wept",
"weeping": "wept",
"weeps": "wept",
"wend": "wended",
"wended": "wended",
"wending": "wended",
"wends": "wended",
"wept": "wept",
"were": "were",
"will": "would",
"win": "won",
"winning": "won",
"wins": "won",
"wis": "wised",
"wised": "wised",
"wises": "wised",
"wising": "wised",
"withdraw": "withdrew",
"withdrawing": "withdrew",
"withdrawn": "withdrew",
"withdraws": "withdrew",
"withheld": "withheld",
"withhold": "withheld",
"withholding": "withheld",
"withholds": "withheld",
"withstand": "withstood",
"withstanding": "withstood",
"withstands": "withstood",
"withstood": "withstood",
"woken": "woke",
"won": "won",
"worn": "wore",
"wring": "wrung",
"wringing": "wrung",
"wrings": "wrung",
"wrung": "wrung"
}
pres_part_of = {
"abide": "abiding",
"abided": "abiding",
"abides": "abiding",
"abiding": "abiding",
"ache": "aching",
"ached": "aching",
"aches": "aching",
"aching": "aching",
"am": "being",
"arc": "arcing",
"arced": "arcing",
"arcing": "arcing",
"arcs": "arcing",
"are": "being",
"arise": "arising",
"arisen": "arising",
"arises": "arising",
"arising": "arising",
"arose": "arising",
"ask": "asking",
"asked": "asking",
"asking": "asking",
"asks": "asking",
"ate": "eating",
"avalanche": "avalanching",
"avalanched": "avalanching",
"avalanches": "avalanching",
"avalanching": "avalanching",
"awake": "awakening",
"awakening": "awakening",
"awakes": "awakening",
"awoke": "awakening",
"awoken": "awakening",
"be": "being",
"beat": "beating",
"beaten": "beating",
"beating": "beating",
"beats": "beating",
"became": "becoming",
"become": "becoming",
"becomes": "becoming",
"becoming": "becoming",
"been": "being",
"began": "beginning",
"beget": "begetting",
"begets": "begetting",
"begetting": "begetting",
"begin": "beginning",
"beginning": "beginning",
"begins": "beginning",
"begot": "begetting",
"begotten": "begetting",
"begun": "beginning",
"beheld": "beholding",
"behold": "beholding",
"beholding": "beholding",
"beholds": "beholding",
"being": "being",
"bellyache": "bellyaching",
"bellyached": "bellyaching",
"bellyaches": "bellyaching",
"bellyaching": "bellyaching",
"bend": "bending",
"bending": "bending",
"bends": "bending",
"bent": "bending",
"bet": "betting",
"bets": "betting",
"betting": "betting",
"bias": "biasing",
"biased": "biasing",
"biases": "biasing",
"biasing": "biasing",
"bit": "biting",
"bite": "biting",
"bites": "biting",
"biting": "biting",
"bitten": "biting",
"bled": "bleeding",
"bleed": "bleeding",
"bleeding": "bleeding",
"bleeds": "bleeding",
"blew": "blowing",
"blitz": "blitzing",
"blitzed": "blitzing",
"blitzes": "blitzing",
"blitzing": "blitzing",
"blow": "blowing",
"blowing": "blowing",
"blown": "blowing",
"blows": "blowing",
"break": "breaking",
"breaking": "breaking",
"breaks": "breaking",
"bring": "bringing",
"bringing": "bringing",
"brings": "bringing",
"broke": "breaking",
"broken": "breaking",
"brought": "bringing",
"build": "building",
"building": "building",
"builds": "building",
"built": "building",
"burn": "burning",
"burning": "burning",
"burns": "burning",
"burnt": "burning",
"burst": "bursting",
"bursting": "bursting",
"bursts": "bursting",
"bus": "busing",
"bused": "busing",
"buses": "busing",
"busing": "busing",
"bust": "busting",
"busting": "busting",
"busts": "busting",
"cache": "caching",
"cached": "caching",
"caches": "caching",
"caching": "caching",
"caddie": "caddying",
"caddied": "caddying",
"caddies": "caddying",
"caddying": "caddying",
"came": "coming",
"canvas": "canvasing",
"canvased": "canvasing",
"canvases": "canvasing",
"canvasing": "canvasing",
"catch": "catching",
"catches": "catching",
"catching": "catching",
"caucus": "caucusing",
"caucused": "caucusing",
"caucuses": "caucusing",
"caucusing": "caucusing",
"caught": "catching",
"change": "changing",
"changed": "changing",
"changes": "changing",
"changing": "changing",
"choose": "choosing",
"chooses": "choosing",
"choosing": "choosing",
"chorus": "chorusing",
"chorused": "chorusing",
"choruses": "chorusing",
"chorusing": "chorusing",
"chose": "choosing",
"chosen": "choosing",
"clap": "clapping",
"clapped": "clapping",
"clapping": "clapping",
"claps": "clapping",
"cling": "clinging",
"clinging": "clinging",
"clings": "clinging",
"clung": "clinging",
"come": "coming",
"comes": "coming",
"coming": "coming",
"continue": "continuing",
"continued": "continuing",
"continues": "continuing",
"continuing": "continuing",
"cost": "costing",
"costing": "costing",
"costs": "costing",
"creche": "creching",
"creched": "creching",
"creches": "creching",
"creching": "creching",
"creep": "creeping",
"creeping": "creeping",
"creeps": "creeping",
"crept": "creeping",
"dare": "daring",
"dared": "daring",
"dares": "daring",
"daring": "daring",
"deal": "dealing",
"dealing": "dealing",
"deals": "dealing",
"dealt": "dealing",
"did": "doing",
"die": "dying",
"died": "dying",
"dies": "dying",
"dig": "digging",
"digging": "digging",
"digs": "digging",
"dis": "dissing",
"dissed": "dissing",
"disses": "dissing",
"dissing": "dissing",
"dive": "diving",
"dived": "diving",
"dives": "diving",
"diving": "diving",
"do": "doing",
"does": "doing",
"doing": "doing",
"done": "doing",
"douche": "douching",
"douched": "douching",
"douches": "douching",
"douching": "douching",
"drag": "dragging",
"dragged": "dragging",
"dragging": "dragging",
"drags": "dragging",
"drank": "drinking",
"dream": "dreaming",
"dreamed": "dreaming",
"dreaming": "dreaming",
"dreams": "dreaming",
"drink": "drinking",
"drinking": "drinking",
"drinks": "drinking",
"drive": "driving",
"driven": "driving",
"drives": "driving",
"driving": "driving",
"drove": "driving",
"drunk": "drinking",
"dug": "digging",
"dwell": "dwelling",
"dwelling": "dwelling",
"dwells": "dwelling",
"dwelt": "dwelling",
"dying": "dying",
"eat": "eating",
"eaten": "eating",
"eating": "eating",
"eats": "eating",
"expect": "expecting",
"expected": "expecting",
"expecting": "expecting",
"expects": "expecting",
"fall": "falling",
"fallen": "falling",
"falling": "falling",
"falls": "falling",
"feel": "feeling",
"feeling": "feeling",
"feels": "feeling",
"fell": "falling",
"felt": "feeling",
"fight": "fighting",
"fighting": "fighting",
"fights": "fighting",
"find": "finding",
"finding": "finding",
"finds": "finding",
"fled": "fleeing",
"flee": "fleeing",
"fleeing": "fleeing",
"flees": "fleeing",
"flew": "flying",
"flies": "flying",
"fling": "flinging",
"flinging": "flinging",
"flings": "flinging",
"flown": "flying",
"flung": "flinging",
"fly": "flying",
"flying": "flying",
"focus": "focusing",
"focused": "focusing",
"focuses": "focusing",
"focusing": "focusing",
"follow": "following",
"followed": "following",
"following": "following",
"follows": "following",
"forbade": "forbidding",
"forbid": "forbidding",
"forbidden": "forbidding",
"forbidding": "forbidding",
"forbids": "forbidding",
"foresaw": "foreseeing",
"foresee": "foreseeing",
"foreseeing": "foreseeing",
"foreseen": "foreseeing",
"foresees": "foreseeing",
"foretell": "foretelling",
"foretelling": "foretelling",
"foretells": "foretelling",
"foretold": "foretelling",
"forgave": "forgiving",
"forget": "forgetting",
"forgets": "forgetting",
"forgetting": "forgetting",
"forgive": "forgiving",
"forgiven": "forgiving",
"forgives": "forgiving",
"forgiving": "forgiving",
"forgot": "forgetting",
"forgotten": "forgetting",
"forsake": "forsaking",
"forsaken": "forsaking",
"forsakes": "forsaking",
"forsaking": "forsaking",
"forsook": "forsaking",
"fought": "fighting",
"found": "finding",
"gas": "gassing",
"gases": "gassing",
"gassed": "gassing",
"gassing": "gassing",
"gave": "giving",
"get": "getting",
"gets": "getting",
"getting": "getting",
"gild": "gilding",
"gilded": "gilding",
"gilding": "gilding",
"gilds": "gilding",
"give": "giving",
"given": "giving",
"gives": "giving",
"giving": "giving",
"go": "going",
"goes": "going",
"going": "going",
"gone": "going",
"got": "getting",
"gotten": "getting",
"grind": "grinding",
"grinding": "grinding",
"grinds": "grinding",
"ground": "grinding",
"had": "having",
"happen": "happening",
"happened": "happening",
"happening": "happening",
"happens": "happening",
"has": "having",
"have": "having",
"having": "having",
"held": "holding",
"help": "helping",
"helped": "helping",
"helping": "helping",
"helps": "helping",
"hew": "hewing",
"hewed": "hewing",
"hewing": "hewing",
"hewn": "hewing",
"hews": "hewing",
"hie": "hying",
"hied": "hying",
"hies": "hying",
"hit": "hitting",
"hits": "hitting",
"hitting": "hitting",
"hocus": "hocusing",
"hocused": "hocusing",
"hocuses": "hocusing",
"hocusing": "hocusing",
"hold": "holding",
"holding": "holding",
"holds": "holding",
"hurt": "hurting",
"hurting": "hurting",
"hurts": "hurting",
"hying": "hying",
"inlaid": "inlaying",
"inlay": "inlaying",
"inlaying": "inlaying",
"inlays": "inlaying",
"insist": "insisting",
"insisted": "insisting",
"insisting": "insisting",
"insists": "insisting",
"interlaid": "interlaying",
"interlay": "interlaying",
"interlaying": "interlaying",
"interlays": "interlaying",
"iris": "irising",
"irised": "irising",
"irises": "irising",
"irising": "irising",
"is": "being",
"keep": "keeping",
"keeping": "keeping",
"keeps": "keeping",
"kept": "keeping",
"kill": "killing",
"killed": "killing",
"killing": "killing",
"kills": "killing",
"kneel": "kneeling",
"kneeling": "kneeling",
"kneels": "kneeling",
"knelt": "kneeling",
"knew": "knowing",
"knit": "knitting",
"knits": "knitting",
"knitted": "knitting",
"knitting": "knitting",
"know": "knowing",
"knowing": "knowing",
"known": "knowing",
"knows": "knowing",
"laid": "laying",
"lain": "lying",
"lay": "laying",
"laying": "laying",
"lays": "laying",
"lead": "leading",
"leading": "leading",
"leads": "leading",
"lean": "leaning",
"leaned": "leaning",
"leaning": "leaning",
"leans": "leaning",
"leap": "leaping",
"leaping": "leaping",
"leaps": "leaping",
"leapt": "leaping",
"learn": "learning",
"learned": "learning",
"learning": "learning",
"learns": "learning",
"leave": "leaving",
"leaves": "leaving",
"leaving": "leaving",
"led": "leading",
"left": "leaving",
"let": "letting",
"lets": "letting",
"letting": "letting",
"lie": "lying",
"lies": "lying",
"like": "liking",
"liked": "liking",
"likes": "liking",
"liking": "liking",
"live": "living",
"lived": "living",
"lives": "living",
"living": "living",
"look": "looking",
"looked": "looking",
"looking": "looking",
"looks": "looking",
"lose": "losing",
"loses": "losing",
"losing": "losing",
"lost": "losing",
"love": "loving",
"loved": "loving",
"loves": "loving",
"loving": "loving",
"lying": "lying",
"mean": "meaning",
"meaning": "meaning",
"means": "meaning",
"meant": "meaning",
"meet": "meeting",
"meeting": "meeting",
"meets": "meeting",
"menu": "menuing",
"menued": "menuing",
"menuing": "menuing",
"menus": "menuing",
"met": "meeting",
"mislead": "misleading",
"misleading": "misleading",
"misleads": "misleading",
"misled": "misleading",
"mistake": "mistaking",
"mistaken": "mistaking",
"mistakes": "mistaking",
"mistaking": "mistaking",
"mistook": "mistaking",
"misunderstand": "misunderstanding",
"misunderstanding": "misunderstanding",
"misunderstands": "misunderstanding",
"misunderstood": "misunderstanding",
"move": "moving",
"moved": "moving",
"moves": "moving",
"moving": "moving",
"need": "needing",
"needed": "needing",
"needing": "needing",
"needs": "needing",
"niche": "nicheing",
"niched": "nicheing",
"nicheing": "nicheing",
"niches": "nicheing",
"outvie": "outvying",
"outvied": "outvying",
"outvies": "outvying",
"outvying": "outvying",
"overdraw": "overdrawing",
"overdrawing": "overdrawing",
"overdrawn": "overdrawing",
"overdraws": "overdrawing",
"overdrew": "overdrawing",
"overhear": "overhearing",
"overheard": "overhearing",
"overhearing": "overhearing",
"overhears": "overhearing",
"overtake": "overtaking",
"overtaken": "overtaking",
"overtakes": "overtaking",
"overtaking": "overtaking",
"overtook": "overtaking",
"preset": "presetting",
"presets": "presetting",
"presetting": "presetting",
"prove": "proving",
"proved": "proving",
"proven": "proving",
"proves": "proving",
"provide": "providing",
"provided": "providing",
"provides": "providing",
"providing": "providing",
"proving": "proving",
"psyche": "psyching",
"psyched": "psyching",
"psyches": "psyching",
"psyching": "psyching",
"put": "putting",
"puts": "putting",
"putting": "putting",
"quit": "quitting",
"quits": "quitting",
"quitting": "quitting",
"quiz": "quizzing",
"quizzed": "quizzing",
"quizzes": "quizzing",
"quizzing": "quizzing",
"rang": "ringing",
"reach": "reaching",
"reached": "reaching",
"reaches": "reaching",
"reaching": "reaching",
"remain": "remaining",
"remained": "remaining",
"remaining": "remaining",
"remains": "remaining",
"remember": "remembering",
"remembered": "remembering",
"remembering": "remembering",
"remembers": "remembering",
"rend": "rending",
"rending": "rending",
"rends": "rending",
"rent": "rending",
"rented": "renting",
"renting": "renting",
"rents": "renting",
"rid": "ridding",
"ridding": "ridding",
"rids": "ridding",
"ring": "ringing",
"ringing": "ringing",
"rings": "ringing",
"rise": "rising",
"risen": "rising",
"rises": "rising",
"rising": "rising",
"rive": "riving",
"rived": "riving",
"riven": "riving",
"rives": "riving",
"riving": "riving",
"rose": "rising",
"rung": "ringing",
"sang": "singing",
"sank": "sinking",
"sat": "sitting",
"saw": "sawing",
"sawed": "sawing",
"sawing": "sawing",
"sawn": "sawing",
"saws": "sawing",
"seek": "seeking",
"seeking": "seeking",
"seeks": "seeking",
"seem": "seeming",
"seemed": "seeming",
"seeming": "seeming",
"seems": "seeming",
"shake": "shaking",
"shaken": "shaking",
"shakes": "shaking",
"shaking": "shaking",
"shat": "shitting",
"shave": "shaving",
"shaved": "shaving",
"shaves": "shaving",
"shaving": "shaving",
"shed": "shedding",
"shedding": "shedding",
"sheds": "shedding",
"shit": "shitting",
"shits": "shitting",
"shitted": "shitting",
"shitting": "shitting",
"shod": "shoeing",
"shoe": "shoeing",
"shoeing": "shoeing",
"shoes": "shoeing",
"shook": "shaking",
"show": "showing",
"showed": "showing",
"showing": "showing",
"shown": "showing",
"shows": "showing",
"shrank": "shrinking",
"shrink": "shrinking",
"shrinking": "shrinking",
"shrinks": "shrinking",
"shrunk": "shrinking",
"sing": "singing",
"singing": "singing",
"sings": "singing",
"sink": "sinking",
"sinking": "sinking",
"sinks": "sinking",
"sit": "sitting",
"sits": "sitting",
"sitting": "sitting",
"ski": "skiing",
"skied": "skiing",
"skiing": "skiing",
"skis": "skiing",
"slain": "slaying",
"slay": "slaying",
"slaying": "slaying",
"slays": "slaying",
"slew": "slaying",
"slid": "sliding",
"slide": "sliding",
"slides": "sliding",
"sliding": "sliding",
"slink": "slinking",
"slinking": "slinking",
"slinks": "slinking",
"slit": "slitting",
"slits": "slitting",
"slitting": "slitting",
"slunk": "slinking",
"smell": "smelling",
"smelled": "smelling",
"smelling": "smelling",
"smells": "smelling",
"smite": "smiting",
"smites": "smiting",
"smiting": "smiting",
"smitten": "smiting",
"smote": "smiting",
"sneak": "sneaking",
"sneaked": "sneaking",
"sneaking": "sneaking",
"sneaks": "sneaking",
"sought": "seeking",
"sow": "sowing",
"sowed": "sowing",
"sowing": "sowing",
"sown": "sowing",
"sows": "sowing",
"spat": "spitting",
"speak": "speaking",
"speaking": "speaking",
"speaks": "speaking",
"sped": "speeding",
"speed": "speeding",
"speeding": "speeding",
"speeds": "speeding",
"spend": "spending",
"spending": "spending",
"spends": "spending",
"spent": "spending",
"spit": "spitting",
"spits": "spitting",
"spitting": "spitting",
"spoil": "spoiling",
"spoiled": "spoiling",
"spoiling": "spoiling",
"spoils": "spoiling",
"spoilt": "spoiling",
"spoke": "speaking",
"spoken": "speaking",
"sprang": "springing",
"spring": "springing",
"springing": "springing",
"springs": "springing",
"sprung": "springing",
"stand": "standing",
"standing": "standing",
"stands": "standing",
"stank": "stinking",
"stave": "staving",
"staved": "staving",
"staves": "staving",
"staving": "staving",
"stay": "staying",
"stayed": "staying",
"staying": "staying",
"stays": "staying",
"steal": "stealing",
"stealing": "stealing",
"steals": "stealing",
"sting": "stinging",
"stinging": "stinging",
"stings": "stinging",
"stink": "stinking",
"stinking": "stinking",
"stinks": "stinking",
"stole": "stealing",
"stolen": "stealing",
"stood": "standing",
"stop": "stopping",
"stopped": "stopping",
"stopping": "stopping",
"stops": "stopping",
"strew": "strewing",
"strewed": "strewing",
"strewing": "strewing",
"strewn": "strewing",
"strews": "strewing",
"stride": "striding",
"strides": "striding",
"striding": "striding",
"strip": "stripping",
"stripped": "stripping",
"stripping": "stripping",
"strips": "stripping",
"strive": "striving",
"strived": "striving",
"strives": "striving",
"striving": "striving",
"strode": "striding",
"strove": "striving",
"stung": "stinging",
"stunk": "stinking",
"sublet": "subletting",
"sublets": "subletting",
"subletting": "subletting",
"sunburn": "sunburning",
"sunburned": "sunburning",
"sunburning": "sunburning",
"sunburns": "sunburning",
"sung": "singing",
"sunk": "sinking",
"swam": "swimming",
"swear": "swearing",
"swearing": "swearing",
"swears": "swearing",
"sweat": "sweating",
"sweated": "sweating",
"sweating": "sweating",
"sweats": "sweating",
"sweep": "sweeping",
"sweeping": "sweeping",
"sweeps": "sweeping",
"swell": "swelling",
"swelled": "swelling",
"swelling": "swelling",
"swells": "swelling",
"swept": "sweeping",
"swim": "swimming",
"swimming": "swimming",
"swims": "swimming",
"swing": "swinging",
"swinging": "swinging",
"swings": "swinging",
"swollen": "swelling",
"swore": "swearing",
"sworn": "swearing",
"swum": "swimming",
"swung": "swinging",
"talk": "talking",
"talked": "talking",
"talking": "talking",
"talks": "talking",
"tear": "tearing",
"tearing": "tearing",
"tears": "tearing",
"thrive": "thriving",
"thrived": "thriving",
"thrives": "thriving",
"thriving": "thriving",
"thrust": "thrusting",
"thrusting": "thrusting",
"thrusts": "thrusting",
"tore": "tearing",
"torn": "tearing",
"tread": "treading",
"treading": "treading",
"treads": "treading",
"trod": "treading",
"trodden": "treading",
"undergo": "undergoing",
"undergoes": "undergoing",
"undergoing": "undergoing",
"undergone": "undergoing",
"underlain": "underlying",
"underlay": "underlying",
"underlie": "underlying",
"underlies": "underlying",
"underlying": "underlying",
"understand": "understanding",
"understanding": "understanding",
"understands": "understanding",
"understood": "understanding",
"undertake": "undertaking",
"undertaken": "undertaking",
"undertakes": "undertaking",
"undertaking": "undertaking",
"undertook": "undertaking",
"underwent": "undergoing",
"upset": "upsetting",
"upsets": "upsetting",
"upsetting": "upsetting",
"vex": "vexing",
"vexed": "vexing",
"vexes": "vexing",
"vexing": "vexing",
"vie": "vying",
"vied": "vying",
"vies": "vying",
"vying": "vying",
"wait": "waiting",
"waited": "waiting",
"waiting": "waiting",
"waits": "waiting",
"wake": "waking",
"wakes": "waking",
"waking": "waking",
"walk": "walking",
"walked": "walking",
"walking": "walking",
"walks": "walking",
"want": "wanting",
"wanted": "wanting",
"wanting": "wanting",
"wants": "wanting",
"was": "being",
"watch": "watching",
"watched": "watching",
"watches": "watching",
"watching": "watching",
"wear": "wearing",
"wearing": "wearing",
"wears": "wearing",
"weep": "weeping",
"weeping": "weeping",
"weeps": "weeping",
"wend": "wending",
"wended": "wending",
"wending": "wending",
"wends": "wending",
"went": "going",
"wept": "weeping",
"were": "being",
"win": "winning",
"winning": "winning",
"wins": "winning",
"wis": "wising",
"wised": "wising",
"wises": "wising",
"wising": "wising",
"withdraw": "withdrawing",
"withdrawing": "withdrawing",
"withdrawn": "withdrawing",
"withdraws": "withdrawing",
"withdrew": "withdrawing",
"withheld": "withholding",
"withhold": "withholding",
"withholding": "withholding",
"withholds": "withholding",
"withstand": "withstanding",
"withstanding": "withstanding",
"withstands": "withstanding",
"withstood": "withstanding",
"woke": "waking",
"woken": "waking",
"won": "winning",
"wore": "wearing",
"worn": "wearing",
"wring": "wringing",
"wringing": "wringing",
"wrings": "wringing",
"wrung": "wringing"
}
past_part_of = {
"abide": "abided",
"abided": "abided",
"abides": "abided",
"abiding": "abided",
"ache": "ached",
"ached": "ached",
"aches": "ached",
"aching": "ached",
"am": "been",
"arc": "arced",
"arced": "arced",
"arcing": "arced",
"arcs": "arced",
"are": "been",
"arise": "arisen",
"arisen": "arisen",
"arises": "arisen",
"arising": "arisen",
"arose": "arisen",
"ask": "asked",
"asked": "asked",
"asking": "asked",
"asks": "asked",
"ate": "eaten",
"avalanche": "avalanched",
"avalanched": "avalanched",
"avalanches": "avalanched",
"avalanching": "avalanched",
"awake": "awoken",
"awakening": "awoken",
"awakes": "awoken",
"awoke": "awoken",
"awoken": "awoken",
"be": "been",
"beat": "beaten",
"beaten": "beaten",
"beating": "beaten",
"beats": "beaten",
"became": "become",
"become": "become",
"becomes": "become",
"becoming": "become",
"been": "been",
"began": "begun",
"beget": "begotten",
"begets": "begotten",
"begetting": "begotten",
"begin": "begun",
"beginning": "begun",
"begins": "begun",
"begot": "begotten",
"begotten": "begotten",
"begun": "begun",
"beheld": "beheld",
"behold": "beheld",
"beholding": "beheld",
"beholds": "beheld",
"being": "been",
"bellyache": "bellyached",
"bellyached": "bellyached",
"bellyaches": "bellyached",
"bellyaching": "bellyached",
"bend": "bent",
"bending": "bent",
"bends": "bent",
"bent": "bent",
"bet": "bet",
"bets": "bet",
"betting": "bet",
"bias": "biased",
"biased": "biased",
"biases": "biased",
"biasing": "biased",
"bit": "bitten",
"bite": "bitten",
"bites": "bitten",
"biting": "bitten",
"bitten": "bitten",
"bled": "bled",
"bleed": "bled",
"bleeding": "bled",
"bleeds": "bled",
"blew": "blown",
"blitz": "blitzed",
"blitzed": "blitzed",
"blitzes": "blitzed",
"blitzing": "blitzed",
"blow": "blown",
"blowing": "blown",
"blown": "blown",
"blows": "blown",
"break": "broken",
"breaking": "broken",
"breaks": "broken",
"bring": "brought",
"bringing": "brought",
"brings": "brought",
"broke": "broken",
"broken": "broken",
"brought": "brought",
"build": "built",
"building": "built",
"builds": "built",
"built": "built",
"burn": "burnt",
"burning": "burnt",
"burns": "burnt",
"burnt": "burnt",
"burst": "burst",
"bursting": "burst",
"bursts": "burst",
"bus": "bused",
"bused": "bused",
"buses": "bused",
"busing": "bused",
"bust": "bust",
"busting": "bust",
"busts": "bust",
"cache": "cached",
"cached": "cached",
"caches": "cached",
"caching": "cached",
"caddie": "caddied",
"caddied": "caddied",
"caddies": "caddied",
"caddying": "caddied",
"came": "come",
"canvas": "canvased",
"canvased": "canvased",
"canvases": "canvased",
"canvasing": "canvased",
"catch": "caught",
"catches": "caught",
"catching": "caught",
"caucus": "caucused",
"caucused": "caucused",
"caucuses": "caucused",
"caucusing": "caucused",
"caught": "caught",
"change": "changed",
"changed": "changed",
"changes": "changed",
"changing": "changed",
"choose": "chosen",
"chooses": "chosen",
"choosing": "chosen",
"chorus": "chorused",
"chorused": "chorused",
"choruses": "chorused",
"chorusing": "chorused",
"chose": "chosen",
"chosen": "chosen",
"clap": "clapped",
"clapped": "clapped",
"clapping": "clapped",
"claps": "clapped",
"cling": "clung",
"clinging": "clung",
"clings": "clung",
"clung": "clung",
"come": "come",
"comes": "come",
"coming": "come",
"continue": "continued",
"continued": "continued",
"continues": "continued",
"continuing": "continued",
"cost": "cost",
"costing": "cost",
"costs": "cost",
"creche": "creched",
"creched": "creched",
"creches": "creched",
"creching": "creched",
"creep": "crept",
"creeping": "crept",
"creeps": "crept",
"crept": "crept",
"dare": "dared",
"dared": "dared",
"dares": "dared",
"daring": "dared",
"deal": "dealt",
"dealing": "dealt",
"deals": "dealt",
"dealt": "dealt",
"did": "done",
"die": "died",
"died": "died",
"dies": "died",
"dig": "dug",
"digging": "dug",
"digs": "dug",
"dis": "dissed",
"dissed": "dissed",
"disses": "dissed",
"dissing": "dissed",
"dive": "dived",
"dived": "dived",
"dives": "dived",
"diving": "dived",
"do": "done",
"does": "done",
"doing": "done",
"done": "done",
"douche": "douched",
"douched": "douched",
"douches": "douched",
"douching": "douched",
"drag": "dragged",
"dragged": "dragged",
"dragging": "dragged",
"drags": "dragged",
"drank": "drunk",
"dream": "dreamed",
"dreamed": "dreamed",
"dreaming": "dreamed",
"dreams": "dreamed",
"drink": "drunk",
"drinking": "drunk",
"drinks": "drunk",
"drive": "driven",
"driven": "driven",
"drives": "driven",
"driving": "driven",
"drove": "driven",
"drunk": "drunk",
"dug": "dug",
"dwell": "dwelt",
"dwelling": "dwelt",
"dwells": "dwelt",
"dwelt": "dwelt",
"dying": "died",
"eat": "eaten",
"eaten": "eaten",
"eating": "eaten",
"eats": "eaten",
"expect": "expected",
"expected": "expected",
"expecting": "expected",
"expects": "expected",
"fall": "fallen",
"fallen": "fallen",
"falling": "fallen",
"falls": "fallen",
"feel": "felt",
"feeling": "felt",
"feels": "felt",
"fell": "fallen",
"felt": "felt",
"fight": "fought",
"fighting": "fought",
"fights": "fought",
"find": "found",
"finding": "found",
"finds": "found",
"fled": "fled",
"flee": "fled",
"fleeing": "fled",
"flees": "fled",
"flew": "flown",
"flies": "flown",
"fling": "flung",
"flinging": "flung",
"flings": "flung",
"flown": "flown",
"flung": "flung",
"fly": "flown",
"flying": "flown",
"focus": "focused",
"focused": "focused",
"focuses": "focused",
"focusing": "focused",
"follow": "followed",
"followed": "followed",
"following": "followed",
"follows": "followed",
"forbade": "forbidden",
"forbid": "forbidden",
"forbidden": "forbidden",
"forbidding": "forbidden",
"forbids": "forbidden",
"foresaw": "foreseen",
"foresee": "foreseen",
"foreseeing": "foreseen",
"foreseen": "foreseen",
"foresees": "foreseen",
"foretell": "foretold",
"foretelling": "foretold",
"foretells": "foretold",
"foretold": "foretold",
"forgave": "forgiven",
"forget": "forgotten",
"forgets": "forgotten",
"forgetting": "forgotten",
"forgive": "forgiven",
"forgiven": "forgiven",
"forgives": "forgiven",
"forgiving": "forgiven",
"forgot": "forgotten",
"forgotten": "forgotten",
"forsake": "forsaken",
"forsaken": "forsaken",
"forsakes": "forsaken",
"forsaking": "forsaken",
"forsook": "forsaken",
"fought": "fought",
"found": "found",
"gas": "gassed",
"gases": "gassed",
"gassed": "gassed",
"gassing": "gassed",
"gave": "given",
"get": "gotten",
"gets": "gotten",
"getting": "gotten",
"gild": "gilded",
"gilded": "gilded",
"gilding": "gilded",
"gilds": "gilded",
"give": "given",
"given": "given",
"gives": "given",
"giving": "given",
"go": "gone",
"goes": "gone",
"going": "gone",
"gone": "gone",
"got": "gotten",
"gotten": "gotten",
"grind": "ground",
"grinding": "ground",
"grinds": "ground",
"ground": "ground",
"had": "had",
"happen": "happened",
"happened": "happened",
"happening": "happened",
"happens": "happened",
"has": "had",
"have": "had",
"having": "had",
"held": "held",
"help": "helped",
"helped": "helped",
"helping": "helped",
"helps": "helped",
"hew": "hewn",
"hewed": "hewn",
"hewing": "hewn",
"hewn": "hewn",
"hews": "hewn",
"hie": "hied",
"hied": "hied",
"hies": "hied",
"hit": "hit",
"hits": "hit",
"hitting": "hit",
"hocus": "hocused",
"hocused": "hocused",
"hocuses": "hocused",
"hocusing": "hocused",
"hold": "held",
"holding": "held",
"holds": "held",
"hurt": "hurt",
"hurting": "hurt",
"hurts": "hurt",
"hying": "hied",
"inlaid": "inlaid",
"inlay": "inlaid",
"inlaying": "inlaid",
"inlays": "inlaid",
"insist": "insisted",
"insisted": "insisted",
"insisting": "insisted",
"insists": "insisted",
"interlaid": "interlaid",
"interlay": "interlaid",
"interlaying": "interlaid",
"interlays": "interlaid",
"iris": "irised",
"irised": "irised",
"irises": "irised",
"irising": "irised",
"is": "been",
"keep": "kept",
"keeping": "kept",
"keeps": "kept",
"kept": "kept",
"kill": "killed",
"killed": "killed",
"killing": "killed",
"kills": "killed",
"kneel": "knelt",
"kneeling": "knelt",
"kneels": "knelt",
"knelt": "knelt",
"knew": "known",
"knit": "knitted",
"knits": "knitted",
"knitted": "knitted",
"knitting": "knitted",
"know": "known",
"knowing": "known",
"known": "known",
"knows": "known",
"laid": "laid",
"lain": "lain",
"lay": "laid",
"laying": "laid",
"lays": "laid",
"lead": "led",
"leading": "led",
"leads": "led",
"lean": "leaned",
"leaned": "leaned",
"leaning": "leaned",
"leans": "leaned",
"leap": "leapt",
"leaping": "leapt",
"leaps": "leapt",
"leapt": "leapt",
"learn": "learned",
"learned": "learned",
"learning": "learned",
"learns": "learned",
"leave": "left",
"leaves": "left",
"leaving": "left",
"led": "led",
"left": "left",
"let": "let",
"lets": "let",
"letting": "let",
"lie": "lain",
"lies": "lain",
"like": "liked",
"liked": "liked",
"likes": "liked",
"liking": "liked",
"live": "lived",
"lived": "lived",
"lives": "lived",
"living": "lived",
"look": "looked",
"looked": "looked",
"looking": "looked",
"looks": "looked",
"lose": "lost",
"loses": "lost",
"losing": "lost",
"lost": "lost",
"love": "loved",
"loved": "loved",
"loves": "loved",
"loving": "loved",
"lying": "lain",
"mean": "meant",
"meaning": "meant",
"means": "meant",
"meant": "meant",
"meet": "met",
"meeting": "met",
"meets": "met",
"menu": "menued",
"menued": "menued",
"menuing": "menued",
"menus": "menued",
"met": "met",
"mislead": "misled",
"misleading": "misled",
"misleads": "misled",
"misled": "misled",
"mistake": "mistaken",
"mistaken": "mistaken",
"mistakes": "mistaken",
"mistaking": "mistaken",
"mistook": "mistaken",
"misunderstand": "misunderstood",
"misunderstanding": "misunderstood",
"misunderstands": "misunderstood",
"misunderstood": "misunderstood",
"move": "moved",
"moved": "moved",
"moves": "moved",
"moving": "moved",
"need": "needed",
"needed": "needed",
"needing": "needed",
"needs": "needed",
"niche": "niched",
"niched": "niched",
"nicheing": "niched",
"niches": "niched",
"outvie": "outvied",
"outvied": "outvied",
"outvies": "outvied",
"outvying": "outvied",
"overdraw": "overdrawn",
"overdrawing": "overdrawn",
"overdrawn": "overdrawn",
"overdraws": "overdrawn",
"overdrew": "overdrawn",
"overhear": "overheard",
"overheard": "overheard",
"overhearing": "overheard",
"overhears": "overheard",
"overtake": "overtaken",
"overtaken": "overtaken",
"overtakes": "overtaken",
"overtaking": "overtaken",
"overtook": "overtaken",
"preset": "preset",
"presets": "preset",
"presetting": "preset",
"prove": "proven",
"proved": "proven",
"proven": "proven",
"proves": "proven",
"provide": "provided",
"provided": "provided",
"provides": "provided",
"providing": "provided",
"proving": "proven",
"psyche": "psyched",
"psyched": "psyched",
"psyches": "psyched",
"psyching": "psyched",
"put": "put",
"puts": "put",
"putting": "put",
"quit": "quit",
"quits": "quit",
"quitting": "quit",
"quiz": "quizzed",
"quizzed": "quizzed",
"quizzes": "quizzed",
"quizzing": "quizzed",
"rang": "rung",
"reach": "reached",
"reached": "reached",
"reaches": "reached",
"reaching": "reached",
"remain": "remained",
"remained": "remained",
"remaining": "remained",
"remains": "remained",
"remember": "remembered",
"remembered": "remembered",
"remembering": "remembered",
"remembers": "remembered",
"rend": "rent",
"rending": "rent",
"rends": "rent",
"rent": "rent",
"rented": "rented",
"renting": "rented",
"rents": "rented",
"rid": "rid",
"ridding": "rid",
"rids": "rid",
"ring": "rung",
"ringing": "rung",
"rings": "rung",
"rise": "risen",
"risen": "risen",
"rises": "risen",
"rising": "risen",
"rive": "riven",
"rived": "riven",
"riven": "riven",
"rives": "riven",
"riving": "riven",
"rose": "risen",
"rung": "rung",
"sang": "sung",
"sank": "sunk",
"sat": "sat",
"saw": "sawn",
"sawed": "sawn",
"sawing": "sawn",
"sawn": "sawn",
"saws": "sawn",
"seek": "sought",
"seeking": "sought",
"seeks": "sought",
"seem": "seemed",
"seemed": "seemed",
"seeming": "seemed",
"seems": "seemed",
"shake": "shaken",
"shaken": "shaken",
"shakes": "shaken",
"shaking": "shaken",
"shat": "shitted",
"shave": "shaved",
"shaved": "shaved",
"shaves": "shaved",
"shaving": "shaved",
"shed": "shed",
"shedding": "shed",
"sheds": "shed",
"shit": "shitted",
"shits": "shitted",
"shitted": "shitted",
"shitting": "shitted",
"shod": "shod",
"shoe": "shod",
"shoeing": "shod",
"shoes": "shod",
"shook": "shaken",
"show": "shown",
"showed": "shown",
"showing": "shown",
"shown": "shown",
"shows": "shown",
"shrank": "shrunk",
"shrink": "shrunk",
"shrinking": "shrunk",
"shrinks": "shrunk",
"shrunk": "shrunk",
"sing": "sung",
"singing": "sung",
"sings": "sung",
"sink": "sunk",
"sinking": "sunk",
"sinks": "sunk",
"sit": "sat",
"sits": "sat",
"sitting": "sat",
"ski": "skied",
"skied": "skied",
"skiing": "skied",
"skis": "skied",
"slain": "slain",
"slay": "slain",
"slaying": "slain",
"slays": "slain",
"slew": "slain",
"slid": "slid",
"slide": "slid",
"slides": "slid",
"sliding": "slid",
"slink": "slunk",
"slinking": "slunk",
"slinks": "slunk",
"slit": "slit",
"slits": "slit",
"slitting": "slit",
"slunk": "slunk",
"smell": "smelled",
"smelled": "smelled",
"smelling": "smelled",
"smells": "smelled",
"smite": "smitten",
"smites": "smitten",
"smiting": "smitten",
"smitten": "smitten",
"smote": "smitten",
"sneak": "sneaked",
"sneaked": "sneaked",
"sneaking": "sneaked",
"sneaks": "sneaked",
"sought": "sought",
"sow": "sown",
"sowed": "sown",
"sowing": "sown",
"sown": "sown",
"sows": "sown",
"spat": "spat",
"speak": "spoken",
"speaking": "spoken",
"speaks": "spoken",
"sped": "sped",
"speed": "sped",
"speeding": "sped",
"speeds": "sped",
"spend": "spent",
"spending": "spent",
"spends": "spent",
"spent": "spent",
"spit": "spat",
"spits": "spat",
"spitting": "spat",
"spoil": "spoiled",
"spoiled": "spoiled",
"spoiling": "spoiled",
"spoils": "spoiled",
"spoilt": "spoiled",
"spoke": "spoken",
"spoken": "spoken",
"sprang": "sprung",
"spring": "sprung",
"springing": "sprung",
"springs": "sprung",
"sprung": "sprung",
"stand": "stood",
"standing": "stood",
"stands": "stood",
"stank": "stunk",
"stave": "staved",
"staved": "staved",
"staves": "staved",
"staving": "staved",
"stay": "stayed",
"stayed": "stayed",
"staying": "stayed",
"stays": "stayed",
"steal": "stolen",
"stealing": "stolen",
"steals": "stolen",
"sting": "stung",
"stinging": "stung",
"stings": "stung",
"stink": "stunk",
"stinking": "stunk",
"stinks": "stunk",
"stole": "stolen",
"stolen": "stolen",
"stood": "stood",
"stop": "stopped",
"stopped": "stopped",
"stopping": "stopped",
"stops": "stopped",
"strew": "strewn",
"strewed": "strewn",
"strewing": "strewn",
"strewn": "strewn",
"strews": "strewn",
"stride": "strode",
"strides": "strode",
"striding": "strode",
"strip": "stripped",
"stripped": "stripped",
"stripping": "stripped",
"strips": "stripped",
"strive": "strived",
"strived": "strived",
"strives": "strived",
"striving": "strived",
"strode": "strode",
"strove": "strived",
"stung": "stung",
"stunk": "stunk",
"sublet": "sublet",
"sublets": "sublet",
"subletting": "sublet",
"sunburn": "sunburned",
"sunburned": "sunburned",
"sunburning": "sunburned",
"sunburns": "sunburned",
"sung": "sung",
"sunk": "sunk",
"swam": "swum",
"swear": "sworn",
"swearing": "sworn",
"swears": "sworn",
"sweat": "sweated",
"sweated": "sweated",
"sweating": "sweated",
"sweats": "sweated",
"sweep": "swept",
"sweeping": "swept",
"sweeps": "swept",
"swell": "swollen",
"swelled": "swollen",
"swelling": "swollen",
"swells": "swollen",
"swept": "swept",
"swim": "swum",
"swimming": "swum",
"swims": "swum",
"swing": "swung",
"swinging": "swung",
"swings": "swung",
"swollen": "swollen",
"swore": "sworn",
"sworn": "sworn",
"swum": "swum",
"swung": "swung",
"talk": "talked",
"talked": "talked",
"talking": "talked",
"talks": "talked",
"tear": "torn",
"tearing": "torn",
"tears": "torn",
"thrive": "thrived",
"thrived": "thrived",
"thrives": "thrived",
"thriving": "thrived",
"thrust": "thrust",
"thrusting": "thrust",
"thrusts": "thrust",
"tore": "torn",
"torn": "torn",
"tread": "trodden",
"treading": "trodden",
"treads": "trodden",
"trod": "trodden",
"trodden": "trodden",
"undergo": "undergone",
"undergoes": "undergone",
"undergoing": "undergone",
"undergone": "undergone",
"underlain": "underlain",
"underlay": "underlain",
"underlie": "underlain",
"underlies": "underlain",
"underlying": "underlain",
"understand": "understood",
"understanding": "understood",
"understands": "understood",
"understood": "understood",
"undertake": "undertaken",
"undertaken": "undertaken",
"undertakes": "undertaken",
"undertaking": "undertaken",
"undertook": "undertaken",
"underwent": "undergone",
"upset": "upset",
"upsets": "upset",
"upsetting": "upset",
"vex": "vexed",
"vexed": "vexed",
"vexes": "vexed",
"vexing": "vexed",
"vie": "vied",
"vied": "vied",
"vies": "vied",
"vying": "vied",
"wait": "waited",
"waited": "waited",
"waiting": "waited",
"waits": "waited",
"wake": "woken",
"wakes": "woken",
"waking": "woken",
"walk": "walked",
"walked": "walked",
"walking": "walked",
"walks": "walked",
"want": "wanted",
"wanted": "wanted",
"wanting": "wanted",
"wants": "wanted",
"was": "been",
"watch": "watched",
"watched": "watched",
"watches": "watched",
"watching": "watched",
"wear": "worn",
"wearing": "worn",
"wears": "worn",
"weep": "wept",
"weeping": "wept",
"weeps": "wept",
"wend": "wended",
"wended": "wended",
"wending": "wended",
"wends": "wended",
"went": "gone",
"wept": "wept",
"were": "been",
"win": "won",
"winning": "won",
"wins": "won",
"wis": "wised",
"wised": "wised",
"wises": "wised",
"wising": "wised",
"withdraw": "withdrawn",
"withdrawing": "withdrawn",
"withdrawn": "withdrawn",
"withdraws": "withdrawn",
"withdrew": "withdrawn",
"withheld": "withheld",
"withhold": "withheld",
"withholding": "withheld",
"withholds": "withheld",
"withstand": "withstood",
"withstanding": "withstood",
"withstands": "withstood",
"withstood": "withstood",
"woke": "woken",
"woken": "woken",
"won": "won",
"wore": "worn",
"worn": "worn",
"wring": "wrung",
"wringing": "wrung",
"wrings": "wrung",
"wrung": "wrung"
}
plural_convert_rule_regex = re.compile(r"^(?:((?:.{2,})?)considers|((?:.{2,})?)believes|((?:.{2,})?)includes|((?:.{2,})?)freezes|((?:.{2,})?)spreads|((?:.{2,})?)strikes|((?:.{2,})?)strings|((?:.{2,})?)teaches|((?:.{2,})?)alights|((?:.{2,})?)appears|((?:.{2,})?)clothes|((?:.{2,})?)creates|((?:.{2,})?)breeds|((?:.{2,})?)inputs|((?:.{2,})?)lights|((?:.{2,})?)shears|((?:.{2,})?)shines|((?:.{2,})?)shoots|((?:.{2,})?)sleeps|((?:.{2,})?)slings|((?:.{2,})?)splits|((?:.{2,})?)sticks|((?:.{2,})?)thinks|((?:.{2,})?)throws|((?:.{2,})?)weaves|((?:.{2,})?)writes|((?:.{2,})?)allows|((?:.{2,})?)offers|((?:.{2,})?)serves|((?:.{2,})?)smells|((?:.{2,})?)spells|((?:.{2,})?)spills|((?:.{2,})?)starts|(.+)trixes|((?:.{2,})?)bears|((?:.{2,})?)binds|((?:.{2,})?)casts|((?:.{2,})?)clads|((?:.{2,})?)draws|((?:.{2,})?)feeds|((?:.{2,})?)grows|((?:.{2,})?)hangs|((?:.{2,})?)hears|((?:.{2,})?)hides|((?:.{2,})?)knits|((?:.{2,})?)lends|((?:.{2,})?)makes|((?:.{2,})?)reads|((?:.{2,})?)rides|((?:.{2,})?)sells|((?:.{2,})?)sends|((?:.{2,})?)shuts|((?:.{2,})?)spins|((?:.{2,})?)takes|((?:.{2,})?)tells|((?:.{2,})?)tries|((?:.{2,})?)winds|((?:.{2,})?)calls|((?:.{2,})?)melts|((?:.{2,})?)opens|((?:.{2,})?)plays|((?:.{2,})?)turns|((?:.{2,})?)works|((?:.{2,})?)bids|((?:.{2,})?)buys|((?:.{2,})?)cuts|((?:.{2,})?)mows|((?:.{2,})?)pays|((?:.{2,})?)runs|((?:.{2,})?)says|((?:.{2,})?)sees|((?:.{2,})?)sets|((?:.{2,})?)sews|((?:.{2,})?)weds|((?:.{2,})?)wets|((?:.{2,})?)adds|((?:.{2,})?)fits|((?:.{2,})?)uses|(.+[aiy])nxes|(.+)ceps|(.+)ieus|(.+)eaus|(.+)sses|(.+)zzes|(.+[aeiou])zzes|(.+)n't|(.+)ics|(.+[cs])hes|(.+)oes|(.+)xes|(.+)zes|(.+)ues|(.+)ees|(.+)yes|(.+)ies|(.+)ers|(.+[aeiou])ys|(.+)is|(.+[au])es|(.+[^b])is|(.+)ys|(.+[^e])es|(.+[^s])s)$")
plural_convert_outputs = [
"consider",
"believe",
"include",
"freeze",
"spread",
"strike",
"string",
"teach",
"alight",
"appear",
"clothe",
"create",
"breed",
"input",
"light",
"shear",
"shine",
"shoot",
"sleep",
"sling",
"split",
"stick",
"think",
"throw",
"weave",
"write",
"allow",
"offer",
"serve",
"smell",
"spell",
"spill",
"start",
"trix",
"bear",
"bind",
"cast",
"clad",
"draw",
"feed",
"grow",
"hang",
"hear",
"hide",
"knit",
"lend",
"make",
"read",
"ride",
"sell",
"send",
"shut",
"spin",
"take",
"tell",
"try",
"wind",
"call",
"melt",
"open",
"play",
"turn",
"work",
"bid",
"buy",
"cut",
"mow",
"pay",
"run",
"say",
"see",
"set",
"sew",
"wed",
"wet",
"add",
"fit",
"use",
"nx",
"ceps",
"ieu",
"eau",
"ss",
"zz",
"z",
"n't",
"ic",
"h",
"oe",
"x",
"ze",
"ue",
"ee",
"ye",
"y",
"er",
"y",
"i",
"e",
"i",
"y",
"e",
"",
]
singular_convert_rule_regex = re.compile(r"^(?:((?:.{2,})?)consider|((?:.{2,})?)believe|((?:.{2,})?)include|((?:.{2,})?)freeze|((?:.{2,})?)spread|((?:.{2,})?)strike|((?:.{2,})?)string|((?:.{2,})?)alight|((?:.{2,})?)appear|((?:.{2,})?)clothe|((?:.{2,})?)create|((?:.{2,})?)breed|((?:.{2,})?)input|((?:.{2,})?)light|((?:.{2,})?)shear|((?:.{2,})?)shine|((?:.{2,})?)shoot|((?:.{2,})?)sleep|((?:.{2,})?)sling|((?:.{2,})?)split|((?:.{2,})?)stick|((?:.{2,})?)teach|((?:.{2,})?)think|((?:.{2,})?)throw|((?:.{2,})?)weave|((?:.{2,})?)write|((?:.{2,})?)allow|((?:.{2,})?)offer|((?:.{2,})?)serve|((?:.{2,})?)smell|((?:.{2,})?)spell|((?:.{2,})?)spill|((?:.{2,})?)start|((?:.{2,})?)bear|((?:.{2,})?)bind|((?:.{2,})?)cast|((?:.{2,})?)clad|((?:.{2,})?)draw|((?:.{2,})?)feed|((?:.{2,})?)grow|((?:.{2,})?)hang|((?:.{2,})?)hear|((?:.{2,})?)hide|((?:.{2,})?)knit|((?:.{2,})?)lend|((?:.{2,})?)make|((?:.{2,})?)read|((?:.{2,})?)ride|((?:.{2,})?)sell|((?:.{2,})?)send|((?:.{2,})?)shut|((?:.{2,})?)spin|((?:.{2,})?)take|((?:.{2,})?)tell|((?:.{2,})?)wind|((?:.{2,})?)call|((?:.{2,})?)melt|((?:.{2,})?)open|((?:.{2,})?)play|((?:.{2,})?)turn|((?:.{2,})?)work|(.+)ceps|(.+)trix|((?:.{2,})?)bid|((?:.{2,})?)buy|((?:.{2,})?)cut|((?:.{2,})?)mow|((?:.{2,})?)pay|((?:.{2,})?)run|((?:.{2,})?)say|((?:.{2,})?)see|((?:.{2,})?)set|((?:.{2,})?)sew|((?:.{2,})?)try|((?:.{2,})?)wed|((?:.{2,})?)wet|((?:.{2,})?)add|((?:.{2,})?)fit|((?:.{2,})?)use|(.+)n't|(.+)ieu|(.+)eau|(.+)ic|(.+[aiy])nx|(.+)oe|(.+)ss|(.+)zz|(.+)ze|(.+)ue|(.+)ee|(.+)ye|(.+)ie|(.+)er|(.+[aeiou])y|(.+[cs])h|(.+)x|(.+[aeiou])z|(.+)z|(.+)i|(.+[au])e|(.+[^b])i|(.+)y|(.+[^e])e|(.+[^s]))$")
singular_convert_outputs = [
"considers",
"believes",
"includes",
"freezes",
"spreads",
"strikes",
"strings",
"alights",
"appears",
"clothes",
"creates",
"breeds",
"inputs",
"lights",
"shears",
"shines",
"shoots",
"sleeps",
"slings",
"splits",
"sticks",
"teaches",
"thinks",
"throws",
"weaves",
"writes",
"allows",
"offers",
"serves",
"smells",
"spells",
"spills",
"starts",
"bears",
"binds",
"casts",
"clads",
"draws",
"feeds",
"grows",
"hangs",
"hears",
"hides",
"knits",
"lends",
"makes",
"reads",
"rides",
"sells",
"sends",
"shuts",
"spins",
"takes",
"tells",
"winds",
"calls",
"melts",
"opens",
"plays",
"turns",
"works",
"ceps",
"trixes",
"bids",
"buys",
"cuts",
"mows",
"pays",
"runs",
"says",
"sees",
"sets",
"sews",
"tries",
"weds",
"wets",
"adds",
"fits",
"uses",
"n't",
"ieus",
"eaus",
"ics",
"nxes",
"oes",
"sses",
"zzes",
"zes",
"ues",
"ees",
"yes",
"ies",
"ers",
"ys",
"hes",
"xes",
"zzes",
"zes",
"is",
"es",
"is",
"ies",
"es",
"s",
]
past_convert_rule_regex = re.compile(r"^(?:((?:.{2,})?)considers|((?:.{2,})?)believes|((?:.{2,})?)consider|((?:.{2,})?)includes|((?:.{2,})?)freezes|((?:.{2,})?)spreads|((?:.{2,})?)strikes|((?:.{2,})?)strings|((?:.{2,})?)teaches|((?:.{2,})?)alights|((?:.{2,})?)appears|((?:.{2,})?)believe|((?:.{2,})?)clothes|((?:.{2,})?)creates|((?:.{2,})?)include|((?:.{2,})?)breeds|((?:.{2,})?)freeze|((?:.{2,})?)inputs|((?:.{2,})?)lights|((?:.{2,})?)shears|((?:.{2,})?)shines|((?:.{2,})?)shoots|((?:.{2,})?)sleeps|((?:.{2,})?)slings|((?:.{2,})?)splits|((?:.{2,})?)spread|((?:.{2,})?)sticks|((?:.{2,})?)strike|((?:.{2,})?)string|((?:.{2,})?)thinks|((?:.{2,})?)throws|((?:.{2,})?)weaves|((?:.{2,})?)writes|((?:.{2,})?)alight|((?:.{2,})?)allows|((?:.{2,})?)appear|((?:.{2,})?)clothe|((?:.{2,})?)create|((?:.{2,})?)offers|((?:.{2,})?)serves|((?:.{2,})?)smells|((?:.{2,})?)spells|((?:.{2,})?)spills|((?:.{2,})?)starts|(.+)trixes|((?:.{2,})?)bears|((?:.{2,})?)binds|((?:.{2,})?)breed|((?:.{2,})?)casts|((?:.{2,})?)clads|((?:.{2,})?)draws|((?:.{2,})?)feeds|((?:.{2,})?)grows|((?:.{2,})?)hangs|((?:.{2,})?)hears|((?:.{2,})?)hides|((?:.{2,})?)input|((?:.{2,})?)knits|((?:.{2,})?)lends|((?:.{2,})?)light|((?:.{2,})?)makes|((?:.{2,})?)reads|((?:.{2,})?)rides|((?:.{2,})?)sells|((?:.{2,})?)sends|((?:.{2,})?)shear|((?:.{2,})?)shine|((?:.{2,})?)shoot|((?:.{2,})?)shuts|((?:.{2,})?)sleep|((?:.{2,})?)sling|((?:.{2,})?)spins|((?:.{2,})?)split|((?:.{2,})?)stick|((?:.{2,})?)takes|((?:.{2,})?)teach|((?:.{2,})?)tells|((?:.{2,})?)think|((?:.{2,})?)throw|((?:.{2,})?)tries|((?:.{2,})?)weave|((?:.{2,})?)winds|((?:.{2,})?)write|((?:.{2,})?)allow|((?:.{2,})?)calls|((?:.{2,})?)melts|((?:.{2,})?)offer|((?:.{2,})?)opens|((?:.{2,})?)plays|((?:.{2,})?)serve|((?:.{2,})?)smell|((?:.{2,})?)spell|((?:.{2,})?)spill|((?:.{2,})?)start|((?:.{2,})?)turns|((?:.{2,})?)works|((?:.{2,})?)bear|((?:.{2,})?)bids|((?:.{2,})?)bind|((?:.{2,})?)buys|((?:.{2,})?)cast|((?:.{2,})?)clad|((?:.{2,})?)cuts|((?:.{2,})?)draw|((?:.{2,})?)feed|((?:.{2,})?)grow|((?:.{2,})?)hang|((?:.{2,})?)hear|((?:.{2,})?)hide|((?:.{2,})?)knit|((?:.{2,})?)lend|((?:.{2,})?)make|((?:.{2,})?)mows|((?:.{2,})?)pays|((?:.{2,})?)read|((?:.{2,})?)ride|((?:.{2,})?)runs|((?:.{2,})?)says|((?:.{2,})?)sees|((?:.{2,})?)sell|((?:.{2,})?)send|((?:.{2,})?)sets|((?:.{2,})?)sews|((?:.{2,})?)shut|((?:.{2,})?)spin|((?:.{2,})?)take|((?:.{2,})?)tell|((?:.{2,})?)weds|((?:.{2,})?)wets|((?:.{2,})?)wind|((?:.{2,})?)adds|((?:.{2,})?)call|((?:.{2,})?)fits|((?:.{2,})?)melt|((?:.{2,})?)open|((?:.{2,})?)play|((?:.{2,})?)turn|((?:.{2,})?)uses|((?:.{2,})?)work|(.+[aiy])nxes|(.+)ceps|(.+)ieus|(.+)eaus|(.+)sses|(.+)trix|(.+)zzes|(.+[aeiou])zzes|((?:.{2,})?)bid|((?:.{2,})?)buy|((?:.{2,})?)cut|((?:.{2,})?)mow|((?:.{2,})?)pay|((?:.{2,})?)run|((?:.{2,})?)say|((?:.{2,})?)see|((?:.{2,})?)set|((?:.{2,})?)sew|((?:.{2,})?)try|((?:.{2,})?)wed|((?:.{2,})?)wet|((?:.{2,})?)add|((?:.{2,})?)fit|((?:.{2,})?)use|(.+)n't|(.+)ics|(.+[cs])hes|(.+)oes|(.+)ieu|(.+)eau|(.+)xes|(.+)zes|(.+)ues|(.+)ees|(.+)yes|(.+)ies|(.+)ers|(.+)ic|(.+[aeiou])ys|(.+[aiy])nx|(.+)oe|(.+)ss|(.+)zz|(.+)ze|(.+)ue|(.+)is|(.+)ee|(.+)ye|(.+[au])es|(.+[^b])is|(.+)ie|(.+)ys|(.+[^e])es|(.+)er|(.+[aeiou])y|(.+[cs])h|(.+)x|(.+[aeiou])z|(.+)z|(.+)i|(.+[au])e|(.+[^b])i|(.+)y|(.+[^e])e)$")
past_convert_outputs = [
"considered",
"believed",
"considered",
"included",
"froze",
"spread",
"struck",
"strung",
"taught",
"alighted",
"appeared",
"believed",
"clothed",
"created",
"included",
"bred",
"froze",
"input",
"lit",
"sheared",
"shone",
"shot",
"slept",
"slung",
"split",
"spread",
"stuck",
"struck",
"strung",
"thought",
"threw",
"wove",
"wrote",
"alighted",
"allowed",
"appeared",
"clothed",
"created",
"offered",
"served",
"smelled",
"spelled",
"spilled",
"started",
"trixed",
"bore",
"bound",
"bred",
"cast",
"clad",
"drew",
"fed",
"grew",
"hung",
"heard",
"hid",
"input",
"knitted",
"lent",
"lit",
"made",
"read",
"rode",
"sold",
"sent",
"sheared",
"shone",
"shot",
"shut",
"slept",
"slung",
"spun",
"split",
"stuck",
"took",
"taught",
"told",
"thought",
"threw",
"tried",
"wove",
"wound",
"wrote",
"allowed",
"called",
"melted",
"offered",
"opened",
"played",
"served",
"smelled",
"spelled",
"spilled",
"started",
"turned",
"worked",
"bore",
"bid",
"bound",
"bought",
"cast",
"clad",
"cut",
"drew",
"fed",
"grew",
"hung",
"heard",
"hid",
"knitted",
"lent",
"made",
"mowed",
"paid",
"read",
"rode",
"ran",
"said",
"saw",
"sold",
"sent",
"set",
"sewed",
"shut",
"spun",
"took",
"told",
"wed",
"wet",
"wound",
"added",
"called",
"fitted",
"melted",
"opened",
"played",
"turned",
"used",
"worked",
"nxed",
"cepsed",
"ieued",
"eaued",
"ssed",
"trixed",
"zzed",
"zzed",
"bid",
"bought",
"cut",
"mowed",
"paid",
"ran",
"said",
"saw",
"set",
"sewed",
"tried",
"wed",
"wet",
"added",
"fitted",
"used",
"n't",
"icked",
"hed",
"oed",
"ieued",
"eaued",
"xed",
"zed",
"ued",
"eed",
"yed",
"ied",
"ered",
"icked",
"yed",
"nxed",
"oed",
"ssed",
"zzed",
"zed",
"ued",
"ied",
"eed",
"yed",
"ed",
"ied",
"ied",
"yed",
"ed",
"ered",
"yed",
"hed",
"xed",
"zzed",
"zed",
"ied",
"ed",
"ied",
"ied",
"ed",
]
pres_part_convert_rule_regex = re.compile(r"^(?:((?:.{2,})?)considers|((?:.{2,})?)believes|((?:.{2,})?)consider|((?:.{2,})?)includes|((?:.{2,})?)freezes|((?:.{2,})?)spreads|((?:.{2,})?)strikes|((?:.{2,})?)strings|((?:.{2,})?)teaches|((?:.{2,})?)alights|((?:.{2,})?)appears|((?:.{2,})?)believe|((?:.{2,})?)clothes|((?:.{2,})?)creates|((?:.{2,})?)include|((?:.{2,})?)breeds|((?:.{2,})?)freeze|((?:.{2,})?)inputs|((?:.{2,})?)lights|((?:.{2,})?)shears|((?:.{2,})?)shines|((?:.{2,})?)shoots|((?:.{2,})?)sleeps|((?:.{2,})?)slings|((?:.{2,})?)splits|((?:.{2,})?)spread|((?:.{2,})?)sticks|((?:.{2,})?)strike|((?:.{2,})?)string|((?:.{2,})?)thinks|((?:.{2,})?)throws|((?:.{2,})?)weaves|((?:.{2,})?)writes|((?:.{2,})?)alight|((?:.{2,})?)allows|((?:.{2,})?)appear|((?:.{2,})?)clothe|((?:.{2,})?)create|((?:.{2,})?)offers|((?:.{2,})?)serves|((?:.{2,})?)smells|((?:.{2,})?)spells|((?:.{2,})?)spills|((?:.{2,})?)starts|(.+)trixes|((?:.{2,})?)bears|((?:.{2,})?)binds|((?:.{2,})?)breed|((?:.{2,})?)casts|((?:.{2,})?)clads|((?:.{2,})?)draws|((?:.{2,})?)feeds|((?:.{2,})?)grows|((?:.{2,})?)hangs|((?:.{2,})?)hears|((?:.{2,})?)hides|((?:.{2,})?)input|((?:.{2,})?)knits|((?:.{2,})?)lends|((?:.{2,})?)light|((?:.{2,})?)makes|((?:.{2,})?)reads|((?:.{2,})?)rides|((?:.{2,})?)sells|((?:.{2,})?)sends|((?:.{2,})?)shear|((?:.{2,})?)shine|((?:.{2,})?)shoot|((?:.{2,})?)shuts|((?:.{2,})?)sleep|((?:.{2,})?)sling|((?:.{2,})?)spins|((?:.{2,})?)split|((?:.{2,})?)stick|((?:.{2,})?)takes|((?:.{2,})?)teach|((?:.{2,})?)tells|((?:.{2,})?)think|((?:.{2,})?)throw|((?:.{2,})?)tries|((?:.{2,})?)weave|((?:.{2,})?)winds|((?:.{2,})?)write|((?:.{2,})?)allow|((?:.{2,})?)calls|((?:.{2,})?)melts|((?:.{2,})?)offer|((?:.{2,})?)opens|((?:.{2,})?)plays|((?:.{2,})?)serve|((?:.{2,})?)smell|((?:.{2,})?)spell|((?:.{2,})?)spill|((?:.{2,})?)start|((?:.{2,})?)turns|((?:.{2,})?)works|((?:.{2,})?)bear|((?:.{2,})?)bids|((?:.{2,})?)bind|((?:.{2,})?)buys|((?:.{2,})?)cast|((?:.{2,})?)clad|((?:.{2,})?)cuts|((?:.{2,})?)draw|((?:.{2,})?)feed|((?:.{2,})?)grow|((?:.{2,})?)hang|((?:.{2,})?)hear|((?:.{2,})?)hide|((?:.{2,})?)knit|((?:.{2,})?)lend|((?:.{2,})?)make|((?:.{2,})?)mows|((?:.{2,})?)pays|((?:.{2,})?)read|((?:.{2,})?)ride|((?:.{2,})?)runs|((?:.{2,})?)says|((?:.{2,})?)sees|((?:.{2,})?)sell|((?:.{2,})?)send|((?:.{2,})?)sets|((?:.{2,})?)sews|((?:.{2,})?)shut|((?:.{2,})?)spin|((?:.{2,})?)take|((?:.{2,})?)tell|((?:.{2,})?)weds|((?:.{2,})?)wets|((?:.{2,})?)wind|((?:.{2,})?)adds|((?:.{2,})?)call|((?:.{2,})?)fits|((?:.{2,})?)melt|((?:.{2,})?)open|((?:.{2,})?)play|((?:.{2,})?)turn|((?:.{2,})?)uses|((?:.{2,})?)work|(.+[aiy])nxes|(.+)ceps|(.+)ieus|(.+)eaus|(.+)sses|(.+)trix|(.+)zzes|(.+[aeiou])zzes|((?:.{2,})?)bid|((?:.{2,})?)buy|((?:.{2,})?)cut|((?:.{2,})?)mow|((?:.{2,})?)pay|((?:.{2,})?)run|((?:.{2,})?)say|((?:.{2,})?)see|((?:.{2,})?)set|((?:.{2,})?)sew|((?:.{2,})?)try|((?:.{2,})?)wed|((?:.{2,})?)wet|((?:.{2,})?)add|((?:.{2,})?)fit|((?:.{2,})?)use|(.+)ics|(.+[cs])hes|(.+)oes|(.+)ieu|(.+)eau|(.+)xes|(.+)zes|(.+)ues|(.+)ees|(.+)yes|(.+)ies|(.+)ers|(.+)ic|(.+[aeiou])ys|(.+[aiy])nx|(.+)oe|(.+)ss|(.+)zz|(.+)ze|(.+)ue|(.+)is|(.+)ee|(.+)ye|(.+[au])es|(.+[^b])is|(.+)ie|(.+)ys|(.+[^e])es|(.+)er|(.+[aeiou])y|(.+[cs])h|(.+)x|(.+[aeiou])z|(.+)z|(.+)i|(.+[au])e|(.+[^b])i|(.+)y|(.+[^e])e)$")
pres_part_convert_outputs = [
"considering",
"believing",
"considering",
"including",
"freezing",
"spreading",
"striking",
"stringing",
"teaching",
"alighting",
"appearing",
"believing",
"clothing",
"creating",
"including",
"breeding",
"freezing",
"inputting",
"lighting",
"shearing",
"shining",
"shooting",
"sleeping",
"slinging",
"splitting",
"spreading",
"sticking",
"striking",
"stringing",
"thinking",
"throwing",
"weaving",
"writing",
"alighting",
"allowing",
"appearing",
"clothing",
"creating",
"offering",
"serving",
"smelling",
"spelling",
"spilling",
"starting",
"trixing",
"bearing",
"binding",
"breeding",
"casting",
"cladding",
"drawing",
"feeding",
"growing",
"hanging",
"hearing",
"hiding",
"inputting",
"knitting",
"lending",
"lighting",
"making",
"reading",
"riding",
"selling",
"sending",
"shearing",
"shining",
"shooting",
"shutting",
"sleeping",
"slinging",
"spinning",
"splitting",
"sticking",
"taking",
"teaching",
"telling",
"thinking",
"throwing",
"trying",
"weaving",
"winding",
"writing",
"allowing",
"calling",
"melting",
"offering",
"opening",
"playing",
"serving",
"smelling",
"spelling",
"spilling",
"starting",
"turning",
"working",
"bearing",
"bidding",
"binding",
"buying",
"casting",
"cladding",
"cutting",
"drawing",
"feeding",
"growing",
"hanging",
"hearing",
"hiding",
"knitting",
"lending",
"making",
"mowing",
"paying",
"reading",
"riding",
"running",
"saying",
"seeing",
"selling",
"sending",
"setting",
"sewing",
"shutting",
"spinning",
"taking",
"telling",
"wedding",
"wetting",
"winding",
"adding",
"calling",
"fitting",
"melting",
"opening",
"playing",
"turning",
"using",
"working",
"nxing",
"cepsing",
"ieuing",
"eauing",
"ssing",
"trixing",
"zzing",
"zzing",
"bidding",
"buying",
"cutting",
"mowing",
"paying",
"running",
"saying",
"seeing",
"setting",
"sewing",
"trying",
"wedding",
"wetting",
"adding",
"fitting",
"using",
"icking",
"hing",
"oeing",
"ieuing",
"eauing",
"xing",
"zing",
"uing",
"eeing",
"yeing",
"ying",
"ering",
"icking",
"ying",
"nxing",
"oeing",
"ssing",
"zzing",
"zing",
"uing",
"iing",
"eeing",
"yeing",
"ing",
"ing",
"ying",
"ying",
"ing",
"ering",
"ying",
"hing",
"xing",
"zzing",
"zing",
"iing",
"ing",
"ing",
"ying",
"ing",
]
past_part_convert_rule_regex = re.compile(r"^(?:((?:.{2,})?)considers|((?:.{2,})?)believes|((?:.{2,})?)consider|((?:.{2,})?)includes|((?:.{2,})?)freezes|((?:.{2,})?)spreads|((?:.{2,})?)strikes|((?:.{2,})?)strings|((?:.{2,})?)teaches|((?:.{2,})?)alights|((?:.{2,})?)appears|((?:.{2,})?)believe|((?:.{2,})?)clothes|((?:.{2,})?)creates|((?:.{2,})?)include|((?:.{2,})?)breeds|((?:.{2,})?)freeze|((?:.{2,})?)inputs|((?:.{2,})?)lights|((?:.{2,})?)shears|((?:.{2,})?)shines|((?:.{2,})?)shoots|((?:.{2,})?)sleeps|((?:.{2,})?)slings|((?:.{2,})?)splits|((?:.{2,})?)spread|((?:.{2,})?)sticks|((?:.{2,})?)strike|((?:.{2,})?)string|((?:.{2,})?)thinks|((?:.{2,})?)throws|((?:.{2,})?)weaves|((?:.{2,})?)writes|((?:.{2,})?)alight|((?:.{2,})?)allows|((?:.{2,})?)appear|((?:.{2,})?)clothe|((?:.{2,})?)create|((?:.{2,})?)offers|((?:.{2,})?)serves|((?:.{2,})?)smells|((?:.{2,})?)spells|((?:.{2,})?)spills|((?:.{2,})?)starts|(.+)trixes|((?:.{2,})?)bears|((?:.{2,})?)binds|((?:.{2,})?)breed|((?:.{2,})?)casts|((?:.{2,})?)clads|((?:.{2,})?)draws|((?:.{2,})?)feeds|((?:.{2,})?)grows|((?:.{2,})?)hangs|((?:.{2,})?)hears|((?:.{2,})?)hides|((?:.{2,})?)input|((?:.{2,})?)knits|((?:.{2,})?)lends|((?:.{2,})?)light|((?:.{2,})?)makes|((?:.{2,})?)reads|((?:.{2,})?)rides|((?:.{2,})?)sells|((?:.{2,})?)sends|((?:.{2,})?)shear|((?:.{2,})?)shine|((?:.{2,})?)shoot|((?:.{2,})?)shuts|((?:.{2,})?)sleep|((?:.{2,})?)sling|((?:.{2,})?)spins|((?:.{2,})?)split|((?:.{2,})?)stick|((?:.{2,})?)takes|((?:.{2,})?)teach|((?:.{2,})?)tells|((?:.{2,})?)think|((?:.{2,})?)throw|((?:.{2,})?)tries|((?:.{2,})?)weave|((?:.{2,})?)winds|((?:.{2,})?)write|((?:.{2,})?)allow|((?:.{2,})?)calls|((?:.{2,})?)melts|((?:.{2,})?)offer|((?:.{2,})?)opens|((?:.{2,})?)plays|((?:.{2,})?)serve|((?:.{2,})?)smell|((?:.{2,})?)spell|((?:.{2,})?)spill|((?:.{2,})?)start|((?:.{2,})?)turns|((?:.{2,})?)works|((?:.{2,})?)bear|((?:.{2,})?)bids|((?:.{2,})?)bind|((?:.{2,})?)buys|((?:.{2,})?)cast|((?:.{2,})?)clad|((?:.{2,})?)cuts|((?:.{2,})?)draw|((?:.{2,})?)feed|((?:.{2,})?)grow|((?:.{2,})?)hang|((?:.{2,})?)hear|((?:.{2,})?)hide|((?:.{2,})?)knit|((?:.{2,})?)lend|((?:.{2,})?)make|((?:.{2,})?)mows|((?:.{2,})?)pays|((?:.{2,})?)read|((?:.{2,})?)ride|((?:.{2,})?)runs|((?:.{2,})?)says|((?:.{2,})?)sees|((?:.{2,})?)sell|((?:.{2,})?)send|((?:.{2,})?)sets|((?:.{2,})?)sews|((?:.{2,})?)shut|((?:.{2,})?)spin|((?:.{2,})?)take|((?:.{2,})?)tell|((?:.{2,})?)weds|((?:.{2,})?)wets|((?:.{2,})?)wind|((?:.{2,})?)adds|((?:.{2,})?)call|((?:.{2,})?)fits|((?:.{2,})?)melt|((?:.{2,})?)open|((?:.{2,})?)play|((?:.{2,})?)turn|((?:.{2,})?)uses|((?:.{2,})?)work|(.+[aiy])nxes|(.+)ceps|(.+)ieus|(.+)eaus|(.+)sses|(.+)trix|(.+)zzes|(.+[aeiou])zzes|((?:.{2,})?)bid|((?:.{2,})?)buy|((?:.{2,})?)cut|((?:.{2,})?)mow|((?:.{2,})?)pay|((?:.{2,})?)run|((?:.{2,})?)say|((?:.{2,})?)see|((?:.{2,})?)set|((?:.{2,})?)sew|((?:.{2,})?)try|((?:.{2,})?)wed|((?:.{2,})?)wet|((?:.{2,})?)add|((?:.{2,})?)fit|((?:.{2,})?)use|(.+)ics|(.+[cs])hes|(.+)oes|(.+)ieu|(.+)eau|(.+)xes|(.+)zes|(.+)ues|(.+)ees|(.+)yes|(.+)ies|(.+)ers|(.+)ic|(.+[aeiou])ys|(.+[aiy])nx|(.+)oe|(.+)ss|(.+)zz|(.+)ze|(.+)ue|(.+)is|(.+)ee|(.+)ye|(.+[au])es|(.+[^b])is|(.+)ie|(.+)ys|(.+[^e])es|(.+)er|(.+[aeiou])y|(.+[cs])h|(.+)x|(.+[aeiou])z|(.+)z|(.+)i|(.+[au])e|(.+[^b])i|(.+)y|(.+[^e])e)$")
past_part_convert_outputs = [
"considered",
"believed",
"considered",
"included",
"frozen",
"spread",
"struck",
"strung",
"taught",
"alighted",
"appeared",
"believed",
"clothed",
"created",
"included",
"bred",
"frozen",
"input",
"lit",
"shorn",
"shone",
"shot",
"slept",
"slung",
"split",
"spread",
"stuck",
"struck",
"strung",
"thought",
"thrown",
"woven",
"written",
"alighted",
"allowed",
"appeared",
"clothed",
"created",
"offered",
"served",
"smelled",
"spelled",
"spilled",
"started",
"trixed",
"borne",
"bound",
"bred",
"cast",
"clad",
"drawn",
"fed",
"grown",
"hung",
"heard",
"hidden",
"input",
"knitted",
"lent",
"lit",
"made",
"read",
"ridden",
"sold",
"sent",
"shorn",
"shone",
"shot",
"shut",
"slept",
"slung",
"spun",
"split",
"stuck",
"taken",
"taught",
"told",
"thought",
"thrown",
"tried",
"woven",
"wound",
"written",
"allowed",
"called",
"melted",
"offered",
"opened",
"played",
"served",
"smelled",
"spelled",
"spilled",
"started",
"turned",
"worked",
"borne",
"bid",
"bound",
"bought",
"cast",
"clad",
"cut",
"drawn",
"fed",
"grown",
"hung",
"heard",
"hidden",
"knitted",
"lent",
"made",
"mown",
"paid",
"read",
"ridden",
"run",
"said",
"seen",
"sold",
"sent",
"set",
"sewn",
"shut",
"spun",
"taken",
"told",
"wed",
"wetted",
"wound",
"added",
"called",
"fitted",
"melted",
"opened",
"played",
"turned",
"used",
"worked",
"nxed",
"cepsed",
"ieued",
"eaued",
"ssed",
"trixed",
"zzed",
"zzed",
"bid",
"bought",
"cut",
"mown",
"paid",
"run",
"said",
"seen",
"set",
"sewn",
"tried",
"wed",
"wetted",
"added",
"fitted",
"used",
"icked",
"hed",
"oed",
"ieued",
"eaued",
"xed",
"zed",
"ued",
"eed",
"yed",
"ied",
"ered",
"icked",
"yed",
"nxed",
"oed",
"ssed",
"zzed",
"zed",
"ued",
"ied",
"eed",
"yed",
"ed",
"ied",
"ied",
"yed",
"ed",
"ered",
"yed",
"hed",
"xed",
"zzed",
"zed",
"ied",
"ed",
"ied",
"ied",
"ed",
]
plural_recognize_rule = re.compile(r"^(?:(.+[^s])|(.+)i|(.+)x|(.+)y|(.+)y|(.+[^b])i|(.+[^e])e|(.+[aeiou])y|(.+[aeiou])z|(.+[au])e|(.+[cs])h|(.+)ee|(.+)er|(.+)ic|(.+)oe|(.+)ss|(.+)ue|(.+)ye|(.+)ze|(.+)zz|(.+[aiy])nx|((?:.{2,})?)add|((?:.{2,})?)bid|((?:.{2,})?)buy|((?:.{2,})?)cut|((?:.{2,})?)fit|((?:.{2,})?)mow|((?:.{2,})?)pay|((?:.{2,})?)run|((?:.{2,})?)say|((?:.{2,})?)see|((?:.{2,})?)set|((?:.{2,})?)sew|((?:.{2,})?)try|((?:.{2,})?)use|((?:.{2,})?)wed|((?:.{2,})?)wet|(.+)eau|(.+)ieu|(.+)n't|((?:.{2,})?)bear|((?:.{2,})?)bind|((?:.{2,})?)call|((?:.{2,})?)cast|((?:.{2,})?)clad|((?:.{2,})?)draw|((?:.{2,})?)feed|((?:.{2,})?)grow|((?:.{2,})?)hang|((?:.{2,})?)hear|((?:.{2,})?)hide|((?:.{2,})?)knit|((?:.{2,})?)lend|((?:.{2,})?)make|((?:.{2,})?)melt|((?:.{2,})?)open|((?:.{2,})?)play|((?:.{2,})?)read|((?:.{2,})?)ride|((?:.{2,})?)sell|((?:.{2,})?)send|((?:.{2,})?)shut|((?:.{2,})?)spin|((?:.{2,})?)take|((?:.{2,})?)tell|((?:.{2,})?)turn|((?:.{2,})?)wind|((?:.{2,})?)work|(.+)ceps|(.+)trix|((?:.{2,})?)allow|((?:.{2,})?)breed|((?:.{2,})?)input|((?:.{2,})?)light|((?:.{2,})?)offer|((?:.{2,})?)serve|((?:.{2,})?)shear|((?:.{2,})?)shine|((?:.{2,})?)shoot|((?:.{2,})?)sleep|((?:.{2,})?)sling|((?:.{2,})?)smell|((?:.{2,})?)spell|((?:.{2,})?)spill|((?:.{2,})?)split|((?:.{2,})?)start|((?:.{2,})?)stick|((?:.{2,})?)teach|((?:.{2,})?)think|((?:.{2,})?)throw|((?:.{2,})?)weave|((?:.{2,})?)write|((?:.{2,})?)alight|((?:.{2,})?)appear|((?:.{2,})?)clothe|((?:.{2,})?)create|((?:.{2,})?)freeze|((?:.{2,})?)spread|((?:.{2,})?)strike|((?:.{2,})?)string|((?:.{2,})?)believe|((?:.{2,})?)include|((?:.{2,})?)consider)$")
singular_recognize_rule = re.compile(r"^(?:(.+[^s])s|(.+)is|(.+[^b])is|(.+[^e])es|(.+[aeiou])ys|(.+[au])es|(.+)ees|(.+)ers|(.+)ics|(.+)ies|(.+)ies|(.+)n't|(.+)oes|(.+)ues|(.+)xes|(.+)yes|(.+)zes|(.+)zes|(.+[cs])hes|((?:.{2,})?)adds|((?:.{2,})?)bids|((?:.{2,})?)buys|((?:.{2,})?)cuts|((?:.{2,})?)fits|((?:.{2,})?)mows|((?:.{2,})?)pays|((?:.{2,})?)runs|((?:.{2,})?)says|((?:.{2,})?)sees|((?:.{2,})?)sets|((?:.{2,})?)sews|((?:.{2,})?)uses|((?:.{2,})?)weds|((?:.{2,})?)wets|(.+)ceps|(.+)eaus|(.+)ieus|(.+)sses|(.+)zzes|(.+[aeiou])zzes|(.+[aiy])nxes|((?:.{2,})?)bears|((?:.{2,})?)binds|((?:.{2,})?)calls|((?:.{2,})?)casts|((?:.{2,})?)clads|((?:.{2,})?)draws|((?:.{2,})?)feeds|((?:.{2,})?)grows|((?:.{2,})?)hangs|((?:.{2,})?)hears|((?:.{2,})?)hides|((?:.{2,})?)knits|((?:.{2,})?)lends|((?:.{2,})?)makes|((?:.{2,})?)melts|((?:.{2,})?)opens|((?:.{2,})?)plays|((?:.{2,})?)reads|((?:.{2,})?)rides|((?:.{2,})?)sells|((?:.{2,})?)sends|((?:.{2,})?)shuts|((?:.{2,})?)spins|((?:.{2,})?)takes|((?:.{2,})?)tells|((?:.{2,})?)tries|((?:.{2,})?)turns|((?:.{2,})?)winds|((?:.{2,})?)works|((?:.{2,})?)allows|((?:.{2,})?)breeds|((?:.{2,})?)inputs|((?:.{2,})?)lights|((?:.{2,})?)offers|((?:.{2,})?)serves|((?:.{2,})?)shears|((?:.{2,})?)shines|((?:.{2,})?)shoots|((?:.{2,})?)sleeps|((?:.{2,})?)slings|((?:.{2,})?)smells|((?:.{2,})?)spells|((?:.{2,})?)spills|((?:.{2,})?)splits|((?:.{2,})?)starts|((?:.{2,})?)sticks|((?:.{2,})?)thinks|((?:.{2,})?)throws|((?:.{2,})?)weaves|((?:.{2,})?)writes|(.+)trixes|((?:.{2,})?)alights|((?:.{2,})?)appears|((?:.{2,})?)clothes|((?:.{2,})?)creates|((?:.{2,})?)freezes|((?:.{2,})?)spreads|((?:.{2,})?)strikes|((?:.{2,})?)strings|((?:.{2,})?)teaches|((?:.{2,})?)believes|((?:.{2,})?)includes|((?:.{2,})?)considers)$")
past_recognize_rule = re.compile(r"^(?:(.+[^e])ed|(.+[au])ed|((?:.{2,})?)bid|((?:.{2,})?)cut|((?:.{2,})?)fed|((?:.{2,})?)hid|((?:.{2,})?)lit|((?:.{2,})?)ran|((?:.{2,})?)saw|((?:.{2,})?)set|((?:.{2,})?)wed|((?:.{2,})?)wet|(.+)eed|(.+)ied|(.+)ied|(.+)n't|(.+)oed|(.+)ued|(.+)xed|(.+)yed|(.+)yed|(.+)zed|(.+[^b])ied|(.+[aeiou])yed|(.+[cs])hed|((?:.{2,})?)bore|((?:.{2,})?)bred|((?:.{2,})?)cast|((?:.{2,})?)clad|((?:.{2,})?)drew|((?:.{2,})?)grew|((?:.{2,})?)hung|((?:.{2,})?)lent|((?:.{2,})?)made|((?:.{2,})?)paid|((?:.{2,})?)read|((?:.{2,})?)rode|((?:.{2,})?)said|((?:.{2,})?)sent|((?:.{2,})?)shot|((?:.{2,})?)shut|((?:.{2,})?)sold|((?:.{2,})?)spun|((?:.{2,})?)told|((?:.{2,})?)took|((?:.{2,})?)used|((?:.{2,})?)wove|(.+)ered|(.+)ssed|(.+)zzed|(.+[aeiou])zzed|(.+[aiy])nxed|((?:.{2,})?)added|((?:.{2,})?)bound|((?:.{2,})?)froze|((?:.{2,})?)heard|((?:.{2,})?)input|((?:.{2,})?)mowed|((?:.{2,})?)sewed|((?:.{2,})?)shone|((?:.{2,})?)slept|((?:.{2,})?)slung|((?:.{2,})?)split|((?:.{2,})?)stuck|((?:.{2,})?)threw|((?:.{2,})?)tried|((?:.{2,})?)wound|((?:.{2,})?)wrote|(.+)eaued|(.+)icked|(.+)ieued|((?:.{2,})?)bought|((?:.{2,})?)called|((?:.{2,})?)fitted|((?:.{2,})?)melted|((?:.{2,})?)opened|((?:.{2,})?)played|((?:.{2,})?)served|((?:.{2,})?)spread|((?:.{2,})?)struck|((?:.{2,})?)strung|((?:.{2,})?)taught|((?:.{2,})?)turned|((?:.{2,})?)worked|(.+)cepsed|(.+)trixed|((?:.{2,})?)allowed|((?:.{2,})?)clothed|((?:.{2,})?)created|((?:.{2,})?)knitted|((?:.{2,})?)offered|((?:.{2,})?)sheared|((?:.{2,})?)smelled|((?:.{2,})?)spelled|((?:.{2,})?)spilled|((?:.{2,})?)started|((?:.{2,})?)thought|((?:.{2,})?)alighted|((?:.{2,})?)appeared|((?:.{2,})?)believed|((?:.{2,})?)included|((?:.{2,})?)considered)$")
pres_part_recognize_rule = re.compile(r"^(?:(.+[^b])ing|(.+[^e])ing|(.+[au])ing|(.+)iing|(.+)uing|(.+)xing|(.+)ying|(.+)ying|(.+)zing|(.+[aeiou])ying|(.+[cs])hing|((?:.{2,})?)using|(.+)eeing|(.+)ering|(.+)oeing|(.+)ssing|(.+)yeing|(.+)zzing|(.+[aeiou])zzing|(.+[aiy])nxing|((?:.{2,})?)adding|((?:.{2,})?)buying|((?:.{2,})?)hiding|((?:.{2,})?)making|((?:.{2,})?)mowing|((?:.{2,})?)paying|((?:.{2,})?)riding|((?:.{2,})?)saying|((?:.{2,})?)seeing|((?:.{2,})?)sewing|((?:.{2,})?)taking|((?:.{2,})?)trying|(.+)eauing|(.+)icking|(.+)ieuing|((?:.{2,})?)bearing|((?:.{2,})?)bidding|((?:.{2,})?)binding|((?:.{2,})?)calling|((?:.{2,})?)casting|((?:.{2,})?)cutting|((?:.{2,})?)drawing|((?:.{2,})?)feeding|((?:.{2,})?)fitting|((?:.{2,})?)growing|((?:.{2,})?)hanging|((?:.{2,})?)hearing|((?:.{2,})?)lending|((?:.{2,})?)melting|((?:.{2,})?)opening|((?:.{2,})?)playing|((?:.{2,})?)reading|((?:.{2,})?)running|((?:.{2,})?)selling|((?:.{2,})?)sending|((?:.{2,})?)serving|((?:.{2,})?)setting|((?:.{2,})?)shining|((?:.{2,})?)telling|((?:.{2,})?)turning|((?:.{2,})?)weaving|((?:.{2,})?)wedding|((?:.{2,})?)wetting|((?:.{2,})?)winding|((?:.{2,})?)working|((?:.{2,})?)writing|(.+)cepsing|(.+)trixing|((?:.{2,})?)allowing|((?:.{2,})?)breeding|((?:.{2,})?)cladding|((?:.{2,})?)clothing|((?:.{2,})?)creating|((?:.{2,})?)freezing|((?:.{2,})?)knitting|((?:.{2,})?)lighting|((?:.{2,})?)offering|((?:.{2,})?)shearing|((?:.{2,})?)shooting|((?:.{2,})?)shutting|((?:.{2,})?)sleeping|((?:.{2,})?)slinging|((?:.{2,})?)smelling|((?:.{2,})?)spelling|((?:.{2,})?)spilling|((?:.{2,})?)spinning|((?:.{2,})?)starting|((?:.{2,})?)sticking|((?:.{2,})?)striking|((?:.{2,})?)teaching|((?:.{2,})?)thinking|((?:.{2,})?)throwing|((?:.{2,})?)alighting|((?:.{2,})?)appearing|((?:.{2,})?)believing|((?:.{2,})?)including|((?:.{2,})?)inputting|((?:.{2,})?)splitting|((?:.{2,})?)spreading|((?:.{2,})?)stringing|((?:.{2,})?)considering)$")
past_part_recognize_rule = re.compile(r"^(?:(.+[^e])ed|(.+[au])ed|((?:.{2,})?)bid|((?:.{2,})?)cut|((?:.{2,})?)fed|((?:.{2,})?)lit|((?:.{2,})?)run|((?:.{2,})?)set|((?:.{2,})?)wed|(.+)eed|(.+)ied|(.+)ied|(.+)oed|(.+)ued|(.+)xed|(.+)yed|(.+)yed|(.+)zed|(.+[^b])ied|(.+[aeiou])yed|(.+[cs])hed|((?:.{2,})?)bred|((?:.{2,})?)cast|((?:.{2,})?)clad|((?:.{2,})?)hung|((?:.{2,})?)lent|((?:.{2,})?)made|((?:.{2,})?)mown|((?:.{2,})?)paid|((?:.{2,})?)read|((?:.{2,})?)said|((?:.{2,})?)seen|((?:.{2,})?)sent|((?:.{2,})?)sewn|((?:.{2,})?)shot|((?:.{2,})?)shut|((?:.{2,})?)sold|((?:.{2,})?)spun|((?:.{2,})?)told|((?:.{2,})?)used|(.+)ered|(.+)ssed|(.+)zzed|(.+[aeiou])zzed|(.+[aiy])nxed|((?:.{2,})?)added|((?:.{2,})?)borne|((?:.{2,})?)bound|((?:.{2,})?)drawn|((?:.{2,})?)grown|((?:.{2,})?)heard|((?:.{2,})?)input|((?:.{2,})?)shone|((?:.{2,})?)shorn|((?:.{2,})?)slept|((?:.{2,})?)slung|((?:.{2,})?)split|((?:.{2,})?)stuck|((?:.{2,})?)taken|((?:.{2,})?)tried|((?:.{2,})?)wound|((?:.{2,})?)woven|(.+)eaued|(.+)icked|(.+)ieued|((?:.{2,})?)bought|((?:.{2,})?)called|((?:.{2,})?)fitted|((?:.{2,})?)frozen|((?:.{2,})?)hidden|((?:.{2,})?)melted|((?:.{2,})?)opened|((?:.{2,})?)played|((?:.{2,})?)ridden|((?:.{2,})?)served|((?:.{2,})?)spread|((?:.{2,})?)struck|((?:.{2,})?)strung|((?:.{2,})?)taught|((?:.{2,})?)thrown|((?:.{2,})?)turned|((?:.{2,})?)wetted|((?:.{2,})?)worked|(.+)cepsed|(.+)trixed|((?:.{2,})?)allowed|((?:.{2,})?)clothed|((?:.{2,})?)created|((?:.{2,})?)knitted|((?:.{2,})?)offered|((?:.{2,})?)smelled|((?:.{2,})?)spelled|((?:.{2,})?)spilled|((?:.{2,})?)started|((?:.{2,})?)thought|((?:.{2,})?)written|((?:.{2,})?)alighted|((?:.{2,})?)appeared|((?:.{2,})?)believed|((?:.{2,})?)included|((?:.{2,})?)considered)$")
past_of_values = set(past_of.values())
pres_part_of_values = set(pres_part_of.values())
past_part_of_values = set(past_part_of.values())
plural_and_singular = {
*past_of_values,
*pres_part_of_values,
*past_part_of_values,
}
[docs]def known_plural(word):
"""True if `word` is known to be plural.
Args:
word (str): Input word.
Returns:
bool: True if `word` is known to be plural.
"""
lword = word.lower()
return lword in singular_of or lword in plural_and_singular
[docs]def known_singular(word):
"""True if `word` is known to be singular.
Args:
word (str): Input word.
Returns:
bool: True if `word` is known to be singular.
"""
lword = word.lower()
return lword in plural_of or lword in plural_and_singular
[docs]def known_past(word):
"""True if `word` is known to be past.
Args:
word (str): Input word.
Returns:
bool: True if `word` is known to be past.
"""
return word.lower() in past_of_values
[docs]def known_past_part(word):
"""True if `word` is known to be past participle.
Args:
word (str): Input word.
Returns:
bool: True if `word` is known to be past participle.
"""
return word.lower() in past_part_of_values
[docs]def known_pres_part(word):
"""True if `word` is known to be present participle.
Args:
word (str): Input word.
Returns:
bool: True if `word` is known to be present participle.
"""
return word.lower() in pres_part_of_values
[docs]def convert_to_plural(word):
"""Convert `word` to plural form.
Args:
word (str): Input word or collocation.
Returns:
bool: The plural form of `word`.
"""
if word in plural_of:
return plural_of[word]
if not word.islower() and word.lower() in plural_of:
return plural_of[word.lower()]
if known_plural(word):
return word
match = plural_convert_rule_regex.match(word.lower())
if match:
for i, group in enumerate(match.groups()):
if group is not None:
return group + plural_convert_outputs[i]
return None
[docs]def convert_to_singular(word):
"""Convert `word` to singular form.
Args:
word (str): Input word or collocation.
Returns:
bool: The singular form of `word`.
"""
if word in singular_of:
return singular_of[word]
if not word.islower() and word.lower() in singular_of:
return singular_of[word.lower()]
match = singular_convert_rule_regex.match(word.lower())
if match:
for i, group in enumerate(match.groups()):
if group is not None:
return group + singular_convert_outputs[i]
return None
[docs]def convert_to_past(word):
"""Convert `word` to past form.
Args:
word (str): Input word or collocation.
Returns:
bool: The past form of `word`.
"""
if word in past_of:
return past_of[word]
if not word.islower() and word.lower() in past_of:
return past_of[word.lower()]
if is_past(word):
return word
match = past_convert_rule_regex.match(word.lower())
if match:
for i, group in enumerate(match.groups()):
if group is not None:
return group + past_convert_outputs[i]
return None
[docs]def convert_to_pres_part(word):
"""Convert `word` to present participle form.
Args:
word (str): Input word or collocation.
Returns:
bool: The present participle form of `word`.
"""
if word in pres_part_of:
return pres_part_of[word]
if not word.islower() and word.lower() in pres_part_of:
return pres_part_of[word.lower()]
if is_pres_part(word):
return word
match = pres_part_convert_rule_regex.match(word.lower())
if match:
for i, group in enumerate(match.groups()):
if group is not None:
return group + pres_part_convert_outputs[i]
return None
[docs]def convert_to_past_part(word):
"""Convert `word` to past participle form.
Args:
word (str): Input word or collocation.
Returns:
bool: The past participle form of `word`.
"""
if word in past_part_of:
return past_part_of[word]
if not word.islower() and word.lower() in past_part_of:
return past_part_of[word.lower()]
if is_past_part(word):
return word
match = past_part_convert_rule_regex.match(word.lower())
if match:
for i, group in enumerate(match.groups()):
if group is not None:
return group + past_part_convert_outputs[i]
return None
[docs]def is_plural(word: str):
"""Detect whether `word` is in plural form.
Args:
word (str): Input word or collocation.
Returns:
bool: True if `word` is deemed plural.
"""
if known_plural(word):
return True
if known_singular(word):
return False
if plural_recognize_rule.match(word):
return True
return False
[docs]def is_singular(word: str):
"""Detect whether `word` is in singular form.
Args:
word (str): Input word or collocation.
Returns:
bool: True if `word` is deemed singular.
"""
if known_singular(word):
return True
if known_plural(word):
return False
if singular_recognize_rule.match(word):
return True
return not is_plural(word)
[docs]def is_past(word: str):
"""Detect whether `word` is in past form.
Args:
word (str): Input word or collocation.
Returns:
bool: True if `word` is deemed past.
"""
if known_past(word):
return True
if past_recognize_rule.match(word):
return True
return False
[docs]def is_pres_part(word: str):
"""Detect whether `word` is in present participle form.
Args:
word (str): Input word or collocation.
Returns:
bool: True if `word` is deemed present participle.
"""
if known_pres_part(word):
return True
if pres_part_recognize_rule.match(word):
return True
return False
[docs]def is_past_part(word: str):
"""Detect whether `word` is in past participle form.
Args:
word (str): Input word or collocation.
Returns:
bool: True if `word` is deemed past participle.
"""
if known_past_part(word):
return True
if past_part_recognize_rule.match(word):
return True
return False