Repository: interrogator/corpkit
Branch: master
Commit: c54be1f8c83d
Files: 98
Total size: 2.3 MB
Directory structure:
gitextract_mzzg7lm1/
├── .gitattributes
├── .gitmodules
├── .travis.yml
├── API-README.md
├── Dockerfile
├── LICENSE
├── Makefile
├── README.md
├── bld.bat
├── build.sh
├── conf.py
├── corpkit/
│ ├── __init__.py
│ ├── annotate.py
│ ├── blanknotebook.ipynb
│ ├── build.py
│ ├── completer.py
│ ├── configurations.py
│ ├── conll.py
│ ├── constants.py
│ ├── corpkit
│ ├── corpkit.1
│ ├── corpus.py
│ ├── cql.py
│ ├── dictionaries/
│ │ ├── __init__.py
│ │ ├── bnc.p
│ │ ├── bnc.py
│ │ ├── eng_verb_lexicon.p
│ │ ├── process_types.py
│ │ ├── queries.py
│ │ ├── roles.py
│ │ ├── stopwords.py
│ │ ├── verblist.py
│ │ ├── word_transforms.py
│ │ └── wordlists.py
│ ├── download/
│ │ ├── __init__.py
│ │ └── corenlp.py
│ ├── editor.py
│ ├── env.py
│ ├── gui.py
│ ├── inflect.py
│ ├── interpreter_tests.cki
│ ├── interrogation.py
│ ├── interrogator.py
│ ├── keys.py
│ ├── layouts.py
│ ├── lazyprop.py
│ ├── make.py
│ ├── model.py
│ ├── multiprocess.py
│ ├── new_project
│ ├── noseinstall.py
│ ├── nosetests.py
│ ├── other.py
│ ├── parse
│ ├── plotter.py
│ ├── plugins.py
│ ├── process.py
│ ├── stanford-tregex.jar
│ ├── stats.py
│ ├── textprogressbar.py
│ ├── tokenise.py
│ └── tregex.sh
├── data/
│ ├── corpus-filelist.txt
│ ├── test/
│ │ ├── first/
│ │ │ └── intro.txt
│ │ └── second/
│ │ └── body.txt
│ ├── test-plain-parsed/
│ │ ├── first/
│ │ │ └── intro.txt.conll
│ │ └── second/
│ │ └── body.txt.conll
│ ├── test-speak-parsed/
│ │ ├── first/
│ │ │ └── intro.txt.conll
│ │ └── second/
│ │ └── body.txt.conll
│ └── test-stripped/
│ ├── first/
│ │ └── intro.txt
│ └── second/
│ └── body.txt
├── index.rst
├── make.bat
├── meta.yaml
├── requirements.txt
├── rst_docs/
│ ├── API/
│ │ ├── corpkit.building.rst
│ │ ├── corpkit.concordancing.rst
│ │ ├── corpkit.editing.rst
│ │ ├── corpkit.interrogating.rst
│ │ ├── corpkit.langmodel.rst
│ │ ├── corpkit.managing.rst
│ │ └── corpkit.visualising.rst
│ ├── API-ref/
│ │ ├── corpkit.corpus.rst
│ │ ├── corpkit.dictionaries.rst
│ │ ├── corpkit.interrogation.rst
│ │ └── corpkit.other.rst
│ └── interpreter/
│ ├── corpkit.interpreter.annotating.rst
│ ├── corpkit.interpreter.concordancing.rst
│ ├── corpkit.interpreter.editing.rst
│ ├── corpkit.interpreter.interrogating.rst
│ ├── corpkit.interpreter.making.rst
│ ├── corpkit.interpreter.managing.rst
│ ├── corpkit.interpreter.overview.rst
│ ├── corpkit.interpreter.setup.rst
│ └── corpkit.interpreter.visualising.rst
├── setup.cfg
├── setup.py
└── talks/
└── IDL_seminar.tex
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitattributes
================================================
*.p linguist-language=Python
================================================
FILE: .gitmodules
================================================
[submodule "corpkit-app"]
path = corpkit-app
url = https://github.com/interrogator/corpkit-app.git
================================================
FILE: .travis.yml
================================================
language: python
python:
- '2.7'
- '3.5'
install:
- pip install --install-option="--no-cython-compile" cython
- pip install -r requirements.txt
- nltkd=$(python -c 'from __future__ import print_function; import nltk; print(nltk.data.path[0])')
- python -m nltk.downloader punkt -d "$nltkd"
- python -m nltk.downloader wordnet -d "$nltkd"
- python -m nltk.downloader averaged_perceptron_tagger -d "$nltkd"
script:
- nosetests corpkit/nosetests.py -a '!slow'
deploy:
provider: pypi
user: mcddjx
password:
secure: I7K+LWe37vRytA0QpF9sAdGaTYbwq0NuN6Xi6QgrSYr08WO5wKSZJ9bkBtJF4U9OCAtRjM64hOY+eobnKfwbNE+IHG8znI9z40jHyyCayYtk5P5UOG6OtB5wBbhXLjb9qXzy21byFcY1zM7iEUKw8D+Q4nu8cENFmx9agG025jet4MHXqtQlQYxTVr7GLK0oAqxO19J/D7F6Ykn2UEHw9dm3X0gu94gM6fMN1lIS74DM4d2IzRWOZrIaYigL8ckDSkWP9taVM553aI9qrLCz/4prCKwxo0QAINExiPYjSwG1swzTfabZvPI5bVdxY23TTx86Af6z3BQuhpIY1fspDTaw/Gn527XWFeOuqI8jhf6pP6ZdOo7qiyVwqU33/5CoTW+A/o1o963SDHSjyarxbz+De10zLScCvfIsZ2uHnh3CFnlWUeprjV09QIuz2lQbZoQP817/CAdxqLaMl/aG7Wcf4X7MI/SQauLVYR91gkhiBWzBdrYNGOEsrr7dzc5tbqBLeupF6Nf811BR2SdoGIfmihQGrYdC271/HuHTLsrcvXaCyXWElA1ATSRy6XfC8IsljU695Bm6kSrb4pG4V64P2Lhe2F8wtu4L1IzP+w7NRbeZNntMqMfksZz5vNe3CVhqcPy8VmOZGsmOaa9PIFHzZ7pM1Pxybt25Hz+GXBQ=
on:
tags: true
distributions: sdist bdist_wheel
repo: interrogator/corpkit
git:
submodules: false
================================================
FILE: API-README.md
================================================
## *corpkit*: API readme
> This file is a deprecated introduction to the *corpkit* Python API. It still exists because it contains a lot of useful information and advanced examples that are not found elsewhere. It is deprecated because better documentation is available at [ReadTheDocs](http://corpkit.readthedocs.org/en/latest/).
- [What's in here?](#whats-in-here)
- [`Corpus()`](#corpus)
- [Navigating `Corpus` objects](#navigating-corpus-objects)
- [`interrogate()` method](#interrogate-method)
- [`concordance()` method](#concordance-method)
- [`Interrogation`](#interrogation)
- [`edit()` method](#edit-method)
- [`visualise()` method](#visualise-method)
- [Functions, lists, etc.](#functions-lists-etc)
- [Installation](#installation)
- [By downloading the repository](#by-downloading-the-repository)
- [By cloning the repository](#by-cloning-the-repository)
- [Via `pip`](#via-pip)
- [Quickstart](#quickstart)
- [More detailed examples](#more-detailed-examples)
- [`search`, `exclude` and `show`](#search-exclude-and-show)
- [Working with coreferences](#working-with-coreferences)
- [Building corpora](#building-corpora)
- [Speaker IDs](#speaker-ids)
- [Navigating parsed corpora](#navigating-parsed-corpora)
- [Getting general stats](#getting-general-stats)
- [Concordancing](#concordancing)
- [Systemic functional stuff](#systemic-functional-stuff)
- [Keywording](#keywording)
- [Visualising keywords](#visualising-keywords)
- [Traditional reference corpora](#traditional-reference-corpora)
- [Parallel processing](#parallel-processing)
- [Multiple corpora](#multiple-corpora)
- [Multiple speakers](#multiple-speakers)
- [Multiple queries](#multiple-queries)
- [More complex queries and plots](#more-complex-queries-and-plots)
- [Visualisation options](#visualisation-options)
- [Contact](#contact)
- [Cite](#cite)
## What's in here?
Essentially, the module contains classes, methods and functions for building and interrogating corpora, then manipulating or visualising the results.
### `Corpus()`
First, there's a `Corpus()` class, which models a corpus of CoreNLP XML, lists of tokens, or plaintext files, creating subclasses for subcorpora and corpus files.
To use it, simple feed it a path to a directory containing `.txt` files, or subfolders containing `.txt` files.
```python
>>> from corpkit import Corpus
>>> unparsed = Corpus('path/to/data')
```
With the `Corpus()` class, the following attributes are available:
| Attribute | Purpose |
|-----------|---------|
| `corpus.subcorpora` | list of subcorpus objects with indexing/slicing methods |
| `corpus.features` | Corpus features (characters, clauses, words, tokens, process types, passives, etc.) |
| `corpus.postags` | Distribution of parts of speech |
| `corpus.wordclasses` | Distribution of word classes |
as well as the following methods:
| Method | Purpose |
|--------|---------|
| `corpus.parse()` | Create a parsed version of a plaintext corpus |
| `corpus.tokenise()` | Create a tokenised version of a plaintext corpus |
| `corpus.interrogate()` | Interrogate the corpus for lexicogrammatical features |
| `corpus.concordance()` | Concordance via lexis and/or grammar |
#### Navigating `Corpus` objects
Once you've defined a Corpus, you can move around it very easily:
```python
### corpus containing annual subcorpora of NYT articles
>>> corpus = Corpus('data/NYT-parsed')
>>> list(corpus.subcorpora)[:3]
### [,
### ,
### ]
>>> corpus.subcorpora[0].path, corpus.subcorpora[0].datatype
### ('/Users/daniel/Work/risk/data/NYT-parsed/1987', 'parse')
>>> corpus.subcorpora.c1989.files[10:13]
### [,
### ,
### ]
```
Most attributes, and the `.interrogate()` and `.concordance()` methods, can also be called on `Subcorpus` and `File` objects. `File` objects also have a `.read()` method.
#### `interrogate()` method
* Use [Tregex](http://nlp.stanford.edu/~manning/courses/ling289/Tregex.html), regular expressions or wordlists to search parse trees, dependencies, token lists or plain text for complex lexicogrammatical phenomena
* Search for, exclude and show word, lemma, POS tag, semantic role, governor, dependent, index (etc) of a token
* N-gramming
* Two-way UK-US spelling conversion
* Output Pandas DataFrames that can be easily edited and visualised
* Use parallel processing to search for a number of patterns, or search for the same pattern in multiple corpora
* Restrict searches to particular speakers in a corpus
* Works on collections of corpora, corpora, subcorpora, single files, or slices thereof
* Quickly save to and load from disk with `save()` and `load()`
#### `concordance()` method
* Equivalent to `interrogate()`, but return DataFrame of concordance lines
* Return any combination and order of words, lemmas, indices, functions, or POS tags
* Editable and saveable
* Output to LaTeX, CSV or string with `format()`
The code below demonstrates the complex kinds of queries that can be handled by the `interrogate()` and `concordance()` methods:
```python
### import * mostly so that we can access global variables like G, P, V
### otherwise, use 'w' instead of W, 'p' instead of P, etc.
>>> from corpkit import *
### select parsed corpus
>>> corpus = Corpus('data/postcounts-parsed')
### import process type lists and closed class wordlists
>>> from corpkit.dictionaries import *
### match tokens with governor that is in relational process wordlist,
### and whose function is `nsubj(pass)` or `csubj(pass)`:
>>> criteria = {GL: processes.relational.lemmata, F: r'^.subj'}
### exclude tokens whose part-of-speech is verbal,
### or whose word is in a list of pronouns
>>> exc = {P: r'^V', W: wordlists.pronouns}
# interrogate, returning slash-delimited function/lemma
>>> data = corpus.interrogate(criteria, exclude=exc, show=[F,L])
>>> lines = corpus.concordance(criteria, exclude=exc, show=[F,L])
### show results
>>> print data, lines.format(n=10, window=40, columns=[L,M,R])
```
Output sample:
```
nsubj/thing nsubj/person nsubj/problem nsubj/way nsubj/son
01 296 168 134 69 73
02 233 147 88 70 70
03 250 160 95 80 67
04 247 205 88 93 71
05 275 193 68 75 61
0 nk nsubj/it cop/be ccomp/sad advmod/when nsubj/person aux/do neg/not advcl/look ./at prep_at/w
1 /my dobj/Fluoxetine advmod/now mark/that nsubj/spring ccomp/be advmod/here ./, ./but nsubj/I a
2 y mark/because expl/there advcl/be det/a nsubj/woman ./across det/the prep_across/hall ./from
3 num/114 ccomp/pound ./, mark/so det/any nsubj/med nsubj/I rcmod/take aux/can advcl/have de
4 nsubj/Kat ./, root/be nsubj/you dep/taper ./off ./
5 /to xcomp/explain prep_from/what det/the nsubj/mark ./on poss/my prep_on/arm ./, conj_and/ne
6 det/the amod/first ./and conj_and/third nsubj/hospital nsubj/I rcmod/be advmod/at root/have num
7 e dobj/tv mark/while det/the amod/second nsubj/hospital nsubj/I cop/be rcmod/IP prep/at pcomp/in
8 nsubj/Ben ./, mark/if nsubj/you cop/be advcl/unhap
9 h ./of prep_of/sleep advmod/when det/the nsubj/reality advcl/be ./, nsubj/everyone ccomp/need n
```
### `Interrogation`
The `corpus.interrogate()` method returns an `Interrogation` object. These have attributes:
| Attribute | Contains |
| ---------------|----------|
| `interrogation.results` | Pandas DataFrame of counts in each subcorpus |
| `interrogation.totals` | Pandas Series of totals for each subcorpus/result |
| `interrogation.query` | a `dict` of values used to generate the interrogation |
and methods:
| Method | Purpose |
|------------|---------|
| `interrogation.edit()` | Get relative frequencies, merge/remove results/subcorpora, calculate keywords, sort using linear regression, etc. |
| `interrogation.visualise()` | visualise results via *matplotlib* |
| `interrogation.save()` | Save data as pickle |
| `interrogation.quickview()` | Show top results and their absolute/relative frequency |
These methods have been monkey-patched to Pandas' DataFrame and Series objects, as well, so any slice of a result can be edited or plotted easily.
#### `edit()` method
* Remove, keep or merge interrogation results or subcorpora using indices, words or regular expressions (see below)
* Sort results by name or total frequency
* Use linear regression to figure out the trajectories of results, and sort by the most increasing, decreasing or static values
* Show the *p*-value for linear regression slopes, or exclude results above *p*
* Work with absolute frequency, or determine ratios/percentage of another list:
* determine the total number of verbs, or total number of verbs that are *be*
* determine the percentage of verbs that are *be*
* determine the percentage of *be* verbs that are *was*
* determine the ratio of *was/were* ...
* etc.
* Plot more advanced kinds of relative frequency: for example, find all proper nouns that are subjects of clauses, and plot each word as a percentage of all instances of that word in the corpus (see below)
#### `visualise()` method
* Plot using *Matplotlib*
* Plot anything you like: words, tags, counts for grammatical features ...
* Create line charts, bar charts, pie charts, etc. with the `kind` argument
* Use `subplots=True` to produce individual charts for each result
* Customisable figure titles, axes labels, legends, image size, colormaps, etc.
* Use `TeX` if you have it
* Use log scales if you really want
* Use a number of chart styles, such as `ggplot`, `fivethirtyeight` or `seaborn-talk` (if you've got `seaborn` installed)
* Save images to file, as `.pdf` or `.png`
* Experimental interactive plots (hover-over text, interactive legends) using *mpld3*
### Functions, lists, etc.
There are quite a few helper functions for making regular expressions, making new projects, and so on, with more documentation forthcoming. Also included are some lists of words and dependency roles, which can be used to match functional linguistic categories. These are explained in more detail [here](#systemic-functional-stuff).
## Installation
You can get *corpkit* running by downloading or cloning this repository, or via `pip`.
### By downloading the repository
Hit 'Download ZIP' and unzip the file. Then `cd` into the newly created directory and install:
```shell
cd corpkit-master
# might need sudo:
python setup.py install
```
### By cloning the repository
Clone the repo, `cd` into it and run the setup:
```shell
git clone https://github.com/interrogator/corpkit.git
cd corpkit
# might need sudo:
python setup.py install
```
### Via `pip`
```shell
# might need sudo:
pip install corpkit
# or, for a local install:
# pip install --user corpkit
```
*corpkit* should install all the necessary dependencies, including *pandas*, *NLTK*, *matplotlib*, etc, as well as some NLTK data files.
## Quickstart
Once you've got *corpkit*, and a folder containing text files, you're ready to go:
```python
### import everything
>>> from corpkit import *
### Make corpus object from path to subcorpora/text files
>>> unparsed = Corpus('data/nyt/years')
### parse it, return the new parsed corpus object
>>> corpus = unparsed.parse()
### search corpus for modal auxiliaries and plot the top results
>>> corpus.interroplot('MD')
```
Output:
## More detailed examples
`interroplot()` is just a demo method that does three things in order:
1. uses `interrogate()` to search corpus for a (Regex- or Tregex-based) query
2. uses `edit()` to calculate the relative frequencies of each result
3. uses `visualise()` to show the top seven results
Here's an example of the three methods at work:
```python
### make tregex query: head of NP in PP containing 'of' in NP headed by risk word:
>>> q = r'/NN.?/ >># (NP > (PP <<# /(?i)of/ > (NP <<# (/NN.?/ < /(?i).?\brisk.?/))))'
### search trees, exclude 'risk of rain', output lemma
>>> risk_of = corpus.interrogate({T: q}, exclude={W: '^rain$'}, show=L)
### alternative syntax which may be easier when there's only a single search criterion:
# >>> risk_of = corpus.interrogate(T, q, exclude={W: '^rain$'}, show=L)
### use edit() to turn absolute into relative frequencies
>>> to_plot = risk_of.edit('%', risk_of.totals)
### plot the results
>>> to_plot.visualise('Risk of (noun)', y_label='Percentage of all results',
... style='fivethirtyeight')
```
Output:
### `search`, `exclude` and `show`
In the example above, parse trees are searched, a particular match is excluded, and lemmata are shown. These three arguments (`search`, `exclude` and `show`) are the core of the `interrogate()` and `concordance()` methods.
the `search` and `exclude` arguments need a `dict`, with the **thing to be searched as keys** and the **search pattern as values**. Here is a list of available keys for plaintext, tokenised and parsed corpora:
| Key | Gloss |
|-----|-------|
| `W` | Word |
| `L` | Lemma |
| `I` | Index of token in sentence |
| `N` | N-gram |
For parsed corpora, there are many other possible keys:
| Key | Gloss |
|-----|-------|
| `P` | Part of speech tag |
| `X` | Word class |
| `G` | Governor word |
| `GL` | Governor lemma form |
| `GP` | Governor POS |
| `GF` | Governor function |
| `D` | Dependent word |
| `DL` | Dependent lemma form |
| `DP` | Dependent POS |
| `DF` | Dependent function |
| `F` | Dependency function |
| `R` | Distance from 'root' |
| `T` | Tree |
| `S` | Predefined general stats |
Allowable combinations are subject to common sense. If you're searching trees, you can't also search governors or dependents. If you're searching an unparsed corpus, you can't search for information provided by the parser. Here are some example `search`/`exclude` values:
| search/exclude | Gloss |
|--------|-------|
| `{W: r'^p'}` | Tokens starting with P |
| `{L: r'any'}` | Any lemma (often equivalent to `r'.*'`) |
| `{G: r'ing$'}` | Tokens with governor word ending in 'ing' |
| `{F: funclist}` | Tokens whose dependency function matches a `str` in `funclist` |
| `{D: r'^br', GL: r'$have$'}` | Tokens with dependent starting with 'br' and 'have' as governor lemma |
| `{I: '0', F: '^nsubj$'}` | Sentence initial tokens with role of `nsubj` |
| `{T: r'NP !<<# /NN.?'}` | NPs with non-nominal heads |
If you'd prefer, you can make a `dict` to handle dependent and governor information, instead of using things like `GL` or `DF`. The following searches produce the same output:
```python
>>> crit = {W: r'^friend$',
... D: {F: 'amod',
... W: 'great'}}
>>> crit = {W: r'^friend$', DF: 'amod', D: 'great'}
```
By default, all `search` criteria must match, but any `exclude` criterion is enough to exclude a match. This beahviour can be changed with the `searchmode` and `excludemode` arguments:
```python
### get words that end in 'ing' OR are nominal:
>>> out = corpus.interrogate({W: 'ing$', P: r'^N'}, searchmode='any')
### get any word, but exclude words that end in 'ing' AND are nominal:
>>> out = corpus.interrogate({W: 'any'}, exclude={W: 'ing$', P: N}, excludemode='all')
```
The `show` argument wants a list of keys you'd like to return for each result. The order will be respected. If you only want one thing, a `str` is OK. One additional possibility is `C`, which returns the number of occurrences only.
| `show` | return |
|--------|--------|
| `W` | `'champions'` |
| `[W]` | `'champions'` |
| `L` | `'champion'` |
| `P` | `'NNS'` |
| `X` | `'Noun'` |
| `T` | `'(np (jj prevailing) (nns champions))'` (depending on Tregex query) |
| `[P, W]` | `'NNS/champions'` |
| `[W, P]` | `'champions/NNS'` |
| `[I, L, R]` | `'2/champion/1'` |
| `[L, D, F]` | `'champion/prevailing/nsubj'` |
| `[G, GL, I]` | `'are/be/2'` |
| `[GL, GF, GP]` | `'be/root/vb'` |
| `[L, L]` | `'champion/champion'` |
| `[C]` | `24` |
Again, common sense dictates what is possible. When searching trees, only trees, words, lemmata, POS and counts can be returned. If showing trees, you can't show anything else. If you use `C`, you can't use anything else.
## Working with coreferences
One major challenge in corpus linguistics is the fact that pronouns stand in for other words. Parsing provides coreference resolution, which maps pronouns to the things they denote. You can enable this kind of parsing by specifying the `dcoref` annotator:
```python
>>> ops = 'tokenize,ssplit,pos,lemma,parse,ner,dcoref'
>>> parsed = corpus.interrogate(operations=ops)
```
If you have done this, you can use `coref=True` while interrogating to allow coreferents to be mapped together:
```python
>>> corpus.interrogate(query, coref=True)
```
So, if you wanted to find all the processes a certain entity is engaged in, you can get a more complete result with:
```python
>>> from corpkit.dictionaries import roles
>>> corpus.interrogate({W: 'clinton', GF: roles.process}, coref=True)
```
This will count `support` in `Clinton supported the independence of Kosovo`, and also potentially `authorize` in `He authorized the use of force`. You can also toggle the `representative=True` and `non_representative=True` arguments if you want to distinguish between copula and non-copula coreference.
```python
>>> corpus.interrogate({W: 'clinton', GF: roles.process}, coref=True, representative=False)
```
## Building corpora
*corpkit*'s `Corpus()` class contains `parse()` and `tokenise()`, methods for created parsed and/or tokenised corpora. The main thing you need is **a folder, containing either text files, or subfolders that contain text files**. [Stanford CoreNLP](http://nlp.stanford.edu/software/corenlp.shtml) is required to parse corpora. If you don't have it, *corpkit* can download and install it for you. If you're tokenising, you'll need to make sure you have NLTK's tokeniser data. You can then run:
```python
>>> unparsed = Corpus('path/to/unparsed/files')
### to parse, you can set a path to corenlp
>>> corpus = unparsed.parse(corenlppath='Downloads/corenlp')
### to tokenise, point to nltk:
# >>> corpus = unparsed.tokenise(nltk_data_path='Downloads/nltk_data')
```
which creates the parsed/tokenised corpora, and returns `Corpus()` objects representing them. When parsing, you can also optionally pass in a string of annotators, as per the [CoreNLP documentation](http://nlp.stanford.edu/software/corenlp.shtml):
```python
>>> ans = 'tokenize,ssplit,pos'
### you can also set memory and turn off copula head parsing,
### or multiprocess the parsing job (though you'll want a big machine)
>>> corpus = unparsed.parse(operations=ans, memory_mb=3000,
... copula_head=False, multiprocess=4)
```
#### Speaker IDs
Something novel about *corpkit* is that it can work with corpora containing speaker IDs (scripts, transcripts, logs, etc.), like this:
JOHN: Why did they change the signs above all the bins?
SPEAKER23: I know why. But I'm not telling.
If you use:
```python
>>> corpus = unparsed.parse(speaker_segmentation=True)
```
This will:
1. Detect any IDs in any file
2. Create a duplicate version of the corpus with IDs removed
3. Parse this 'cleaned' corpus
4. Add an XML tag to each sentence with the name of the speaker
5. Return the parsed corpus as a `Corpus()` object
When interrogating or concordancing, you can then pass in a keyword argument to restrict searches to one or more speakers:
```python
>>> s = ['BRISCOE', 'LOGAN']
>>> npheads = interrogate(T, r'/NN.?/ >># NP', just_speakers=s)
```
This makes it possible to not only investigate individual speakers, but to form an understanding of the overall tenor/tone of the text as well: *Who does most of the talking? Who is asking the questions? Who issues commands?*
### Navigating parsed corpora
When your data is parsed, `Corpus` objects draw on [CoreNLP XML](http://corenlp-xml-library.readthedocs.org/en/latest/) to keep everything seamlessly connected:
```python
>>> corp = Corpus('data/CHT-parsed')
>>> corp.subcorpora['2013'].files[1].document.sentences[4235].parse_string
### '(ROOT (FRAG (CC And) (NP (NP (RB not) (RB just)) (NP (NP (NNP Metrione) ... '
>>> corp.subcorpora['1997'].files[0].document.sentences[3509].tokens[30].word
### 'linguistics'
```
### Getting general stats
Once you have a parsed `Corpus()` object, enter `corpus.features` to interrogate the corpus for some basic frequencies:
```python
>>> corpus = Corpus('data/sessions-parsed')
>>> corpus.features
```
Output:
```
Characters Tokens Words Closed class words Open class words Clauses Sentences Unmodalised declarative Mental processes Relational processes Interrogative Passives Verbal processes Modalised declarative Open interrogative Imperative Closed interrogative
01 26873 8513 7308 4809 3704 2212 577 280 156 98 76 35 39 26 8 2 3
02 25844 7933 6920 4313 3620 2270 266 130 195 109 29 19 35 11 5 1 3
03 18376 5683 4877 3067 2616 1640 330 174 132 68 30 40 29 8 12 6 1
04 20066 6354 5366 3587 2767 1775 319 174 176 83 33 30 20 9 9 4 1
05 23461 7627 6217 4400 3227 1978 479 245 154 93 45 51 28 20 5 3 1
06 19164 6777 5200 4151 2626 1684 298 111 165 83 43 56 14 10 6 6 2
07 22349 7039 5951 4012 3027 1947 343 183 195 82 29 30 38 12 5 5 0
08 26494 8760 7124 4960 3800 2379 545 263 170 87 66 36 32 10 6 5 4
09 23073 7747 6193 4524 3223 2056 310 149 164 88 21 26 22 10 5 3 0
10 20648 6789 5608 3817 2972 1795 437 265 139 101 34 34 39 18 5 3 2
11 25366 8533 6899 4925 3608 2207 457 230 203 116 39 48 47 15 10 4 0
12 16976 5742 4624 3274 2468 1567 258 135 183 72 23 43 22 4 3 1 6
13 25807 8546 6966 4768 3778 2345 477 257 200 124 45 50 36 15 12 3 2
```
Features such as *relational/mental/verbal* processes are difficult to locate automatically, so these counts are perhaps best seen as approximations. Even so, this data can be very helpful when using `edit()` to generate relative frequencies, for example.
## Concordancing
Unlike most concordancers, which are based on plaintext corpora, *corpkit* can concordance grammatically, using the same kind of `search`, `exclude` and `show` values as `interrogate()`.
```python
>>> subcorpus = corpus.subcorpora.c2005
### C is added above to make a valid variable name from an int
### can also be accessed as corpus.subcorpora['2005']
### or corpus.subcorpora[index]
>>> query = r'/JJ.?/ > (NP <<# (/NN.?/ < /\brisk/))'
### T option for tree searching
>>> lines = subcorpus.concordance(T, query, window=50, n=10, random=True)
```
Output (a `Pandas DataFrame`):
```
0 hedge funds or high-risk stocks obviously poses a greater risk to the pension program than a portfolio of
1 contaminated water pose serious health and environmental risks
2 a cash break-even pace '' was intended to minimize financial risk to the parent company
3 Other major risks identified within days of the attack
4 One seeks out stocks ; the other monitors risks
5 men and women in Colorado Springs who were at high risk for H.I.V. infection , because of
6 by the marketing consultant Seth Godin , to taking calculated risks , in the opinion of two longtime business
7 to happen '' in premises '' where there was a high risk of fire
8 As this was match points , some of them took a slight risk at the second trick by finessing the heart
9 said that the agency 's continuing review of how Guidant treated patient risks posed by devices like the
```
You can also concordance via dependencies:
```python
### match words starting with 'st' filling function of nsubj
>>> criteria = {W: r'^st', F: r'nsubj$'}
### show function, pos and lemma (in that order)
>>> lines = subcorpus.concordance(criteria, show =[F,P,L])
>>> lines.format(window=30, n=10, columns=[L,M,R])
```
Output:
```
0 ime ./:/; cc/CC/and det/DT/the nsubj/NN/stock conj:and/VBZ/be advmod/RB/hist
1 vmod/RB/even compound/NN/sleep nsubj/NNS/study ./,/, appos/NNS/evaluation cas
2 od:poss/NNS/veteran case/POS/' nsubj/NN/study ccomp/VBZ/suggest mark/IN/that
3 det/DT/a nsubj/NN/study case/IN/in nmod:poss/NN/today
4 cc/CC/but det/DT/the nsubj/NN/study root/VBD/find mark/IN/that cas
5 pound/NN/a amod/JJ/preliminary nsubj/NN/study case/IN/of nmod:of/NNS/woman c
6 case/IN/for nmod:for/WDT/which nsubj/NNS/statistics acl:relcl/VBD/be xcomp/JJ/avai
7 amod/JJR/earlier nsubj/NNS/study aux/VBD/have root/VBN/show mar
8 ay det/DT/the amod/JJR/earlier nsubj/NNS/study aux/VBD/do neg/RB/not ccomp/VB
9 /there root/VBP/be det/DT/some nsubj/NNS/strategy ./:/- dep/JJS/most case/IN/of
```
You can search tokenised corpora or plaintext corpora for regular expressions or lists of words to match. The two queries below will return identical results:
```python
>>> r_query = r'^fr?iends?$'
>>> l_query = ['friend', 'friends', 'fiend', 'fiends']
>>> lines = subcorpus.concordance({W: r_query})
>>> lines = subcorpus.concordance({W: l_query})
```
If you really wanted, you can then go on to use `concordance()` output as a dictionary, or extract keywords and ngrams from it, or keep or remove certain results with `edit()`. If you want to [give the GUI a try](http://interrogator.github.io/corpkit/), you can colour-code and create thematic categories for concordance lines as well.
## Systemic functional stuff
Because I mostly use systemic functional grammar, there is also a simple tool for distinguishing between process types (relational, mental, verbal) when interrogating a corpus. If you add words to the lists in `dictionaries/process_types.py`, corpkit will get their inflections automatically.
```python
>>> from corpkit.dictionaries import processes
### match nsubj with verbal process as governor
>>> crit = {F: '^nsubj$', G: processes.verbal}
### return lemma of the nsubj
>>> sayers = corpus.interrogate(crit, show=L)
### have a look at the top results
>>> sayers.quickview(n=20)
```
Output:
```
0: he (n=24530)
1: she (n=5558)
2: they (n=5510)
3: official (n=4348)
4: it (n=3752)
5: who (n=2940)
6: that (n=2665)
7: i (n=2062)
8: expert (n=2057)
9: analyst (n=1369)
10: we (n=1214)
11: report (n=1103)
12: company (n=1070)
13: which (n=1043)
14: you (n=987)
15: researcher (n=987)
16: study (n=901)
17: critic (n=826)
18: person (n=802)
19: agency (n=798)
20: doctor (n=770)
```
First, let's try removing the pronouns using `edit()`. The quickest way is to use the editable wordlists stored in `dictionaries/wordlists`:
```python
>>> from corpkit.dictionaries import wordlists
>>> prps = wordlists.pronouns
# alternative approaches:
# >>> prps = [0, 1, 2, 4, 5, 6, 7, 10, 13, 14, 24]
# >>> prps = ['he', 'she', 'you']
# >>> prps = as_regex(wl.pronouns, boundaries='line')
# or, by re-interrogating:
# >>> sayers = corpus.interrogate(crit, show=L, exclude={W: wordlists.pronouns})
### give edit() indices, words, wordlists or regexes to keep remove or merge
>>> sayers_no_prp = sayers.edit(skip_entries=prps, skip_subcorpora=[1963])
>>> sayers_no_prp.quickview(n=10)
```
Output:
```
0: official (n=4342)
1: expert (n=2055)
2: analyst (n=1369)
3: report (n=1098)
4: company (n=1066)
5: researcher (n=987)
6: study (n=900)
7: critic (n=825)
8: person (n=801)
9: agency (n=796)
```
Great. Now, let's sort the entries by trajectory, and then plot:
```python
### sort with edit()
### use scipy.linregress to sort by 'increase', 'decrease', 'static', 'turbulent' or P
### other sort_by options: 'name', 'total', 'infreq'
>>> sayers_no_prp = sayers_no_prp.edit('%', sayers.totals, sort_by='increase')
### make an area chart with custom y label
>>> sayers_no_prp.visualise('Sayers, increasing', kind='area',
... y_label='Percentage of all sayers')
```
Output:
We can also merge subcorpora. Let's look for changes in gendered pronouns:
```python
>>> merges = {'1960s': r'^196',
... '1980s': r'^198',
... '1990s': r'^199',
... '2000s': r'^200',
... '2010s': r'^201'}
>>> sayers = sayers.edit(merge_subcorpora=merges)
### now, get relative frequencies for he and she
### SELF calculates percentage after merging/removing etc has been performed,
### so that he and she will sum to 100%. Pass in `sayers.totals` to calculate
### he/she as percentage of all sayers
>>> genders = sayers.edit('%', SELF, just_entries=['he','she'])
### and plot it as a series of pie charts, showing totals on the slices:
>>> genders.visualise('Pronominal sayers in the NYT', kind='pie',
... subplots=True, figsize=(15,2.75), show_totals='plot')
```
Output:
Woohoo, a decreasing gender divide!
## Keywording
As I see it, there are two main problems with keywording, as typically performed in corpus linguistics. First is the reliance on 'balanced'/'general' reference corpora, which are obviously a fiction. Second is the idea of stopwords. Essentially, when most people calculate keywords, they use stopword lists to automatically filter out words that they think will not be of interest to them. These words are generally closed class words, like determiners, prepositions, or pronouns. This is not a good way to go about things: the relative frequencies of *I*, *you* and *one* can tell us a lot about the kinds of language in a corpus. More seriously, stopwords mean adding subjective judgements about what is interesting language into a process that is useful precisely because it is not subjective or biased.
So, what to do? Well, first, don't use 'general reference corpora' unless you really really have to. With *corpkit*, you can use your entire corpus as the reference corpus, and look for keywords in subcorpora. Second, rather than using lists of stopwords, simply do not send all words in the corpus to the keyworder for calculation. Instead, try looking for key *predicators* (rightmost verbs in the VP), or key *participants* (heads of arguments of these VPs):
```python
### just heads of participants' lemma form (no pronouns, though!)
>>> part = r'/(NN|JJ).?/ >># (/(NP|ADJP)/ $ VP | > VP)'
>>> p = corpus.interrogate(T, part, show=L)
```
When using `edit()` to calculate keywords, there are a few default parameters that can be easily changed:
| Keyword argument | Function | Default setting | Type
|---|---|---|---|
| `threshold` | Remove words occurring fewer than `n` times in reference corpus | `False` | `'high/medium/low'`/ `True/False` / `int`
| `calc_all` | Calculate keyness for words in both reference and target corpus, rather than just target corpus | `True` | `True/False`
| `selfdrop` | Attempt to remove target data from reference data when calculating keyness | `True` | `True/False`
Let's have a look at how these options change the output:
```python
### SELF as reference corpus uses p.results
>>> options = {'selfdrop': False,
... 'calc_all': False,
... 'threshold': False}
>>> for k, v in options.items():
... key = p.edit('keywords', SELF, k=v)
... print key.results.ix['2011'].order(ascending=False)
```
Output:
| #1: default | | #2: no `selfdrop` | | #3: no `calc_all` | | #4: no `threshold` | |
|---|---:|---|---:|---|---:|---|---:|
| risk | 1941.47 | risk | 1909.79 | risk | 1941.47 | bank | 668.19 |
| bank | 1365.70 | bank | 1247.51 | bank | 1365.70 | crisis | 242.05 |
| crisis | 431.36 | crisis | 388.01 | crisis | 431.36 | obama | 172.41 |
| investor | 410.06 | investor | 387.08 | investor | 410.06 | demiraj | 161.90 |
| rule | 316.77 | rule | 293.33 | rule | 316.77 | regulator | 144.91 |
| | ... | | ... | | ... | | ... |
| clinton | -37.80 | tactic | -35.09 | hussein | -25.42 | clinton | -87.33 |
| vioxx | -38.00 | vioxx | -35.29 | clinton | -37.80 | today | -89.49 |
| greenspan | -54.35 | greenspan | -51.38 | vioxx | -38.00 | risky | -125.76 |
| bush | -153.06 | bush | -143.02 | bush | -153.06 | bush | -253.95 |
| yesterday | -162.30 | yesterday | -151.71 | yesterday | -162.30 | yesterday | -268.29 |
As you can see, slight variations on keywording give different impressions of the same corpus!
A key strength of *corpkit*'s approach to keywording is that you can generate new keyword lists without re-interrogating the corpus. We can use some Pandas syntax to do this more quickly.
```python
>>> yrs = ['2011', '2012', '2013', '2014']
>>> keys = p.results.ix[yrs].sum().edit('keywords', p.results.drop(yrs),
... threshold=False)
>>> print keys.results
```
Output:
```
bank 1795.24
obama 722.36
romney 560.67
jpmorgan 527.57
rule 413.94
dimon 389.86
draghi 349.80
regulator 317.82
italy 282.00
crisis 243.43
putin 209.51
greece 208.80
snowden 208.35
mf 192.78
adoboli 161.30
```
... or track the keyness of a set of words over time:
```python
>>> twords = ['terror', 'terrorism', 'terrorist']
>>> terr = p.edit(K, SELF, merge_entries={'terror': twords})
>>> print terr.results.terror
```
Output:
```
1963 -2.51
1987 -3.67
1988 -16.09
1989 -6.24
1990 -16.24
... ...
Name: terror, dtype: float64
```
### Visualising keywords
Naturally, we can use `visualise()` for our keywords too:
```python
>>> pols.results.terror.visualise('Terror* as Participant in the \emph{NYT}',
... kind='area', stacked=False, y_label='L/L Keyness')
>>> politicians = ['bush', 'obama', 'gore', 'clinton', 'mccain',
... 'romney', 'dole', 'reagan', 'gorbachev']
>>> k.results[politicans].visualise('Keyness of politicians in the \emph{NYT}',
... num_to_plot='all', y_label='L/L Keyness', kind='area', legend_pos='center left')
```
Output:
### Traditional reference corpora
If you still want to use a standard reference corpus, you can do that (and a dictionary version of the BNC is included). For the reference corpus, `edit()` recognises `dicts`, `DataFrames`, `Series`, files containing `dicts`, or paths to plain text files or trees.
```python
### arbitrary list of common/boring words
>>> from corpkit.dictionaries import stopwords
>>> print p.results.ix['2013'].edit(K, 'bnc.p', skip_entries=stopwords).results
>>> print p.results.ix['2013'].edit(K, 'bnc.p', calc_all=False).results
```
Output (not so useful):
```
#1 #2
bank 5568.25 bank 5568.25
person 5423.24 person 5423.24
company 3839.14 company 3839.14
way 3537.16 way 3537.16
state 2873.94 state 2873.94
... ...
three -691.25 ten -199.36
people -829.97 bit -205.97
going -877.83 sort -254.71
erm -2429.29 thought -255.72
yeah -3179.90 will -679.06
```
## Parallel processing
`interrogate()` can also do parallel-processing. You can generally improve the speed of an interrogation by setting the `multiprocess` argument:
```python
### set num of parallel processes manually
>>> data = corpus.interrogate({T: r'/NN.?/ >># NP'}, multiprocess=3)
### set num of parallel processes automatically
>>> data = corpus.interrogate({T: r'/NN.?/ >># NP'}, multiprocess=True)
```
Multiprocessing is particularly useful, however, when you are interested in multiple corpora, speaker IDs, or search queries. The sections below explain how.
#### Multiple corpora
To parallel-process multiple corpora, first, wrap them up as a `Corpora()` object. To do this, you can pass in:
1. a list of paths
2. a list of `Corpus()` objects
3. A single path string that contains corpora
```python
>>> from corpkit.corpus import Corpora
>>> corpora = Corpora('./data') # path containing corpora
>>> corpora
###
### interrogate by parallel processing, 4 at a time
>>> output = corpora.interrogate(T, r'/NN.?/ < /(?i)^h/', show=L, multiprocess=4)
```
The output of a multiprocessed interrogation will generally be a `dict` with corpus/speaker/query names as keys. The main exception to this is if you use `show=C`, which will concatenate results from each query into a single `Interrogation` object, using corpus/speaker/query names as column names.
#### Multiple speakers
Passing in a list of speaker names will also trigger multiprocessing:
```python
>>> from dictionary.wordlists import wordlists
>>> spkrs = ['MEYER', 'JAY']
>>> each_speaker = corpus.interrogate(W, wordlists.closedclass, just_speakers=spkrs)
```
There is also `just_speakers='each'`, which will be automatically expanded to include every speaker name found in the corpus.
#### Multiple queries
You can also run a number of queries over the same corpus in parallel. There are two ways to do this.
```python
### method one
>>> query = {'Noun phrases': r'NP', 'Verb phrases': r'VP'}
>>> phrases = corpus.interrogate(T, query, show=C)
### method two
>>> query = {'-ing words': {W: r'ing$'}, '-ed verbs': {P: r'^V', W: r'ed$'}}
>>> patterns = corpus.interrogate(query, show=L)
```
Let's try multiprocessing with multiple queries, showing count (i.e. returning a single results DataFrame). We can look at different risk processes (e.g. *risk*, *take risk*, *run risk*, *pose risk*, *put at risk*) using constituency parses:
```python
>>> q = {'risk': r'VP <<# (/VB.?/ < /(?i).?\brisk.?\b/)',
... 'take risk': r'VP <<# (/VB.?/ < /(?i)\b(take|takes|taking|took|taken)+\b/) < (NP <<# /(?i).?\brisk.?\b/)',
... 'run risk': r'VP <<# (/VB.?/ < /(?i)\b(run|runs|running|ran)+\b/) < (NP <<# /(?i).?\brisk.?\b/)',
... 'put at risk': r'VP <<# /(?i)(put|puts|putting)\b/ << (PP <<# /(?i)at/ < (NP <<# /(?i).?\brisk.?/))',
... 'pose risk': r'VP <<# (/VB.?/ < /(?i)\b(pose|poses|posed|posing)+\b/) < (NP <<# /(?i).?\brisk.?\b/)'}
# show=C will collapse results from each search into single dataframe
>>> processes = corpus.interrogate(T, q, show=C)
>>> proc_rel = processes.edit('%', processes.totals)
>>> proc_rel.visualise('Risk processes')
```
Output:
## More complex queries and plots
Next, let's find out what kinds of noun lemmas are subjects of any of these risk processes:
```python
### a query to find heads of nps that are subjects of risk processes
>>> query = r'/^NN(S|)$/ !< /(?i).?\brisk.?/ >># (@NP $ (VP <+(VP) (VP ( <<# (/VB.?/ < /(?i).?\brisk.?/) ' \
... r'| <<# (/VB.?/ < /(?i)\b(take|taking|takes|taken|took|run|running|runs|ran|put|putting|puts)/) < ' \
... r'(NP <<# (/NN.?/ < /(?i).?\brisk.?/))))))'
>>> noun_riskers = c.interrogate(T, query, show=L)
>>> noun_riskers.quickview(10)
```
Output:
```
0: person (n=195)
1: company (n=139)
2: bank (n=80)
3: investor (n=66)
4: government (n=63)
5: man (n=51)
6: leader (n=48)
7: woman (n=43)
8: official (n=40)
9: player (n=39)
```
We can use `edit()` to make some thematic categories:
```python
### get everyday people
>>> p = ['person', 'man', 'woman', 'child', 'consumer', 'baby', 'student', 'patient']
### get business, gov, institutions
>>> i = ['company', 'bank', 'investor', 'government', 'leader', 'president', 'officer',
... 'politician', 'institution', 'agency', 'candidate', 'firm']
>>> merges = {'Everyday people': p, Institutions: i}
>>> them_cat = them_cat.edit('%', noun_riskers.totals,
... merge_entries=merges,
... sort_by='total',
... skip_subcorpora=1963,
... just_entries=merges.keys())
### plot result
>>> them_cat.visualise('Types of riskers', y_label='Percentage of all riskers')
```
Output:
Let's also find out what percentage of the time some nouns appear as riskers:
```python
### find any head of an np not containing risk
>>> query = r'/NN.?/ >># NP !< /(?i).?\brisk.?/'
>>> noun_lemmata = corpus.interrogate(T, query, show=L)
### get some key terms
>>> people = ['man', 'woman', 'child', 'baby', 'politician',
... 'senator', 'obama', 'clinton', 'bush']
>>> selected = noun_riskers.edit('%', noun_lemmata.results,
... just_entries=people, just_totals=True, threshold=0, sort_by='total')
### make a bar chart:
>>> selected.visualise('Risk and power', num_to_plot='all', kind='bar',
... x_label='Word', y_label='Risker percentage', fontsize=15)
```
Output:
### Visualisation options
With a bit of creativity, you can do some pretty awesome data-viz, thanks to *Pandas* and *Matplotlib*. The following plots require only one interrogation:
```python
>>> modals = corpus.interrogate(T, 'MD < __', show=L)
### simple stuff: make relative frequencies for individual or total results
>>> rel_modals = modals.edit('%', modals.totals)
### trickier: make an 'others' result from low-total entries
>>> low_indices = range(7, modals.results.shape[1])
>>> each_md = modals.edit('%', modals.totals, merge_entries={'other': low_indices},
... sort_by='total', just_totals=True, keep_top=7)
### complex stuff: merge results
>>> entries_to_merge = [r'(^w|\'ll|\'d)', r'^c', r'^m', r'^sh']
>>> modals = modals.edit(merge_entries=entries_to_merge)
### complex stuff: merge subcorpora
>>> merges = {'1960s': r'^196',
... '1980s': r'^198',
... '1990s': r'^199',
... '2000s': r'^200',
... '2010s': r'^201'}
>>> modals = sayers.edit(merge_subcorpora=merges)
### make relative, sort, remove what we don't want
>>> modals = modals.edit('%', modals.totals, keep_stats=False,
... just_subcorpora=merges.keys(), sort_by='total', keep_top=4)
### show results
>>> print rel_modals.results, each_md.results, modals.results
```
Output:
```
would will can could ... need shall dare shalt
1963 22.326833 23.537323 17.955615 6.590451 ... 0.000000 0.537996 0.000000 0
1987 24.750614 18.505132 15.512505 11.117537 ... 0.072286 0.260228 0.014457 0
1988 23.138986 19.257117 16.182067 11.219364 ... 0.091338 0.060892 0.000000 0
... ... ... ... ... ... ... ... ... ...
2012 23.097345 16.283186 15.132743 15.353982 ... 0.029499 0.029499 0.000000 0
2013 22.136269 17.286522 16.349301 15.620351 ... 0.029753 0.029753 0.000000 0
2014 21.618357 17.101449 16.908213 14.347826 ... 0.024155 0.000000 0.000000 0
[29 rows x 17 columns]
would 23.235853
will 17.484034
can 15.844070
could 13.243449
may 9.581255
should 7.292294
other 7.290155
Name: Combined total, dtype: float64
would/will/'ll... can/could/ca may/might/must should/shall/shalt
1960s 47.276395 25.016812 19.569603 7.800941
1980s 44.756285 28.050776 19.224476 7.566817
1990s 44.481957 29.142571 19.140310 6.892708
2000s 42.386571 30.710739 19.182867 7.485681
2010s 42.581666 32.045745 17.777845 7.397044
```
Now, some intense plotting:
```python
### exploded pie chart
>>> each_md.visualise('Pie chart of common modals in the NYT', explode=['other'],
... num_to_plot='all', kind='pie', colours='Accent', figsize=(11,11))
### bar chart, transposing and reversing the data
>>> modals.results.iloc[::-1].T.iloc[::-1].visualise('Modals use by decade', kind='barh',
... x_label='Percentage of all modals', y_label='Modal group')
### stacked area chart
>>> rel_modals.results.drop('1963').visualise('An ocean of modals', kind='area',
... stacked=True, colours='summer', figsize =(8,10), num_to_plot='all',
... legend_pos='lower right', y_label='Percentage of all modals')
```
Output:
## Contact
Twitter: [@interro_gator](https://twitter.com/interro_gator)
## Cite
> `McDonald, D. (2015). corpkit: a toolkit for corpus linguistics. Retrieved from https://www.github.com/interrogator/corpkit. DOI: http://doi.org/10.5281/zenodo.28361`
================================================
FILE: Dockerfile
================================================
FROM alpine:latest
MAINTAINER interro_gator
# set up a workspace so we can cache python stuff
RUN rm -rf /.src && mkdir /.src
COPY requirements.txt /.src/requirements.txt
# add corenlp
# COPY ~/corenlp /.src
# use the workspace for everything
WORKDIR /.src
# install the basics
RUN apk add --update \
python3 \
python-dev \
py-pip \
build-base \
git \
libpng \
freetype \
pkgconf \
libxft-dev \
libxml2-dev \
readline
# install java for parsing
RUN apk --update add openjdk8-jre-base
# needed for numpy
RUN ln -s /usr/include/locale.h /usr/include/xlocale.h
RUN ln -s /usr/include/libxml2/libxml/xmlversion.h /usr/include/xmlversion.h
RUN mkdir /usr/include/libxml
RUN ln -s /usr/include/libxml2/libxml/xmlversion.h /usr/include/libxml/xmlversion.h
RUN ln -s /usr/include/libxml2/libxml/xmlexports.h /usr/include/xmlexports.h
RUN ln -s /usr/include/libxml2/libxml/xmlexports.h /usr/include/libxml/xmlexports.h
# stop pip from complaining
RUN pip install --upgrade pip
# python heavyweight stuff
RUN pip install cython
RUN pip install numpy
RUN pip install colorama
# remove old stuff --- not sure it does much
RUN rm -rf /var/cache/apk/*
# get matplotlib github version
RUN git clone git://github.com/matplotlib/matplotlib.git
RUN cd matplotlib && python setup.py install && cd ..
# install corpkit requirements
RUN pip install -r requirements.txt
RUN pip install docker-py
# add everything from corpkit to working dir
COPY . /.src
# install corpkit itself
RUN python /.src/setup.py install
# download might be needed for licence issues
#RUN python -m corpkit.download.corenlp /
CMD python -m corpkit.env docker=corpkit
WORKDIR /projects
================================================
FILE: LICENSE
================================================
The MIT License (MIT)
Copyright (c) 2015 Daniel McDonald
mcdonaldd, at, unimelb.edu
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: Makefile
================================================
# Makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = _build
# User-friendly check for sphinx-build
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
endif
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext
help:
@echo "Please use \`make ' where is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " applehelp to make an Apple Help Book"
@echo " devhelp to make HTML files and a Devhelp project"
@echo " epub to make an epub"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " latexpdf to make LaTeX files and run them through pdflatex"
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
@echo " text to make text files"
@echo " man to make manual pages"
@echo " texinfo to make Texinfo files"
@echo " info to make Texinfo files and run them through makeinfo"
@echo " gettext to make PO message catalogs"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " xml to make Docutils-native XML files"
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
@echo " coverage to run coverage check of the documentation (if enabled)"
clean:
rm -rf $(BUILDDIR)/*
html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
dirhtml:
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
singlehtml:
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
pickle:
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."
json:
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."
htmlhelp:
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."
qthelp:
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/corpkit.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/corpkit.qhc"
applehelp:
$(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
@echo
@echo "Build finished. The help book is in $(BUILDDIR)/applehelp."
@echo "N.B. You won't be able to view it unless you put it in" \
"~/Library/Documentation/Help or install it in your application" \
"bundle."
devhelp:
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo "# mkdir -p $$HOME/.local/share/devhelp/corpkit"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/corpkit"
@echo "# devhelp"
epub:
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
latex:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
@echo "Run \`make' in that directory to run these through (pdf)latex" \
"(use \`make latexpdf' here to do that automatically)."
latexpdf:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through pdflatex..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
latexpdfja:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through platex and dvipdfmx..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
text:
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
@echo
@echo "Build finished. The text files are in $(BUILDDIR)/text."
man:
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
@echo
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
texinfo:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
@echo "Run \`make' in that directory to run these through makeinfo" \
"(use \`make info' here to do that automatically)."
info:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo "Running Texinfo files through makeinfo..."
make -C $(BUILDDIR)/texinfo info
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
gettext:
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
@echo
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
changes:
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
@echo
@echo "The overview file is in $(BUILDDIR)/changes."
linkcheck:
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."
doctest:
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."
coverage:
$(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage
@echo "Testing of coverage in the sources finished, look at the " \
"results in $(BUILDDIR)/coverage/python.txt."
xml:
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
@echo
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
pseudoxml:
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
@echo
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
================================================
FILE: README.md
================================================
# corpkit: sophisticated corpus linguistics
[](https://gitter.im/interrogator/corpkit?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [](https://zenodo.org/badge/latestdoi/14568/interrogator/corpkit) [](https://travis-ci.org/interrogator/corpkit) [](https://pypi.python.org/pypi/corpkit) [](http://corpkit.readthedocs.org/en/latest/) [](https://hub.docker.com/r/interrogator/corpkit/) [](https://anaconda.org/interro_gator/corpkit)
## **NOTICE: corpkit is now deprecated and unmaintained. It is superceded by [`buzz`](https://github.com/interrogator/buzz), which is better in every way.**
> **corpkit** is a module for doing more sophisticated corpus linguistics. It links state-of-the-art natural language processing technologies to functional linguistic research aims, allowing you to easily build, search and visualise grammatically annotated corpora in novel ways.
The basic workflow involves making corpora, parsing them, and searching them. The results of searches are [CONLL-U formatted](http://universaldependencies.org/format.html) files, represented as [pandas](http://pandas.pydata.org/) objects, which can be edited, visualised or exported in a lot of ways. The tool has three interfaces, each with its own documentation:
1. [A Python API](http://corpkit.readthedocs.io)
2. [A natural language interpreter](http://corpkit.readthedocs.io/en/latest/rst_docs/interpreter/corpkit.interpreter.overview.html)
3. [A graphical interface](http://interrogator.github.io/corpkit/)
A quick demo for each interface is provided in this document.
## Feature summary
From all three interfaces, you can do a lot of neat things. In general:
### Parsing
> Corpora are stored as `Corpus` objects, with methods for viewing, parsing, interrogating and concordancing.
* A very simple wrapper around the full Stanford CoreNLP pipeline
* Automatically add annotations, speaker names and metadata to parser output
* Detect speaker names and make these into metadata features
* Multiprocessing
* Store dependency parsed texts, parse trees and metadata in CONLL-U format
### Interrogating corpora
> Interrogating a corpus produces an `Interrogation` object, with results as Pandas DataFrame attributes.
* Search corpora using regular expressions, wordlists, CQL, Tregex, or a rich, purpose built dependency searching syntax
* Interrogate any dataset in CONLL-U format (e.g. [the Universal Dependencies Treebanks](https://github.com/UniversalDependencies))
* Collocation, n-gramming
* Restrict searches by metadata feature
* Use metadata as symbolic subcorpora
* Choose what search results return: show any combination of words, lemmata, POS, indices, distance from root node, syntax tree, etc.
* Generate concordances alongside interrogations
* Work with coreference annotation
### Editing results
> `Interrogation` objects have `edit`, `visualise` and `save` methods, to name just a few. Editing creates a new `Interrogation` object.
* Quickly delete, sort, merge entries and subcorpora
* Make relative frequencies (e.g. calculate results as percentage of all words/clauses/nouns ...)
* Use linear regression sorting to find increasing, decreasing, turbulent or static trajectories
* Calculate p values, etc.
* Keywording
* Simple multiprocessing available for parsing and interrogating
* Results are Pandas objects, so you can do fast, good statistical work on them
### Visualising results
> The `visualise` method of `Interrogation` objects uses matplotlib and seaborn if installed to produce high quality figures.
* Many chart types
* Easily customise titles, axis labels, colours, sizes, number of results to show, etc.
* Make subplots
* Save figures in a number of formats
### Concordancing
> When interrogating a corpus, concordances are also produced, which can allow you to check that your query matches what you want it to.
* Colour, sort, delete lines using regular expressions
* Recalculate results from edited concordance lines (great for removing false positives)
* Format lines for publication with TeX
### Other stuff
* Language modelling
* Save and load results, images, concordances
* Export data to other tools
* Switch between API, GUI and interpreter whenever you like
## Installation
Via pip:
```shell
pip install corpkit
```
Via Git:
```shell
git clone https://github.com/interrogator/corpkit
cd corpkit
python setup.py install
```
Via Anaconda:
```shell
conda install -c interro_gator corpkit
```
## Creating a project
Once you've got everything installed, you'll want to create a project---this is just a folder hierarchy that stores your corpora, saved results, figures and so on. You can do this in a number of ways:
### Shell
```shell
new_project junglebook
cp -R chapters junglebook/data
```
### Interpreter
```shell
> new project named junglebook
> add ../chapters
```
### Python
```python
>>> import shutil
>>> from corpkit import new_project
>>> new_project('junglebook')
>>> shutil.copytree('../chapters', 'junglebook/data')
```
You can create projects and add data via the file menu of the graphical interface as well.
## Ways to use *corpkit*
As explained earlier, there are three ways to use the tool. Each has unique strengths and weaknesses. To summarise them, the Python API is the most powerful, but has the steepest learning curve. The GUI is the least powerful, but easy to learn (though it is still arguably the most powerful linguistics GUI available). The interpreter strikes a happy middle ground, especially for those who are not familiar with Python.
## Interpreter
The first way to use *corpkit* is by entering its natural language interpreter. To activate it, use the `corpkit` command:
```shell
$ cd junglebook
$ corpkit
```
You'll get a lovely new prompt into which you can type commands:
```none
corpkit@junglebook:no-corpus>
```
Generally speaking, it has the comforts of home, such as history, search, backslash line breaking, variable creation and `ls` and `cd` commands. As in `IPython`, any command beginning with an exclamation mark will be executed by the shell. You can also write scripts and execute them with `corpkit script.ck`, or `./script.ck` if you have a shebang.
### Making projects and parsing corpora
```shell
# make new project
> new project named junglebook
# add folder of (subfolders of) text files
> add '../chapters'
# specify corpus to work on
> set chapters as corpus
# parse the corpus
> parse corpus with speaker_segmentation and metadata and multiprocess as 2
```
### Searching and concordancing
```shell
# search and exclude
> search corpus for governor-function matching 'root' \
... excluding governor-lemma matching 'be'
# show pos, lemma, index, (e.g. 'NNS/thing/3')
> search corpus for pos matching '^N' showing pos and lemma and index
# further arguments and dynamic structuring
> search corpus for word matching any \
... with subcorpora as pagenum and preserve_case
# show concordance lines
> show concordance with window as 50 and columns as LMR
# colouring concordances
> mark m matching 'have' blue
# recalculate results
> calculate result from concordance
```
### Variables, editing results
```shell
# variable naming
> call result root_deps
# skip some numerical subcorpora
> edit root_deps by skipping subcorpora matching [1,2,3,4,5]
# make relative frequencies
> calculate edited as percentage of self
# use scipy to calculate trends and sort by them
> sort edited by decrease
```
### Visualise edited results
```shell
> plot edited as line chart \
... with x_label as 'Subcorpus' and \
... y_label as 'Frequency' and \
... colours as 'summer'
```
### Switching interfaces
```shell
# open graphical interface
> gui
# enter ipython with current namespace
> ipython
# use a new/existing jupyter notebook
> jupyter notebook findings.ipynb
```
## API
Straight Python is the most powerful way to use *corpkit*, because you can manipulate results with Pandas syntax, construct loops, make recursive queries, and so on. Here are some simple examples of the API syntax:
### Instantiate and search a parsed corpus
```python
### import everything
>>> from corpkit import *
>>> from corpkit.dictionaries import *
### instantiate corpus
>>> corp = Corpus('chapters-parsed')
### search for anything participant with a governor that
### is a process, excluding closed class words, and
### showing lemma forms. also, generate a concordance.
>>> sch = {GF: roles.process, F: roles.actor}
>>> part = corp.interrogate(search=sch,
... exclude={W: wordlists.closedclass},
... show=[L],
... conc=True)
```
You get an `Interrogation` object back, with a `results` attribute that is a Pandas DataFrame:
```
daisy gatsby tom wilson eye man jordan voice michaelis \
chapter1 13 2 6 0 3 3 0 2 0
chapter2 1 0 12 10 1 1 0 0 0
chapter3 0 3 0 0 3 8 6 1 0
chapter4 6 9 2 0 1 3 1 1 0
chapter5 8 14 0 0 3 3 0 2 0
chapter6 7 14 9 0 1 2 0 3 0
chapter7 26 20 35 10 12 3 16 9 5
chapter8 5 4 1 10 2 2 0 1 10
chapter9 1 1 1 0 3 3 1 1 0
```
### Edit and visualise the result
Below, we make normalised frequencies and plot:
```python
### calculate and sort---this sort requires scipy
>>> part = part.edit('%', SELF)
### make line subplots for the first nine results
>>> plt = part.visualise('Processes, increasing', subplots=True, layout=(3,3))
>>> plt.show()
```
There are also some [more detailed API examples over here](https://github.com/interrogator/corpkit/blob/master/API-README.md). This document is fairly thorough, but now deprecated, because the official docs are now over at [ReadTheDocs](http://corpkit.readthedocs.io/en/latest/).
## Example figures
Shifting register of scientific English
Participants and processes in online forum talk
Riskers and mood role of risk words in print news journalism
## Graphical interface
Screenshots coming soon! For now, just head [here](http://interrogator.github.io/corpkit/).
## Contact
Twitter: [@interro_gator](https://twitter.com/interro_gator)
## Cite
> `McDonald, D. (2015). corpkit: a toolkit for corpus linguistics. Retrieved from https://www.github.com/interrogator/corpkit. DOI: http://doi.org/10.5281/zenodo.28361`
================================================
FILE: bld.bat
================================================
"%PYTHON%" setup.py install
if errorlevel 1 exit 1
:: Add more build steps here, if they are necessary.
:: See
:: http://docs.continuum.io/conda/build.html
:: for a list of environment variables that are set during the build process.
================================================
FILE: build.sh
================================================
#!/bin/bash
$PYTHON setup.py install
# Add more build steps here, if they are necessary.
# See
# http://docs.continuum.io/conda/build.html
# for a list of environment variables that are set during the build process.
================================================
FILE: conf.py
================================================
# -*- coding: utf-8 -*-
#
# corpkit documentation build configuration file, created by
# sphinx-quickstart on Thu Nov 5.
#
# This file is execfile()d with the current directory set to its
# containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
from sphinx.highlighting import PygmentsBridge
from pygments.formatters.latex import LatexFormatter
class CustomLatexFormatter(LatexFormatter):
def __init__(self, **options):
super(CustomLatexFormatter, self).__init__(**options)
self.verboptions = r"formatcom=\footnotesize"
PygmentsBridge.latex_formatter = CustomLatexFormatter
import sys
import os
import shlex
from recommonmark.parser import CommonMarkParser
source_parsers = {
'.md': CommonMarkParser,
}
source_suffix = ['.rst', '.md']
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#sys.path.insert(0, os.path.abspath('.'))
sys.path.insert(0,"/Users/daniel/work/corpkit/corpkit")
# -- General configuration ------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.viewcode',
'alabaster'
]
# Napoleon settings (all default)
#napoleon_google_docstring = True
#napoleon_numpy_docstring = True
#napoleon_include_init_with_doc = False
#napoleon_include_private_with_doc = False
#napoleon_include_special_with_doc = False
#napoleon_use_admonition_for_examples = False
#napoleon_use_admonition_for_notes = False
#napoleon_use_admonition_for_references = False
#napoleon_use_ivar = False
#napoleon_use_param = True
#napoleon_use_rtype = True
#napoleon_use_keyword = True
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
# source_suffix = ['.rst', '.md']
# The encoding of source files.
#source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'index'
# General information about the project.
project = u'corpkit'
copyright = u'2016, Daniel McDonald'
author = u'Daniel McDonald'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '2.3.8'
# The full version, including alpha/beta/rc tags.
release = '2.3.8'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
language = None
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
#today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build', '*/build.py']
# The reST default role (used for this markup: `text`) to use for all
# documents.
#default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# If true, keep warnings as "system message" paragraphs in the built documents.
#keep_warnings = False
# If true, `todo` and `todoList` produce output, else they produce nothing.
todo_include_todos = False
# -- Options for HTML output ----------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
# import alabaster
#
# html_theme_path = [alabaster.get_path()]
# html_theme = 'alabaster'
# html_sidebars = {
# '**': [
# 'about.html',
# 'navigation.html',
# 'relations.html',
# 'searchbox.html',
# 'donate.html',
# ]
# }
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# " v documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
html_logo = 'images/alpha_gator_small.png'
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
# Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied
# directly to the root of the documentation.
#html_extra_path = []
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# If false, no module index is generated.
#html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
html_show_sphinx = False
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Language to be used for generating the HTML full-text search index.
# Sphinx supports the following languages:
# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja'
# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr'
#html_search_language = 'en'
# A dictionary with options for the search language support, empty by default.
# Now only 'ja' uses this config value
#html_search_options = {'type': 'default'}
# The name of a javascript file (relative to the configuration directory) that
# implements a search results scorer. If empty, the default will be used.
#html_search_scorer = 'scorer.js'
# Output file base name for HTML help builder.
htmlhelp_basename = 'corpkitdoc'
# -- Options for LaTeX output ---------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
'papersize': 'a4paper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
# This should help with line breaks in code cells
'preamble': '\\setcounter{tocdepth}{3} \\usepackage{pmboxdraw}',
# Latex figure (float) alignment
'figure_align': 'htbp',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
(master_doc, 'corpkit.tex', u'corpkit documentation',
u'Daniel McDonald', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
latex_logo = 'images/alpha_gator_small.png'
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for manual page output ---------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
(master_doc, 'corpkit', u'corpkit documentation',
[author], 1)
]
# If true, show URL addresses after external links.
#man_show_urls = False
# -- Options for Texinfo output -------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
(master_doc, 'corpkit', u'corpkit documentation',
author, 'corpkit', 'Corpus linguistic tools.',
'Linguistics'),
]
# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
# If false, no module index is generated.
#texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'
# If true, do not generate a @detailmenu in the "Top" node's menu.
#texinfo_no_detailmenu = False
autodoc_member_order = 'bysource'
================================================
FILE: corpkit/__init__.py
================================================
"""
A toolkit for corpus linguistics
"""
from __future__ import print_function
#metadata
__version__ = "2.3.8"
__author__ = "Daniel McDonald"
__license__ = "MIT"
# probably not needed, anymore but adds corpkit to path for tregex.sh
import sys
import os
import inspect
from corpkit.constants import LETTERS
# asterisk import
__all__ = [
"load",
"loader",
"load_all_results",
"as_regex",
"new_project",
"Corpus",
"File",
"Corpora",
"gui"] + LETTERS
corpath = inspect.getfile(inspect.currentframe())
baspat = os.path.dirname(corpath)
#dicpath = os.path.join(baspat, 'dictionaries')
for p in [corpath, baspat]:
if p not in sys.path:
sys.path.append(p)
if p not in os.environ["PATH"].split(':'):
os.environ["PATH"] += os.pathsep + p
# import classes
from corpkit.corpus import Corpus, File, Corpora
#from corpkit.model import MultiModel
from corpkit.other import (load, loader, load_all_results,
quickview, as_regex, new_project)
from corpkit.lazyprop import lazyprop
#from corpkit.dictionaries.process_types import Wordlist
from corpkit.process import gui
# monkeypatch editing and plotting to pandas objects
from pandas import DataFrame, Series
# monkey patch functions
def _plot(self, *args, **kwargs):
from corpkit.plotter import plotter
return plotter(self, *args, **kwargs)
def _edit(self, *args, **kwargs):
from corpkit.editor import editor
return editor(self, *args, **kwargs)
def _save(self, savename, **kwargs):
from corpkit.other import save
save(self, savename, **kwargs)
def _quickview(self, n=25):
from corpkit.other import quickview
quickview(self, n=n)
def _format(self, *args, **kwargs):
from corpkit.other import concprinter
concprinter(self, *args, **kwargs)
def _texify(self, *args, **kwargs):
from corpkit.other import texify
texify(self, *args, **kwargs)
def _calculate(self, *args, **kwargs):
from corpkit.process import interrogation_from_conclines
return interrogation_from_conclines(self)
def _multiplot(self, leftdict={}, rightdict={}, **kwargs):
from corpkit.plotter import multiplotter
return multiplotter(self, leftdict=leftdict, rightdict=rightdict, **kwargs)
def _perplexity(self):
"""
Pythonification of the formal definition of perplexity.
input: a sequence of chances (any iterable will do)
output: perplexity value.
from https://github.com/zeffii/NLP_class_notes
"""
def _perplex(chances):
import math
chances = [i for i in chances if i]
N = len(chances)
product = 1
for chance in chances:
product *= chance
return math.pow(product, -1/N)
return self.apply(_perplex, axis=1)
def _entropy(self):
"""
entropy(pos.edit(merge_entries=mergetags, sort_by='total').results.T
"""
from scipy.stats import entropy
import pandas as pd
escores = entropy(self.edit('/', SELF).results.T)
ser = pd.Series(escores, index=self.index)
ser.name = 'Entropy'
return ser
def _shannon(self):
from corpkit.stats import shannon
return shannon(self)
def _shuffle(self, inplace=False):
import random
index = list(self.index)
random.shuffle(index)
shuffled = self.ix[index]
shuffled.reset_index()
if inplace:
self = shuffled
else:
return shuffled
def _top(self):
"""Show as many rows and cols as possible without truncation"""
import pandas as pd
max_row = pd.options.display.max_rows
max_col = pd.options.display.max_columns
return self.iloc[:max_row, :max_col]
def _tabview(self, **kwargs):
import pandas as pd
import tabview
tabview.view(self, **kwargs)
def _rel(self, denominator='self', **kwargs):
from corpkit.editor import editor
return editor(self, '%', denominator, **kwargs)
def _keyness(self, measure='ll', denominator='self', **kwargs):
from corpkit.editor import editor
return editor(self, 'k', denominator, **kwargs)
def _plain(df):
return ' '.join(df['w'])
# monkey patching things
DataFrame.entropy = _entropy
DataFrame.perplexity = _perplexity
DataFrame.shannon = _shannon
DataFrame.edit = _edit
Series.edit = _edit
DataFrame.rel = _rel
Series.rel = _rel
DataFrame.keyness = _keyness
Series.keyness = _keyness
DataFrame.visualise = _plot
Series.visualise = _plot
DataFrame.tabview = _tabview
DataFrame.multiplot = _multiplot
Series.multiplot = _multiplot
DataFrame.save = _save
Series.save = _save
DataFrame.quickview = _quickview
Series.quickview = _quickview
DataFrame.format = _format
Series.format = _format
Series.texify = _texify
DataFrame.calculate = _calculate
Series.calculate = _calculate
DataFrame.shuffle = _shuffle
DataFrame.top = _top
DataFrame.plain = _plain
# Defining letters
module = sys.modules[__name__]
for letter in LETTERS:
if not letter.isalpha():
trans = letter.replace('A', '-', 1).replace('Z', '+', 1).lower()
else:
trans = letter.lower()
setattr(module, letter, trans)
# other methods:
# globals()[letter] = letter.lower()
# exec('%s = "%s"' % (letter, letter.lower()))
ANYWORD = r'[A-Za-z0-9:_]'
================================================
FILE: corpkit/annotate.py
================================================
"""
corpkit: add annotations to conll-u via concordancing
"""
def process_special_annotation(v, lin):
"""
If the user wants a fancy annotation, like 'add middle column',
this gets processed here. it's potentially the place where the
user could add entropy score, or something like that.
"""
if v.lower() not in ['i', 'index', 'm', 'scheme', 't', 'q']:
return v
if v == 'index':
return lin.name
elif v in ['m', 't']:
return str(lin[v])
else:
return v
def make_string_to_add(annotation, lin, replace=False):
"""
Make a string representing metadata to add
"""
from corpkit.constants import STRINGTYPE
if isinstance(annotation, STRINGTYPE):
if replace:
return annotation + '\n'
else:
return '# tags=' + annotation + '\n'
start = str()
for k, v in annotation.items():
# these are special names---add more?
v = process_special_annotation(v, lin)
if replace:
start = '%s\n' % v
else:
start += '# %s=%s\n' % (k, v)
return start
def get_line_number_for_entry(data, si, ti, annotation):
"""
Find the place in filename at which to add the string
"""
partstart = '# sent_id %d' % si
partend = '# sent_id %d' % (si + 1)
# this way iterates over the lines
# it could also just find the
lnum = data.split(partstart)[0].count('\n') + 2
sent = data.split(partstart)[1].split(partend)[0]
field = 'tags' if isinstance(annotation, str) else list(annotation.keys())[0]
ixx = next((i for i, l in enumerate(sent.splitlines()) \
if l.startswith('# %s=' % field)), False)
if ixx is False:
return lnum, False
else:
return lnum + ixx - 2, True
def update_contents(contents, place, text, do_replace=False):
"""
Open file, read lines, add or replace the line with the good one
"""
if do_replace:
contents[place] = contents[place].rstrip('\n').replace(text + ';', '') + ';' + text
else:
contents.insert(place, text)
return contents
def dry_run_text(filepath, contents, place, colours):
"""
Show a dry run of what the annotations would be
"""
import os
contents[place] = contents[place].rstrip('\n') + ' <==========\n'
try:
contents[place] = colours['green'] + contents[place] + colours['reset']
except:
pass
max_lines = next((i for i, l in enumerate(contents[place:]) if l == '\n'), 10)
max_lines = 30 if max_lines > 30 else max_lines
formline = ' Add metadata: %s \n' % (os.path.basename(filepath))
bars = '=' * len(formline)
print(bars + '\n' + formline + bars)
print(''.join(contents[place-3:max_lines+place]))
def annotate(open_file, contents):
"""
Add annotation to a single file
"""
from corpkit.constants import PYTHON_VERSION
contents = ''.join(contents)
if PYTHON_VERSION == 2:
contents = contents.encode('utf-8', errors='ignore')
open_file.seek(0)
open_file.write(contents)
open_file.truncate()
def delete_lines(corpus, annotation, dry_run=True, colour={}):
"""
Show or delete the necessary lines
"""
from corpkit.constants import OPENER, PYTHON_VERSION
import re
import os
tagmode = True
no_can_do = ['sent_id', 'parse']
if isinstance(annotation, dict):
tagmode = False
for k, v in annotation.items():
if k in no_can_do:
print("You aren't allowed to delete '%s', sorry." % k)
return
if not v:
v = r'.*?'
regex = re.compile(r'(# %s=%s)\n' % (k, v), re.MULTILINE)
else:
if annotation in no_can_do:
print("You aren't allowed to delete '%s', sorry." % k)
return
regex = re.compile(r'((# tags=.*?)%s;?(.*?))\n' % annotation, re.MULTILINE)
fs = []
for (root, dirs, fls) in os.walk(corpus):
for f in fls:
fs.append(os.path.join(root, f))
for f in fs:
if PYTHON_VERSION == 2:
from corpkit.process import saferead
data = saferead(f)[0]
else:
with open(f, 'rb') as fo:
data = fo.read().decode('utf-8', errors='ignore')
if dry_run:
if tagmode:
repl_str = r'\1 <=======\n%s\2\3 <=======\n' % colour.get('green', '')
else:
repl_str = r'\1 <=======\n'
try:
repl_str = colour['red'] + repl_str + colour['reset']
except:
pass
data, n = re.subn(regex, repl_str, data)
nspl = 100 if tagmode else 50
delim = '<======='
data = re.split(delim, data, maxsplit=nspl)
toshow = delim.join(data[:nspl+1])
toshow = toshow.rsplit('\n\n', 1)[0]
print(toshow)
if n > 50:
n = n - 50
print('\n... and %d more changes ... ' % n)
else:
if tagmode:
repl_str = r'\2\3\n'
else:
repl_str = ''
data = re.sub(regex, repl_str, data)
with OPENER(f, 'w') as fo:
from corpkit.constants import PYTHON_VERSION
if PYTHON_VERSION == 2:
data = data.encode('utf-8', errors='ignore')
fo.write(data)
def annotator(df_or_corpus, annotation, dry_run=True, deletemode=False):
"""
Run the annotator pipeline over multiple files
:param corpus: a Corpus object containing the files
:param annotation: a str or dict containing annotation text
"""
import re
import os
from corpkit.constants import OPENER, STRINGTYPE, PYTHON_VERSION
colour = {}
try:
from colorama import Fore, init, Style
init(autoreset=True)
colour = {'green': Fore.GREEN, 'reset': Style.RESET_ALL, 'red': Fore.RED}
except ImportError:
pass
if deletemode:
delete_lines(df_or_corpus.path, annotation, dry_run=dry_run, colour=colour)
return
file_sent_words = df_or_corpus.reset_index()[['index', 'f', 'i']].values.tolist()
from collections import defaultdict
outt = defaultdict(list)
for index, fn, ix in file_sent_words:
s, i = ix.split(',', 1)
outt[fn].append((int(s), int(i), index))
for i, (fname, entries) in enumerate(sorted(outt.items()), start=1):
with OPENER(fname, 'r+') as fo:
data = fo.read()
contents = [i + '\n' for i in data.split('\n')]
for si, ti, index in list(reversed(sorted(set(entries)))):
line_num, do_replace = get_line_number_for_entry(data, si, ti, annotation)
anno_text = make_string_to_add(annotation, df_or_corpus.ix[index], replace=do_replace)
contents = update_contents(contents, line_num, anno_text, do_replace=do_replace)
if dry_run and i < 50:
dry_run_text(fname,
contents,
line_num,
colours=colour)
if not dry_run:
annotate(fo, contents=contents)
if not dry_run:
print('%d annotations made in %s' % (len(entries), fname))
if dry_run and i > 50:
break
if dry_run:
if len(file_sent_words) > 50:
n = len(file_sent_words) - 50
print('... and %d more changes ... ' % n)
================================================
FILE: corpkit/blanknotebook.ipynb
================================================
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# blanknotebook"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Initialisation"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"First, import `corpkit`:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import corpkit\n",
"from corpkit import (\n",
" interrogator, plotter, table, quickview, \n",
" tally, surgeon, merger, conc, keywords, \n",
" collocates, multiquery, report_display,\n",
" save_result, load_result\n",
" )\n",
"# show figures in browser\n",
"% matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Next, set a path to your corpus:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"corpus = 'data/corpus'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Define a query to match any word:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# any token containing letters or numbers (i.e. no punctuation):\n",
"allwords_query = r'/[A-Za-z0-9]/ !< __' "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Interrogate the corpus with the `allwords_query`, and store the results as `allwords`:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"allwords = interrogator(annual_trees, '-C', allwords_query) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Check that it worked:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"print allwords.query\n",
"print allwords.totals"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now, plot something:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"plotter('Word count', allwords.total)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Finally, save this result so that you can access it any time:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"save_result(allwords, 'allwords')\n",
"\n",
"# load it again with:\n",
"# allwords = load_result('allwords')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Use the space below to interrogate and plot whatever you like!"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.1"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
================================================
FILE: corpkit/build.py
================================================
from __future__ import print_function
from corpkit.constants import STRINGTYPE, PYTHON_VERSION, INPUTFUNC
"""
This file contains a number of functions used in the corpus building process.
None of them is intended to be called by the user him/herself.
"""
def download_large_file(proj_path, url, actually_download=True, root=False, **kwargs):
"""
Download something to proj_path, unless it's CoreNLP, which goes to ~/corenlp
"""
import os
import shutil
import glob
import zipfile
from time import localtime, strftime
from corpkit.textprogressbar import TextProgressBar
from corpkit.process import animator
file_name = url.split('/')[-1]
home = os.path.expanduser("~")
customdir = kwargs.get('custom_corenlp_dir', False)
# if it's corenlp, put it in home/corenlp
# if that dir exists, check if for a zip file
# if there's a zipfile and it works, move on
# if there's a zipfile and it's broken, delete it
if 'stanford' in url:
if customdir:
downloaded_dir = customdir
else:
downloaded_dir = os.path.join(home, 'corenlp')
if not os.path.isdir(downloaded_dir):
os.makedirs(downloaded_dir)
else:
poss_zips = glob.glob(os.path.join(downloaded_dir, 'stanford-corenlp-full*.zip'))
if poss_zips:
fullfile = poss_zips[-1]
from zipfile import BadZipfile
try:
the_zip_file = zipfile.ZipFile(fullfile)
ret = the_zip_file.testzip()
if ret is None:
return downloaded_dir, fullfile
else:
os.remove(fullfile)
except BadZipfile:
os.remove(fullfile)
#else:
# shutil.rmtree(downloaded_dir)
else:
downloaded_dir = os.path.join(proj_path, 'temp')
try:
os.makedirs(downloaded_dir)
except OSError:
pass
fullfile = os.path.join(downloaded_dir, file_name)
if actually_download:
import __main__ as main
if not root and not hasattr(main, '__file__'):
txt = 'CoreNLP not found. Download latest version (%s)? (y/n) ' % url
selection = INPUTFUNC(txt)
if 'n' in selection.lower():
return None, None
try:
import requests
# NOTE the stream=True parameter
r = requests.get(url, stream=True, verify=False)
file_size = int(r.headers['content-length'])
file_size_dl = 0
block_sz = 8192
showlength = file_size / block_sz
thetime = strftime("%H:%M:%S", localtime())
print('\n%s: Downloading ... \n' % thetime)
par_args = {'printstatus': kwargs.get('printstatus', True),
'length': showlength}
if not root:
tstr = '%d/%d' % (file_size_dl + 1 / block_sz, showlength)
p = animator(None, None, init=True, tot_string=tstr, **par_args)
animator(p, file_size_dl + 1, tstr)
with open(fullfile, 'wb') as f:
for chunk in r.iter_content(chunk_size=block_sz):
if chunk: # filter out keep-alive new chunks
f.write(chunk)
file_size_dl += len(chunk)
#print file_size_dl * 100.0 / file_size
if kwargs.get('note'):
kwargs['note'].progvar.set(file_size_dl * 100.0 / int(file_size))
else:
tstr = '%d/%d' % (file_size_dl / block_sz, showlength)
animator(p, file_size_dl / block_sz, tstr, **par_args)
if root:
root.update()
except Exception as err:
import traceback
print(traceback.format_exc())
thetime = strftime("%H:%M:%S", localtime())
print('%s: Download failed' % thetime)
try:
f.close()
except:
pass
if root:
root.update()
return None, None
if kwargs.get('note'):
kwargs['note'].progvar.set(100)
else:
p.animate(int(file_size))
thetime = strftime("%H:%M:%S", localtime())
print('\n%s: Downloaded successully.' % thetime)
try:
f.close()
except:
pass
return downloaded_dir, fullfile
def extract_cnlp(fullfilepath, corenlppath=False, root=False):
"""
Extract corenlp zip file
"""
import zipfile
import os
from time import localtime, strftime
time = strftime("%H:%M:%S", localtime())
print('%s: Extracting CoreNLP files ...' % time)
if root:
root.update()
if corenlppath is False:
home = os.path.expanduser("~")
corenlppath = os.path.join(home, 'corenlp')
from zipfile import BadZipfile
try:
with zipfile.ZipFile(fullfilepath) as zf:
zf.extractall(corenlppath)
except BadZipfile:
os.remove(corenlppath)
return False
time = strftime("%H:%M:%S", localtime())
print('%s: CoreNLP extracted. ' % time)
return True
def get_corpus_filepaths(projpath=False, corpuspath=False,
restart=False, out_ext='conll'):
"""
get a list of filepaths, a la find . -type f
restart mode will look in restart dir and remove any existing files
"""
import fnmatch
import os
matches = []
# get a list of done files minus their paths and extensions
# this handles if they have been moved to the right dir or not
already_done = get_filepaths(restart, out_ext) if restart else []
already_done = [os.path.splitext(os.path.basename(x))[0] for x in already_done]
for root, dirnames, filenames in os.walk(corpuspath):
for filename in fnmatch.filter(filenames, '*.txt'):
if filename not in already_done:
matches.append(os.path.join(root, filename))
if len(matches) == 0:
return False, False
matchstring = '\n'.join(matches)
# maybe not good:
if projpath is False:
projpath = os.path.dirname(os.path.abspath(corpuspath.rstrip('/')))
corpname = os.path.basename(corpuspath)
fp = os.path.join(projpath, 'data', corpname + '-filelist.txt')
# definitely not good.
if os.path.join('data', 'data') in fp:
fp = fp.replace(os.path.join('data', 'data'), 'data')
with open(fp, "w") as f:
f.write(matchstring + '\n')
return fp, matchstring
def check_jdk():
"""
Check for a Java/OpenJDK
"""
import corpkit
import subprocess
from subprocess import PIPE, STDOUT, Popen
# add any other version string to here
javastrings = ['java version "1.8', 'openjdk version "1.8']
p = Popen(["java", "-version"], stdout=PIPE, stderr=PIPE)
_, stderr = p.communicate()
encoded = stderr.decode(encoding='utf-8').lower()
return any(j in encoded for j in javastrings)
def parse_corpus(proj_path=False,
corpuspath=False,
filelist=False,
corenlppath=False,
operations=False,
root=False,
stdout=False,
memory_mb=2000,
copula_head=True,
multiprocessing=False,
outname=False,
coref=True,
**kwargs
):
"""
Create a CoreNLP-parsed and/or NLTK tokenised corpus
"""
import subprocess
from subprocess import PIPE, STDOUT, Popen
from corpkit.process import get_corenlp_path
import os
import sys
import re
import chardet
from time import localtime, strftime
import time
fileparse = kwargs.get('fileparse', False)
from corpkit.constants import CORENLP_URL as url
if not check_jdk():
print('Need latest Java.')
return
curdir = os.getcwd()
note = kwargs.get('note', False)
if proj_path is False:
proj_path = os.path.dirname(os.path.abspath(corpuspath.rstrip('/')))
basecp = os.path.basename(corpuspath)
if fileparse:
new_corpus_path = os.path.dirname(corpuspath)
else:
if outname:
new_corpus_path = os.path.join(proj_path, 'data', outname)
else:
new_corpus_path = os.path.join(proj_path, 'data', '%s-parsed' % basecp)
new_corpus_path = new_corpus_path.replace('-stripped-', '-')
# todo:
# this is not stable
if os.path.join('data', 'data') in new_corpus_path:
new_corpus_path = new_corpus_path.replace(os.path.join('data', 'data'), 'data')
# this caused errors when multiprocessing
# it used to be isdir, but supposedly there was a file there
# i don't see how it's possible ...
# i think it is a 'race condition', so we'll also put a try/except there
if not os.path.exists(new_corpus_path):
try:
os.makedirs(new_corpus_path)
except OSError:
pass
else:
if not os.path.isfile(new_corpus_path):
fs = get_filepaths(new_corpus_path, ext=False)
if not multiprocessing:
if any([f.endswith('.conll') for f in fs]) or \
any([f.endswith('.conllu') for f in fs]):
print('Folder containing .conll files already exists: %s' % new_corpus_path)
return False
corenlppath = get_corenlp_path(corenlppath)
success = bool(corenlppath)
if not corenlppath:
from corpkit.constants import CORENLP_VERSION
print("CoreNLP not found. Auto-installing CoreNLP v%s..." % CORENLP_VERSION)
cnlp_dir = os.path.join(os.path.expanduser("~"), 'corenlp')
corenlppath, fpath = download_large_file(cnlp_dir, url,
root=root,
note=note,
actually_download=True,
custom_corenlp_dir=corenlppath)
# cleanup
if corenlppath is None and fpath is None:
import shutil
shutil.rmtree(new_corpus_path)
shutil.rmtree(new_corpus_path.replace('-parsed', '-stripped'))
os.remove(new_corpus_path.replace('-parsed', '-filelist.txt'))
raise ValueError('CoreNLP needed to parse texts.')
success = extract_cnlp(fpath)
if not success:
raise ValueError('CoreNLP installation failed for some reason. Try deleting the ~/corenlp directory and starting over.')
import glob
globpath = os.path.join(corenlppath, 'stanford-corenlp*')
corenlppath = [i for i in glob.glob(globpath) if os.path.isdir(i)]
if corenlppath:
corenlppath = corenlppath[-1]
else:
raise ValueError('CoreNLP installation failed for some reason. Try deleting the ~/corenlp directory and starting over.')
# if not gui, don't mess with stdout
if stdout is False:
stdout = sys.stdout
os.chdir(corenlppath)
if root:
root.update_idletasks()
# not sure why reloading sys, but seems needed
# in order to show files in the gui
try:
reload(sys)
except NameError:
import importlib
importlib.reload(sys)
pass
if memory_mb is False:
memory_mb = 2024
# you can pass in 'coref' as kwarg now
cof = ',dcoref' if coref else ''
if operations is False:
operations = 'tokenize,ssplit,pos,lemma,parse,ner' + cof
if isinstance(operations, list):
operations = ','.join([i.lower() for i in operations])
with open(filelist, 'r') as fo:
dat = fo.read()
num_files_to_parse = len([l for l in dat.splitlines() if l])
# get corenlp version number
reg = re.compile(r'stanford-corenlp-([0-9].[0-9].[0-9])-javadoc.jar')
fver = next(re.search(reg, s).group(1) for s in os.listdir('.') if re.search(reg, s))
if fver == '3.6.0':
extra_jar = 'slf4j-api.jar:slf4j-simple.jar:'
else:
extra_jar = ''
out_form = 'xml' if kwargs.get('output_format') == 'xml' else 'json'
out_ext = 'xml' if kwargs.get('output_format') == 'xml' else 'conll'
arglist = ['java', '-cp',
'stanford-corenlp-%s.jar:stanford-corenlp-%s-models.jar:xom.jar:joda-time.jar:%sjollyday.jar:ejml-0.23.jar' % (fver, fver, extra_jar),
'-Xmx%sm' % str(memory_mb),
'edu.stanford.nlp.pipeline.StanfordCoreNLP',
'-annotators',
operations,
'-filelist', filelist,
'-noClobber',
'-outputExtension', '.%s' % out_ext,
'-outputFormat', out_form,
'-outputDirectory', new_corpus_path]
if copula_head:
arglist.append('--parse.flags')
arglist.append(' -makeCopulaHead')
print('Java command:')
print(arglist)
try:
proc = subprocess.Popen(arglist, stdout=sys.stdout)
# maybe a problem with stdout. sacrifice it if need be
except:
proc = subprocess.Popen(arglist)
#p = TextProgressBar(num_files_to_parse)
while proc.poll() is None:
sys.stdout = stdout
thetime = strftime("%H:%M:%S", localtime())
if not fileparse:
num_parsed = len([f for f in os.listdir(new_corpus_path) if f.endswith(out_ext)])
if num_parsed == 0:
if root:
print('%s: Initialising parser ... ' % (thetime))
if num_parsed > 0 and (num_parsed + 1) <= num_files_to_parse:
if root:
print('%s: Parsing file %d/%d ... ' % \
(thetime, num_parsed + 1, num_files_to_parse))
if kwargs.get('note'):
kwargs['note'].progvar.set((num_parsed) * 100.0 / num_files_to_parse)
#p.animate(num_parsed - 1, str(num_parsed) + '/' + str(num_files_to_parse))
time.sleep(1)
if root:
root.update()
#p.animate(num_files_to_parse)
if kwargs.get('note'):
kwargs['note'].progvar.set(100)
sys.stdout = stdout
thetime = strftime("%H:%M:%S", localtime())
print('%s: Parsing finished. Moving parsed files into place ...' % thetime)
os.chdir(curdir)
return new_corpus_path
def move_parsed_files(proj_path, old_corpus_path, new_corpus_path,
ext='conll', restart=False):
"""
Make parsed files follow existing corpus structure
"""
import corpkit
import shutil
import os
import fnmatch
cwd = os.getcwd()
basecp = os.path.basename(old_corpus_path)
dir_list = []
# go through old path, make file list
for path, dirs, files in os.walk(old_corpus_path):
for bit in dirs:
# is the last bit of the line below windows safe?
dir_list.append(os.path.join(path, bit).replace(old_corpus_path, '')[1:])
for d in dir_list:
if not restart:
os.makedirs(os.path.join(new_corpus_path, d))
else:
try:
os.makedirs(os.path.join(new_corpus_path, d))
except OSError:
pass
# make list of parsed filenames that haven't been moved already
parsed_fs = [f for f in os.listdir(new_corpus_path) if f.endswith('.%s' % ext)]
# make a dictionary of the right paths
pathdict = {}
for rootd, dirnames, filenames in os.walk(old_corpus_path):
for filename in fnmatch.filter(filenames, '*.txt'):
pathdict[filename] = rootd
# move each file
for f in parsed_fs:
noxml = f.replace('.%s' % ext, '')
right_dir = pathdict[noxml].replace(old_corpus_path, new_corpus_path)
frm = os.path.join(new_corpus_path, f)
tom = os.path.join(right_dir, f)
# forgive errors on restart mode, because some files
# might already have been moved into place
if restart:
try:
os.rename(frm, tom)
except OSError:
pass
else:
os.rename(frm, tom)
return new_corpus_path
def corenlp_exists(corenlppath=False):
import corpkit
import os
from corpkit.constants import CORENLP_VERSION
important_files = ['stanford-corenlp-%s-javadoc.jar' % CORENLP_VERSION,
'stanford-corenlp-%s-models.jar' % CORENLP_VERSION,
'stanford-corenlp-%s-sources.jar' % CORENLP_VERSION,
'stanford-corenlp-%s.jar' % CORENLP_VERSION]
if corenlppath is False:
home = os.path.expanduser("~")
corenlppath = os.path.join(home, 'corenlp')
if os.path.isdir(corenlppath):
find_install = [d for d in os.listdir(corenlppath) \
if os.path.isdir(os.path.join(corenlppath, d)) \
and os.path.isfile(os.path.join(corenlppath, d, 'jollyday.jar'))]
if len(find_install) > 0:
find_install = find_install[0]
else:
return False
javalib = os.path.join(corenlppath, find_install)
if len(javalib) == 0:
return False
if not any([f.endswith('-models.jar') for f in os.listdir(javalib)]):
return False
return True
else:
return False
return True
def get_filepaths(a_path, ext='txt'):
"""
Make list of txt files in a_path and remove non txt files
"""
import os
files = []
if os.path.isfile(a_path):
return [a_path]
for (root, dirs, fs) in os.walk(a_path):
for f in fs:
if ext:
if not f.endswith('.' + ext):
continue
if 'Unidentified' not in f \
and 'unknown' not in f \
and not f.startswith('.'):
files.append(os.path.join(root, f))
#if ext:
# if not f.endswith('.' + ext):
# os.remove(os.path.join(root, f))
return files
def make_no_id_corpus(pth, newpth, metadata_mode=False, speaker_segmentation=False):
"""
Make version of pth without ids
"""
import os
import re
import shutil
from corpkit.process import saferead
# define regex broadly enough to accept timestamps, locations if need be
from corpkit.constants import MAX_SPEAKERNAME_SIZE
idregex = re.compile(r'(^.{,%d}?):\s+(.*$)' % MAX_SPEAKERNAME_SIZE)
try:
shutil.copytree(pth, newpth)
except OSError:
shutil.rmtree(newpth)
shutil.copytree(pth, newpth)
files = get_filepaths(newpth)
names = []
metadata = []
for f in files:
good_data = []
fo, enc = saferead(f)
data = fo.splitlines()
# for each line in the file, remove speaker and metadata
for datum in data:
if speaker_segmentation:
matched = re.search(idregex, datum)
if matched:
names.append(matched.group(1))
datum = matched.group(2)
if metadata_mode:
splitmet = datum.rsplit(' MAX_METADATA_FIELDS:
break
return list(fields)
def get_names(filepath, speakid):
"""
Get a list of speaker names from a file
"""
import re
from corpkit.process import saferead
txt, enc = saferead(filepath)
res = re.findall(speakid, txt)
if res:
return sorted(list(set([i.strip() for i in res])))
def get_speaker_names_from_parsed_corpus(corpus, feature='speaker'):
"""
Use regex to get speaker names from parsed data without parsing it
"""
import os
import re
from corpkit.constants import MAX_METADATA_VALUES
path = corpus.path if hasattr(corpus, 'path') else corpus
list_of_files = []
names = []
# i am not really sure why we need multiline here
# is it because start of line char is just matching
speakid = re.compile(r'^# %s=(.*)' % re.escape(feature), re.MULTILINE)
# if passed a dir, do it for every file
if os.path.isdir(path):
for (root, dirs, fs) in os.walk(path):
for f in fs:
list_of_files.append(os.path.join(root, f))
elif os.path.isfile(path):
list_of_files.append(path)
for filepath in list_of_files:
res = get_names(filepath, speakid)
if not res:
continue
for i in res:
if i not in names:
names.append(i)
if len(names) > MAX_METADATA_VALUES:
break
return list(sorted(set(names)))
def rename_all_files(dirs_to_do):
"""
Get rid of the inserted dirname in filenames after parsing
"""
import os
if isinstance(dirs_to_do, STRINGTYPE):
dirs_to_do = [dirs_to_do]
for d in dirs_to_do:
if d.endswith('-parsed'):
ext = 'txt.xml'
elif d.endswith('-tokenised'):
ext = '.p'
else:
ext = '.txt'
fs = get_filepaths(d, ext)
for f in fs:
fname = os.path.basename(f)
justdir = os.path.dirname(f)
subcorpus = os.path.basename(justdir)
newname = fname.replace('-%s.%s' % (subcorpus, ext), '.%s' % ext)
os.rename(f, os.path.join(justdir, newname))
def flatten_treestring(tree):
"""
Turn bracketed tree string into something looking like English
"""
import re
tree = re.sub(r'\(.*? ', '', tree).replace(')', '')
tree = tree.replace('$ ', '$').replace('`` ', '``').replace(' ,', ',').replace(' .', '.').replace("'' ", "''").replace(" n't", "n't").replace(" 're","'re").replace(" 'm","'m").replace(" 's","'s").replace(" 'd","'d").replace(" 'll","'ll").replace(' ', ' ')
return tree
def can_folderise(folder):
"""
Check if corpus can be put into folders
"""
import os
from glob import glob
if os.path.isfile(folder):
return False
fs = glob(os.path.join(folder, '*.txt'))
if len(fs) > 1:
if not any(os.path.isdir(x) for x in glob(os.path.join(folder, '*'))):
return True
return False
def folderise(folder):
"""
Move each file into a folder
"""
import os
import shutil
from glob import glob
from corpkit.process import makesafe
fs = glob(os.path.join(folder, '*.txt'))
for f in fs:
newname = makesafe(os.path.splitext(os.path.basename(f))[0])
newpath = os.path.join(folder, newname)
if not os.path.exists(newpath):
os.makedirs(newpath)
shutil.move(f, os.path.join(newpath))
================================================
FILE: corpkit/completer.py
================================================
class Completer(object):
"""
Tab completion for interpreter
"""
def __init__(self, words):
self.words = words
self.prefix = None
def complete(self, prefix, index):
"""
Add paths etc to this
"""
if prefix != self.prefix:
# we have a new prefix!
# find all words that start with this prefix
self.matching_words = [
w for w in self.words if w.startswith(prefix)
]
self.prefix = prefix
try:
return self.matching_words[index]
except IndexError:
return None
================================================
FILE: corpkit/configurations.py
================================================
def configurations(corpus, search, **kwargs):
"""
Get summary of behaviour of a word
see corpkit.corpus.Corpus.configurations() for docs
"""
from corpkit.dictionaries.wordlists import wordlists
from corpkit.dictionaries.roles import roles
from corpkit.interrogation import Interrodict
from corpkit.interrogator import interrogator
from collections import OrderedDict
if search.get('l') and search.get('w'):
raise ValueError('Search only for a word or a lemma, not both.')
# are we searching words or lemmata?
if search.get('l'):
dep_word_or_lemma = 'dl'
gov_word_or_lemma = 'gl'
word_or_token = search.get('l')
else:
if search.get('w'):
dep_word_or_lemma = 'd'
gov_word_or_lemma = 'g'
word_or_token = search.get('w')
# make nested query dicts for each semantic role
queries = {'participant':
{'left_participant_in':
{dep_word_or_lemma: word_or_token,
'df': roles.participant1,
'f': roles.event},
'right_participant_in':
{dep_word_or_lemma: word_or_token,
'df': roles.participant2,
'f': roles.event},
'premodified':
{'f': roles.premodifier,
gov_word_or_lemma: word_or_token},
'postmodified':
{'f': roles.postmodifier,
gov_word_or_lemma: word_or_token},
'and_or':
{'f': 'conj:(?:and|or)',
'gf': roles.participant,
gov_word_or_lemma: word_or_token},
},
'process':
{'has_subject':
{'f': roles.participant1,
gov_word_or_lemma: word_or_token},
'has_object':
{'f': roles.participant2,
gov_word_or_lemma: word_or_token},
'modalised_by':
{'f': r'aux',
'w': wordlists.modals,
gov_word_or_lemma: word_or_token},
'modulated_by':
{'f': 'advmod',
'gf': roles.event,
gov_word_or_lemma: word_or_token},
'and_or':
{'f': 'conj:(?:and|or)',
'gf': roles.event,
gov_word_or_lemma: word_or_token},
},
'modifier':
{'modifies':
{'df': roles.modifier,
dep_word_or_lemma: word_or_token},
'modulated_by':
{'f': 'advmod',
'gf': roles.modifier,
gov_word_or_lemma: word_or_token},
'and_or':
{'f': 'conj:(?:and|or)',
'gf': roles.modifier,
gov_word_or_lemma: word_or_token},
}
}
# allow passing in of single function
if search.get('f'):
if search.get('f').lower().startswith('part'):
queries = queries['participant']
elif search.get('f').lower().startswith('proc'):
queries = queries['process']
elif search.get('f').lower().startswith('mod'):
queries = queries['modifier']
else:
newqueries = {}
for k, v in queries.items():
for name, pattern in v.items():
newqueries[name] = pattern
queries = newqueries
queries['and_or'] = {'f': 'conj:(?:and|or)', gov_word_or_lemma: word_or_token}
# count all queries to be done
# total_queries = 0
# for k, v in queries.items():
# total_queries += len(v)
kwargs['search'] = queries
# do interrogation
data = corpus.interrogate(**kwargs)
# remove result itself
# not ideal, but it's much more impressive this way.
if isinstance(data, Interrodict):
for k, v in data.items():
v.results = v.results.drop(word_or_token, axis=1, errors='ignore')
v.totals = v.results.sum(axis=1)
data[k] = v
return Interrodict(data)
else:
return data
================================================
FILE: corpkit/conll.py
================================================
"""
corpkit: process CONLL formatted data
"""
def parse_conll(f,
first_time=False,
just_meta=False,
usecols=None):
"""
Make a pandas.DataFrame with metadata from a CONLL-U file
Args:
f (str): Filepath
first_time (bool, optional): If True, add in sent index
just_meta (bool, optional): Return only a metadata `dict`
usecols (None, optional): Which columns must be parsed by pandas.read_csv
Returns:
pandas.DataFrame: DataFrame containing tokens and a ._metadata attribute
"""
import pandas as pd
try:
from StringIO import StringIO
except ImportError:
from io import StringIO
from collections import defaultdict
# go to corpkit.constants to modify the order of columns if yours are different
from corpkit.constants import CONLL_COLUMNS as head
with open(f, 'r') as fo:
data = fo.read().strip('\n')
splitdata = []
metadata = {}
sents = data.split('\n\n')
for count, sent in enumerate(sents, start=1):
metadata[count] = defaultdict(set)
for line in sent.split('\n'):
if line and not line.startswith('#') \
and not just_meta:
splitdata.append('\n%d\t%s' % (count, line))
else:
line = line.lstrip('# ')
if '=' in line:
field, val = line.split('=', 1)
metadata[count][field].add(val)
metadata[count] = {k: ','.join(v) for k, v in metadata[count].items()}
if just_meta:
return metadata
# happens with empty files
if not splitdata:
return
# head can only be as long as the list of cols in the df
num_tabs = splitdata[0].strip('\t').count('\t')
head = head[:num_tabs]
# introduce sentence index for multiindex
#for i, d in enumerate(splitdata, start=1):
# d = d.replace('\n', '\n%s\t' % str(i))
# splitdata[i-1] = d
# turn into something pandas can read
data = '\n'.join(splitdata)
data = data.replace('\n\n', '\n') + '\n'
# remove slashes as early as possible
data = data.replace('/', '-slash-')
# open with sent and token as multiindex
try:
df = pd.read_csv(StringIO(data), sep='\t', header=None,
names=['s'] + head, index_col=['s', 'i'], usecols=usecols)
#df.index = pd.MultiIndex.from_tuples([(1, i) for i in df.index])
except ValueError:
return
df._metadata = metadata
return df
def get_dependents_of_id(idx, df=False, repeat=False, attr=False, coref=False):
"""
Get dependents of a token
"""
sent_id, tok_id = getattr(idx, 'name', idx)
deps = df.ix[sent_id, tok_id]['d'].split(',')
out = []
for govid in deps:
if attr:
# might not exist...
try:
tok = getattr(df.ix[sent_id,int(govid)], attr, False)
if tok:
out.append(tok)
except (KeyError, IndexError):
pass
else:
out.append((sent_id, int(govid)))
return out
def get_governors_of_id(idx, df=False, repeat=False, attr=False, coref=False):
"""
Get governors of a token
"""
# it can be a series or a tuple
sent_id, tok_id = getattr(idx, 'name', idx)
# get the governor id
govid = df['g'].loc[sent_id, tok_id]
if attr:
return getattr(df.loc[sent_id,govid], attr, 'root')
return [(sent_id, govid)]
def get_match(idx, df=False, repeat=False, attr=False, **kwargs):
"""
Dummy function, for the most part
"""
sent_id, tok_id = getattr(idx, 'name', idx)
if attr:
return df[attr].ix[sent_id, tok_id]
return [(sent_id, tok_id)]
def get_head(idx, df=False, repeat=False, attr=False, **kwargs):
"""
Get the head of a 'constituent'---'
for 'corpus linguistics', if 'corpus' is searched, return 'linguistics'
"""
sent_id, tok_id = getattr(idx, 'name', idx)
#sent = df.ix[sent_id]
token = df.ix[sent_id, tok_id]
if not hasattr(token, 'c'):
# this should error, because the data isn't there at all
lst_of_ixs = [(sent_id, tok_id)]
elif token['c'] == '_':
lst_of_ixs = [(sent_id, tok_id)]
# if it is the head, return it
elif token['c'].endswith('*'):
lst_of_ixs = [(sent_id, tok_id)]
else:
# should be able to speed this one up!
just_same_coref = df.loc[sent_id][df.loc[sent_id]['c'] == token['c'] + '*']
if not just_same_coref.empty:
lst_of_ixs = [(sent_id, i) for i in just_same_coref.index]
else:
lst_of_ixs = [(sent_id, tok_id)]
if attr:
lst_of_ixs = [df.loc[i][attr] for i in lst_of_ixs]
return lst_of_ixs
def get_representative(idx,
df=False,
repeat=False,
attr=False,
**kwargs):
"""
Get the representative coref head
"""
sent_id, tok_id = getattr(idx, 'name', idx)
token = df.ix[sent_id, tok_id]
# if no corefs at all
if not hasattr(token, 'c'):
# this should error, because the data isn't there at all
lst_of_ixs = [(sent_id, tok_id)]
# if no coref available
elif token['c'] == '_':
lst_of_ixs = [(sent_id, tok_id)]
else:
just_same_coref = df.loc[df['c'] == token['c'] + '*']
if not just_same_coref.empty:
lst_of_ixs = [just_same_coref.iloc[0].name]
else:
lst_of_ixs = [(sent_id, tok_id)]
if attr:
lst_of_ixs = [df.ix[i][attr] for i in lst_of_ixs]
return lst_of_ixs
def get_all_corefs(s, i, df, coref=False):
# if not in coref mode, skip
if not coref:
return [(s, i)]
# if the word was not a head, forget it
if not df.ix[s,i]['c'].endswith('*'):
return [(s, i)]
try:
# get any other mention head for this coref chain
just_same_coref = df.loc[df['c'] == df.ix[s,i]['c']]
return list(just_same_coref.index)
except:
return [(s, i)]
def search_this(df, obj, attrib, pattern, adjacent=False, coref=False):
"""
Search the dataframe for a single criterion
"""
import re
out = []
# if searching by head, they need to be heads
if obj == 'h':
df = df.loc[df['c'].endswith('*')]
# cut down to just tokens with matching attr
# but, if the pattern is 'any', don't bother
if hasattr(pattern, 'pattern') and pattern.pattern == r'.*':
matches = df
else:
matches = df[df[attrib].fillna('').str.contains(pattern)]
# functions for getting the needed object
revmapping = {'g': get_dependents_of_id,
'd': get_governors_of_id,
'm': get_match,
'h': get_all_corefs,
'r': get_representative}
getfunc = revmapping.get(obj)
for idx in list(matches.index):
if adjacent:
if adjacent[0] == '+':
tomove = -int(adj[1])
elif adjacent[0] == '-':
tomove = int(adj[1])
idx = (idx[0], idx[1] + tomove)
for mindex in getfunc(idx, df=df, coref=coref):
if mindex:
out.append(mindex)
return list(set(out))
def show_fix(show):
"""show everything"""
objmapping = {'d': get_dependents_of_id,
'g': get_governors_of_id,
'm': get_match,
'h': get_head}
out = []
for val in show:
adj, val = determine_adjacent(val)
obj, attr = val[0], val[-1]
obj_getter = objmapping.get(obj)
out.append(adj, val, obj, attr, obj_getter)
return out
def dummy(x, *args, **kwargs):
return x
def format_toks(to_process, show, df):
"""
Format matches by show values
"""
import pandas as pd
objmapping = {'d': get_dependents_of_id,
'g': get_governors_of_id,
'm': get_match,
'h': get_head}
sers = []
dmode = any(x.startswith('d') for x in show)
if dmode:
from collections import defaultdict
dicts = defaultdict(dict)
for val in show:
adj, val = determine_adjacent(val)
if adj:
if adj[0] == '+':
tomove = int(adj[1])
elif adj[0] == '-':
tomove = -int(adj[1])
obj, attr = val[0], val[-1]
func = objmapping.get(obj, dummy)
out = defaultdict(dict) if dmode else []
for ix in list(to_process.index):
piece = False
if adj:
ix = (ix[0], ix[1] + tomove)
if ix not in df.index:
piece = 'none'
if not piece:
if obj == 'm':
piece = df.loc[ix][attr.replace('x', 'p')]
if attr == 'x':
from corpkit.dictionaries.word_transforms import taglemma
piece = taglemma.get(piece.lower(), piece.lower())
piece = [piece]
else:
piece = func(ix, df=df, attr=attr)
if not isinstance(piece, list):
piece = [piece]
if dmode:
dicts[ix][val] = piece
else:
out.append(piece[0])
if not dmode:
ser = pd.Series(out, index=to_process.index)
ser.name = val
sers.append(ser)
if not dmode:
dx = pd.concat(sers, axis=1)
if len(dx.columns) == 1:
return dx.iloc[:,0]
else:
return dx.apply('/'.join, axis=1)
else:
index = []
data = []
for ix, dct in dicts.items():
max_key, max_value = max(dct.items(), key=lambda x: len(x[1]))
for val, pieces in dct.items():
if len(pieces) == 1:
dicts[ix][val] = pieces * len(max_value)
for tup in list(zip(*[i for i in dct.values()])):
index.append(ix)
data.append('/'.join(tup))
return pd.Series(data, index=pd.MultiIndex.from_tuples(index))
def make_series(ser, df=False, obj=False,
att=False, adj=False):
"""
To apply to a DataFrame to add complex criteria, like 'gf'
"""
# distance mode
if att == 'a':
count = 0
if obj == 'g':
if ser[obj] == 0:
return '-1'
ser = df.loc[ser.name[0], ser['g']]
while count < 20:
if ser['mf'].lower() == 'root':
return str(count)
ser = df.loc[ser.name[0], ser['g']]
count += 1
return '20+'
# h is head of this particular group
if obj == 'h':
cohead = ser['c']
if cohead.endswith('*'):
return ser['m' + att]
elif cohead == '_':
return 'none'
else:
sent = df.loc[ser.name[0]]
just_cof = sent[sent['c'] == cohead + '*']
if just_cof.empty:
return ser['m' + att]
else:
return just_cof.iloc[0]['m' + att]
# r is the representative mention head
if obj == 'r':
cohead = ser['c']
if cohead == '_':
return 'none'
if not cohead.endswith('*'):
cohead = cohead + '*'
# iterrows is slow, but we only need the first instance
just_cof = df[df['c'] == cohead]
if just_cof.empty:
return ser['m' + att]
else:
return just_cof.iloc[0]['m' + att]
if obj == 'g':
if ser[obj] == 0:
return 'root'
else:
try:
return df[att][ser.name[0], ser[obj]]
# this keyerror can happen if governor is punctuation, for example
except KeyError:
return
# if dependent, we need to return a df-like thing instead
elif obj == 'd':
#import pandas as pd
idxs = [(ser.name[0], int(i)) for i in ser[obj].split(',')]
dat = df[att].ix[idxs]
return dat
# todo: fix everything below here
elif obj == 'r': # get the representative
cohead = ser['c'].rstrip('*')
refs = df[df['c'] == cohead + '*']
return refs[att].ix[0]
elif obj == 'h': # get head
cohead = ser['c']
if cohead.endswith('*'):
return ser[att]
else:
sent = df[att].loc[ser.name[0]]
return sent[sent['c'] == cohead + '*']
# potential naming conflict with sent index ...
elif obj == 's': # get whole phrase"
cohead = ser['c']
sent = df[att].loc[ser.name[0]]
return sent[sent['c'] == cohead.rstrip('*')].values
def joiner(ser):
return ser.str.cat(sep='/')
def make_new_for_dep(dfmain, dfdep, name):
"""
If showind dependent, we have to make a whole new dataframe
:param dfmain: dataframe with everything in it
:param dfdep: dataframe with just dependent
"""
import pandas as pd
import numpy as np
new = []
newd = []
index = []
for (i, ml), (_, dl) in zip(dfmain.iterrows(), dfdep.iterrows()):
if all(pd.isnull(i) for i in dl.values):
index.append(i)
new.append(ml)
newd.append('none')
continue
else:
for bit in dl:
if pd.isnull(bit):
continue
index.append(i)
new.append(ml)
newd.append(bit)
#todo: account for no matches
index = pd.MultiIndex.from_tuples(index, names=['s', 'i'])
newdf = pd.DataFrame(new, index=index)
newdf[name] = newd
return newdf
def turn_pos_to_wc(ser, showval):
if not showval:
return ser
import pandas as pd
from corpkit.dictionaries.word_transforms import taglemma
vals = [taglemma.get(piece.lower(), piece.lower())
for piece in ser.values]
news = pd.Series(vals, index=ser.index)
news.name = ser.name[:-1] + 'x'
return news
def concline_generator(matches, idxs, df, metadata,
add_meta, category, fname, preserve_case=False):
"""
Get all conclines
:param matches: a list of formatted matches
:param idxs: their (sent, word) idx
"""
conc_res = []
# potential speedup: turn idxs into dict
from collections import defaultdict
mdict = defaultdict(list)
# if remaking idxs here, don't need to do it earlier
idxs = list(matches.index)
for mid, (s, i) in zip(matches, idxs):
#for s, i in matches:
mdict[s].append((i, mid))
# shorten df to just relevant sents to save lookup time
df = df.loc[list(mdict.keys())]
# don't look up the same sentence multiple times
for s, tup in sorted(mdict.items()):
sent = df.loc[s]
if not preserve_case:
sent = sent.str.lower()
meta = metadata[s]
sname = meta.get('speaker', 'none')
for i, mid in tup:
if not preserve_case:
mid = mid.lower()
ix = '%d,%d' % (s, i)
start = ' '.join(sent.loc[:i-1].values)
end = ' '.join(sent.loc[i+1:].values)
lin = [ix, category, fname, sname, start, mid, end]
if add_meta:
for k, v in sorted(meta.items()):
if k in ['speaker', 'parse', 'sent_id']:
continue
if isinstance(add_meta, list):
if k in add_meta:
lin.append(v)
elif add_meta is True:
lin.append(v)
conc_res.append(lin)
return conc_res
def p_series_to_x_series(val):
return taglemma.get(val.lower(), val.lower())
def fast_simple_conc(dfss, idxs, show,
metadata=False,
add_meta=False,
fname=False,
category=False,
only_format_match=True,
conc=False,
preserve_case=False,
gramsize=1,
window=None):
"""
Fast, simple concordancer, heavily conditional
to save time.
"""
if dfss.empty:
return [], []
import pandas as pd
# best case, the user doesn't want any gov-dep stuff
simple = all(i.startswith('m') and not i.endswith('a') for i in show)
# worst case, the user wants something from dep
dmode = any(x.startswith('d') for x in show)
# make a quick copy if need be because we modify the df
df = dfss.copy() if not simple else dfss
# add text to df columns so that it resembles 'show' values
lst = ['s', 'i', 'w', 'l', 'e', 'p', 'f']
# for ner, change O to 'none'
if 'e' in df.columns:
df['e'] = df['e'].str.replace('^O$', 'none')
df.columns = ['m' + i if len(i) == 1 and i in lst \
else i for i in list(df.columns)]
# this is the data needed for concordancing
df_for_lr = df['mw'] if only_format_match else df
just_matches = df.loc[idxs]
# if the showing can't come straight out of the df,
# we can add columns with the necessary information
if not simple:
formatted = []
import numpy as np
for ind, i in enumerate(show):
# nothing to do if it's an m feature
if i.startswith('m') and not i.endswith('a'):
continue
# defaults for adjacent work
adj, tomove, adjname = False, False, ''
adj, i = determine_adjacent(i)
adjname = ''.join(adj) if hasattr(adj, '__iter__') else ''
# get number of places to shift left or right
if adj:
if adj[0] == '+':
tomove = -int(adj[1])
elif adj[0] == '-':
tomove = int(adj[1])
# cut df down to just needed bits for the sake of speed
# i.e. if we want gov func, get only gov and func cols
ob, att = i[0], i[-1]
xmode = att == 'x'
if xmode:
att = 'p'
show[ind] = show[ind][:-1] + 'p'
# for corefs, we also need the coref data
if ob in ['h', 'r']:
dfx = df[['c', 'm' + att]]
else:
lst = ['s', 'i', 'w', 'l', 'f', 'p']
if att in lst and ob != 'm':
att = 'm' + att
if ob == 'm' and att != 'a':
dfx = df[['m' + att]]
elif att == 'a':
dfx = df[['mf', 'g']]
else:
dfx = df[[ob, att]]
# decide if we need to format everything
if (not conc or only_format_match) and not adj:
to_proc = just_matches
else:
to_proc = df
# now we get or generate the new column
if ob == 'm' and att != 'a':
ser = to_proc['m' + att]
else:
ser = to_proc.apply(make_series, df=dfx, obj=ob, att=att, axis=1)
if xmode:
ser = ser.apply(p_series_to_x_series)
# adjmode simply shifts series and index
if adj:
#todo: this shifts next sent into previous sent!
ser = ser.shift(tomove)
ser = ser.fillna('none')
# dependent mode produces multiple matches
# so, we have to make a new dataframe with duplicate indexes
# todo: what about when there are two dep options?
ser.name = adjname + i
if ob != 'd':
df[ser.name] = ser
else:
df = make_new_for_dep(df, ser, i)
df = df.fillna('none')
# x is wordclass. so, we just get pos and translate it
nshow = [(i.replace('x', 'p'), i.endswith('x')) for i in show]
# generate a series of matches with slash sep if multiple show vals
if len(nshow) > 1:
if conc and not only_format_match:
first = turn_pos_to_wc(df[nshow[0][0]], nshow[0][1])
llist = [turn_pos_to_wc(df[sho], xmode) for sho, xmode in nshow[1:]]
df = first.str.cat(others=llist, sep='/')
matches = df[idxs]
else:
justm = df.loc[idxs]
first = turn_pos_to_wc(justm[nshow[0][0]], nshow[0][1])
llist = [turn_pos_to_wc(justm[sho], xmode) for sho, xmode in nshow[1:]]
matches = first.str.cat(others=llist, sep='/')
if conc:
df = df_for_lr
else:
if conc and not only_format_match:
df = turn_pos_to_wc(df[nshow[0][0]], nshow[0][1])
matches = df[idxs]
else:
matches = turn_pos_to_wc(df[nshow[0][0]][idxs], nshow[0][1])
if conc:
df = df_for_lr
# get rid of (e.g.) nan caused by no_punct=True
matches = matches.dropna(axis=0, how='all')
if not preserve_case:
matches = matches.str.lower()
if not conc:
# todo: is matches.values faster?
return list(matches), []
else:
conc_res = concline_generator(matches, idxs, df,
metadata, add_meta,
category, fname,
preserve_case=preserve_case)
return list(matches), conc_res
def make_collocate_show(show, current):
"""
Turn show into a collocate showing thing
"""
out = []
for i in show:
out.append(i)
for i in show:
newn = '%s%s' % (str(current), i)
if not newn.startswith('-'):
newn = '+' + newn
out.append(newn)
return out
def show_this(df, matches, show, metadata, conc=False,
coref=False, category=False, show_conc_metadata=False, **kwargs):
only_format_match = kwargs.pop('only_format_match', True)
ngram_mode = kwargs.get('ngram_mode', True)
preserve_case = kwargs.get('preserve_case', False)
gramsize = kwargs.get('gramsize', 1)
window = kwargs.get('window', None)
matches = sorted(list(matches))
# add index as column if need be
if any(i.endswith('s') for i in show):
df['ms'] = [str(i) for i in df.index.labels[0]]
if any(i.endswith('i') for i in show):
df['mi'] = [str(i) for i in df.index.labels[1]]
# attempt to leave really fast
if kwargs.get('countmode'):
return len(matches), {}
if len(show) == 1 and not conc and gramsize == 1 and not window:
if show[0] in ['ms', 'mi', 'mw', 'ml', 'mp', 'mf']:
get_fast = df.loc[matches][show[0][-1]]
if not preserve_case:
get_fast = get_fast.str.lower()
return list(get_fast), {}
# todo: make work for ngram, collocate and coref
if all(i[0] in ['m', 'g', '+', '-', 'd', 'h', 'r'] for i in show):
if gramsize == 1 and not window:
return fast_simple_conc(df,
matches,
show,
metadata,
show_conc_metadata,
kwargs.get('filename', ''),
category,
only_format_match,
conc=conc,
preserve_case=preserve_case,
gramsize=gramsize,
window=window)
else:
resbit = []
concbit = []
iterab = range(1, gramsize + 1) if gramsize > 1 else range(-window, window+1)
for i in iterab:
if i == 0:
continue
if window:
nnshow = make_collocate_show(show, i)
else:
nnshow = show
r, c = fast_simple_conc(df,
matches,
nnshow,
metadata,
show_conc_metadata,
kwargs.get('filename', ''),
category,
only_format_match,
conc=conc,
preserve_case=preserve_case,
gramsize=gramsize,
window=window)
resbit.append(r)
concbit.append(c)
if not window:
df = df.shift(1)
df = df.fillna('none')
resbit = list(zip(*resbit))
concbit = list(zip(*concbit))
out = []
conc_out = []
# this is slow but keeps the order
# remove it esp for resbit where it doesn't matter
for r in resbit:
for b in r:
out.append(b)
for c in concbit:
for b in c:
conc_out.append(b)
return out, conc_out
def remove_by_mode(matches, mode, criteria):
"""
If mode is all, remove any entry that occurs < len(criteria)
"""
if mode == 'any':
return set(matches)
if mode == 'all':
from collections import Counter
counted = Counter(matches)
return set(k for k, v in counted.items() if v >= len(criteria))
def determine_adjacent(original):
"""
Figure out if we're doing an adjacent location, get the co-ordinates
and return them and the stripped original
"""
if original[0] in ['+', '-']:
adj = (original[0], original[1:-2])
original = original[-2:]
else:
adj = False
return adj, original
def cut_df_by_metadata(df, metadata, criteria, coref=False,
feature='speaker', method='just'):
"""
Keep or remove parts of the DataFrame based on metadata criteria
"""
if not criteria:
df._metadata = metadata
return df
# maybe could be sped up, but let's not for now:
if coref:
df._metadata = metadata
return df
import re
good_sents = []
new_metadata = {}
from corpkit.constants import STRINGTYPE
# could make the below more elegant ...
for sentid, data in sorted(metadata.items()):
meta_value = data.get(feature, 'none')
lst_met_vl = meta_value.split(';')
if isinstance(criteria, (list, set, tuple)):
criteria = [i.lower() for i in criteria]
if method == 'just':
if any(i.lower() in criteria for i in lst_met_vl):
good_sents.append(sentid)
new_metadata[sentid] = data
elif method == 'skip':
if not any(i in criteria for i in lst_met_vl):
good_sents.append(sentid)
new_metadata[sentid] = data
elif isinstance(criteria, (re._pattern_type, STRINGTYPE)):
if method == 'just':
if any(re.search(criteria, i, re.IGNORECASE) for i in lst_met_vl):
good_sents.append(sentid)
new_metadata[sentid] = data
elif method == 'skip':
if not any(re.search(criteria, i, re.IGNORECASE) for i in lst_met_vl):
good_sents.append(sentid)
new_metadata[sentid] = data
df = df.loc[good_sents]
df = df.fillna('')
df._metadata = new_metadata
return df
def cut_df_by_meta(df, just_metadata, skip_metadata):
"""
Reshape a DataFrame based on filters
"""
if df is not None:
if just_metadata:
for k, v in just_metadata.items():
df = cut_df_by_metadata(df, df._metadata, v, feature=k)
if skip_metadata:
for k, v in skip_metadata.items():
df = cut_df_by_metadata(df, df._metadata, v, feature=k, method='skip')
return df
def tgrep_searcher(f=False,
metadata=False,
from_df=False,
search=False,
searchmode=False,
exclude=False,
excludemode=False,
translated_option=False,
subcorpora=False,
conc=False,
root=False,
preserve_case=False,
countmode=False,
show=False,
lem_instance=False,
lemtag=False,
category=False,
fname=False,
show_conc_metadata=False,
only_format_match=True,
**kwargs):
"""
Use tgrep for constituency grammar search
"""
from corpkit.process import show_tree_as_per_option, tgrep
matches = []
conc_out = []
# in case search was a dict
srch = search.get('t') if isinstance(search, dict) else search
metcat = category if category else ''
for i, sent in metadata.items():
results = tgrep(sent['parse'], srch)
sname = sent.get('speaker')
metcat = category
for res in results:
tok_id, start, middle, end = show_tree_as_per_option(show, res, sent,
df=from_df, sent_id=i, conc=conc,
only_format_match=only_format_match)
#middle, idx = show_tree_as_per_option(show, res, 'conll', sent, df=df, sent_id=i)
matches.append(middle)
if conc:
form_ix = '%d,%d' % (i, tok_id)
lin = [form_ix, metcat, fname, sname, start, middle, end]
if show_conc_metadata:
for k, v in sorted(sent.items()):
if k in ['speaker', 'parse', 'sent_id']:
continue
if isinstance(show_conc_metadata, list):
if k in show_conc_metadata:
lin.append(v)
elif show_conc_metadata is True:
lin.append(v)
conc_out.append(lin)
return matches, conc_out
def slow_tregex(metadata=False,
search=False,
searchmode=False,
exclude=False,
excludemode=False,
translated_option=False,
subcorpora=False,
conc=False,
root=False,
preserve_case=False,
countmode=False,
show=False,
lem_instance=False,
lemtag=False,
from_df=False,
fname=False,
category=False,
only_format_match=False,
**kwargs):
"""
Do the metadata specific version of tregex queries
"""
from corpkit.process import tregex_engine, format_tregex, make_conc_lines_from_whole_mid
if isinstance(search, dict):
search = list(search.values())[0]
speak_tree = [(x.get(subcorpora, 'none'), x['parse']) for x in metadata.values()]
if speak_tree:
speak, tree = list(zip(*speak_tree))
else:
speak, tree = [], []
if all(not x for x in speak):
speak = False
to_open = '\n'.join(tree)
concs = []
if not to_open.strip('\n'):
if subcorpora:
return {}, {}
ops = ['-%s' % i for i in translated_option] + ['-o', '-n']
res = tregex_engine(query=search,
options=ops,
corpus=to_open,
root=root,
preserve_case=preserve_case,
speaker_data=False)
res = format_tregex(res, show, exclude=exclude, excludemode=excludemode,
translated_option=translated_option,
lem_instance=lem_instance, countmode=countmode, speaker_data=False,
lemtag=lemtag)
if not res:
if subcorpora:
return [], []
if conc:
ops += ['-w']
whole_res = tregex_engine(query=search,
options=ops,
corpus=to_open,
root=root,
preserve_case=preserve_case,
speaker_data=speak)
# format match too depending on option
if not only_format_match:
whole_res = format_tregex(whole_res, show, exclude=exclude, excludemode=excludemode,
translated_option=translated_option,
lem_instance=lem_instance, countmode=countmode,
speaker_data=speak, whole=True,
lemtag=lemtag)
# make conc lines from conc results
concs = make_conc_lines_from_whole_mid(whole_res, res, filename=fname, show=show)
else:
concs = [False for i in res]
if len(res) > 0 and isinstance(res[0], tuple):
res = [i[-1] for i in res]
if countmode:
if isinstance(res, int):
return res, False
else:
return len(res), False
else:
return res, concs
def get_stats(from_df=False, metadata=False, feature=False, root=False, **kwargs):
"""
Get general statistics for a DataFrame
"""
import re
from corpkit.dictionaries.process_types import processes
from collections import Counter, defaultdict
from corpkit.process import tregex_engine
def ispunct(s):
import string
return all(c in string.punctuation for c in s)
tree = [x['parse'] for x in metadata.values()]
tregex_qs = {'Imperative': r'ROOT < (/(S|SBAR)/ < (VP !< VBD !< VBG !$ NP !$ SBAR < NP !$-- S '\
'!$-- VP !$ VP)) !<< (/\?/ !< __) !<<- /-R.B-/ !<<, /(?i)^(-l.b-|hi|hey|hello|oh|wow|thank|thankyou|thanks|welcome)$/',
'Open interrogative': r'ROOT < SBARQ <<- (/\?/ !< __)',
'Closed interrogative': r'ROOT ( < (SQ < (NP $+ VP)) << (/\?/ !< __) | < (/(S|SBAR)/ < (VP $+ NP)) <<- (/\?/ !< __))',
'Unmodalised declarative': r'ROOT < (S < (/(NP|SBAR|VP)/ $+ (VP !< MD)))',
'Modalised declarative': r'ROOT < (S < (/(NP|SBAR|VP)/ $+ (VP < MD)))',
'Clauses': r'/^S/ < __',
'Interrogative': r'ROOT << (/\?/ !< __)',
'Processes': r'/VB.?/ >># (VP !< VP >+(VP) /^(S|ROOT)/)'}
result = Counter()
for name in tregex_qs.keys():
result[name] = 0
result['Sentences'] = len(set(from_df.index.labels[0]))
result['Passives'] = len(from_df[from_df['f'] == 'nsubjpass'])
result['Tokens'] = len(from_df)
# the below has returned a float before. i assume actually a nan?
result['Words'] = len([w for w in list(from_df['w']) if w and not ispunct(str(w))])
result['Characters'] = sum([len(str(w)) for w in list(from_df['w']) if w])
result['Open class'] = sum([1 for x in list(from_df['p']) if x and x[0] in ['N', 'J', 'V', 'R']])
result['Punctuation'] = result['Tokens'] - result['Words']
result['Closed class'] = result['Words'] - result['Open class']
to_open = '\n'.join(tree)
if not to_open.strip('\n'):
return {}, {}
for name, q in sorted(tregex_qs.items()):
options = ['-o', '-t'] if name == 'Processes' else ['-o']
# c option removed, could cause memory problems
#ops = ['-%s' % i for i in translated_option] + ['-o', '-n']
res = tregex_engine(query=q,
options=options,
corpus=to_open,
root=root)
#res = format_tregex(res)
if not res:
continue
concs = [False for i in res]
for (_, met, r), line in zip(res, concs):
result[name] = len(res)
if name != 'Processes':
continue
non_mat = 0
for ptype in ['mental', 'relational', 'verbal']:
reg = getattr(processes, ptype).words.as_regex(boundaries='l')
count = len([i for i in res if re.search(reg, i[-1])])
nname = ptype.title() + ' processes'
result[nname] = count
if root:
root.update()
return result, {}
def get_corefs(df, matches):
"""
Add corefs to a set of matches
"""
out = set()
df = df['c']
for s, i in matches:
# keep original
out.add((s,i))
coline = df[(s, i)]
if coline.endswith('*'):
same_co = df[df == coline]
for ix in same_co.index:
out.add(ix)
return out
def pipeline(f=False,
search=False,
show=False,
exclude=False,
searchmode='all',
excludemode='any',
conc=False,
coref=False,
from_df=False,
just_metadata=False,
skip_metadata=False,
category=False,
show_conc_metadata=False,
statsmode=False,
search_trees=False,
lem_instance=False,
**kwargs):
"""
A basic pipeline for conll querying---some options still to do
"""
if isinstance(show, str):
show = [show]
all_matches = []
all_exclude = []
if from_df is False or from_df is None:
df = parse_conll(f, usecols=kwargs.get('usecols'))
# can fail here if df is none
if df is None:
print('Problem reading data from %s.' % f)
return [], []
metadata = df._metadata
else:
df = from_df
metadata = kwargs.pop('metadata')
feature = kwargs.pop('by_metadata', False)
df = cut_df_by_meta(df, just_metadata, skip_metadata)
searcher = pipeline
if statsmode:
searcher = get_stats
if search_trees == 'tregex':
searcher = slow_tregex
elif search_trees == 'tgrep':
searcher = tgrep_searcher
if feature:
if df is None:
print('Problem reading data from %s.' % f)
return {}, {}
# determine searcher
resultdict = {}
concresultdict = {}
# get all the possible values in the df for the feature of interest
all_cats = set([i.get(feature, 'none') for i in list(df._metadata.values())])
for category in all_cats:
new_df = cut_df_by_metadata(df, df._metadata, category, feature=feature, method='just')
r, c = searcher(f=False,
fname=f,
search=search,
exclude=exclude,
show=show,
searchmode=searchmode,
excludemode=excludemode,
conc=conc,
coref=coref,
from_df=new_df,
by_metadata=False,
category=category,
show_conc_metadata=show_conc_metadata,
lem_instance=lem_instance,
root=kwargs.pop('root', False),
subcorpora=feature,
metadata=new_df._metadata,
**kwargs)
resultdict[category] = r
concresultdict[category] = c
return resultdict, concresultdict
if df is None:
print('Problem reading data from %s.' % f)
return [], []
kwargs['ngram_mode'] = any(x.startswith('n') for x in show)
#df = cut_df_by_metadata(df, df._metadata, kwargs.get('just_speakers'), coref=coref)
metadata = df._metadata
try:
df['w'].str
except AttributeError:
raise AttributeError("CONLL data doesn't match expectations. " \
"Try the corpus.conll_conform() method to " \
"convert the corpus to the latest format.")
if kwargs.get('no_punct', True):
df = df[df['w'].fillna('').str.contains(kwargs.get('is_a_word', r'[A-Za-z0-9]'))]
# remove brackets --- could it be done in one regex?
df = df[~df['w'].str.contains(r'^-.*B-$')]
if kwargs.get('no_closed'):
from corpkit.dictionaries import wordlists
crit = wordlists.closedclass.as_regex(boundaries='l', case_sensitive=False)
df = df[~df['w'].str.contains(crit)]
if statsmode:
return get_stats(df, metadata, False, root=kwargs.pop('root', False), **kwargs)
elif search_trees:
return searcher(from_df=df,
search=search,
searchmode=searchmode,
exclude=exclude,
excludemode=excludemode,
conc=conc,
by_metadata=False,
metadata=metadata,
root=kwargs.pop('root', False),
fname=f,
show=show,
**kwargs)
# do no searching if 'any' is requested
if len(search) == 1 and list(search.keys())[0] == 'w' \
and hasattr(list(search.values())[0], 'pattern') \
and list(search.values())[0].pattern == r'.*':
all_matches = list(df.index)
else:
for k, v in search.items():
adj, k = determine_adjacent(k)
res = search_this(df, k[0], k[-1], v, adjacent=adj, coref=coref)
for r in res:
all_matches.append(r)
all_matches = remove_by_mode(all_matches, searchmode, search)
if exclude:
for k, v in exclude.items():
adj, k = determine_adjacent(k)
res = search_this(df, k[0], k[-1], v, adjacent=adj, coref=coref)
for r in res:
all_exclude.append(r)
all_exclude = remove_by_mode(all_exclude, excludemode, exclude)
all_matches = all_matches.difference(all_exclude)
if coref:
all_matches = get_corefs(df, all_matches)
out, conc_out = show_this(df, all_matches, show, metadata, conc,
coref=coref, category=category,
show_conc_metadata=show_conc_metadata,
**kwargs)
return out, conc_out
def load_raw_data(f):
"""
Loads the stripped and raw versions of a parsed file
"""
from corpkit.process import saferead
# open the unparsed version of the file, read into memory
stripped_txtfile = f.replace('.conll', '').replace('-parsed', '-stripped')
stripped_txtdata, enc = saferead(stripped_txtfile)
# open the unparsed version with speaker ids
id_txtfile = f.replace('.conll', '').replace('-parsed', '')
id_txtdata, enc = saferead(id_txtfile)
return stripped_txtdata, id_txtdata
def get_speaker_from_offsets(stripped, plain, sent_offsets,
metadata_mode=False,
speaker_segmentation=False):
"""
Take offsets and get a speaker ID or metadata from them
"""
if not stripped and not plain:
return {}
start, end = sent_offsets
sent = stripped[start:end]
# find out line number
# sever at start of match
cut_old_text = stripped[:start]
line_index = cut_old_text.count('\n')
# lookup this text
with_id = plain.splitlines()[line_index]
# parse xml tags in original file ...
meta_dict = {'speaker': 'none'}
if metadata_mode:
metad = with_id.strip().rstrip('>').rsplit(' 1:
speakerid = split_line[0]
else:
speakerid = 'UNIDENTIFIED'
meta_dict['speaker'] = speakerid
return meta_dict
def convert_json_to_conll(path,
speaker_segmentation=False,
coref=False,
metadata=False,
just_files=False):
"""
take json corenlp output and convert to conll, with
dependents, speaker ids and so on added.
Path is for the parsed corpus, or a list of files within a parsed corpus
Might need to fix if outname used?
"""
import json
import re
from corpkit.build import get_filepaths
from corpkit.constants import CORENLP_VERSION, OPENER
# todo: stabilise this
#if CORENLP_VERSION == '3.7.0':
# coldeps = 'enhancedPlusPlusDependencies'
#else:
# coldeps = 'collapsed-ccprocessed-dependencies'
print('Converting files to CONLL-U...')
if just_files:
files = just_files
else:
if isinstance(path, list):
files = path
else:
files = get_filepaths(path, ext='conll')
for f in files:
if speaker_segmentation or metadata:
stripped, raw = load_raw_data(f)
else:
stripped, raw = None, None
main_out = ''
# if the file has already been converted, don't worry about it
# untested?
with OPENER(f, 'r') as fo:
#try:
try:
data = json.load(fo)
except ValueError:
continue
# todo: differentiate between json errors
# rsc corpus had one json file with an error
# outputted by corenlp, and the conversion
# failed silently here
#except ValueError:
# continue
for idx, sent in enumerate(data['sentences'], start=1):
tree = sent['parse'].replace('\n', '')
tree = re.sub(r'\s+', ' ', tree)
# offsets for speaker_id
sent_offsets = (sent['tokens'][0]['characterOffsetBegin'], \
sent['tokens'][-1]['characterOffsetEnd'])
metad = get_speaker_from_offsets(stripped,
raw,
sent_offsets,
metadata_mode=True,
speaker_segmentation=speaker_segmentation)
# currently there is no standard for sent_id, so i'm leaving it out, but
# if https://github.com/UniversalDependencies/docs/issues/273 is updated
# then i could switch it back
#output = '# sent_id %d\n# parse=%s\n' % (idx, tree)
output = '# parse=%s\n' % tree
for k, v in sorted(metad.items()):
output += '# %s=%s\n' % (k, v)
for token in sent['tokens']:
index = str(token['index'])
# this got a stopiteration on rsc data
governor, func = next(((i['governor'], i['dep']) \
for i in sent.get('enhancedPlusPlusDependencies',
sent.get('collapsed-ccprocessed-dependencies')) \
if i['dependent'] == int(index)), ('_', '_'))
if governor is '_':
depends = False
else:
depends = [str(i['dependent']) for i in sent.get('enhancedPlusPlusDependencies',
sent.get('collapsed-ccprocessed-dependencies')) if i['governor'] == int(index)]
if not depends:
depends = '0'
#offsets = '%d,%d' % (token['characterOffsetBegin'], token['characterOffsetEnd'])
line = [index,
token['word'],
token['lemma'],
token['pos'],
token.get('ner', '_'),
'_', # this is morphology, which is unannotated always, but here to conform to conll u
governor,
func,
','.join(depends)]
# no ints
line = [str(l) if isinstance(l, int) else l for l in line]
from corpkit.constants import PYTHON_VERSION
if PYTHON_VERSION == 2:
try:
[unicode(l, errors='ignore') for l in line]
except TypeError:
pass
output += '\t'.join(line) + '\n'
main_out += output + '\n'
# post process corefs
if coref:
import re
dct = {}
idxreg = re.compile('^([0-9]+)\t([0-9]+)')
splitmain = main_out.split('\n')
# add tab _ to each line, make dict of sent-token: line index
for i, line in enumerate(splitmain):
if line and not line.startswith('#'):
splitmain[i] += '\t_'
match = re.search(idxreg, line)
if match:
l, t = match.group(1), match.group(2)
dct[(int(l), int(t))] = i
# for each coref chain, if there are corefs
for numstring, list_of_dicts in sorted(data.get('corefs', {}).items()):
# for each mention
for d in list_of_dicts:
snum = d['sentNum']
# get head?
# this has been fixed in dev corenlp: 'headIndex' --- could simply use that
# ref : https://github.com/stanfordnlp/CoreNLP/issues/231
for i in range(d['startIndex'], d['endIndex']):
try:
ix = dct[(snum, i)]
fixed_line = splitmain[ix].rstrip('\t_') + '\t%s' % numstring
gv = fixed_line.split('\t')[6]
try:
gov_s = int(gv)
except ValueError:
continue
if gov_s < d['startIndex'] or gov_s > d['endIndex']:
fixed_line += '*'
splitmain[ix] = fixed_line
dct.pop((snum, i))
except KeyError:
pass
main_out = '\n'.join(splitmain)
from corpkit.constants import OPENER
with OPENER(f, 'w', encoding='utf-8') as fo:
main_out = main_out.replace(u"\u2018", "'").replace(u"\u2019", "'")
fo.write(main_out)
================================================
FILE: corpkit/constants.py
================================================
import sys
import codecs
# python 2/3 coompatibility
PYTHON_VERSION = sys.version_info.major
STRINGTYPE = str if PYTHON_VERSION == 3 else basestring
INPUTFUNC = input if PYTHON_VERSION == 3 else raw_input
OPENER = open if PYTHON_VERSION == 3 else codecs.open
# quicker access to search, exclude, show types
from itertools import product
_starts = ['M', 'N', 'B', 'G', 'D', 'H', 'R']
_ends = ['W', 'L', 'I', 'S', 'P', 'X', 'R', 'F', 'E']
_others = ['A', 'ANY', 'ANYWORD', 'C', 'SELF', 'V', 'K', 'T']
_prod = list(product(_starts, _ends))
_prod = [''.join(i) for i in _prod]
_letters = sorted(_prod + _starts + _ends + _others)
_adjacent_start = ['A{}'.format(i) for i in range(1, 9)] + \
['Z{}'.format(i) for i in range(1, 9)]
_adjacent = [''.join(i) for i in list(product(_adjacent_start, _prod))]
LETTERS = sorted(_letters + _adjacent)
# translating search values intro words
transshow = {'f': 'Function',
'l': 'Lemma',
'a': 'Distance from root',
'w': 'Word',
't': 'Trees',
'i': 'Index',
'n': 'N-grams',
'p': 'POS',
'e': 'NER',
'c': 'Count',
'x': 'Word class',
's': 'Sentence index'}
transobjs = {'g': 'Governor',
'd': 'Dependent',
'm': 'Match',
'h': 'Head'}
# below are the column names for the conll-u formatted data
# corpkit's format is slightly different, but largely compatible.
# Key differences:
#
# 1. 'e' is used for NER, rather than lang specific POS
# 2. 'd' gives a comma-sep list of dependents, rather than head-deprel pairs
# this is done for processing speed.
# 3. 'c' is used for corefs, not 'misc comment'. it has an artibrary number
# representing a dependency chain. head of a mention is marked with an asterisk.
# 'm' does not have anything in it in corpkit, but denotes morphological features
# default: index, word, lem, pos, ner, morph, gov, func, deps, coref
CONLL_COLUMNS = ['i', 'w', 'l', 'p', 'e', 'v', 'g', 'f', 'd', 'c']
# what the longest possible speaker ID is. this prevents huge lines with colons
# from getting matched unintentionally
MAX_SPEAKERNAME_SIZE = 40
# parsing sometimes fails with a java error. if corpus.parse(restart=True), this will try
# parsing n times before giving up
REPEAT_PARSE_ATTEMPTS = 3
# location of the current corenlp and its version
# old, stable
#CORENLP_URL = 'http://nlp.stanford.edu/software/stanford-corenlp-full-2015-12-09.zip'
#CORENLP_VERSION = '3.6.0'
# newest, beta
CORENLP_VERSION = '3.7.0'
CORENLP_URL = 'http://nlp.stanford.edu/software/stanford-corenlp-full-2016-10-31.zip'
# it can be very slow to load a bunch of unused metadata categories
MAX_METADATA_FIELDS = 99
MAX_METADATA_VALUES = 99
================================================
FILE: corpkit/corpkit
================================================
#!/usr/bin/env python
"""
A script to start the corpkit interpeter with options
"""
import sys
import os
# determine if we're running a script
if len(sys.argv) > 1 and os.path.isfile(sys.argv[-1]):
fromscript = sys.argv[-1]
else:
fromscript = False
def install(name, loc):
"""
If we don't have a module, download it
"""
import pip
import importlib
try:
importlib.import_module(name)
except ImportError:
pip.main(['install', loc])
tabview = ('tabview', 'git+https://github.com/interrogator/tabview@93644dd1f410de4e47466ea8083bb628b9ccc471#egg=tabview')
colorama = ('colorama', 'colorama')
# run a command a la python -c
command = sys.argv[sys.argv.index('-c') + 1] if '-c' in sys.argv else False
debug = any(i in sys.argv for i in ['--debug', '-d', 'debug'])
quiet = any(i in sys.argv for i in ['--q', '--quiet'])
load = any(i in sys.argv for i in ['--load', '-l'])
profile = any(i in sys.argv for i in ['--profile', '-p'])
version = any(i in sys.argv for i in ['--version', '-v'])
if not any('noinstall' in arg.lower() for arg in sys.argv):
install(*tabview)
install(*colorama)
if version:
import corpkit
print(corpkit.__version__)
elif any(i in sys.argv for i in ['--help', '-h']):
from corpkit.env import help_text
import pydoc
pydoc.pipepager(help_text, cmd='less -X -R -S')
else:
from corpkit.env import interpreter
interpreter(debug=debug, fromscript=fromscript,
quiet=quiet, python_c_mode=command,
profile=profile, loadcurrent=load)
================================================
FILE: corpkit/corpkit.1
================================================
.TH corpkit 1
.SH NAME
corpkit \- corpus linguistics interface
.SH SYNOPSIS
.B corpkit
[\fB\-c\fR \fICOMMAND\fR]
[\fB\-d\fR]
[\fB\-h\fR]
[\fB\-l\fR]
.IR [file]
.SH DESCRIPTION
.B corpkit
builds and searches parsed and/or structured linguistic corpora. It also edits and visualises results, and manages projects.
.SH OPTIONS
.TP
.BR " \-\-c COMMAND"\fR
A quoted command or series of commands to pass to the corpkit interpreter. Use a semicolon to delimit each command. Disables interactivity and exits on completion.
.TP
.IR "file"\fR
Pass in a script for the interpeter to run.
.TP
.BR "\-d, " \-\-debug\fR
Debug mode: print info about how command was parsed.
.TP
.BR "\-l, " \-\-load\fR
Load all saved results into store on startup.
.TP
.BR "\-h, " \-\-help\fR
Show help.
================================================
FILE: corpkit/corpus.py
================================================
"""
corpkit: Corpus and Corpus-like objects
"""
from __future__ import print_function
from lazyprop import lazyprop
from corpkit.process import classname
from corpkit.constants import STRINGTYPE, PYTHON_VERSION
class Corpus(object):
"""
A class representing a linguistic text corpus, which contains files,
optionally within subcorpus folders.
Methods for concordancing, interrogating, getting general stats, getting
behaviour of particular word, etc.
Unparsed, tokenised and parsed corpora use the same class, though some
methods are available only to one or the other. Only unparsed corpora
can be parsed, and only parsed/tokenised corpora can be interrogated.
"""
def __init__(self, path, **kwargs):
import re
import operator
import glob
import os
from os.path import join, isfile, isdir, abspath, dirname, basename
from corpkit.process import determine_datatype
# levels are 'c' for corpus, 's' for subcorpus and 'f' for file. Which
# one is determined automatically below, and processed accordingly. We
# assume it is a full corpus to begin with.
def get_symbolics(self):
return {'skip': self.skip,
'just': self.just,
'symbolic': self.symbolic}
self.data = None
self._dlist = None
self.level = kwargs.pop('level', 'c')
self.datatype = kwargs.pop('datatype', None)
self.print_info = kwargs.pop('print_info', True)
self.symbolic = kwargs.get('subcorpora', False)
self.skip = kwargs.get('skip', False)
self.just = kwargs.get('just', False)
self.kwa = get_symbolics(self)
if isinstance(path, (list, Datalist)):
self.path = abspath(dirname(path[0].path.rstrip('/')))
self.name = basename(self.path)
self.data = path
if self.level == 'd':
self._dlist = path
elif isinstance(path, STRINGTYPE):
self.path = abspath(path)
self.name = basename(path)
elif hasattr(path, 'path') and path.path:
self.path = abspath(path.path)
self.name = basename(path.path)
# this messy code figures out as quickly as possible what the datatype
# and singlefile status of the path is. it's messy because it shortcuts
# full checking where possible some of the shortcutting could maybe be
# moved into the determine_datatype() funct.
if self.level == 'd':
self.singlefile = len(self._dlist) > 1
else:
self.singlefile = False
if os.path.isfile(self.path):
self.singlefile = True
else:
if not isdir(self.path):
if isdir(join('data', path)):
self.path = abspath(join('data', path))
if self.path.endswith('-parsed') or self.path.endswith('-tokenised'):
for r, d, f in os.walk(self.path):
if not f:
continue
if isinstance(f, str) and f.startswith('.'):
continue
if f[0].endswith('conll') or f[0].endswith('conllu'):
self.datatype = 'conll'
break
if len([d for d in os.listdir(self.path)
if isdir(join(self.path, d))]) > 0:
self.singlefile = False
if len([d for d in os.listdir(self.path)
if isdir(join(self.path, d))]) == 0:
self.level = 's'
else:
if self.level == 'c':
if not self.datatype:
self.datatype, self.singlefile = determine_datatype(
self.path)
if isdir(self.path):
if len([d for d in os.listdir(self.path)
if isdir(join(self.path, d))]) == 0:
self.level = 's'
# if initialised on a file, process as file
if self.singlefile and self.level == 'c':
self.level = 'f'
# load each interrogation as an attribute
if kwargs.get('load_saved', False):
from corpkit.other import load
from corpkit.process import makesafe
if os.path.isdir('saved_interrogations'):
saved_files = glob.glob(r'saved_interrogations/*')
for filepath in saved_files:
filename = os.path.basename(filepath)
if not filename.startswith(self.name):
continue
not_filename = filename.replace(self.name + '-', '')
not_filename = os.path.splitext(not_filename)[0]
if not_filename in ['features', 'wordclasses', 'postags']:
continue
variable_safe = makesafe(not_filename)
try:
setattr(self, variable_safe, load(filename))
if self.print_info:
print(
'\tLoaded %s as %s attribute.' %
(filename, variable_safe))
except AttributeError:
if self.print_info:
print(
'\tFailed to load %s as %s attribute. Name conflict?' %
(filename, variable_safe))
if self.print_info:
print('Corpus: %s' % self.path)
@lazyprop
def subcorpora(self):
"""
A list-like object containing a corpus' subcorpora.
"""
import re
import os
import operator
from os.path import join, isdir
if self.level == 'd':
return
if self.data.__class__ == Datalist or isinstance(self.data, (Datalist, list)):
return self.data
if self.level == 'c':
variable_safe_r = re.compile(r'[\W0-9_]+', re.UNICODE)
sbs = Datalist(sorted([Subcorpus(join(self.path, d), self.datatype, **self.kwa)
for d in os.listdir(self.path)
if isdir(join(self.path, d))],
key=operator.attrgetter('name')), **self.kwa)
for subcorpus in sbs:
variable_safe = re.sub(variable_safe_r, '',
subcorpus.name.lower().split(',')[0])
setattr(self, variable_safe, subcorpus)
return sbs
@lazyprop
def speakerlist(self):
"""
A list of speakers in the corpus
"""
from corpkit.build import get_speaker_names_from_parsed_corpus
return get_speaker_names_from_parsed_corpus(self)
@lazyprop
def files(self):
"""
A list-like object containing the files in a folder
>>> corpus.subcorpora[0].files
"""
import re
import os
import operator
from os.path import join, isdir
if self.level == 's':
fls = [f for f in os.listdir(self.path) if not f.startswith('.')]
fls = [File(f, self.path, self.datatype, **self.kwa) for f in fls]
fls = sorted(fls, key=operator.attrgetter('name'))
return Datalist(fls, **self.kwa)
elif self.level == 'd':
return self._dlist
@lazyprop
def all_filepaths(self):
"""
Lazy-load a list of all filepaths in a corpus
"""
if self.level == 'f':
return [self.path]
if self.files:
return [i.path for i in self.files]
fs = []
for sc in self.subcorpora:
for f in sc.files:
fs.append(f.path)
return fs
def conll_conform(self, errors='raise'):
"""
This removes sent index column from old corpkit data
"""
from corpkit.constants import OPENER
fs = self.all_filepaths
for i, f in enumerate(fs, start=1):
badfile = False
print('Doing %s/%s' % (i, len(fs)))
fdata = []
with OPENER(f, 'r', encoding='utf-8') as fo:
lines = fo.read().splitlines()
for line in lines:
if line.startswith('# sent_id'):
continue
if line and not line.startswith('#'):
try:
splut = line.split('\t', 1)[1]
except IndexError:
raise IndexError('Failed on file %s' % f)
if not splut[0].isdigit():
if errors == 'raise':
raise ValueError('File %s does not appear to be in old format.' % f)
else:
if badfile:
continue
badfile = True
continue
else:
line = splut
# add v column with nothing in it
line = line.split('\t')
line.insert(5, '_')
line = '\t'.join(line)
fdata.append(line)
if badfile and errors != 'raise':
print('Skipping %s' % f)
continue
with OPENER(f, 'w', encoding='utf-8') as fo:
fo.write('\n'.join(fdata))
@lazyprop
def all_files(self):
"""
Lazy-load a list of all filepaths in a corpus
"""
if self.level == 'f':
return Datalist([self])
if self.files:
return self.files
fs = []
for sc in self.subcorpora:
for f in sc.files:
fs.append(f)
return Datalist(fs)
def tfidf(self, search={'w': 'any'}, show=['w'], **kwargs):
"""
Generate TF-IDF vector representation of corpus
using interrogate method. All args and kwargs go to
:func:`~corpkit.corpus.Corpus.interrogate`.
:returns: Tuple: the vectoriser and matrix
"""
from sklearn.feature_extraction.text import TfidfVectorizer
vectoriser = TfidfVectorizer(input='content',
tokenizer=lambda x: x.split())
res = self.interrogate(search=search,
show=show,
**kwargs).results
# there is also a string repeat method which could be better
def dupe_string(line):
"""Duplicate line name by line count and return string"""
return ''.join([(w + ' ') * line[w] for w in line.index])
ser = res.apply(dupe_string, axis=1)
vec = vectoriser.fit_transform(ser.values)
#todo: subcorpora names are lost?
return vectoriser, vec
def __str__(self):
"""
String representation of corpus
"""
showing = 'subcorpora'
if getattr(self, 'subcorpora', False):
sclen = len(self.subcorpora)
else:
showing = 'files'
sclen = len(self.files)
show = 'Corpus at %s:\n\nData type: %s\nNumber of %s: %d\n' % (
self.path, self.datatype, showing, sclen)
val = self.symbolic if self.symbolic else 'default'
show += 'Subcorpora: %s\n' % val
if self.singlefile:
show += '\nCorpus is a single file.\n'
#if getattr(self, 'symbolic'):
# show += 'Symbolic subcorpora: %s\n' % str(self.symbolic)
if getattr(self, 'skip'):
show += 'Skip: %s\n' % str(self.skip)
if getattr(self, 'just'):
show += 'Just: %s\n' % str(self.just)
return show
def __repr__(self):
"""
Object representation of corpus
"""
import os
if not self.subcorpora:
ssubcorpora = ''
else:
ssubcorpora = self.subcorpora
return "<%s instance: %s; %d subcorpora>" % (
classname(self), os.path.basename(self.path), len(ssubcorpora))
def __getitem__(self, key):
"""
Get attributes from corpus
todo: symbolic stuff for item selection
"""
from corpkit.constants import STRINGTYPE
from corpkit.process import makesafe
if getattr(self, 'subcorpora', False):
get_from = self.subcorpora
elif getattr(self, 'files', False):
get_from = self.files
else:
get_from = self.document
try:
return get_from.loc[key]
except:
return get_from.__getitem__(key)
return get_from.__getitem__(key)
def __delitem__(self, key):
from corpkit.constants import STRINGTYPE
from corpkit.process import makesafe
if getattr(self, 'subcorpora', False):
del_from = self.subcorpora
elif getattr(self, 'files', False):
del_from = self.files
if isinstance(key, (int, slice)):
del_from.__delitem__(key)
elif isinstance(key, STRINGTYPE):
del_from.__delitem__(del_from.index(key))
@lazyprop
def features(self):
"""
Generate and show basic stats from the corpus, including number of
sentences, clauses, process types, etc.
:Example:
>>> corpus.features
SB Characters Tokens Words Closed class words Open class words Clauses
01 26873 8513 7308 4809 3704 2212
02 25844 7933 6920 4313 3620 2270
03 18376 5683 4877 3067 2616 1640
04 20066 6354 5366 3587 2767 1775
"""
from corpkit.dictionaries.word_transforms import mergetags
from corpkit.process import get_corpus_metadata, add_df_to_dotfile, make_df_json_name
kwa = {'just_metadata': self.just,
'skip_metadata': self.skip,
'subcorpora': self.symbolic}
md = get_corpus_metadata(self.path, generate=True)
name = make_df_json_name('features', self.symbolic)
if name in md:
import pandas as pd
try:
return pd.DataFrame(md[name])
except ValueError:
return pd.Series(md[name])
else:
feat = self.interrogate('features', **kwa)
from corpkit.interrogation import Interrodict
if isinstance(feat, Interrodict):
feat = feat.multiindex()
feat = feat.results
add_df_to_dotfile(self.path, feat, typ='features', subcorpora=self.symbolic)
return feat
def _get_postags_and_wordclasses(self):
"""
Called by corpus.postags and corpus.wordclasses internally
"""
from corpkit.dictionaries.word_transforms import mergetags
from corpkit.process import get_corpus_metadata, add_df_to_dotfile, make_df_json_name
kwa = {'just_metadata': self.just,
'skip_metadata': self.skip,
'subcorpora': self.symbolic}
md = get_corpus_metadata(self.path, generate=True)
pname = make_df_json_name('postags', self.symbolic)
wname = make_df_json_name('wordclasses', self.symbolic)
if pname in md and wname in md:
import pandas as pd
try:
return pd.DataFrame(md[pname]), pd.DataFrame(md[wname])
except ValueError:
return pd.Series(md[pname]), pd.Series(md[wname])
else:
postags = self.interrogate('postags', **kwa)
from corpkit.interrogation import Interrodict
if isinstance(postags, Interrodict):
postags = postags.multiindex()
wordclasses = postags.edit(merge_entries=mergetags,
sort_by='total').results.astype(int)
postags = postags.results
add_df_to_dotfile(self.path, postags, typ='postags', subcorpora=self.symbolic)
add_df_to_dotfile(self.path, wordclasses, typ='wordclasses', subcorpora=self.symbolic)
return postags, wordclasses
@lazyprop
def wordclasses(self):
"""
Generate and show basic stats from the corpus, including number of
sentences, clauses, process types, etc.
:Example:
>>> corpus.wordclasses
SB Verb Noun Preposition Determiner ...
01 26873 8513 7308 5508 ...
02 25844 7933 6920 3323 ...
03 18376 5683 4877 3137 ...
04 20066 6354 5366 4336 ...
"""
postags, wordclasses = self._get_postags_and_wordclasses()
return wordclasses
@lazyprop
def postags(self):
"""
Generate and show basic stats from the corpus, including number of
sentences, clauses, process types, etc.
:Example:
>>> corpus.postags
SB NN VB JJ IN DT
01 26873 8513 7308 4809 3704 ...
02 25844 7933 6920 4313 3620 ...
03 18376 5683 4877 3067 2616 ...
04 20066 6354 5366 3587 2767 ...
"""
postags, wordclasses = self._get_postags_and_wordclasses()
return postags
@lazyprop
def lexicon(self, **kwargs):
"""
Get a lexicon/frequency distribution from a corpus,
and save to disk for next time.
:returns: a `DataFrame` of tokens and counts
"""
from corpkit.process import get_corpus_metadata, add_df_to_dotfile, make_df_json_name
kwa = {'just_metadata': self.just,
'skip_metadata': self.skip,
'subcorpora': self.symbolic}
md = get_corpus_metadata(self.path, generate=True)
name = make_df_json_name('lexicon', self.symbolic)
if name in md:
import pandas as pd
return pd.DataFrame(md[name])
else:
lexi = self.interrogate('lexicon', **kwa)
from corpkit.interrogation import Interrodict
if isinstance(lexi, Interrodict):
lexi = lexi.multiindex()
lexi = lexi.results
add_df_to_dotfile(self.path, lexi, typ='lexicon', subcorpora=self.symbolic)
return lexi
def configurations(self, search, **kwargs):
"""
Get the overall behaviour of tokens or lemmas matching a regular
expression. The search below makes DataFrames containing the most
common subjects, objects, modifiers (etc.) of 'see':
:param search: Similar to `search` in the
:func:`~corpkit.corpus.Corpus.interrogate`
method.
Valid keys are:
- `W`/`L` match word or lemma
- `F`: match a semantic role (`'participant'`, `'process'` or
`'modifier'`. If `F` not specified, each role will be
searched for.
:type search: `dict`
:Example:
>>> see = corpus.configurations({L: 'see', F: 'process'}, show=L)
>>> see.has_subject.results.sum()
i 452
it 227
you 162
we 111
he 94
:returns: :class:`corpkit.interrogation.Interrodict`
"""
if 'subcorpora' not in kwargs:
kwargs['subcorpora'] = self.symbolic
if 'just_metadata' not in kwargs:
kwargs['just_metadata'] = self.just
if 'skip_metadata' not in kwargs:
kwargs['skip_metadata'] = self.skip
from corpkit.configurations import configurations
return configurations(self, search, **kwargs)
def interrogate(self, search='w', *args, **kwargs):
"""
Interrogate a corpus of texts for a lexicogrammatical phenomenon.
This method iterates over the files/folders in a corpus, searching the
texts, and returning a :class:`corpkit.interrogation.Interrogation`
object containing the results. The main options are `search`, where you
specify search criteria, and `show`, where you specify what you want to
appear in the output.
:Example:
>>> corpus = Corpus('data/conversations-parsed')
### show lemma form of nouns ending in 'ing'
>>> q = {W: r'ing$', P: r'^N'}
>>> data = corpus.interrogate(q, show=L)
>>> data.results
.. something anything thing feeling everything nothing morning
01 14 11 12 1 6 0 1
02 10 20 4 4 8 3 0
03 14 5 5 3 1 0 0
... ...
:param search: What part of the lexicogrammar to search, and what
criteria to match. The `keys` are the thing to be
searched, and values are the criteria. To search parse
trees, use the `T` key, and a Tregex query as the value.
When searching dependencies, you can use any of:
+--------------------+-------+----------+-----------+-----------+
| | Match | Governor | Dependent | Head |
+====================+=======+==========+===========+===========+
| Word | `W` | `G` | `D` | `H` |
+--------------------+-------+----------+-----------+-----------+
| Lemma | `L` | `GL` | `DL` | `HL` |
+--------------------+-------+----------+-----------+-----------+
| Function | `F` | `GF` | `DF` | `HF` |
+--------------------+-------+----------+-----------+-----------+
| POS tag | `P` | `GP` | `DP` | `HP` |
+--------------------+-------+----------+-----------+-----------+
| Word class | `X` | `GX` | `DX` | `HX` |
+--------------------+-------+----------+-----------+-----------+
| Distance from root | `A` | `GA` | `DA` | `HA` |
+--------------------+-------+----------+-----------+-----------+
| Index | `I` | `GI` | `DI` | `HI` |
+--------------------+-------+----------+-----------+-----------+
| Sentence index | `S` | `SI` | `SI` | `SI` |
+--------------------+-------+----------+-----------+-----------+
Values should be regular expressions or wordlists to
match.
:type search: `dict`
:Example:
>>> corpus.interrogate({T: r'/NN.?/ < /^t/'}) # T- nouns, via trees
>>> corpus.interrogate({W: '^t': P: r'^v'}) # T- verbs, via dependencies
:param searchmode: Return results matching any/all criteria
:type searchmode: `str` -- `'any'`/`'all'`
:param exclude: The inverse of `search`, removing results from search
:type exclude: `dict` -- `{L: 'be'}`
:param excludemode: Exclude results matching any/all criteria
:type excludemode: `str` -- `'any'`/`'all'`
:param query: A search query for the interrogation. This is only used
when `search` is a `str`, or when multiprocessing. When
`search` If `search` is a str, the search criteria can be
passed in as `query, in order to allow the simpler syntax:
>>> corpus.interrogate(GL, '(think|want|feel)')
When multiprocessing, the following is possible:
>>> q = {'Nouns': r'/NN.?/', 'Verbs': r'/VB.?/'}
### return an :class:`corpkit.interrogation.Interrogation` object with multiindex:
>>> corpus.interrogate(T, q)
### return an :class:`corpkit.interrogation.Interrogation` object without multiindex:
>>> corpus.interrogate(T, q, show=C)
:type query: `str`, `dict` or `list`
:param show: What to output. If multiple strings are passed in as a `list`,
results will be colon-separated, in the suppled order. Possible
values are the same as those for `search`, plus options
n-gramming and getting collocates:
+------+-----------------------+------------------------+
| Show | Gloss | Example |
+======+=======================+========================+
| N | N-gram word | `The women were` |
+------+-----------------------+------------------------+
| NL | N-gram lemma | `The woman be` |
+------+-----------------------+------------------------+
| NF | N-gram function | `det nsubj root` |
+------+-----------------------+------------------------+
| NP | N-gram POS tag | `DT NNS VBN` |
+------+-----------------------+------------------------+
| NX | N-gram word class | `determiner noun verb` |
+------+-----------------------+------------------------+
| B | Collocate word | `The_were` |
+------+-----------------------+------------------------+
| BL | Collocate lemma | `The_be` |
+------+-----------------------+------------------------+
| BF | Collocate function | `det_root` |
+------+-----------------------+------------------------+
| BP | Collocate POS tag | `DT_VBN` |
+------+-----------------------+------------------------+
| BX | Collocate word class | `determiner_verb` |
+------+-----------------------+------------------------+
:type show: `str`/`list` of strings
:param lemmatise: Force lemmatisation on results. **Deprecated:
instead, output a lemma form with the `show` argument**
:type lemmatise: `bool`
:param lemmatag: When using a Tregex/Tgrep query, the tool will
attempt to determine the word class of results from the query.
Passing in a `str` here will tell the lemmatiser the expected
POS of results to lemmatise. It only has an affect if trees
are being searched and lemmata are being shown.
:type lemmatag: `'n'`/`'v'`/`'a'`/`'r'`/`False`
:param save: Save result as pickle to `saved_interrogations/` on
completion
:type save: `str`
:param gramsize: Size of n-grams (default 1, i.e. unigrams)
:type gramsize: `int`
:param multiprocess: How many parallel processes to run
:type multiprocess: `int`/`bool` (`bool` determines automatically)
:param files_as_subcorpora: (**Deprecated, use subcorpora=files**). Treat each file as a subcorpus, ignoring
actual subcorpora if present
:type files_as_subcorpora: `bool`
:param conc: Generate a concordance while interrogating,
store as `.concordance` attribute
:type conc: `bool`/`'only'`
:param coref: Also get coreferents for search matches
:type coref: `bool`
:param tgrep: Use `TGrep` for tree querying. TGrep is less expressive
than Tregex, and is slower, but can work without Java. This
option may be turned on internally if Java is not found.
:type tgrep: `bool`
:param subcorpora: Use a metadata value as subcorpora.
Passing a list will create a multiindex.
`'file'` and `'folder'`/`'default'` are also possible values.
:type subcorpora: `str`/`list`
:param just_metadata: One or more metadata fields and criteria to filter sentences by.
Only those matching will be kept. Criteria can be a list of words
or a regular expression. Passing ``{'speaker': 'ENVER'}``
will search only sentences annotated with ``speaker=ENVER``.
:type just_metadata: `dict`
:param skip_metadata: A field and regex/list to filter sentences by.
The inverse of ``just_metadata``.
:type skip_metadata: `dict`
:param discard: When returning many (i.e. millions) of results, memory can be
a problem. Setting a discard value will ignore results occurring
infrequently in a subcorpus. An ``int`` will remove any result
occurring ``n`` times or fewer. A float will remove this proportion
of results (i.e. 0.1 will remove 10 per cent)
:type discard: ``int``/``float``
:returns: A :class:`corpkit.interrogation.Interrogation` object, with
`.query`, `.results`, `.totals` attributes. If multiprocessing is
invoked, result may be multiindexed.
"""
from corpkit.interrogator import interrogator
import pandas as pd
par = kwargs.pop('multiprocess', None)
kwargs.pop('corpus', None)
if self.datatype != 'conll':
raise ValueError('You need to parse or tokenise the corpus before searching.')
# handle symbolic structures
subcorpora = kwargs.get('subcorpora', False)
if self.level == 's':
subcorpora = 'file'
if self.symbolic:
subcorpora = self.symbolic
if 'subcorpora' in kwargs:
subcorpora = kwargs.pop('subcorpora')
if subcorpora in ['default', 'folder', 'folders']:
subcorpora = False
if subcorpora in ['file', 'files']:
subcorpora = False
kwargs['files_as_subcorpora'] = True
if self.skip:
if kwargs.get('skip_metadata'):
kwargs['skip_metadata'].update(self.skip)
else:
kwargs['skip_metadata'] = self.skip
if self.just:
if kwargs.get('just_metadata'):
kwargs['just_metadata'].update(self.just)
else:
kwargs['just_metadata'] = self.just
kwargs.pop('subcorpora', False)
if par and self.subcorpora:
if isinstance(par, int):
kwargs['multiprocess'] = par
res = interrogator(self.subcorpora, search,
subcorpora=subcorpora, *args, **kwargs)
else:
kwargs['multiprocess'] = par
res = interrogator(self, search,
subcorpora=subcorpora, *args, **kwargs)
if kwargs.get('conc', False) == 'only':
return res
from corpkit.interrogation import Interrodict
if isinstance(res, Interrodict) and kwargs.get('use_interrodict'):
return res
elif isinstance(res, Interrodict) and not kwargs.get('use_interrodict', False):
return res.multiindex()
else:
if subcorpora:
res.results.index.name = subcorpora
# sort by total
ind = list(res.results.index)
if isinstance(res.results, pd.DataFrame):
if not res.results.empty:
res.results = res.results[list(res.results.sum().sort_values(ascending=False).index)]
res.results = res.results.astype(int)
if all(i == 'none' or str(i).isdigit() for i in ind):
longest = max([len(str(i)) if str(i).isdigit() else 1 for i in ind])
res.results.index = [str(i).zfill(longest) for i in ind]
res.results = res.results.sort_index().astype(int)
else:
show = res.query.get('show', [])
outs = []
from corpkit.constants import transshow, transobjs
for bit in show:
name = transobjs.get(bit[0], bit[0]) + '-' + transshow.get(bit[-1], bit[-1])
name = name.replace('Match-', '').lower()
outs.append(name)
name = '/'.join(outs)
if name:
res.results.name = name
return res
def sample(self, n, level='f'):
"""
Get a sample of the corpus
:param n: amount of data in the the sample. If an ``int``, get n files.
if a ``float``, get float * 100 as a percentage of the corpus
:type n: ``int``/``float``
:param level: sample subcorpora (``s``) or files (``f``)
:type level: ``str``
:returns: a Corpus object
"""
import random
if isinstance(n, int):
if level.lower().startswith('s'):
rs = random.sample(list(self.subcorpora), n)
rs = sorted(rs, key=lambda x: x.name)
return Corpus(Datalist(rs),
print_info=False, datatype='conll')
else:
fps = list(self.all_files)
dl = Datalist(random.sample(fps, n))
return Corpus(dl, level='d',
print_info=False, datatype='conll')
elif isinstance(n, float):
if level.lower().startswith('s'):
fps = list(self.subcorpora)
n = len(fps) / n
return Corpus(Datalist(random.sample(fps, n)),
print_info=False, datatype='conll')
else:
fps = list(self.all_files)
n = len(fps) / n
return Corpus(Datalist(random.sample(fps, n)), level='d',
print_info=False, datatype='conll')
def delete_metadata(self):
"""
Delete metadata for corpus. May be needed if corpus is changed
"""
import os
os.remove(os.path.join('data', '.%s.json' % self.name))
@lazyprop
def metadata(self):
"""
Get metadata for a corpus
"""
from corpkit.process import get_corpus_metadata
return get_corpus_metadata(self, generate=True)
def parse(self,
corenlppath=False,
operations=False,
copula_head=True,
speaker_segmentation=False,
memory_mb=False,
multiprocess=False,
split_texts=400,
outname=False,
metadata=False,
coref=True,
*args,
**kwargs
):
"""
Parse an unparsed corpus, saving to disk
:param corenlppath: Folder containing corenlp jar files (use if *corpkit* can't find
it automatically)
:type corenlppath: `str`
:param operations: Which kinds of annotations to do
:type operations: `str`
:param speaker_segmentation: Add speaker name to parser output if your
corpus is script-like
:type speaker_segmentation: `bool`
:param memory_mb: Amount of memory in MB for parser
:type memory_mb: `int`
:param copula_head: Make copula head in dependency parse
:type copula_head: `bool`
:param split_texts: Split texts longer than `n` lines for parser memory
:type split_text: `int`
:param multiprocess: Split parsing across n cores (for high-performance
computers)
:type multiprocess: `int`
:param folderise: If corpus is just files, move each into own folder
:type folderise: `bool`
:param output_format: Save parser output as `xml`, `json`, `conll`
:type output_format: `str`
:param outname: Specify a name for the parsed corpus
:type outname: `str`
:param metadata: Use if you have XML tags at the end of lines contaning metadata
:type metadata: `bool`
:Example:
>>> parsed = corpus.parse(speaker_segmentation=True)
>>> parsed
:returns: The newly created :class:`corpkit.corpus.Corpus`
"""
import os
if outname:
outpath = os.path.join('data', outname)
if os.path.exists(outpath):
raise ValueError('Path exists: %s' % outpath)
from corpkit.make import make_corpus
#from corpkit.process import determine_datatype
#dtype, singlefile = determine_datatype(self.path)
if self.datatype != 'plaintext':
raise ValueError(
'parse method can only be used on plaintext corpora.')
kwargs.pop('parse', None)
kwargs.pop('tokenise', None)
kwargs['output_format'] = kwargs.pop('output_format', 'conll')
corp = make_corpus(unparsed_corpus_path=self.path,
parse=True,
tokenise=False,
corenlppath=corenlppath,
operations=operations,
copula_head=copula_head,
speaker_segmentation=speaker_segmentation,
memory_mb=memory_mb,
multiprocess=multiprocess,
split_texts=split_texts,
outname=outname,
metadata=metadata,
coref=coref,
*args,
**kwargs)
if not corp:
return
if os.path.isfile(corp):
return File(corp)
else:
return Corpus(corp)
def tokenise(self, postag=True, lemmatise=True, *args, **kwargs):
"""
Tokenise a plaintext corpus, saving to disk
:param nltk_data_path: Path to tokeniser if not found automatically
:type nltk_data_path: `str`
:Example:
>>> tok = corpus.tokenise()
>>> tok
:returns: The newly created :class:`corpkit.corpus.Corpus`
"""
from corpkit.make import make_corpus
#from corpkit.process import determine_datatype
#dtype, singlefile = determine_datatype(self.path)
if self.datatype != 'plaintext':
raise ValueError(
'parse method can only be used on plaintext corpora.')
kwargs.pop('parse', None)
kwargs.pop('tokenise', None)
c = make_corpus(self.path,
parse=False,
tokenise=True,
postag=postag,
lemmatise=lemmatise,
*args,
**kwargs)
return Corpus(c)
def concordance(self, *args, **kwargs):
"""
A concordance method for Tregex queries, CoreNLP dependencies,
tokenised data or plaintext.
:Example:
>>> wv = ['want', 'need', 'feel', 'desire']
>>> corpus.concordance({L: wv, F: 'root'})
0 01 1-01.txt.conll But , so I feel like i do that for w
1 01 1-01.txt.conll I felt a little like oh , i
2 01 1-01.txt.conll he 's a difficult man I feel like his work ethic
3 01 1-01.txt.conll So I felt like i recognized li
... ...
Arguments are the same as :func:`~corpkit.corpus.Corpus.interrogate`,
plus a few extra parameters:
:param only_format_match: If `True`, left and right window will just be
words, regardless of what is in `show`
:type only_format_match: `bool`
:param only_unique: Return only unique lines
:type only_unique: `bool`
:param maxconc: Maximum number of concordance lines
:type maxconc: `int`
:returns: A :class:`corpkit.interrogation.Concordance` instance, with
columns showing filename, subcorpus name, speaker name, left
context, match and right context.
"""
kwargs.pop('conc', None)
kwargs.pop('conc', None)
kwargs.pop('corpus', None)
return self.interrogate(conc='only', *args, **kwargs)
def interroplot(self, search, **kwargs):
"""
Interrogate, relativise, then plot, with very little customisability.
A demo function.
:Example:
>>> corpus.interroplot(r'/NN.?/ >># NP')
:param search: Search as per :func:`~corpkit.corpus.Corpus.interrogate`
:type search: `dict`
:param kwargs: Extra arguments to pass to :func:`~corpkit.corpus.Corpus.visualise`
:type kwargs: `keyword arguments`
:returns: `None` (but show a plot)
"""
if isinstance(search, STRINGTYPE):
search = {'t': search}
interro = self.interrogate(search=search, show=kwargs.pop('show', 'w'))
edited = interro.edit('%', 'self', print_info=False)
edited.visualise(self.name, **kwargs).show()
def save(self, savename=False, **kwargs):
"""
Save corpus instance to file. There's not much reason to do this, really.
>>> corpus.save(filename)
:param savename: Name for the file
:type savename: `str`
:returns: `None`
"""
from corpkit.other import save
if not savename:
savename = self.name
save(self, savename, savedir=kwargs.pop('savedir', 'data'), **kwargs)
def make_language_model(self,
name,
search={'w': 'any'},
exclude=False,
show=['w', '+1mw'],
**kwargs):
"""
Make a language model for the corpus
:param name: a name for the model
:type name: `str`
:param kwargs: keyword arguments for the interrogate() method
:type kwargs: `keyword arguments`
:returns: a :class:`corpkit.model.MultiModel`
"""
import os
from corpkit.other import load
from corpkit.model import MultiModel
if not name.endswith('.p'):
namep = name + '.p'
else:
namep = name
# handle symbolic structures
subcorpora = False
if self.symbolic:
subcorpora = self.symbolic
if kwargs.get('subcorpora', False):
subcorpora = kwargs.pop('subcorpora')
kwargs.pop('subcorpora', False)
jst = kwargs.pop('just_metadata') if 'just_metadata' in kwargs else self.just
skp = kwargs.pop('skip_metadata') if 'skip_metadata' in kwargs else self.skip
pth = os.path.join('models', namep)
if os.path.isfile(pth):
print('Returning saved model: %s' % pth)
return load(name, loaddir='models')
# set some defaults if not passed in as kwargs
#langmod = not any(i.startswith('n') for i in search.keys())
res = self.interrogate(search,
exclude,
show,
subcorpora=subcorpora,
just_metadata=jst,
skip_metadata=skp,
**kwargs)
return res.language_model(name, search=search, **kwargs)
def annotate(self, conclines, annotation, dry_run=True):
"""
Annotate a corpus
:param conclines: a Concordance or DataFrame containing matches to annotate
:type annotation: Concordance/DataFrame
:param annotation: a tag or field and value
:type annotation: ``str``/``dict``
:param dry_run: Show the annotations to be made, but don't do them
:type dry_run: ``bool``
:returns: ``None``
"""
from corpkit.interrogation import Interrogation
if isinstance(conclines, Interrogation):
conclines = getattr(conclines, 'concordance', conclines)
from corpkit.annotate import annotator
annotator(conclines, annotation, dry_run=dry_run)
# regenerate metadata afterward---could be a bit slow?
if not dry_run:
self.delete_metadata()
from corpkit.process import make_dotfile
make_dotfile(self)
def unannotate(annotation, dry_run=True):
"""
Delete annotation from a corpus
:param annotation: a tag or field and value
:type annotation: ``str``/``dict``
:returns: ``None``
"""
from corpkit.annotate import annotator
annotator(self, annotation, dry_run=dry_run, deletemode=True)
class Subcorpus(Corpus):
"""
Model a subcorpus, containing files but no subdirectories.
Methods for interrogating, concordancing and configurations are the same as
:class:`corpkit.corpus.Corpus`.
"""
def __init__(self, path, datatype, **kwa):
self.path = path
kwargs = {'print_info': False, 'level': 's', 'datatype': datatype}
kwargs.update(kwa)
self.kwargs = kwargs
Corpus.__init__(self, self.path, **kwargs)
def __str__(self):
return self.path
def __repr__(self):
return "<%s instance: %s>" % (classname(self), self.name)
def __getitem__(self, key):
from corpkit.process import makesafe
if isinstance(key, slice):
# Get the start, stop, and step from the slice
key = list(key.indices(len(self.files)))
return Datalist(list(self.files)[slice(*key)])
#bits = [self[i] for i in range(*key.indices(len(self.files)))]
#return [self[ii] for ii in range(*key.indices(len(self.files)))])
elif isinstance(key, int):
return list(self.files)[key]
else:
try:
return self.files.__getattribute__(key)
except:
from corpkit.process import is_number
if is_number(key):
return self.__getattribute__('c' + key)
class File(Corpus):
"""
Models a corpus file for reading, interrogating, concordancing.
Methods for interrogating, concordancing and configurations are the same as
:class:`corpkit.corpus.Corpus`, plus methods for accessing the file contents
directly as a `str`, or as a Pandas DataFrame.
"""
def __init__(self, path, dirname=False, datatype=False, **kwa):
import os
from os.path import join, isfile, isdir
if dirname:
self.path = join(dirname, path)
else:
self.path = path
kwargs = {'print_info': False, 'level': 'f', 'datatype': datatype}
kwargs.update(kwa)
Corpus.__init__(self, self.path, **kwargs)
if self.path.endswith('.conll') or self.path.endswith('.conllu'):
self.datatype = 'conll'
else:
self.datatype = 'plaintext'
def __repr__(self):
return "<%s instance: %s>" % (classname(self), self.name)
def __str__(self):
return self.path
def read(self, **kwargs):
"""
Read file data. If data is pickled, unpickle first
:returns: `str`/unpickled data
"""
from corpkit.constants import OPENER
with OPENER(self.path, 'r', **kwargs) as fo:
return fo.read()
@lazyprop
def document(self):
"""
Return a version of the file that can be manipulated
* For conll, this is a DataFrame
* For tokens, this is a list of tokens
* For plaintext, this is a string
"""
if self.datatype == 'conll':
from corpkit.conll import parse_conll
return parse_conll(self.path)
else:
from corpkit.process import saferead
return saferead(self.path)[0]
@lazyprop
def trees(self):
"""
Get an OrderedDict of Tree objects in a File
"""
if self.datatype == 'conll':
from nltk import Tree
from collections import OrderedDict
return OrderedDict({k: Tree.fromstring(v['parse']) \
for k, v in sorted(self.document._metadata.items())})
else:
raise AttributeError('Data must be parsed to get trees.')
@lazyprop
def plain(self):
"""
Show the sentences in a File as plaintext
"""
text = []
if self.datatype == 'conll':
doc = self.document
for sent in list(doc.index.levels[0]):
text.append('%d: ' % sent + ' '.join(list(doc.loc[sent]['w'])))
else:
self.read()
return '\n'.join(text)
class Datalist(list):
def __init__(self, data, **kwargs):
self.symbolic = kwargs.get('symbolic', False)
self.just = kwargs.get('just', False)
self.skip = kwargs.get('skip', False)
super(Datalist, self).__init__(data)
def __repr__(self):
return "<%s instance: %d items>" % (classname(self), len(self))
def __getattr__(self, key):
ix = next((i for i, d in enumerate(self) if d.name == key), None)
if ix is not None:
return self[ix]
def __getitem__(self, key):
from corpkit.constants import STRINGTYPE
if isinstance(key, slice):
return Datalist([self[i] for i in range(*key.indices(len(self)))])
elif isinstance(key, list):
if isinstance(key[0], STRINGTYPE):
dats = [i for i in self if i.name in key]
else:
dats = [x for i, x in enumerate(self) if i in key]
return Datalist(dats)
elif isinstance(key, int):
return super(Datalist, self).__getitem__(key)
elif isinstance(key, STRINGTYPE):
ix = next((i for i, x in enumerate(self) if x.name == key), None)
if ix is not None:
return super(Datalist, self).__getitem__(ix)
def __delitem__(self, key):
from corpkit.constants import STRINGTYPE
if isinstance(key, STRINGTYPE):
key = next((i for i, d in enumerate(self) if d.name == key), None)
if key is None:
return
super(Datalist, self).__delitem__(key)
def interrogate(self, *args, **kwargs):
"""
Interrogate the corpus using :func:`~corpkit.corpus.Corpus.interrogate`
"""
kwargs['just'] = self.just
kwargs['skip'] = self.skip
kwargs['subcorpora'] = self.symbolic
from corpkit.interrogator import interrogator
interro = interrogator(self, *args, **kwargs)
from corpkit.interrogation import Interrodict
if isinstance(interro, Interrodict):
interro = interro.multiindex(indexnames=['corpus', 'subcorpus'])
return interro
def concordance(self, *args, **kwargs):
"""
Concordance the corpus using :func:`~corpkit.corpus.Corpus.concordance`
"""
kwargs['just'] = self.just
kwargs['skip'] = self.skip
kwargs['subcorpora'] = self.symbolic
from corpkit.interrogator import interrogator
return interrogator(self, conc='only', *args, **kwargs)
def configurations(self, search, **kwargs):
"""
Get a configuration using :func:`~corpkit.corpus.Corpus.configurations`
"""
kwargs['just'] = self.just
kwargs['skip'] = self.skip
kwargs['subcorpora'] = self.symbolic
from corpkit.configurations import configurations
return configurations(self, search, **kwargs)
class Corpora(Datalist):
"""
Models a collection of Corpus objects. Methods are available for
interrogating and plotting the entire collection. This is the highest level
of abstraction available.
:param data: Corpora to model. A `str` is interpreted as a path containing
corpora. A `list` can be a list of corpus paths or
:class:`corpkit.corpus.Corpus` objects. )
:type data: `str`/`list`
"""
def __init__(self, data=False, **kwargs):
self.name = None
# if no arg, load every corpus in data dir
if not data:
data = 'data'
# handle a folder containing corpora
if isinstance(data, STRINGTYPE):
import os
from os.path import join, isfile, isdir
if not os.path.isdir(data):
if not os.path.isdir(os.path.join('data', data)):
raise ValueError('Corpora(str) needs to point to a directory.')
else:
data = os.path.join('data', data)
self.name = os.path.basename(data)
data = sorted([join(data, d) for d in os.listdir(data)
if isdir(join(data, d)) and not d.startswith('.')])
# otherwise, make a list of Corpus objects
if not self.name:
self.name = ','.join([os.path.basename(str(i)) for i in data])
for index, i in enumerate(data):
if isinstance(i, STRINGTYPE):
data[index] = Corpus(i, **kwargs)
# now turn it into a Datalist
Datalist.__init__(self, data, **kwargs)
def __repr__(self):
return "<%s instance: %d items>" % (classname(self), len(self))
def parse(self, **kwargs):
"""
Parse multiple corpora
:param kwargs: Arguments to pass to the
:func:`~corpkit.corpus.Corpus.parse` method.
:returns: :class:`corpkit.corpus.Corpora`
"""
from corpkit.corpus import Corpora
objs = []
for v in list(self):
objs.append(v.parse(**kwargs))
return Corpora(objs)
### the below not working yet
@lazyprop
def features(self):
"""
Generate features attribute for all corpora
"""
from corpkit.interrogation import Interrodict
feats = []
for corpus in self:
feats.append(corpus.features)
feats = Interrodict(feats)
return feats.multiindex()
@lazyprop
def postags(self):
"""
Generate postags attribute for all corpora
"""
for corpus in self:
corpus.postags
@lazyprop
def wordclasses(self):
"""
Generate wordclasses attribute for all corpora
"""
for corpus in self:
corpus.wordclasses
@lazyprop
def lexicon(self):
"""
Generate lexicon attribute for all corpora
"""
for corpus in self:
corpus.lexicon
================================================
FILE: corpkit/cql.py
================================================
"""
Translating between CQL and corpkit's native
"""
def remake_special(querybit, customs=False, return_list=False, **kwargs):
"""
Expand references to wordlists in queries
"""
import re
from corpkit.dictionaries import roles, wordlists, processes
from corpkit.other import as_regex
def convert(d):
"""convert dict to named tuple"""
from collections import namedtuple
return namedtuple('outputnames', list(d.keys()))(**d)
if customs:
customs = convert(customs)
mapped = {'ROLES': roles,
'WORDLISTS': wordlists,
'PROCESSES': processes,
'LIST': customs,
'CUSTOM': customs}
if not any(x in querybit.upper() for x in mapped.keys()):
return querybit
thereg = r'(?i)(' + '|'.join(mapped.keys()) + r'):([A-Z0-9]+)'
splitup = re.split(thereg, querybit)
fixed = []
skipme = []
for i, bit in enumerate(splitup):
if i in skipme:
continue
if mapped.get(bit.upper()):
att = getattr(mapped[bit.upper()], splitup[i+1].lower())
if hasattr(att, 'words') and att.words:
att = att.words
if return_list:
return att
att = att.as_regex(**kwargs)
fixed.append(att)
skipme.append(i+1)
else:
fixed.append(bit)
return ''.join(fixed)
def parse_quant(quant):
"""
Normalise quanitifers
"""
if quant.startswith('}{'):
quant = quant.strip('}{ ')
if ',' in quant:
return quant.replace(',', ':')
else:
return quant
return quant
def process_piece(piece, op='=', quant=False, **kwargs):
"""
Make a single search obj and value
"""
from corpkit.process import make_name_to_query_dict
if op not in piece:
return False, False
translator = make_name_to_query_dict()
target, criteria = piece.split(op, 1)
criteria = criteria.strip('"')
criteria = remake_special(criteria, **kwargs)
if '-' in target:
obj, show = target.split('-', 1)
show = show.lower()
if show == 'deprel':
show = 'Function'
elif show == 'pos':
show = 'POS'
form = '{} {}'.format(obj.title(), show.lower())
else:
form = target.title()
if form == 'Deprel':
form = 'Function'
elif form == 'Pos':
form = 'POS'
return translator.get(form), criteria
def tokenise_cql(query):
"""
Take a cql query and return a list of tuples
which is token, quantifer
"""
quantstarts = ['+', '{', ',', '}', '?', '*']
tokens = ''
count = 0
for i, t in enumerate(query):
if t == '[':
count += 1
if t == ']':
count -= 1
if count != 0:
tokens += t
else:
if count == 0 and t == ']':
try:
if not query[i+1].isspace():
tokens += t
tokens += '\n'
else:
tokens += t
except IndexError:
pass
# separate on space between tokens
elif t.isspace():
tokens += '\n'
# if part of quantifier
if t in quantstarts or t.isdigit():
tokens += t
tokens = tokens.split('\n')
skips = []
out = []
for i, t in enumerate(tokens):
if i in skips:
continue
# get next token
try:
nextt = tokens[i+1]
except IndexError:
# if it's the last token, if not quantifier, add it
if not t:
continue
if t[0] not in quantstarts:
out.append([t, False])
continue
if any(nextt.startswith(x) for x in quantstarts):
out.append([t, nextt])
skips.append(i+1)
else:
out.append([t, False])
return out
def to_corpkit(cstring, **kwargs):
"""
Turn CQL into corpkit (two dict) format
"""
sdict = {}
edict = {}
cstring = tokenise_cql(cstring)
for i, (c, q) in enumerate(cstring):
if q:
i = parse_quant(q)
c = c.strip('[] ')
clist = c.split(' & ')
for piece in clist:
targ, crit = process_piece(piece, op='!=', quant=q, **kwargs)
if targ is False and crit is False:
targ, crit = process_piece(piece, op='=', quant=q, **kwargs)
# assume it's just a word without operator
if targ is False and crit is False:
if i > 0 or isinstance(i, str):
b = '+{}w'.format(i)
sdict[b] = piece.strip('"')
else:
sdict['w'] = piece.strip('"')
else:
if i > 0 or isinstance(i, str):
targ = '+%s%s' % (str(i), targ)
sdict[targ] = crit
else:
if i > 0 or isinstance(i, str):
targ = '+{}{}'.format(i, targ)
edict[targ] = crit
return sdict, edict
def to_cql(dquery, exclude=False, **kwargs):
"""
Turn dictionary query into cql format
"""
qlist = []
from corpkit.constants import transobjs, transshow
if exclude:
operator = '!='
else:
operator = '='
for k, v in dquery.items():
obj, show = transobjs.get(k[0]), transshow.get(k[1])
if obj == 'Match':
form_bit = '{}{}'.format(show.lower(), operator)
else:
form_bit = '{}-{}{}'.format(obj.lower(), show.lower(), operator)
v = getattr(v, 'pattern', v)
if isinstance(v, list):
v = as_regex(v, **kwargs)
form_bit += '"{}"'.format(v)
qlist.append(form_bit)
return '[' + ' & '.join(qlist) + ']'
================================================
FILE: corpkit/dictionaries/__init__.py
================================================
__all__ = ["wordlists", "roles", "bnc", "processes", "verbs",
"uktous", "tagtoclass", "queries", "mergetags"]
from corpkit.dictionaries.bnc import _get_bnc
from corpkit.dictionaries.process_types import processes
from corpkit.dictionaries.process_types import verbs
from corpkit.dictionaries.roles import roles
from corpkit.dictionaries.wordlists import wordlists
from corpkit.dictionaries.queries import queries
from corpkit.dictionaries.word_transforms import taglemma
from corpkit.dictionaries.word_transforms import mergetags
from corpkit.dictionaries.word_transforms import usa_convert
roles = roles
wordlists = wordlists
processes = processes
bnc = _get_bnc
queries = queries
tagtoclass = taglemma
uktous = usa_convert
mergetags = mergetags
verbs = verbs
================================================
FILE: corpkit/dictionaries/bnc.p
================================================
ccopy_reg
_reconstructor
p0
(ccollections
Counter
p1
c__builtin__
dict
p2
(dp3
Vsecondly
p4
I29
sVwritings
p5
I11
sVpardon
p6
I17
sVfig.
p7
I59
sVfig*
p8
I16
sVyellow
p9
I41
sVnato
p10
I15
sVfour
p11
I461
sVnottingham
p12
I21
sVprotest
p13
I28
sVwoods
p14
I15
sVasian
p15
I19
sVhanging
p16
I23
sVconsists
p17
I26
sVcaptain
p18
I54
sVaggression
p19
I13
sVlooking
p20
I264
sVcalculate
p21
I10
sVeligible
p22
I13
sVelectricity
p23
I38
sVdisability
p24
I15
sVpensions
p25
I19
sVpresents
p26
I16
sVtrousers
p27
I23
sVlord
p28
I20
sVsorry
p29
I114
sVpact
p30
I11
sVrescue
p31
I17
sVco-operation
p32
I35
sVdynamic
p33
I16
sVregional
p34
I78
sVrailways
p35
I19
sVreforms
p36
I28
sVaffect
p37
I48
sVbringing
p38
I49
sVvast
p39
I47
sVlook
p40
I110
sVno-one*
p41
I21
sVprize
p42
I31
sVwooden
p43
I35
sVcompanies
p44
I178
sVwednesday
p45
I44
sV000
p46
I15
sVherbert
p47
I12
sVcoventry
p48
I12
sVsuccession
p49
I19
sVenhance
p50
I14
sVcommented
p51
I20
sVclothes
p52
I73
sVfavoured
p53
I13
sVher*
p54
I1085
sVcharter
p55
I22
sVexpanded
p56
I14
sVforce
p57
I22
sVspecially
p58
I20
sVtired
p59
I40
sVmiller
p60
I20
sVjapanese
p61
I11
sVpulse
p62
I11
sVme*
p63
I23
sVelegant
p64
I18
sVsecond
p65
I56
sVe.
p66
I18
sVimplemented
p67
I17
sVcolourful
p68
I11
sVeven
p69
I15
sVerrors
p70
I21
sVpace
p71
I31
sVhate
p72
I27
sVcooking
p73
I11
sVcontributed
p74
I23
sVfingers
p75
I58
sVasia
p76
I30
sVspokesman
p77
I40
sVlights
p78
I46
sVdr.
p79
I12
sVnew
p80
I1145
sVtips
p81
I11
sVincreasing
p82
I26
sVever
p83
I259
sVspecialist
p84
I37
sVdeemed
p85
I14
sVhero
p86
I23
sVreporter
p87
I12
sVseventh
p88
I15
sVmen
p89
I389
sVhere
p90
I699
sVatoms
p91
I11
sVreported
p92
I114
sVchina
p93
I46
sVpossibility
p94
I71
sVhers
p95
I25
sV100
p96
I69
sVinterpret
p97
I13
sVdry
p98
I12
sVkids
p99
I44
sVtapes
p100
I14
sVmitchell
p101
I10
sVelaborate
p102
I13
sVclimbed
p103
I24
sVin~*
p104
I20
sVreports
p105
I35
sVcontroversy
p106
I19
sVcredit
p107
I71
sVpermit
p108
I14
sVmilitary
p109
I108
sVsuitable
p110
I61
sVdecision-making
p111
I14
sVcriticism
p112
I48
sVgolden
p113
I39
sVfantastic
p114
I12
sVdivide
p115
I12
sVclassification
p116
I17
sVmobility
p117
I15
sVexplained
p118
I71
sVreagan
p119
I11
sVreplace
p120
I34
sVbrought
p121
I204
sVunix
p122
I42
sVninety
p123
I42
sVmoral
p124
I52
sVguests
p125
I34
sVcounts
p126
I12
sVunit
p127
I109
sVopponents
p128
I16
sVdna
p129
I33
sVspoke
p130
I70
sVarmy
p131
I114
sVremainder
p132
I17
sV42
p133
I14
sVarms
p134
I110
sVinevitable
p135
I28
sVedward
p136
I69
sVmusic
p137
I150
sVtherefore
p138
I232
sVrecommend
p139
I18
sVstrike
p140
I18
sVsurvive
p141
I35
sVtype
p142
I170
sVuntil
p143
I167
sVfemales
p144
I20
sVsupporters
p145
I37
sVholy
p146
I30
sVrelax
p147
I18
sVsuccessful
p148
I108
sVbrings
p149
I32
sVwars
p150
I19
sVhurt
p151
I38
sVwarn
p152
I11
sVglass
p153
I95
sVberlin
p154
I27
sVwarm
p155
I64
sVadult
p156
I45
sVteaching
p157
I33
sV90
p158
I23
sVhole
p159
I46
sVhold
p160
I30
sVcircumstances
p161
I104
sVvat/vat
p162
I24
sVlocked
p163
I26
sVroom
p164
I309
sVrights
p165
I130
sVpursue
p166
I20
sVblade
p167
I11
sVroof
p168
I41
sVmovies
p169
I10
sVtemperatures
p170
I14
sVconcepts
p171
I27
sVexceptions
p172
I15
sVrevenues
p173
I12
sVroot
p174
I20
sVexample
p175
I125
sVtransition
p176
I23
sVgive
p177
I451
sVhousehold
p178
I39
sVorganized
p179
I20
sVdevelopments
p180
I51
sVhoney
p181
I11
sVcurrency
p182
I35
sVfoods
p183
I21
sVcaution
p184
I13
sVwant
p185
I572
sVabsolute
p186
I35
sVprovincial
p187
I16
sVautonomy
p188
I18
sVtravel
p189
I36
sVdamage
p190
I13
sVmachine
p191
I84
sVhow
p192
I1016
sVhot
p193
I91
sVsignificance
p194
I47
sVanswer
p195
I52
sVgordon
p196
I26
sVminority
p197
I34
sVbeauty
p198
I42
sVreplacing
p199
I15
sVinvitation
p200
I19
sVloyalty
p201
I17
sVdiagram
p202
I13
sVwrong
p203
I149
sVcoup
p204
I17
sVcuriosity
p205
I12
sVpresident
p206
I164
sVtypes
p207
I89
sVpurchase
p208
I14
sVattempt
p209
I26
sVeffective
p210
I99
sVgrant
p211
I13
sVheadquarters
p212
I28
sVcapitalism
p213
I19
sVcigarettes
p214
I13
sV18th
p215
I10
sVfrequent
p216
I24
sVgoodbye
p217
I10
sVkeeps
p218
I26
sVdemocratic
p219
I59
sVwing
p220
I28
sVwind
p221
I71
sVwine
p222
I63
sVoperations
p223
I60
sVrestriction
p224
I12
sVbelong
p225
I21
sVfeedback
p226
I13
sVdeck
p227
I14
sVwelcomed
p228
I23
sVvary
p229
I30
sVmurray
p230
I12
sVjournals
p231
I10
sVbefore
p232
I143
sVposition
p233
I228
sVfit
p234
I30
sVpersonal
p235
I176
sVscreaming
p236
I12
sVfix
p237
I12
sVstriking
p238
I17
sVauditors
p239
I12
sVcrew
p240
I30
sVbetter
p241
I143
sVdifferently
p242
I15
sVwales
p243
I93
sVhidden
p244
I13
sVeasier
p245
I12
sVovercome
p246
I26
sVdec.
p247
I28
sVcombination
p248
I44
sVweakness
p249
I17
sVunemployed
p250
I28
sVgrand
p251
I46
sVschool
p252
I375
sVmodification
p253
I10
sVtherapy
p254
I19
sVeffects
p255
I108
sVschools
p256
I154
sVsixteen
p257
I27
sVsilver
p258
I39
sVstructural
p259
I27
sVrepresents
p260
I33
sVgrammar
p261
I24
sVmeat
p262
I36
sVdebut
p263
I16
sVarrested
p264
I35
sVlucy
p265
I27
sVcrops
p266
I16
sVleaned
p267
I23
sVarrow
p268
I10
sVwent
p269
I483
sVmeal
p270
I43
sVbone
p271
I24
sVluck
p272
I32
sVfinancial
p273
I165
sVseries
p274
I144
sVallan
p275
I10
sVcommons
p276
I33
sVvote
p277
I23
sVtaught
p278
I38
sVtrading
p279
I12
sVfortnight
p280
I14
sVforgot
p281
I16
sVsubstantially
p282
I17
sVcathedral
p283
I24
sVdawn
p284
I15
sVcollector
p285
I11
sVring
p286
I29
sVborne
p287
I11
sVmerchants
p288
I10
sVdrove
p289
I37
sVrestricted
p290
I21
sVtales
p291
I13
sVcrucial
p292
I45
sVtomorrow
p293
I93
sVparticles
p294
I17
sVencourage
p295
I51
sVadapt
p296
I10
sVreader
p297
I41
sVsurprise
p298
I48
sVaccessible
p299
I16
sVengineer
p300
I22
sVfoundation
p301
I37
sVturning
p302
I58
sVlinear
p303
I13
sVassured
p304
I18
sVthreatened
p305
I37
sVgiven
p306
I31
sVmanagerial
p307
I13
sVnecessarily
p308
I57
sVstruggle
p309
I37
sVelsewhere
p310
I57
sVchecked
p311
I25
sVestimate
p312
I17
sVknit
p313
I11
sVswimming
p314
I18
sVenormous
p315
I42
sVate
p316
I18
sVshelves
p317
I12
sVstarts
p318
I39
sVmessages
p319
I20
sVheading
p320
I10
sVmusicians
p321
I12
sV1970s
p322
I34
sVkingdom
p323
I22
sVarrived
p324
I88
sVr.
p325
I19
sVloud
p326
I16
sVstewart
p327
I21
sVnigel
p328
I34
sVfeatures
p329
I81
sVgrade
p330
I19
sVchannels
p331
I18
sVwash
p332
I17
sVfeatured
p333
I13
sVfloors
p334
I12
sVclarity
p335
I11
sVfeb.
p336
I27
sVbrussels
p337
I15
sVservice
p338
I300
sVsimilarly
p339
I45
sVengagement
p340
I12
sVhistorian
p341
I14
sVtwisted
p342
I11
sVneeded
p343
I165
sVmaster
p344
I62
sVlisted
p345
I25
sVgilbert
p346
I11
sVlegs
p347
I65
sVbitter
p348
I24
sVranging
p349
I15
sVlisten
p350
I57
sVrewards
p351
I11
sVcollapse
p352
I21
sVgeneva
p353
I10
sVvillages
p354
I28
sVfrowned
p355
I13
sVwisdom
p356
I15
sVsomewhat
p357
I46
sVhelen
p358
I27
sVyours
p359
I42
sVpeculiar
p360
I14
sVpositively
p361
I13
sVbegins
p362
I33
sVdistance
p363
I66
sVanxiety
p364
I27
sVshowed
p365
I107
sVbits
p366
I34
sVdatabase
p367
I34
sVtree
p368
I64
sVlikely
p369
I227
sVnations
p370
I41
sVpreparation
p371
I33
sVmatter
p372
I38
sVpersuade
p373
I24
sVsilly
p374
I28
sVwilliams
p375
I33
sVfeeling
p376
I58
sVacquisition
p377
I26
sVsees
p378
I35
sVwillingness
p379
I12
sVmodern
p380
I131
sVmind
p381
I72
sVspectrum
p382
I16
sVseed
p383
I16
sVseen
p384
I376
sVseem
p385
I170
sVobviously
p386
I110
sVseek
p387
I54
sVtells
p388
I37
sValive
p389
I43
sVdozen
p390
I27
sVaffairs
p391
I73
sVabroad
p392
I39
sVperson
p393
I250
sVclimate
p394
I28
sVresponsible
p395
I94
sVrecommended
p396
I32
sVcausing
p397
I33
sVabsorbed
p398
I15
sVmachines
p399
I48
sVdoors
p400
I48
sVltd.
p401
I13
sVlion
p402
I12
sVshall
p403
I202
sVtoxic
p404
I12
sVobject
p405
I10
sVvictoria
p406
I26
sVkelly
p407
I21
sVregular
p408
I75
sVmouth
p409
I93
sVcornwall
p410
I13
sVletter
p411
I136
sVorganization
p412
I63
sVmarie
p413
I18
sVmorality
p414
I12
sVbradford
p415
I12
sVsinger
p416
I13
sVepisode
p417
I13
sVobservation
p418
I29
sVprofessor
p419
I52
sVcamp
p420
I31
sVm
p421
I13
sVdog
p422
I80
sVcompetitors
p423
I16
sVdefinitely
p424
I32
sVprinciple
p425
I82
sVnineteenth
p426
I33
sVlancashire
p427
I17
sVcame
p428
I472
sVsaying
p429
I180
sVbeaten
p430
I19
sVbomb
p431
I27
sVhunger
p432
I11
sVinsects
p433
I14
sVorchestra
p434
I15
sVmeetings
p435
I54
sVretire
p436
I11
sVzealand nop-
p437
I26
sVdevised
p438
I13
sVending
p439
I14
sVattempts
p440
I47
sVabilities
p441
I13
sVliberty
p442
I14
sVparticipate
p443
I17
sVhungary
p444
I15
sVtempted
p445
I12
sVlessons
p446
I23
sVjudges
p447
I25
sVbusy
p448
I50
sVlayout
p449
I12
sVlouise
p450
I15
sVmenu
p451
I16
sVweekends
p452
I10
sVdebts
p453
I19
sVsugar
p454
I36
sVtheme
p455
I39
sVtouched
p456
I30
sVrich
p457
I67
sVrice
p458
I16
sVwearing
p459
I50
sVplate
p460
I41
sVexports
p461
I19
sVabove
p462
I27
sVprofessionals
p463
I23
sVstop
p464
I20
sVpsychiatric
p465
I11
sVcoast
p466
I46
sVpocket
p467
I35
sVchristopher
p468
I23
sVspirit
p469
I65
sValtogether
p470
I32
sVreviewed
p471
I15
sVnet
p472
I25
sVcomply
p473
I14
sVsocieties
p474
I44
sVearl
p475
I23
sVearn
p476
I20
sVbar
p477
I77
sVfields
p478
I58
sVpatch
p479
I16
sVbag
p480
I53
sVbad
p481
I153
sVsoftly
p482
I25
sVarchitecture
p483
I28
sVrival
p484
I14
sVrelease
p485
I18
sVfertility
p486
I12
sVears
p487
I30
sVrespond
p488
I35
sVethical
p489
I11
sVblew
p490
I13
sVdisaster
p491
I28
sVfair
p492
I84
sVsensitivity
p493
I16
sVtesting
p494
I14
sVzones
p495
I12
sVdecided
p496
I151
sVresult
p497
I34
sVfail
p498
I33
sVresigned
p499
I20
sVbest
p500
I81
sVjuliet
p501
I12
sVpete
p502
I13
sV01
p503
I11
sVambitions
p504
I10
sVlots
p505
I45
sVrings
p506
I12
sVartificial
p507
I20
sVcontinent
p508
I16
sVpressures
p509
I27
sVscore
p510
I14
sVconceptual
p511
I10
sVira
p512
I18
sVoccupational
p513
I17
sVglasgow
p514
I42
sVpreserve
p515
I15
sVwage
p516
I31
sVnever
p517
I559
sVextend
p518
I31
sVnature
p519
I181
sVrolled
p520
I20
sVignorance
p521
I11
sVdrew
p522
I46
sVextent
p523
I100
sVcarbon
p524
I25
sVpicking
p525
I21
sV10%
p526
I13
sVpity
p527
I17
sVaccident
p528
I64
sVmet
p529
I138
sVcountry
p530
I319
sVconclusions
p531
I24
sVheating
p532
I20
sVdemanded
p533
I37
sVlot*
p534
I246
sVestates
p535
I20
sVplanned
p536
I14
sVlogic
p537
I23
sVdistinction
p538
I41
sVcontribution
p539
I54
sVargue
p540
I43
sVadapted
p541
I14
sVasked
p542
I334
sVpresumably
p543
I33
sVappeared
p544
I107
sVheight
p545
I38
sVactive
p546
I73
sVinitiative
p547
I36
sVpregnancy
p548
I16
sVloaded
p549
I11
sV250
p550
I12
sVorganisational
p551
I10
sVproceeded
p552
I11
sVangel
p553
I14
sVasks
p554
I20
sVeager
p555
I14
sVunion
p556
I166
sVremained
p557
I91
sVcriticised
p558
I13
sVtiny
p559
I55
sVhamilton
p560
I15
sVcommission
p561
I102
sVmuch
p562
I390
sVinterest
p563
I272
sVbasic
p564
I109
sVprivilege
p565
I16
sVparents
p566
I163
sVbasin
p567
I12
sVlovely
p568
I63
sVpreston
p569
I13
sVthrew
p570
I31
sVlife
p571
I566
sVdeeper
p572
I12
sVeastern
p573
I59
sVquantities
p574
I19
sVsunshine
p575
I13
sVworker
p576
I36
sVlocations
p577
I15
sVdave
p578
I27
sVsubstance
p579
I22
sVchild
p580
I244
sVworked
p581
I127
sVsad
p582
I34
sVcarriage
p583
I20
sVcommerce
p584
I16
sVexception
p585
I29
sVtank
p586
I33
sVpresidency
p587
I12
sVadministrative
p588
I35
sVorganisers
p589
I11
sVeconomies
p590
I19
sVremaining
p591
I12
sVemploy
p592
I17
sVcalcium
p593
I13
sVnear
p594
I16
sVneat
p595
I17
sVcats
p596
I16
sVbalance
p597
I81
sVstudy
p598
I30
sVremembering
p599
I15
sVseven
p600
I173
sVeconomics
p601
I29
sVmetropolitan
p602
I17
sVplayed
p603
I112
sVrepairs
p604
I11
sVis
p605
I9982
sVit
p606
I14
sVdefeated
p607
I15
sViv
p608
I28
sVii
p609
I88
sVplayer
p610
I57
sVeighteen
p611
I30
sVlate
p612
I41
sVin
p613
I13
sVmarch
p614
I11
sVignoring
p615
I12
sVmouse
p616
I18
sVdisappear
p617
I14
sVif
p618
I2369
sVgrown
p619
I43
sVdamaged
p620
I20
sVbottles
p621
I18
sVthings
p622
I424
sVmake
p623
I791
sVdemands
p624
I51
sVpotentially
p625
I24
sVdamages
p626
I22
sVbabies
p627
I25
sVgrows
p628
I13
sVeuropean
p629
I195
sVfairly
p630
I67
sVsmoke
p631
I12
sVgovernors
p632
I17
sVqualifications
p633
I23
sVworkforce
p634
I15
sVkit
p635
I18
sVdelight
p636
I18
sVrenaissance
p637
I11
sVownership
p638
I31
sVsupper
p639
I15
sVopportunity
p640
I103
sVtune
p641
I14
sVkid
p642
I16
sVbutter
p643
I21
sVprograms
p644
I18
sVsettled
p645
I39
sVvice-president
p646
I11
sVhon.
p647
I105
sVechoed
p648
I10
sVacademic
p649
I47
sVmaterials
p650
I68
sVqualities
p651
I25
sVconflict
p652
I56
sVclaims
p653
I37
sVcorporate
p654
I46
sVinvestments
p655
I15
sVleft
p656
I34
sVopinions
p657
I18
sVprotocol
p658
I10
sVconsciousness
p659
I26
sVreckoned
p660
I10
sVsporting
p661
I11
sVunfair
p662
I19
sVassigned
p663
I12
sVbirmingham
p664
I34
sVhuman
p665
I13
sVfacts
p666
I53
sVyep
p667
I13
sVyes
p668
I606
sVyet
p669
I337
sVprevious
p670
I123
sVbuyers
p671
I17
sVbelfast
p672
I36
sVcampaign
p673
I91
sVcandidate
p674
I40
sVphillips
p675
I12
sVease
p676
I11
sVhad
p677
I4452
sVemphasis
p678
I55
sVmagistrates
p679
I21
sVmacdonald
p680
I10
sVsquad
p681
I25
sVcollections
p682
I18
sVinnocent
p683
I21
sVprison
p684
I64
sVeast
p685
I128
sVhat
p686
I31
sVsurvival
p687
I31
sVposed
p688
I13
sVpossible
p689
I342
sVpossibly
p690
I73
sVbirth
p691
I52
sVwanting
p692
I24
sVshadow
p693
I30
sVunique
p694
I43
sVdreams
p695
I25
sVoccurring
p696
I13
sVdesire
p697
I51
sVpsychological
p698
I28
sVvisible
p699
I29
sVperforming
p700
I13
sVmanual
p701
I12
sValice
p702
I25
sVremind
p703
I17
sVpavement
p704
I14
sVsteps
p705
I67
sVbeneficial
p706
I14
sVright
p707
I169
sVold
p708
I544
sVcrowd
p709
I43
sVpeople
p710
I1241
sVcrown
p711
I51
sVsomehow
p712
I45
sVelderly
p713
I50
sVconsultants
p714
I16
sVdear
p715
I16
sValtered
p716
I16
sVenemies
p717
I15
sVchorus
p718
I10
sVsociology
p719
I20
sVtrace
p720
I11
sVfor
p721
I13
sVbottom
p722
I18
sVopposite
p723
I12
sVfox
p724
I14
sVcreative
p725
I25
sVarguing
p726
I18
sVcontinue
p727
I118
sVlandscape
p728
I33
sVknew
p729
I261
sVmeanings
p730
I15
sVbold
p731
I12
sVburn
p732
I12
sVpopular
p733
I106
sVconfrontation
p734
I10
sVdefensive
p735
I13
sVlosing
p736
I35
sVmanufacturing
p737
I42
sVsuper
p738
I16
sVfruit
p739
I41
sVdollars
p740
I17
sVcitizens
p741
I33
sVmagazine
p742
I47
sVdespair
p743
I13
sVafternoon
p744
I84
sVcommit
p745
I14
sVlacked
p746
I12
sVslightly
p747
I89
sVautomatically
p748
I28
sVfunctions
p749
I51
sVnerve
p750
I13
sVraised
p751
I95
sVm.
p752
I26
sVstatements
p753
I41
sVformerly
p754
I20
sVfacility
p755
I22
sVmaxwell
p756
I13
sVmarshall
p757
I15
sVintellectual
p758
I25
sVson
p759
I131
sVdown
p760
I98
sVrespectable
p761
I12
sVbeings
p762
I18
sVmagazines
p763
I17
sVraises
p764
I14
sVdoctrine
p765
I17
sVcardiff
p766
I18
sV1990s
p767
I10
sVreducing
p768
I29
sVdefendants
p769
I16
sVmethods
p770
I89
sVcommunists
p771
I12
sVamerica
p772
I103
sVfabric
p773
I21
sVsupport
p774
I97
sVsolicitors
p775
I26
sVwidth
p776
I12
sVjoseph
p777
I30
sVeditor
p778
I39
sVfraction
p779
I15
sVspring
p780
I55
sVjane
p781
I42
sVcall
p782
I60
sVhappy
p783
I117
sVflying
p784
I19
sVoffering
p785
I42
sVoffer
p786
I60
sVforming
p787
I18
sVlancaster
p788
I12
sVanalyse
p789
I13
sVlanding
p790
I18
sVford
p791
I22
sVtiming
p792
I17
sVfailure
p793
I78
sVyo
p794
I11
sVapproval
p795
I39
sVpowder
p796
I13
sVnov.
p797
I29
sVprotestant
p798
I11
sVurgent
p799
I22
sVinside
p800
I12
sVattached
p801
I36
sVlips
p802
I50
sVdevices
p803
I22
sVtell
p804
I307
sVjan.
p805
I31
sVgould
p806
I12
sVjan*
p807
I14
sVpanels
p808
I12
sVpropaganda
p809
I12
sVpassenger
p810
I20
sVadopt
p811
I25
sVproved
p812
I69
sVclassic
p813
I26
sVsteady
p814
I25
sVtournament
p815
I16
sVcovers
p816
I19
sVdrive
p817
I44
sVpredominantly
p818
I12
sVexist
p819
I54
sVaccounting
p820
I12
sVship
p821
I43
sVdealer
p822
I18
sVnegotiations
p823
I37
sVmerseyside
p824
I11
sVprotested
p825
I12
sVeventual
p826
I10
sVfloor
p827
I115
sVpopulations
p828
I15
sVgenerally
p829
I116
sVactor
p830
I20
sVflood
p831
I12
sVrole
p832
I182
sVambitious
p833
I15
sVdigital
p834
I20
sVdevelopers
p835
I12
sVsmell
p836
I12
sVroll
p837
I15
sV's
p838
I3490
sVmodels
p839
I53
sVdies
p840
I10
sVfelt
p841
I278
sVdiet
p842
I41
sVfell
p843
I101
sVinvested
p844
I13
sVand/or
p845
I19
sVprofessional
p846
I105
sVvariable
p847
I13
sV'm
p848
I658
sVweekend
p849
I63
sVdied
p850
I140
sVbillion
p851
I48
sVhappening
p852
I40
sVassume
p853
I41
sVdaily
p854
I14
sVjacket
p855
I30
sVmummy
p856
I26
sVtime
p857
I1542
sVpush
p858
I30
sVprofits
p859
I58
sVshop
p860
I102
sVmanaged
p861
I75
sVchain
p862
I37
sVwhoever
p863
I15
sVeldest
p864
I10
sVai~*
p865
I36
sVlaura
p866
I25
sVmild
p867
I16
sVmile
p868
I32
sVskin
p869
I69
sVchair
p870
I77
sVinvolved
p871
I96
sV93
p872
I13
sVballet
p873
I12
sVsuicide
p874
I18
sVdepend
p875
I35
sVtechnique
p876
I46
sVfather
p877
I239
sV0
p878
I26
sVfinally
p879
I130
sVunpleasant
p880
I13
sVmarks
p881
I28
sVsovereignty
p882
I12
sVretreat
p883
I10
sVshoot
p884
I15
sVstring
p885
I27
sVcheap
p886
I39
sVtends
p887
I24
sVintake
p888
I12
sVchoice
p889
I120
sVadvised
p890
I25
sVword
p891
I193
sVexact
p892
I22
sVfragments
p893
I14
sVminute
p894
I82
sVwore
p895
I30
sVdid
p896
I1434
sVdie
p897
I53
sVproposals
p898
I68
sVleave
p899
I22
sVsolved
p900
I12
sVsettle
p901
I25
sVminimal
p902
I14
sVteam
p903
I186
sVspeculation
p904
I17
sVround
p905
I28
sVunaware
p906
I12
sVshoe
p907
I11
sVprevent
p908
I68
sVspiritual
p909
I23
sVtalked
p910
I44
sVoccurrence
p911
I11
sVfindings
p912
I33
sVsigh
p913
I11
sVsign
p914
I25
sVuk
p915
I173
sVrun
p916
I47
sVtargets
p917
I26
sVadds
p918
I22
sVtroops
p919
I48
sVhewlett-packard
p920
I10
sVcelebrated
p921
I10
sVfavour
p922
I24
sVcurrent
p923
I133
sVremembered
p924
I54
sVsuspect
p925
I20
sVinternational
p926
I221
sVfalling
p927
I44
sVground
p928
I154
sVboost
p929
I10
sVfilled
p930
I52
sVera
p931
I21
sVprocessing
p932
I30
sVjury
p933
I23
sVbloke
p934
I13
sVhonour
p935
I22
sVfuneral
p936
I21
sVhenry
p937
I74
sVfrench
p938
I35
sVunderstanding
p939
I19
sVyards
p940
I37
sVaddress
p941
I20
sValone
p942
I54
sValong
p943
I51
sVwait
p944
I84
sVbox
p945
I88
sVpassengers
p946
I26
sVcanadian
p947
I14
sVbrilliant
p948
I35
sVshift
p949
I15
sVstudied
p950
I39
sVwherever
p951
I23
sVcommonly
p952
I26
sVbow
p953
I10
sVexploitation
p954
I13
sVsuggestion
p955
I31
sV~na*
p956
I150
sVbob
p957
I40
sVstudies
p958
I136
sVgenuinely
p959
I14
sVteenage
p960
I11
sVtasks
p961
I37
sVlove
p962
I86
sVmerely
p963
I76
sVprefer
p964
I37
sVlogical
p965
I23
sVbloody
p966
I20
sVreferee
p967
I11
sVflexibility
p968
I20
sVcarol
p969
I10
sVhotels
p970
I24
sVsympathetic
p971
I15
sVwealth
p972
I38
sVworking
p973
I38
sVsake
p974
I32
sVpositive
p975
I83
sVangry
p976
I42
sVvisit
p977
I50
sVtightly
p978
I17
sVfrance
p979
I123
sVexplicitly
p980
I13
sVopposed
p981
I19
sVwondering
p982
I25
sVfilms
p983
I35
sVscope
p984
I34
sVtheoretical
p985
I30
sVwicked
p986
I11
sVintroducing
p987
I18
sVsharing
p988
I21
sVafford
p989
I45
sVacceptable
p990
I36
sVapparent
p991
I53
sVooh
p992
I46
sVvalidity
p993
I14
sVvisual
p994
I34
sVappendix
p995
I18
sVeverywhere
p996
I32
sVvirtue
p997
I19
sVeffort
p998
I78
sVbehalf
p999
I13
sVfly
p1000
I29
sVinvolve
p1001
I42
sVvalued
p1002
I13
sV10,000
p1003
I12
sVavoiding
p1004
I14
sVoriginally
p1005
I45
sVpretend
p1006
I12
sVabortion
p1007
I12
sVsoul
p1008
I30
sVbelieves
p1009
I40
sVreviews
p1010
I10
sVsoup
p1011
I14
sVprinting
p1012
I13
sVvalues
p1013
I75
sVroyal
p1014
I147
sVfollowing
p1015
I12
sVmaking
p1016
I14
sVarrive
p1017
I29
sVadmired
p1018
I11
sVcrazy
p1019
I18
sVkenneth
p1020
I16
sVpredict
p1021
I14
sVconfused
p1022
I19
sVagent
p1023
I43
sVsample
p1024
I44
sVcouncil
p1025
I313
sVallowed
p1026
I143
sVdennis
p1027
I15
sVevidently
p1028
I15
sVpink
p1029
I30
sVmonitoring
p1030
I11
sVwinter
p1031
I71
sVdivided
p1032
I40
sVpine
p1033
I10
sVchemical
p1034
I11
sVtill
p1035
I24
sVsunday
p1036
I93
sVs.
p1037
I19
sVpure
p1038
I34
sVpint
p1039
I12
sVedinburgh
p1040
I60
sVstaying
p1041
I28
sVdesigner
p1042
I19
sVcoming
p1043
I11
sVcritics
p1044
I27
sVmax
p1045
I13
sVspot
p1046
I41
sVapplications
p1047
I63
sVmembership
p1048
I53
sVexplored
p1049
I12
sVmad
p1050
I31
sVdate
p1051
I158
sVsuch
p1052
I321
sVrevealed
p1053
I53
sVgrow
p1054
I55
sVman
p1055
I614
sVstress
p1056
I10
sVnatural
p1057
I142
sVvarieties
p1058
I15
sVsectors
p1059
I23
sVconscious
p1060
I31
sVmaybe
p1061
I105
sVapplicant
p1062
I12
sVborrowing
p1063
I10
sVst
p1064
I13
sVtale
p1065
I21
sVenquiry
p1066
I18
sVswitch
p1067
I16
sVso
p1068
I17
sVdeposit
p1069
I17
sVafrican
p1070
I43
sVbasket
p1071
I13
sVdefinitions
p1072
I13
sVpulled
p1073
I70
sVgesture
p1074
I20
sVshield
p1075
I10
sVseeing
p1076
I61
sVgradual
p1077
I11
sVpointed
p1078
I58
sVwishing
p1079
I15
sVunacceptable
p1080
I12
sVyears
p1081
I902
sVstability
p1082
I21
sVcourse
p1083
I187
sVexperiments
p1084
I29
sVterrace
p1085
I18
sVpitch
p1086
I27
sVargued
p1087
I65
sVtendency
p1088
I29
sVconstituted
p1089
I10
sVlimbs
p1090
I11
sVpolice
p1091
I278
sVthumb
p1092
I11
sVinteresting
p1093
I96
sVjim
p1094
I43
sVamazing
p1095
I19
sVcouncillor
p1096
I25
sVyorkshire
p1097
I44
sVattraction
p1098
I15
sVsuspicion
p1099
I16
sVconstitutes
p1100
I10
sVpolicy
p1101
I260
sVmail
p1102
I33
sVmain
p1103
I245
sVtory
p1104
I34
sVpetition
p1105
I12
sVinstantly
p1106
I16
sVfinance
p1107
I20
sVthereby
p1108
I27
sVcivilian
p1109
I12
sVmatches
p1110
I23
sVkiller
p1111
I14
sVsooner
p1112
I18
sVnation
p1113
I44
sVrecords
p1114
I71
sVtouching
p1115
I10
sVarriving
p1116
I16
sVsorted
p1117
I13
sVkilled
p1118
I86
sVmaintaining
p1119
I21
sVmatched
p1120
I14
sVshouted
p1121
I29
sVbeach
p1122
I38
sVartist
p1123
I41
sVproteins
p1124
I13
sVestablishing
p1125
I21
sVpeasant
p1126
I16
sVrock
p1127
I64
sVamnesty
p1128
I11
sVquarter
p1129
I74
sVdata/datum
p1130
I182
sVsquare
p1131
I26
sVlatin
p1132
I22
sVreceipt
p1133
I12
sVft
p1134
I12
sVconventions
p1135
I12
sVentering
p1136
I22
sVsexually
p1137
I10
sVgirl
p1138
I158
sVsummary
p1139
I28
sVneighbourhood
p1140
I15
sVelizabeth
p1141
I36
sVcanada
p1142
I29
sVliving
p1143
I36
sVcanvas
p1144
I11
sVjackson
p1145
I20
sVinterference
p1146
I14
sVrational
p1147
I23
sVlad
p1148
I20
sVseriously
p1149
I57
sVinvestigation
p1150
I51
sVemerged
p1151
I38
sVdioxide
p1152
I14
sVsuggesting
p1153
I25
sVformula
p1154
I27
sVcorrect
p1155
I59
sVassurance
p1156
I18
sVexactly
p1157
I107
sVafter
p1158
I233
sVmonster
p1159
I13
sVsheffield
p1160
I21
sVmillion
p1161
I245
sVincentives
p1162
I10
sVgoverning
p1163
I10
sVquite
p1164
I412
sVrecordings
p1165
I11
sVstatistics
p1166
I32
sVcomplicated
p1167
I29
sVlump
p1168
I11
sVbesides
p1169
I18
sVpoems
p1170
I16
sVkeith
p1171
I28
sVseventy
p1172
I29
sVadvance
p1173
I36
sVtraining
p1174
I11
sVlanguage
p1175
I188
sVministry
p1176
I50
sVprogramming
p1177
I11
sVmodest
p1178
I23
sVthing
p1179
I352
sVmassive
p1180
I44
sVroutes
p1181
I21
sVstar
p1182
I61
sVthink
p1183
I916
sVwaited
p1184
I40
sVfirst
p1185
I1193
sVemotion
p1186
I15
sVcheese
p1187
I26
sVsaving
p1188
I10
sVreveals
p1189
I16
sVspoken
p1190
I28
sVclause
p1191
I36
sVrachel
p1192
I22
sVsafety
p1193
I86
sVone
p1194
I953
sVamericans
p1195
I28
sVsubmit
p1196
I12
sVsuspended
p1197
I18
sVspanish
p1198
I34
sVcarry
p1199
I101
sVcorporations
p1200
I10
sVsounds
p1201
I26
sVopen
p1202
I76
sVcity
p1203
I231
sVlittle
p1204
I45
sVlap
p1205
I13
sVslept
p1206
I18
sVanyone
p1207
I150
sVindicate
p1208
I41
sV2
p1209
I344
sVdraft
p1210
I26
sValfred
p1211
I12
sVstructures
p1212
I44
sVspeaking
p1213
I54
sVmining
p1214
I15
sVallegedly
p1215
I10
sVmoscow
p1216
I30
sVcontinuous
p1217
I26
sVproving
p1218
I11
sVaccurately
p1219
I14
sVharbour
p1220
I18
sVridiculous
p1221
I19
sVspecialists
p1222
I14
sVrepresenting
p1223
I23
sVboyfriend
p1224
I11
sV11
p1225
I92
sV10
p1226
I186
sV13
p1227
I76
sV12
p1228
I121
sV15
p1229
I109
sVbit*
p1230
I137
sV17
p1231
I63
sV16
p1232
I81
sVdepressed
p1233
I15
sV18
p1234
I81
sVvictorian
p1235
I25
sVprotected
p1236
I20
sVventure
p1237
I19
sVwere
p1238
I3227
sVasleep
p1239
I25
sVsophie
p1240
I13
sVrussia
p1241
I43
sVprospect
p1242
I32
sVmanufacture
p1243
I13
sVaddressing
p1244
I11
sVillness
p1245
I33
sVsam
p1246
I31
sVappreciate
p1247
I26
sVtopics
p1248
I19
sVturned
p1249
I246
sVargument
p1250
I83
sVvoices
p1251
I24
sVsay
p1252
I679
sVconspiracy
p1253
I11
sVburied
p1254
I24
sVallen
p1255
I18
sVturner
p1256
I11
sVborough
p1257
I19
sVsaw
p1258
I261
sVsurgery
p1259
I27
sVkevin
p1260
I23
sVsat
p1261
I121
sVcoach
p1262
I29
sVspeakers
p1263
I22
sVfashionable
p1264
I12
sVefficient
p1265
I40
sVaside
p1266
I36
sVshocked
p1267
I15
sVinstructed
p1268
I12
sVnote
p1269
I46
sVintends
p1270
I11
sVpotential
p1271
I46
sVtake
p1272
I715
sVinterior
p1273
I13
sVdestroy
p1274
I20
sVconcern
p1275
I96
sVcollapsed
p1276
I16
sVchannel
p1277
I40
sV200
p1278
I35
sVprinter
p1279
I17
sVpain
p1280
I73
sVcapitalist
p1281
I21
sVtheatre
p1282
I59
sVinvestigations
p1283
I17
sVtrack
p1284
I57
sVincidence
p1285
I17
sVresulted
p1286
I29
sVpaid
p1287
I144
sVassault
p1288
I22
sV20%
p1289
I11
sVprinted
p1290
I13
sVsheets
p1291
I24
sVremarks
p1292
I19
sVknee
p1293
I20
sVpages
p1294
I44
sVlawn
p1295
I11
sVoperate
p1296
I40
sVespecially
p1297
I177
sVsurprising
p1298
I35
sV~n~*
p1299
I42
sVaverage
p1300
I36
sVphil
p1301
I20
sVconstable
p1302
I18
sVsale
p1303
I88
sVmanaging
p1304
I11
sVjumped
p1305
I24
sVatlantic
p1306
I22
sVsalt
p1307
I29
sVsurface
p1308
I90
sVlaws
p1309
I48
sVprecise
p1310
I29
sVwalking
p1311
I17
sVshot
p1312
I33
sVsurplus
p1313
I13
sVshow
p1314
I87
sVcontemporary
p1315
I44
sVsites
p1316
I58
sVbright
p1317
I54
sVdrawings
p1318
I23
sVcorner
p1319
I75
sVaggressive
p1320
I19
sVlabel
p1321
I17
sVimagined
p1322
I17
sVfibre
p1323
I15
sVslow
p1324
I48
sVcommittee
p1325
I190
sVdick
p1326
I13
sVbehind
p1327
I34
sVdull
p1328
I18
sVliberation
p1329
I18
sVtears
p1330
I43
sVblack
p1331
I11
sVequipped
p1332
I16
sVenthusiasm
p1333
I30
sVcaroline
p1334
I19
sVawareness
p1335
I36
sVdispute
p1336
I30
sVget
p1337
I995
sVcontracts
p1338
I44
sVassistant
p1339
I18
sVemployers
p1340
I42
sVnearly
p1341
I115
sVsecondary
p1342
I43
sVprime
p1343
I121
sVresource
p1344
I22
sVskull
p1345
I11
sVsettings
p1346
I10
sVmiddle-class
p1347
I13
sVborrow
p1348
I15
sVyield
p1349
I11
sVmorning
p1350
I211
sVstupid
p1351
I33
sVroger
p1352
I26
sVsource
p1353
I91
sVbombs
p1354
I12
sVliable
p1355
I22
sVwhere
p1356
I458
sVworrying
p1357
I11
sVvision
p1358
I42
sVdeclared
p1359
I43
sVthesis
p1360
I13
sVeighteenth
p1361
I20
sVseat
p1362
I62
sVrelative
p1363
I10
sVj.
p1364
I42
sVjapan
p1365
I65
sVcalendar
p1366
I11
sVdeliberate
p1367
I13
sVwonder
p1368
I19
sVvertical
p1369
I18
sVharvey
p1370
I12
sVrepresentatives
p1371
I43
sVsponsorship
p1372
I12
sVboundaries
p1373
I24
sVenough
p1374
I82
sVun
p1375
I44
sVbureau
p1376
I14
sVaffecting
p1377
I17
sVreading
p1378
I12
sVacross
p1379
I35
sVwhispered
p1380
I25
sVjobs
p1381
I97
sVaugust
p1382
I79
sVparent
p1383
I37
sVparental
p1384
I13
sVscreen
p1385
I48
sVsupermarket
p1386
I11
sVkilling
p1387
I11
sVconcentrate
p1388
I31
sVawards
p1389
I23
sVconcentrated
p1390
I24
sVblame
p1391
I23
sVdates
p1392
I19
sVrugby
p1393
I29
sVmany
p1394
I902
sVcars
p1395
I75
sVtrades
p1396
I12
sVaccording
p1397
I157
sVsweat
p1398
I11
sVs
p1399
I10
sVloudly
p1400
I11
sVdisappointment
p1401
I15
sVspare
p1402
I10
sVholders
p1403
I12
sVexpression
p1404
I75
sVallowance
p1405
I22
sVstance
p1406
I17
sVamong
p1407
I229
sVcancer
p1408
I42
sVchristie
p1409
I12
sVtwin
p1410
I16
sVgrants
p1411
I19
sVstretched
p1412
I20
sVarticle
p1413
I68
sVordered
p1414
I49
sVconsiders
p1415
I12
sVboat
p1416
I54
sVadults
p1417
I33
sVconsidering
p1418
I26
sVsensible
p1419
I28
sVarts
p1420
I53
sVcapable
p1421
I49
sVstretch
p1422
I12
sVwest
p1423
I127
sVlocally
p1424
I18
sVmark
p1425
I25
sVbreath
p1426
I51
sVworkshop
p1427
I18
sVpractised
p1428
I10
sVcombined
p1429
I17
sVmotives
p1430
I10
sVborders
p1431
I12
sVcovering
p1432
I29
sVmarx
p1433
I19
sVmary
p1434
I71
sVwants
p1435
I89
sVenable
p1436
I48
sVshopping
p1437
I29
sVthousand
p1438
I104
sVformed
p1439
I70
sVobserve
p1440
I17
sVwake
p1441
I12
sVdeclaration
p1442
I20
sVconsequently
p1443
I25
sVformer
p1444
I170
sVthose
p1445
I888
sVsound
p1446
I12
sVconsultant
p1447
I16
sVworried
p1448
I38
sVconsulted
p1449
I12
sVn't
p1450
I3328
sVpolicies
p1451
I88
sVresidence
p1452
I17
sVnewspaper
p1453
I50
sVsituation
p1454
I160
sVconstituency
p1455
I19
sVmargin
p1456
I15
sValuminium
p1457
I10
sVconferences
p1458
I12
sVthen
p1459
I12
sVcharacteristics
p1460
I38
sVengaged
p1461
I27
sVthem
p1462
I1733
sVsleeping
p1463
I11
sVmiddle
p1464
I59
sVsudden
p1465
I39
sVhis*
p1466
I49
sVprotein
p1467
I28
sVtechnology
p1468
I118
sVfame
p1469
I12
sVmovements
p1470
I44
sVspaces
p1471
I15
sVbags
p1472
I22
sVdifferent
p1473
I484
sVmissiles
p1474
I10
sVpat
p1475
I18
sVharsh
p1476
I15
sVdoctor
p1477
I105
sVpay
p1478
I45
sVparliament
p1479
I97
sVwoodland
p1480
I10
sVtour
p1481
I57
sVsame
p1482
I615
sVenquiries
p1483
I17
sVspeech
p1484
I78
sVarguments
p1485
I38
sVstepped
p1486
I29
sVwimbledon
p1487
I13
sVdated
p1488
I13
sVbreakdown
p1489
I15
sVoil
p1490
I102
sVsickness
p1491
I12
sVassist
p1492
I25
sVcompanion
p1493
I17
sVallocation
p1494
I18
sVrunning
p1495
I14
sVedges
p1496
I17
sVadvertisement
p1497
I12
sVclimbing
p1498
I13
sVtotally
p1499
I58
sVwheels
p1500
I16
sVpupil
p1501
I23
sVlargely
p1502
I73
sVroughly
p1503
I23
sVamounts
p1504
I25
sVcosts
p1505
I32
sVsolve
p1506
I19
sVbottle
p1507
I41
sVtrains
p1508
I19
sVdimension
p1509
I16
sVconsisted
p1510
I13
sVsummer
p1511
I113
sVoutdoor
p1512
I11
sVaffair
p1513
I33
sVbeing
p1514
I28
sVmoney
p1515
I374
sVrest
p1516
I20
sVaspect
p1517
I43
sVexhibitions
p1518
I13
sVweekly
p1519
I23
sVrover
p1520
I13
sVapplication
p1521
I100
sVinstrument
p1522
I26
sVsamuel
p1523
I13
sVpile
p1524
I17
sV4
p1525
I201
sVboards
p1526
I28
sVextensive
p1527
I41
sVcareers
p1528
I17
sVgrip
p1529
I17
sVaspects
p1530
I73
sVaround
p1531
I215
sVjeans
p1532
I13
sVsums
p1533
I15
sVdark
p1534
I31
sVtraffic
p1535
I67
sVpreference
p1536
I22
sVfound*
p1537
I489
sVworld
p1538
I590
sVaiming
p1539
I10
sVdisappointed
p1540
I21
sVvague
p1541
I15
sVdare
p1542
I12
sVsatisfaction
p1543
I29
sVintel
p1544
I12
sVstranger
p1545
I13
sVidentifying
p1546
I15
sVmaintained
p1547
I39
sVserves
p1548
I17
sV've
p1549
I891
sVfacing
p1550
I38
sVchamber
p1551
I29
sVaudience
p1552
I55
sVeither
p1553
I58
sVclay
p1554
I15
sVserved
p1555
I64
sV65
p1556
I17
sVfulfil
p1557
I12
sVsatisfactory
p1558
I22
sVsuperintendent
p1559
I10
sVjews
p1560
I18
sVimprisonment
p1561
I15
sVlebanon
p1562
I11
sVspecified
p1563
I12
sVimages
p1564
I36
sVracial
p1565
I14
sVdivine
p1566
I13
sVjoan
p1567
I19
sVthinks
p1568
I39
sVgross
p1569
I23
sVclare
p1570
I21
sVdimensions
p1571
I14
sVconfirm
p1572
I26
sVmemories
p1573
I26
sVtube
p1574
I20
sVdisciplinary
p1575
I11
sVcritical
p1576
I58
sVexit
p1577
I10
sVcustody
p1578
I15
sVexpressing
p1579
I14
sVmoderate
p1580
I14
sVknife
p1581
I27
sVrefer
p1582
I38
sVmeasuring
p1583
I14
sVmuttered
p1584
I16
sVscientific
p1585
I59
sVpower
p1586
I318
sVintimate
p1587
I11
sVseconds
p1588
I42
sVwhose
p1589
I198
sVfitness
p1590
I16
sVnotable
p1591
I16
sVunusual
p1592
I41
sVnotably
p1593
I24
sVbroken
p1594
I29
sVleadership
p1595
I48
sVrefers
p1596
I20
sVmanufacturer
p1597
I18
sVhelping
p1598
I39
sVstone
p1599
I79
sVorigins
p1600
I18
sVpackage
p1601
I57
sVisland
p1602
I66
sVindustry
p1603
I198
sVviolence
p1604
I56
sVmeaning
p1605
I15
sVside
p1606
I335
sVpractical
p1607
I77
sVairline
p1608
I11
sVpockets
p1609
I16
sVact
p1610
I59
sVmixed
p1611
I20
sVmean
p1612
I25
sVroad
p1613
I273
sVquietly
p1614
I41
sVlands
p1615
I21
sVburning
p1616
I13
sVimage
p1617
I75
sVskilled
p1618
I18
sVessex
p1619
I23
sVreferences
p1620
I20
sVlively
p1621
I15
sVhomeless
p1622
I11
sVparties
p1623
I127
sVvaluable
p1624
I39
sVtechnically
p1625
I10
sVcared
p1626
I13
sVlegacy
p1627
I11
sVhey
p1628
I18
sVmeals
p1629
I24
sVcouncils
p1630
I35
sVslopes
p1631
I10
sVgain
p1632
I15
sVemergence
p1633
I12
sVcomplete
p1634
I34
sVdangers
p1635
I16
sVstrikes
p1636
I11
sVprinciples
p1637
I57
sVmick
p1638
I15
sVsurvived
p1639
I27
sVlinguistic
p1640
I25
sVtechnologies
p1641
I15
sVlevel
p1642
I25
sVwith
p1643
I6575
sVbuying
p1644
I41
sVhandsome
p1645
I17
sVpull
p1646
I40
sVrush
p1647
I13
sVoctober
p1648
I106
sVarranged
p1649
I40
sVromantic
p1650
I21
sVmonopoly
p1651
I16
sVnearest
p1652
I20
sVlocal
p1653
I18
sVdirty
p1654
I26
sVpolitically
p1655
I17
sVagree
p1656
I82
sVaffection
p1657
I14
sVdetailed
p1658
I60
sVgone
p1659
I195
sVjohnny
p1660
I15
sVcertain
p1661
I220
sVam
p1662
I256
sVal
p1663
I10
sVwartime
p1664
I10
sVgeneral
p1665
I43
sVnavy
p1666
I20
sVas
p1667
I13
sVeducated
p1668
I13
sVat
p1669
I29
sVfile
p1670
I56
sVlaboratory
p1671
I27
sVgirlfriend
p1672
I12
sVwatched
p1673
I67
sVgon~
p1674
I125
sVhorse
p1675
I77
sVeliot
p1676
I19
sVfilm
p1677
I101
sVcream
p1678
I31
sVagain
p1679
I561
sVassessing
p1680
I14
sVideally
p1681
I12
sVpersonnel
p1682
I33
sVdrivers
p1683
I26
sVvocational
p1684
I10
sVtight
p1685
I11
sVsummit
p1686
I25
sVspatial
p1687
I12
sVoffered
p1688
I106
sVgloucestershire
p1689
I15
sVcongress
p1690
I55
sVstudents
p1691
I146
sVreached
p1692
I124
sVa.
p1693
I28
sVgifts
p1694
I17
sVimportant
p1695
I392
sVaccounts
p1696
I65
sVterry
p1697
I25
sVtackle
p1698
I16
sVdecorated
p1699
I11
sVgastric
p1700
I21
sVremote
p1701
I29
sVassets
p1702
I43
sVacids
p1703
I10
sVmask
p1704
I11
sVhaving
p1705
I353
sVinvestigated
p1706
I15
sVdramatic
p1707
I39
sVmass
p1708
I35
sVadam
p1709
I35
sVkuwait
p1710
I16
sVresolution
p1711
I37
sVoriginal
p1712
I108
sVexternal
p1713
I49
sVrepresent
p1714
I46
sVcolleges
p1715
I25
sVconsider
p1716
I117
sVfounder
p1717
I12
sVaids
p1718
I32
sVcaused
p1719
I96
sVhands
p1720
I188
sVdollar
p1721
I20
sVfounded
p1722
I27
sVtours
p1723
I10
sVwelfare
p1724
I48
sVtalks
p1725
I60
sVpartial
p1726
I18
sVexpressions
p1727
I13
sVallowances
p1728
I13
sVreasoning
p1729
I10
sVcauses
p1730
I20
sVreluctant
p1731
I20
sVcontent
p1732
I16
sVhunting
p1733
I18
sVtv
p1734
I65
sVlaughing
p1735
I24
sVto
p1736
I9343
sVtail
p1737
I27
sVaward
p1738
I148
sVpreserved
p1739
I16
sV14
p1740
I80
sVsmile
p1741
I11
sVenjoying
p1742
I22
sVpassed
p1743
I107
sVpaying
p1744
I46
sVappointment
p1745
I45
sVreturned
p1746
I103
sVstraightforward
p1747
I20
sVpuzzled
p1748
I10
sVhughes
p1749
I17
sVsaved
p1750
I32
sVdiary
p1751
I20
sVfall
p1752
I41
sVdifference
p1753
I113
sVcondition
p1754
I83
sVcheerful
p1755
I12
sVnorfolk
p1756
I14
sVcable
p1757
I18
sVmothers
p1758
I33
sVmarvellous
p1759
I18
sVlaying
p1760
I13
sVjoined
p1761
I72
sVlarge
p1762
I337
sVsang
p1763
I12
sVsand
p1764
I30
sVadjust
p1765
I11
sVharry
p1766
I46
sVsmall
p1767
I435
sVbiological
p1768
I20
sVsank
p1769
I11
sVmaggie
p1770
I27
sVpolls
p1771
I11
sVpenalties
p1772
I11
sVpast
p1773
I21
sV19
p1774
I53
sVzero
p1775
I15
sVtitles
p1776
I21
sVdisplays
p1777
I11
sVlawyer
p1778
I22
sVpass
p1779
I18
sVfurther
p1780
I144
sVmarginal
p1781
I22
sVinvestment
p1782
I109
sVcreatures
p1783
I21
sVhandicapped
p1784
I10
sVmaterial
p1785
I131
sVdefence
p1786
I116
sVstood
p1787
I133
sVrichard
p1788
I100
sVclock
p1789
I29
sVsection
p1790
I186
sViraqi
p1791
I17
sVscientists
p1792
I35
sVnurse
p1793
I32
sVchelsea
p1794
I15
sVmethod
p1795
I91
sVcontrast
p1796
I62
sVmovement
p1797
I135
sVfull
p1798
I281
sVpromising
p1799
I13
sVcomponent
p1800
I26
sVrevenge
p1801
I11
sVhours
p1802
I189
sVcancelled
p1803
I12
sVdisastrous
p1804
I11
sVoperating
p1805
I27
sVinvestigating
p1806
I14
sVtreasury
p1807
I26
sVnovember
p1808
I94
sVstandard
p1809
I56
sVlegend
p1810
I12
sVadmits
p1811
I13
sVsearch
p1812
I12
sVbible
p1813
I20
sVcompliance
p1814
I13
sVexperience
p1815
I25
sVsignificantly
p1816
I42
sVprior
p1817
I12
sVairport
p1818
I29
sVsimply
p1819
I177
sVmisery
p1820
I13
sVaction
p1821
I221
sVcorps
p1822
I12
sVnarrow
p1823
I49
sVvia
p1824
I45
sVfollowed
p1825
I149
sVours
p1826
I17
sVbuses
p1827
I15
sVafrica
p1828
I78
sVregiment
p1829
I12
sVmanage
p1830
I41
sVarmed
p1831
I11
sVmistress
p1832
I12
sVselect
p1833
I12
sVreadily
p1834
I28
sVliterary
p1835
I34
sVshareholders
p1836
I31
sVattendance
p1837
I18
sVeye
p1838
I95
sVoxfordshire
p1839
I16
sVobjectives
p1840
I43
sVdestination
p1841
I11
sVtwo
p1842
I1561
sVcomparing
p1843
I11
sVde*
p1844
I19
sV6
p1845
I134
sVkick
p1846
I13
sVachieving
p1847
I18
sVmore
p1848
I699
sVdiamond
p1849
I11
sVdoor
p1850
I254
sVinitiated
p1851
I12
sVsubstances
p1852
I13
sVcompany
p1853
I401
sVleonard
p1854
I10
sVtested
p1855
I26
sVlanded
p1856
I18
sVcontrolling
p1857
I17
sVparticular
p1858
I223
sVfoundations
p1859
I14
sVobjections
p1860
I13
sVnineteen
p1861
I48
sVtown
p1862
I180
sVkeeping
p1863
I60
sVgravel
p1864
I12
sVdrank
p1865
I14
sVhour
p1866
I113
sVstrain
p1867
I22
sVscience
p1868
I106
sVdes
p1869
I12
sVfriendly
p1870
I39
sVguards
p1871
I15
sVremain
p1872
I90
sVparagraph
p1873
I26
sVindicating
p1874
I15
sVevolved
p1875
I12
sVlearn
p1876
I83
sVknocked
p1877
I23
sVstrategies
p1878
I27
sVmale
p1879
I22
sVmarble
p1880
I14
sVbeautiful
p1881
I87
sVimperial
p1882
I24
sVcompare
p1883
I24
sVmedical
p1884
I93
sVstated
p1885
I48
sVlives
p1886
I27
sVgalleries
p1887
I12
sVsuggestions
p1888
I21
sVaccept
p1889
I98
sVautumn
p1890
I39
sVsphere
p1891
I13
sVminimum
p1892
I20
sVnumbers
p1893
I113
sVpurchased
p1894
I16
sVsense
p1895
I213
sVsharp
p1896
I44
sVdress
p1897
I42
sVaxis
p1898
I10
sVhuge
p1899
I79
sVrespective
p1900
I12
sVunexpected
p1901
I21
sVawkward
p1902
I16
sVacts
p1903
I14
sVhugh
p1904
I21
sVdismissed
p1905
I30
sVeveryday
p1906
I21
sVmaps
p1907
I17
sVdisturbed
p1908
I12
sVearnings
p1909
I32
sVsacred
p1910
I13
sVoccur
p1911
I56
sVcreature
p1912
I19
sVwaved
p1913
I15
sVplant
p1914
I74
sVbedrooms
p1915
I16
sVplans
p1916
I20
sVcountryside
p1917
I39
sVsuppose
p1918
I107
sVadvice
p1919
I104
sVsignature
p1920
I11
sVplane
p1921
I34
sVdirector
p1922
I122
sVblood
p1923
I101
sVfaculty
p1924
I13
sVgates
p1925
I19
sVappealed
p1926
I14
sVresponse
p1927
I100
sVrefuse
p1928
I22
sVcoat
p1929
I34
sVregister
p1930
I10
sVcoal
p1931
I51
sVbroadcasting
p1932
I16
sVresponsibility
p1933
I93
sVfundamental
p1934
I45
sVpleasure
p1935
I52
sVneed*
p1936
I33
sVplaying
p1937
I101
sVreplied
p1938
I56
sVinfant
p1939
I17
sVpassages
p1940
I11
sVbowl
p1941
I23
sVinstalled
p1942
I20
sVperformance
p1943
I130
sVattitude
p1944
I60
sVpaper
p1945
I173
sVscott
p1946
I32
sVdestruction
p1947
I24
sVsigns
p1948
I47
sVexistence
p1949
I66
sVsmiling
p1950
I22
sVsuffer
p1951
I35
sVits
p1952
I1632
sVroots
p1953
I25
sV24
p1954
I65
sV25
p1955
I77
sV26
p1956
I44
sV27
p1957
I43
sVrapidly
p1958
I46
sV21
p1959
I56
sV22
p1960
I53
sV23
p1961
I48
sVgreatly
p1962
I33
sV28
p1963
I50
sV29
p1964
I40
sVsymptoms
p1965
I31
sVdetected
p1966
I16
sVfollowers
p1967
I10
sVtravelling
p1968
I24
sVsauce
p1969
I14
sVlandlord
p1970
I27
sVcolleague
p1971
I17
sVsomeone
p1972
I187
sVsisters
p1973
I20
sVseeking
p1974
I46
sVpropose
p1975
I14
sVmales
p1976
I22
sVsocially
p1977
I15
sVencouraging
p1978
I21
sVwalls
p1979
I60
sVcompound
p1980
I11
sVoxford
p1981
I86
sVseparately
p1982
I18
sVcomplain
p1983
I14
sVassociation
p1984
I115
sVmystery
p1985
I22
sVeasily
p1986
I99
sVdocument
p1987
I51
sVclergy
p1988
I14
sVhook
p1989
I11
sValways
p1990
I462
sVisle
p1991
I14
sVcourses
p1992
I80
sVhabits
p1993
I17
sVpan
p1994
I12
sVpositions
p1995
I39
sVbiscuits
p1996
I10
sVports
p1997
I11
sVreactions
p1998
I21
sVharm
p1999
I23
sVeveryone
p2000
I133
sVengland
p2001
I231
sVmental
p2002
I58
sVhouse
p2003
I501
sVfish
p2004
I103
sVhard
p2005
I71
sVreduce
p2006
I71
sVidea
p2007
I217
sVextended
p2008
I14
sVmeasurement
p2009
I17
sVoperation
p2010
I100
sVinsurance
p2011
I71
sVreally
p2012
I481
sVtry
p2013
I11
sVinitiatives
p2014
I19
sVflower
p2015
I22
sVfunding
p2016
I39
sVpsychology
p2017
I26
sVblacks
p2018
I14
sVshah
p2019
I10
sVresearch
p2020
I14
sVparticipants
p2021
I22
sVministerial
p2022
I10
sVprint
p2023
I10
sVdarling
p2024
I23
sVevaluation
p2025
I28
sVoccurs
p2026
I33
sVbelief
p2027
I51
sVrisen
p2028
I17
sVlawrence
p2029
I22
sV1920s
p2030
I11
sVpleasant
p2031
I27
sVdifficulty
p2032
I63
sVqualify
p2033
I13
sVmembers
p2034
I297
sVimagine
p2035
I61
sVbacked
p2036
I25
sVbeginning
p2037
I53
sVdefinition
p2038
I48
sVpairs
p2039
I21
sVretained
p2040
I24
sVbarbara
p2041
I17
sVcomputers
p2042
I36
sVenforce
p2043
I10
sVconducted
p2044
I30
sVharris
p2045
I19
sVtestament
p2046
I12
sVcastle
p2047
I47
sVpilots
p2048
I11
sVreinforced
p2049
I13
sVcopper
p2050
I18
sVmajor
p2051
I11
sVgazed
p2052
I11
sVslipped
p2053
I26
sVgirls
p2054
I96
sVthereafter
p2055
I14
sVnumber
p2056
I493
sVpreservation
p2057
I11
sVinstances
p2058
I17
sVpop
p2059
I10
sVmurmured
p2060
I19
sVdone
p2061
I354
sVwages
p2062
I37
sVcups
p2063
I12
sVguess
p2064
I24
sVheads
p2065
I52
sVguest
p2066
I23
sVjet
p2067
I13
sVintroduction
p2068
I66
sVdivorce
p2069
I17
sVbay
p2070
I34
sVthreatening
p2071
I17
sVleast
p2072
I45
sVpaint
p2073
I13
sVregulation
p2074
I26
sVassumption
p2075
I31
sVmentally
p2076
I20
sVcalculations
p2077
I12
sVcompromise
p2078
I16
sVmolecular
p2079
I13
sVlease
p2080
I21
sVmuscles
p2081
I20
sVrelationship
p2082
I129
sVjohnson
p2083
I32
sVneedle
p2084
I13
sVpark
p2085
I103
sVinterviewed
p2086
I15
sVimmediate
p2087
I61
sVappreciation
p2088
I13
sVpart
p2089
I496
sVdemonstrations
p2090
I15
sVlos nop-
p2091
I12
sVconsult
p2092
I12
sVbelieve
p2093
I212
sVstairs
p2094
I36
sVgrace
p2095
I15
sVjohn
p2096
I328
sVfreud
p2097
I16
sVrecording
p2098
I16
sVimmense
p2099
I14
sVdetermined
p2100
I16
sVmarriage
p2101
I79
sVsupposed
p2102
I11
sVtreated
p2103
I69
sVaug.
p2104
I26
sVcurtains
p2105
I20
sVorganisations
p2106
I51
sVaged
p2107
I14
sVorders
p2108
I52
sVsell
p2109
I76
sVmountain
p2110
I39
sVbuilt
p2111
I129
sVdancing
p2112
I12
sVself
p2113
I36
sVsevere
p2114
I46
sValso
p2115
I1248
sVinternal
p2116
I67
sVbuild
p2117
I68
sVprovince
p2118
I22
sVplay
p2119
I67
sValbert
p2120
I22
sVeggs
p2121
I37
sVswiftly
p2122
I12
sVsalmon
p2123
I13
sVchart
p2124
I15
sVdepths
p2125
I11
sVmost
p2126
I422
sVvirus
p2127
I15
sVcharm
p2128
I13
sVplan
p2129
I26
sVsignificant
p2130
I121
sVservices
p2131
I249
sVaccepting
p2132
I17
sVextremely
p2133
I68
sVrevolutionary
p2134
I24
sVsouthampton
p2135
I12
sVlaboratories
p2136
I10
sVapparatus
p2137
I11
sVcrossing
p2138
I10
sVsometimes
p2139
I205
sVcover
p2140
I47
sVkm
p2141
I14
sVlounge
p2142
I14
sVorganise
p2143
I13
sVartistic
p2144
I16
sVthank
p2145
I122
sVcharged
p2146
I46
sVdragged
p2147
I17
sVjoining
p2148
I22
sVsector
p2149
I87
sVthomas
p2150
I68
sVgolf
p2151
I34
sVrebels
p2152
I12
sVgold
p2153
I74
sVcheltenham
p2154
I14
sVobligations
p2155
I19
sVscattered
p2156
I11
sVsession
p2157
I44
sVbusinesses
p2158
I37
sVcarefully
p2159
I72
sVdefender
p2160
I12
sVfine
p2161
I127
sVfind
p2162
I420
sVoccupation
p2163
I23
sVimpact
p2164
I74
sVcell
p2165
I55
sVgiant
p2166
I18
sVregulations
p2167
I42
sVdepended
p2168
I12
sVmerger
p2169
I14
sVnervous
p2170
I31
sVwrites
p2171
I26
sVwriter
p2172
I37
sVdistributed
p2173
I20
sV19th
p2174
I12
sVunhappy
p2175
I19
sVfailed
p2176
I89
sVfactor
p2177
I63
sV8
p2178
I97
sVcolumns
p2179
I16
sVpermission
p2180
I32
sVdependent
p2181
I37
sVluke
p2182
I35
sVbanned
p2183
I16
sVexpress
p2184
I11
sVcheaper
p2185
I23
sVremedy
p2186
I13
sVcourage
p2187
I19
sVpreparing
p2188
I26
sVclosely
p2189
I55
sVsilk
p2190
I22
sVenemy
p2191
I34
sVresolve
p2192
I15
sVprogressive
p2193
I17
sVcry
p2194
I16
sVremove
p2195
I39
sVbanking
p2196
I21
sVcommon
p2197
I182
sVcease
p2198
I10
sVgospel
p2199
I11
sVriver
p2200
I94
sVapproaching
p2201
I17
sVset
p2202
I112
sVenabled
p2203
I18
sVtended
p2204
I27
sVsex
p2205
I83
sVsee
p2206
I1186
sVindividual
p2207
I55
sVmigration
p2208
I13
sVsea
p2209
I130
sVtender
p2210
I13
sVforthcoming
p2211
I16
sVaberdeen
p2212
I14
sVfeared
p2213
I19
sVproject
p2214
I141
sVspirits
p2215
I19
sVexpert
p2216
I40
sVvisiting
p2217
I11
sVmovie
p2218
I18
sVcurrently
p2219
I70
sVelectoral
p2220
I22
sVfans
p2221
I33
sVsmallest
p2222
I11
sVguilt
p2223
I18
sVburned
p2224
I14
sVchampagne
p2225
I19
sVavailable
p2226
I272
sVhistorical
p2227
I56
sVpremises
p2228
I39
sVdividends
p2229
I10
sVlunch
p2230
I54
sVincident
p2231
I37
sVrenewed
p2232
I11
sVinterface
p2233
I17
sVdividend
p2234
I15
sVprospects
p2235
I22
sVenables
p2236
I21
sVlast
p2237
I28
sVrestaurant
p2238
I35
sVinfluential
p2239
I18
sVpowers
p2240
I68
sVbarely
p2241
I23
sVforeign
p2242
I161
sVconnection
p2243
I35
sVsterling
p2244
I16
sVlong-term
p2245
I41
sVlet
p2246
I13
sVwhole
p2247
I91
sVload
p2248
I26
sVmajesty
p2249
I11
sVbell
p2250
I16
sVsimple
p2251
I140
sVloan
p2252
I38
sVoxygen
p2253
I19
sVcommunity
p2254
I231
sVagents
p2255
I37
sVchurch
p2256
I203
sVdesktop
p2257
I15
sVexpensive
p2258
I59
sVbelt
p2259
I21
sVdevil
p2260
I17
sVpublishing
p2261
I22
sVmonthly
p2262
I19
sVcreate
p2263
I82
sVacceptance
p2264
I27
sVconvicted
p2265
I12
sVgeoffrey
p2266
I17
sVsecret
p2267
I22
sVdropping
p2268
I13
sVensured
p2269
I10
sVireland
p2270
I96
sVcontained
p2271
I49
sVmeeting
p2272
I46
sVfirm
p2273
I35
sVchampion
p2274
I32
sVcounselling
p2275
I13
sVfire
p2276
I133
sVgas
p2277
I73
sVgreat
p2278
I442
sVmine
p2279
I17
sVfund
p2280
I55
sVraces
p2281
I16
sVawake
p2282
I13
sVrepresentative
p2283
I15
sVsystematic
p2284
I17
sVprices
p2285
I101
sVtowns
p2286
I41
sVchester
p2287
I11
sVbile
p2288
I12
sVhandling
p2289
I14
sVuncertain
p2290
I20
sVraw
p2291
I25
sVsolid
p2292
I35
sVjudicial
p2293
I25
sVstraight
p2294
I31
sVbill
p2295
I47
sVempirical
p2296
I15
sVtechnical
p2297
I68
sVsexuality
p2298
I14
sVreplaced
p2299
I57
sVpressed
p2300
I29
sVerror
p2301
I38
sVfurther*
p2302
I216
sVrobin
p2303
I19
sVowed
p2304
I16
sVpound
p2305
I61
sVhoping
p2306
I35
sVportugal
p2307
I11
sVcentury
p2308
I197
sVbacking
p2309
I12
sVowen
p2310
I22
sVbinding
p2311
I10
sVencountered
p2312
I17
sVitself
p2313
I237
sVbeautifully
p2314
I12
sVfunny
p2315
I45
sVitaly
p2316
I51
sVbarnes
p2317
I13
sVshorter
p2318
I18
sVrules
p2319
I105
sVdiscourse
p2320
I23
sVused (to)
p2321
I156
sVvirtually
p2322
I44
sVcorridor
p2323
I21
sVresulting
p2324
I14
sVruth
p2325
I30
sVdevelopment
p2326
I324
sVsophisticated
p2327
I25
sVknitting
p2328
I10
sVkeys
p2329
I23
sVcomprehensive
p2330
I35
sVderby
p2331
I12
sVyesterday
p2332
I195
sVhusbands
p2333
I10
sVmoment
p2334
I221
sVlevels
p2335
I121
sVpurpose
p2336
I93
sVnecessity
p2337
I18
sVaggregate
p2338
I11
sVgenuine
p2339
I33
sVimplement
p2340
I15
sVrecent
p2341
I158
sVrecognized
p2342
I30
sVtask
p2343
I92
sVbarry
p2344
I19
sVspent
p2345
I116
sVcounty
p2346
I113
sVconcrete
p2347
I18
sVwithdraw
p2348
I16
sVthoroughly
p2349
I21
sVswiss
p2350
I14
sVentry
p2351
I52
sVchemistry
p2352
I20
sVrates
p2353
I115
sVspend
p2354
I74
sVprevention
p2355
I15
sVlads
p2356
I15
sVexotic
p2357
I11
sVobserved
p2358
I46
sVsuffolk
p2359
I12
sVshape
p2360
I62
sVopenly
p2361
I12
sVtennis
p2362
I28
sVatomic
p2363
I11
sValternative
p2364
I36
sV1963
p2365
I14
sVinjuries
p2366
I26
sVtimber
p2367
I23
sVdiscipline
p2368
I55
sVcut
p2369
I29
sVreaders
p2370
I47
sVhated
p2371
I17
sVadmission
p2372
I23
sVdanger
p2373
I60
sVadvertisements
p2374
I10
sVchest
p2375
I38
sVdc
p2376
I15
sVgrim
p2377
I11
sVsignals
p2378
I19
sVshouting
p2379
I17
sVsubjects
p2380
I77
sVdeliberately
p2381
I28
sVlocation
p2382
I40
sVcrying
p2383
I14
sVrelevance
p2384
I17
sVinput
p2385
I32
sVruled
p2386
I24
sVeaster
p2387
I18
sVexcited
p2388
I16
sVsurprised
p2389
I47
sVaustralia
p2390
I50
sVvictims
p2391
I29
sVemergency
p2392
I40
sVformat
p2393
I21
sVbig
p2394
I255
sVbid
p2395
I31
sVwives
p2396
I19
sVjudgement
p2397
I25
sVmatters
p2398
I80
sVsuffering
p2399
I13
sVbit
p2400
I11
sVcarers
p2401
I12
sVprojects
p2402
I55
sVformal
p2403
I64
sVknock
p2404
I12
sVimposed
p2405
I34
sVcognitive
p2406
I12
sVfollows
p2407
I100
sVpounds
p2408
I123
sVaddressed
p2409
I27
sVconsensus
p2410
I18
sVcommunications
p2411
I35
sVindividuals
p2412
I80
sVindication
p2413
I23
sVfoolish
p2414
I12
sVdisorder
p2415
I16
sVreduces
p2416
I12
sVprivately
p2417
I12
sVoften
p2418
I376
sVsenate
p2419
I13
sVobliged
p2420
I17
sVb.
p2421
I19
sVmagnificent
p2422
I20
sVback
p2423
I11
sVdelegation
p2424
I16
sVstrongest
p2425
I10
sVpalm
p2426
I13
sVexamples
p2427
I71
sVsight
p2428
I66
sVmirror
p2429
I37
sVcurious
p2430
I22
sVserver
p2431
I15
sVpale
p2432
I35
sVourselves
p2433
I45
sVscale
p2434
I74
sVcontacts
p2435
I21
sVpet
p2436
I13
sVaffects
p2437
I14
sVdecision
p2438
I168
sVmeasurements
p2439
I14
sVintegration
p2440
I24
sVper
p2441
I135
sVreligion
p2442
I44
sVpen
p2443
I20
sVbehave
p2444
I17
sVeliminate
p2445
I11
sVgood*
p2446
I25
sVtemple
p2447
I14
sVnose
p2448
I43
sVpatient
p2449
I14
sV300
p2450
I24
sVoffenders
p2451
I13
sVcontinuing
p2452
I19
sVagreement
p2453
I133
sVfeelings
p2454
I53
sVnowhere
p2455
I24
sVbr
p2456
I13
sVrelating
p2457
I37
sVby
p2458
I22
sVwildlife
p2459
I20
sVgoods
p2460
I101
sVusa
p2461
I50
sVanything
p2462
I288
sVtruck
p2463
I12
sVmrs.
p2464
I23
sVreduced
p2465
I14
sVdrama
p2466
I36
sVdu~*
p2467
I20
sVwhisky
p2468
I17
sVbeans
p2469
I13
sVstuart
p2470
I21
sVtenants
p2471
I20
sVpollution
p2472
I41
sVrepair
p2473
I15
sVjimmy
p2474
I24
sVclinton
p2475
I20
sVinto
p2476
I1634
sVgood
p2477
I795
sVintegral
p2478
I12
sVministers
p2479
I68
sVphase
p2480
I46
sVappropriate
p2481
I113
sVprimarily
p2482
I31
sVsteven
p2483
I12
sVlesson
p2484
I23
sVcriticisms
p2485
I12
sVverbal
p2486
I15
sVspending
p2487
I29
sVbargaining
p2488
I12
sVspecifically
p2489
I38
sVcustom
p2490
I15
sVoccupy
p2491
I11
sVgermans
p2492
I25
sVsuit
p2493
I20
sVforward
p2494
I12
sVbored
p2495
I14
sVopens
p2496
I17
sVopponent
p2497
I15
sVconsiderably
p2498
I29
sVinvite
p2499
I12
sVinches
p2500
I23
sVjewish
p2501
I22
sVrelaxed
p2502
I11
sVvehicle
p2503
I42
sVimmigration
p2504
I11
sVhoped
p2505
I51
sVboys
p2506
I80
sVlink
p2507
I13
sVpacific
p2508
I27
sVhopes
p2509
I18
sVsubsidiary
p2510
I12
sVline
p2511
I221
sVwedding
p2512
I33
sVconsiderable
p2513
I96
sVdirected
p2514
I34
sVjonathan
p2515
I16
sVrejection
p2516
I15
sVup
p2517
I83
sVus
p2518
I158
sVplanet
p2519
I18
sVmaturity
p2520
I14
sV're
p2521
I835
sVexploration
p2522
I15
sVmature
p2523
I15
sVplanes
p2524
I11
sVautonomous
p2525
I11
sVwoke
p2526
I14
sValarm
p2527
I21
sVwell-known
p2528
I15
sVsort
p2529
I19
sVconstant
p2530
I47
sVexpedition
p2531
I11
sVdefined
p2532
I54
sVlikewise
p2533
I12
sVinfluence
p2534
I25
sV~ta*
p2535
I36
sVchap
p2536
I16
sVdiverse
p2537
I13
sVrolling
p2538
I10
sVnationalism
p2539
I10
sVecho
p2540
I12
sVcodes
p2541
I13
sVedwards
p2542
I13
sVthanks
p2543
I62
sVde* nop-
p2544
I107
sVoccasional
p2545
I26
sVpoints
p2546
I30
sVactors
p2547
I16
sVellen
p2548
I10
sVrevision
p2549
I11
sVexplaining
p2550
I18
sVelements
p2551
I64
sVlend
p2552
I13
sVfavourite
p2553
I15
sVprosecution
p2554
I21
sVprepared
p2555
I52
sVrestoration
p2556
I20
sVutterly
p2557
I13
sVdesert
p2558
I18
sVago
p2559
I198
sVlane
p2560
I43
sVland
p2561
I13
sVimplies
p2562
I20
sVconsumer
p2563
I44
sVage
p2564
I216
sVvehicles
p2565
I31
sVholes
p2566
I27
sVwalked
p2567
I94
sVappalling
p2568
I11
sV2000
p2569
I16
sVimplied
p2570
I16
sVpresenting
p2571
I14
sVcolonial
p2572
I15
sVwalker
p2573
I21
sVfresh
p2574
I68
sVinevitably
p2575
I31
sVhello
p2576
I38
sVlabelled
p2577
I12
sVessay
p2578
I16
sVcode
p2579
I52
sVjason
p2580
I11
sVrubbish
p2581
I23
sVillustrates
p2582
I11
sVhint
p2583
I14
sVresults
p2584
I147
sVexisting
p2585
I94
sVillustrated
p2586
I26
sVmaastricht
p2587
I12
sVstops
p2588
I12
sVbroader
p2589
I14
sVshrugged
p2590
I24
sVseemed
p2591
I238
sVcontacted
p2592
I11
sVturkish
p2593
I14
sVconcerned
p2594
I158
sVyoung
p2595
I21
sVsend
p2596
I80
sVintensive
p2597
I18
sVhelps
p2598
I28
sVvisitor
p2599
I22
sVfatal
p2600
I14
sVresources
p2601
I105
sVbrigade
p2602
I12
sVjurisdiction
p2603
I19
sVgarden
p2604
I108
sVcontinues
p2605
I40
sVgrid
p2606
I11
sVputting
p2607
I76
sVspecific
p2608
I113
sVsurgeon
p2609
I11
sVcontinued
p2610
I21
sVminerals
p2611
I11
sVcategories
p2612
I34
sVarrange
p2613
I23
sVentire
p2614
I48
sVmagic
p2615
I15
sVtransmission
p2616
I15
sVmarry
p2617
I27
sVshock
p2618
I42
sVfewer
p2619
I31
sVanxious
p2620
I31
sVthis
p2621
I4623
sVrace
p2622
I74
sVride
p2623
I17
sVclients
p2624
I49
sVulster
p2625
I24
sVcrop
p2626
I15
sVmaintain
p2627
I54
sVrecruitment
p2628
I16
sVimply
p2629
I15
sVvideo
p2630
I65
sVuncomfortable
p2631
I14
sVsubtle
p2632
I18
sVincidentally
p2633
I11
sVodd
p2634
I45
sVdepression
p2635
I23
sVindex
p2636
I45
sVsuppliers
p2637
I18
sVdirective
p2638
I17
sVchicago
p2639
I11
sVgiving
p2640
I125
sVpipes
p2641
I12
sVexpressed
p2642
I69
sVpractices
p2643
I45
sVaccess
p2644
I100
sVconsistently
p2645
I16
sVindian
p2646
I38
sVtwins
p2647
I11
sVfirms
p2648
I75
sVbird
p2649
I36
sVexercise
p2650
I24
sVthin
p2651
I51
sVbody
p2652
I255
sVjustification
p2653
I18
sVled
p2654
I154
sVlee
p2655
I36
sVleg
p2656
I53
sVrespectively
p2657
I32
sVgathered
p2658
I26
sVjointly
p2659
I11
sVhighly
p2660
I91
sVdressed
p2661
I37
sVobjects
p2662
I45
sVpoverty
p2663
I31
sVsink
p2664
I11
sVlicence
p2665
I36
sVothers
p2666
I282
sVconsideration
p2667
I54
sVinvented
p2668
I12
sVfifteen
p2669
I54
sVimplicit
p2670
I12
sVextreme
p2671
I33
sV39
p2672
I13
sV38
p2673
I15
sVtalent
p2674
I21
sV33
p2675
I17
sV32
p2676
I20
sV31
p2677
I51
sV30
p2678
I114
sV37
p2679
I14
sV36
p2680
I17
sV35
p2681
I25
sV34
p2682
I15
sVsurvey
p2683
I79
sVdefeat
p2684
I30
sVopinion
p2685
I75
sVresidents
p2686
I35
sVmakes
p2687
I166
sVmaker
p2688
I10
sVinvolves
p2689
I41
sVcomposed
p2690
I20
sVnamed
p2691
I44
sVprivate
p2692
I173
sVnames
p2693
I76
sVscandal
p2694
I15
sVtools
p2695
I32
sVcausal
p2696
I12
sVstanding
p2697
I28
sVconfidence
p2698
I70
sVexciting
p2699
I33
sVcertificate
p2700
I29
sVillegal
p2701
I24
sVbush
p2702
I29
sVnext
p2703
I30
sVeleven
p2704
I38
sVdoubt
p2705
I21
sVbutler
p2706
I10
sVthemselves
p2707
I237
sVloch
p2708
I13
sVdefendant
p2709
I33
sVjudged
p2710
I17
sVpencil
p2711
I12
sVcomparison
p2712
I33
sVachieve
p2713
I68
sVoccurred
p2714
I55
sVtrail
p2715
I12
sVcarrying
p2716
I56
sVprizes
p2717
I11
sVashamed
p2718
I11
sVbaby
p2719
I91
sVcentral
p2720
I193
sViii
p2721
I50
sVcharity
p2722
I35
sVcustomer
p2723
I47
sVaccount
p2724
I24
sVballs
p2725
I15
sVanimals
p2726
I86
sVace
p2727
I11
sVtunnel
p2728
I24
sVgabriel
p2729
I13
sVchallenge
p2730
I16
sVstations
p2731
I37
sVpour
p2732
I11
sVobvious
p2733
I85
sVpublications
p2734
I20
sVpraise
p2735
I12
sVindustrial
p2736
I116
sVtrevor
p2737
I12
sVclosing
p2738
I14
sVgrin
p2739
I11
sVcoffin
p2740
I14
sVborrowed
p2741
I10
sVslid
p2742
I16
sVreserved
p2743
I11
sVbent
p2744
I21
sVe.g.
p2745
I49
sVprocess
p2746
I11
sVlock
p2747
I15
sVproportions
p2748
I15
sVslim
p2749
I12
sVrode
p2750
I11
sVpurposes
p2751
I58
sVpieces
p2752
I56
sVhigh
p2753
I11
sVeffectively
p2754
I51
sVreserves
p2755
I20
sVslip
p2756
I14
sVbones
p2757
I23
sVreynolds
p2758
I11
sVcontempt
p2759
I13
sVnative
p2760
I24
sVlamb
p2761
I10
sVeducational
p2762
I59
sVvaried
p2763
I13
sVdemocracy
p2764
I42
sVboxing
p2765
I12
sVhampshire
p2766
I12
sVdelay
p2767
I23
sVlamp
p2768
I14
sVwinners
p2769
I20
sVpair
p2770
I60
sVforest
p2771
I70
sVanimal
p2772
I67
sVcomedy
p2773
I14
sVestablishment
p2774
I40
sVstock
p2775
I76
sVprofile
p2776
I23
sVbuildings
p2777
I66
sVblocks
p2778
I21
sVwaters
p2779
I22
sVphilosophy
p2780
I35
sVtied
p2781
I25
sVbothered
p2782
I15
sVpigs
p2783
I12
sVpreferred
p2784
I11
sVties
p2785
I13
sVsolidarity
p2786
I11
sVefficiently
p2787
I11
sVrealized
p2788
I31
sVcounter
p2789
I17
sVlines
p2790
I102
sVredundant
p2791
I12
sVelement
p2792
I56
sVchief
p2793
I38
sVlose
p2794
I65
sVallow
p2795
I115
sVfurious
p2796
I13
sVsubsequently
p2797
I37
sVvolunteers
p2798
I19
sVcounted
p2799
I13
sVha
p2800
I30
sVevolutionary
p2801
I11
sVproducer
p2802
I18
sVproduces
p2803
I25
sVinstitutional
p2804
I20
sVmove
p2805
I68
sVoutlook
p2806
I12
sVdoubtful
p2807
I13
sVproduced
p2808
I129
sVagricultural
p2809
I41
sVarrangement
p2810
I33
sVbunch
p2811
I12
sVperfect
p2812
I56
sVregions
p2813
I42
sVle
p2814
I11
sVla
p2815
I19
sVchosen
p2816
I11
sVvaries
p2817
I13
sVacres
p2818
I16
sVmeantime
p2819
I14
sVwilling
p2820
I39
sVdegrees
p2821
I31
sVinstruments
p2822
I29
sVcriminal
p2823
I44
sVdad
p2824
I73
sVdesigns
p2825
I28
sVmechanisms
p2826
I20
sVgreater
p2827
I141
sVoutlined
p2828
I20
sVspell
p2829
I13
sVnewman
p2830
I10
sVdock
p2831
I12
sVcutting
p2832
I10
sVkiss
p2833
I12
sVcage
p2834
I10
sVrealize
p2835
I22
sVpresidential
p2836
I21
sVapplicants
p2837
I12
sVpersonally
p2838
I27
sVelite*
p2839
I12
sVintelligent
p2840
I19
sVtraced
p2841
I10
sVidentified
p2842
I62
sVsufficiently
p2843
I26
sVdelightful
p2844
I11
sVbetty
p2845
I13
sVtruth
p2846
I83
sVshortage
p2847
I15
sVcouncillors
p2848
I20
sVbeneath
p2849
I48
sVglasses
p2850
I25
sVshower
p2851
I15
sVdoing
p2852
I279
sVstrip
p2853
I16
sVsociety
p2854
I238
sVbooks
p2855
I131
sVstatic
p2856
I12
sVthirteen
p2857
I22
sVprogrammes
p2858
I65
sVsexual
p2859
I69
sVwitness
p2860
I18
sVmatrix
p2861
I14
sV'
p2862
I479
sVdismissal
p2863
I15
sVwholly
p2864
I22
sVmate
p2865
I17
sVlecture
p2866
I17
sVelectronics
p2867
I15
sVintervention
p2868
I32
sVref
p2869
I39
sVred
p2870
I23
sVshut
p2871
I47
sVapproached
p2872
I29
sVinteractions
p2873
I11
sVfrank
p2874
I37
sVfourteen
p2875
I27
sVban
p2876
I24
sVapproaches
p2877
I26
sVsurely
p2878
I63
sVcollection
p2879
I78
sVthrust
p2880
I12
sVlikelihood
p2881
I12
sVdefining
p2882
I10
sVbackwards
p2883
I18
sVmainland
p2884
I11
sVq.v.
p2885
I23
sVcould
p2886
I1683
sVarea
p2887
I351
sVput
p2888
I596
sVnew nop-
p2889
I106
sVdavid
p2890
I157
sVlength
p2891
I72
sVallied
p2892
I14
sVqualification
p2893
I13
sVremoving
p2894
I14
sVdavis
p2895
I14
sVretain
p2896
I25
sVretail
p2897
I20
sVfacilitate
p2898
I10
sVstimulate
p2899
I10
sVsouth
p2900
I165
sVfinest
p2901
I18
sVblown
p2902
I12
sVthird
p2903
I211
sV2,000
p2904
I13
sVscene
p2905
I68
sVowned
p2906
I36
sVjesus
p2907
I55
sVembarrassed
p2908
I13
sVimprovements
p2909
I24
sVowner
p2910
I50
sVhave*
p2911
I4735
sVreliable
p2912
I22
sVlegislative
p2913
I19
sVexplain
p2914
I79
sVancient
p2915
I50
sVsadly
p2916
I19
sVfascinating
p2917
I17
sVstart
p2918
I85
sVfestival
p2919
I31
sVdemonstration
p2920
I19
sVsystem
p2921
I447
sVintermediate
p2922
I13
sVsergeant
p2923
I26
sVtravelled
p2924
I22
sVpainful
p2925
I19
sVinterests
p2926
I104
sVenforcement
p2927
I13
sVstomach
p2928
I30
sVgear
p2929
I19
sVcompleted
p2930
I55
sVacquire
p2931
I20
sVlamont
p2932
I12
sVenvironmental
p2933
I84
sVdeeply
p2934
I37
sVdecisive
p2935
I12
sVsteel
p2936
I37
sVloved
p2937
I46
sVcolleagues
p2938
I56
sVsplit
p2939
I25
sVbother
p2940
I22
sVroberts
p2941
I15
sVsweden
p2942
I17
sVreproduction
p2943
I11
sVlover
p2944
I18
sVvisited
p2945
I43
sVabolished
p2946
I11
sVsteep
p2947
I16
sVcollecting
p2948
I15
sVimaginative
p2949
I10
sVfalse
p2950
I36
sVpartnership
p2951
I35
sVgently
p2952
I40
sVcomfortable
p2953
I40
sVtonight
p2954
I69
sVgentle
p2955
I29
sVunlikely
p2956
I56
sVmiserable
p2957
I12
sVthroat
p2958
I32
sVapparently
p2959
I78
sVclearly
p2960
I153
sVviewed
p2961
I21
sVdocuments
p2962
I44
sVdishes
p2963
I14
sVstudying
p2964
I24
sVgravity
p2965
I12
sVparks
p2966
I14
sVmix
p2967
I12
sVconcerns
p2968
I13
sVprovoked
p2969
I11
sVlinda
p2970
I12
sVkorean
p2971
I12
sVsubject
p2972
I51
sVlily
p2973
I14
sVcompetence
p2974
I15
sVaccuracy
p2975
I17
sVworldwide
p2976
I10
sVbrazil
p2977
I17
sVunless
p2978
I110
sVmanor
p2979
I13
sVshaped
p2980
I11
sVcourtesy
p2981
I11
sVsaid
p2982
I2087
sVeight
p2983
I173
sVpreliminary
p2984
I18
sVdevice
p2985
I29
sVdraws
p2986
I11
sVstriker
p2987
I13
sVmedal
p2988
I11
sVpayment
p2989
I54
sVso-called
p2990
I27
sVlined
p2991
I12
sVenthusiastic
p2992
I14
sVinappropriate
p2993
I13
sVclive
p2994
I10
sVdisease
p2995
I89
sVface
p2996
I67
sV1,000
p2997
I19
sVmechanical
p2998
I20
sVoccasion
p2999
I53
sVpainting
p3000
I38
sVfact
p3001
I374
sVatmosphere
p3002
I49
sVselection
p3003
I60
sVtext
p3004
I77
sVcharles
p3005
I91
sVless than*
p3006
I40
sVbring
p3007
I154
sVmanchester
p3008
I50
sVlloyd
p3009
I23
sVbedroom
p3010
I44
sVportfolio
p3011
I16
sVrough
p3012
I34
sVmice
p3013
I10
sVdecade
p3014
I37
sVstaff
p3015
I226
sVpause
p3016
I16
sVgrabbed
p3017
I15
sVknowledge
p3018
I146
sVcomfort
p3019
I26
sVjaw
p3020
I11
sVcontrols
p3021
I11
sVshould
p3022
I1112
sVbernard
p3023
I21
sVplanted
p3024
I14
sVtape
p3025
I46
sVmolecules
p3026
I15
sVriding
p3027
I17
sVcommunist
p3028
I42
sVhope
p3029
I55
sVequilibrium
p3030
I17
sVmeant
p3031
I113
sVinsight
p3032
I14
sVadvisory
p3033
I16
sVlistened
p3034
I24
sVexceptional
p3035
I17
sVbeat
p3036
I11
sVfamiliar
p3037
I57
sVczechoslovakia
p3038
I11
sVlucky
p3039
I41
sVbear
p3040
I12
sVdivisions
p3041
I22
sVbeam
p3042
I11
sVexchanges
p3043
I11
sVrichards
p3044
I11
sVsorts
p3045
I30
sVareas
p3046
I234
sVsymbols
p3047
I13
sVcommittees
p3048
I27
sVorgan
p3049
I13
sVoffences
p3050
I24
sVdenmark
p3051
I13
sVrage
p3052
I12
sVcomprising
p3053
I11
sVtaxes
p3054
I28
sVcalling
p3055
I41
sVreid
p3056
I10
sVstuff
p3057
I69
sVpainter
p3058
I12
sVfixed
p3059
I28
sVgibson
p3060
I10
sVstrengthened
p3061
I10
sVtemporarily
p3062
I13
sVexists
p3063
I32
sVframe
p3064
I32
sVpacket
p3065
I12
sVedition
p3066
I25
sVintensity
p3067
I16
sVenhanced
p3068
I11
sVgreece
p3069
I17
sVdiscretion
p3070
I19
sVpacked
p3071
I18
sVphases
p3072
I10
sVwire
p3073
I22
sVreform
p3074
I54
sVnuclear
p3075
I81
sVralph
p3076
I12
sVdifficulties
p3077
I68
sVroutine
p3078
I29
sVprogress
p3079
I76
sVboundary
p3080
I20
sVemissions
p3081
I15
sVindustries
p3082
I43
sVends
p3083
I15
sVdeliver
p3084
I22
sVhistorians
p3085
I16
sVconfiguration
p3086
I10
sVstaring
p3087
I29
sVrestrictions
p3088
I27
sVsharply
p3089
I25
sVjoke
p3090
I21
sVinvited
p3091
I42
sVequal
p3092
I61
sVdrug
p3093
I50
sVtrips
p3094
I11
sVetc
p3095
I50
sVdoorway
p3096
I17
sVfigures
p3097
I112
sVbristol
p3098
I29
sVpassing
p3099
I12
sVheart
p3100
I137
sVglorious
p3101
I11
sVotherwise
p3102
I88
sVcomment
p3103
I19
sVadjusted
p3104
I11
sVrelevant
p3105
I79
sVcm
p3106
I21
sVconclude
p3107
I15
sVmalcolm
p3108
I18
sVcd
p3109
I10
sVlaugh
p3110
I17
sVcousin
p3111
I18
sVallocated
p3112
I17
sVwinning
p3113
I31
sVearning
p3114
I12
sVdebt
p3115
I54
sVvideos
p3116
I11
sVmidland
p3117
I15
sVtremendous
p3118
I20
sVcopies
p3119
I35
sVgenetic
p3120
I18
sVgaze
p3121
I21
sViran
p3122
I20
sVah
p3123
I99
sVindicators
p3124
I11
sVcurtain
p3125
I14
sVproposal
p3126
I42
sVwaste
p3127
I14
sVdefine
p3128
I24
sVsuggested
p3129
I106
sVarises
p3130
I18
sVc.
p3131
I22
sVessentially
p3132
I36
sVneighbour
p3133
I18
sVpensioners
p3134
I14
sVfinished
p3135
I79
sVdeep
p3136
I27
sVangles
p3137
I13
sVgraphics
p3138
I20
sVassessments
p3139
I11
sVan
p3140
I3430
sVspain
p3141
I45
sVhomes
p3142
I61
sVholiday
p3143
I76
sVcouple
p3144
I123
sVimagination
p3145
I27
sVplain
p3146
I11
sVappearance
p3147
I54
sVexamine
p3148
I37
sVvalue
p3149
I175
sVpromoted
p3150
I16
sVuncertainty
p3151
I22
sValmost
p3152
I316
sVwalks
p3153
I12
sVsurprisingly
p3154
I26
sVhardware
p3155
I21
sVarrangements
p3156
I58
sVagainst
p3157
I562
sVlifetime
p3158
I18
sVclaimed
p3159
I83
sVjunction
p3160
I18
sVinspector
p3161
I29
sVsits
p3162
I12
sVproductivity
p3163
I20
sVof*
p3164
I17
sVadministration
p3165
I66
sVhighlighted
p3166
I11
sVmatthew
p3167
I26
sVfill
p3168
I39
sVpaula
p3169
I11
sVinjured
p3170
I11
sVball
p3171
I74
sVnovels
p3172
I13
sVend nop-
p3173
I12
sVdrink
p3174
I32
sVupon
p3175
I234
sVv.
p3176
I54
sVforehead
p3177
I13
sVdust
p3178
I26
sVjudgment
p3179
I33
sVscholars
p3180
I11
sVexpand
p3181
I18
sVaudit
p3182
I22
sVpriest
p3183
I21
sVoff
p3184
I214
sVmention
p3185
I16
sVnevertheless
p3186
I72
sVconfronted
p3187
I12
sVcolour
p3188
I111
sVthought
p3189
I95
sVpatterns
p3190
I58
sVcommand
p3191
I34
sVsets
p3192
I22
sVcomparisons
p3193
I13
sVmuscle
p3194
I18
sVarising
p3195
I22
sVdrawing
p3196
I25
sVlatest
p3197
I65
sVstores
p3198
I23
sVnegligence
p3199
I13
sVcoins
p3200
I14
sVflesh
p3201
I25
sVmoments
p3202
I32
sVexecutive
p3203
I78
sVdomestic
p3204
I69
sVgoing*
p3205
I658
sVclinic
p3206
I15
sVunderlying
p3207
I22
sVrooms
p3208
I55
sVseats
p3209
I47
sVprotecting
p3210
I12
sVpaul
p3211
I114
sVgenerous
p3212
I23
sVwee
p3213
I12
sVfield
p3214
I143
sVresidential
p3215
I29
sVengage
p3216
I12
sVregulatory
p3217
I12
sVlake
p3218
I39
sVday
p3219
I12
sVarrest
p3220
I16
sVadd
p3221
I82
sVcombine
p3222
I16
sVwet
p3223
I36
sVpractise
p3224
I12
sVought
p3225
I61
sVresolved
p3226
I21
sVtests
p3227
I50
sVincreased
p3228
I57
sVarticles
p3229
I29
sVchecking
p3230
I16
sVchancellor
p3231
I37
sVfebruary
p3232
I84
sVincreases
p3233
I20
sVfive
p3234
I407
sVdesk
p3235
I45
sVbelgium
p3236
I14
sVles*
p3237
I13
sVmhm
p3238
I75
sVemma
p3239
I15
sVlike
p3240
I16
sVsuccess
p3241
I134
sVchairs
p3242
I20
sVsofa
p3243
I10
sVtons
p3244
I12
sVadmitted
p3245
I56
sVozone
p3246
I13
sVgarage
p3247
I21
sVjournalist
p3248
I14
sVwarned
p3249
I40
sVbecome
p3250
I304
sVworks
p3251
I63
sVsoft
p3252
I61
sVreplacement
p3253
I26
sVamendment
p3254
I18
sVgaining
p3255
I12
sVclassical
p3256
I33
sVauthority
p3257
I183
sVhair
p3258
I144
sVtony
p3259
I50
sVsunderland
p3260
I14
sVmiss*
p3261
I91
sVconvey
p3262
I12
sVrecommendation
p3263
I14
sVproper
p3264
I65
sVfaint
p3265
I15
sVrecognition
p3266
I58
sVhappens
p3267
I58
sVvocabulary
p3268
I12
sVliterally
p3269
I20
sVavoid
p3270
I80
sVmorris
p3271
I18
sVshelter
p3272
I14
sVdoes
p3273
I687
sVpassion
p3274
I23
sVassuming
p3275
I19
sVchains
p3276
I13
sVmode
p3277
I27
sVdeciding
p3278
I19
sVbiology
p3279
I11
sVblowing
p3280
I10
sVproud
p3281
I32
sVschedule
p3282
I24
sVpressure
p3283
I119
sVhost
p3284
I27
sValthough
p3285
I436
sVaccompanied
p3286
I33
sVsnapped
p3287
I19
sVloans
p3288
I27
sVtrials
p3289
I21
sVcounties
p3290
I16
sVstage
p3291
I162
sVgained
p3292
I37
sVsister
p3293
I75
sVlifestyle
p3294
I11
sVputs
p3295
I29
sVshaking
p3296
I18
sVwithdrew
p3297
I10
sVbasis
p3298
I145
sVholdings
p3299
I12
sVseeds
p3300
I16
sVinsufficient
p3301
I13
sVconstraints
p3302
I19
sVsoftware
p3303
I94
sValliance
p3304
I31
sVletters
p3305
I79
sVrecognise
p3306
I36
sVcatherine
p3307
I16
sVcommitment
p3308
I57
sVthree
p3309
I797
sVassess
p3310
I27
sVchronic
p3311
I17
sVguard
p3312
I25
sVfemale
p3313
I21
sVjoyce
p3314
I13
sVroads
p3315
I39
sVmere
p3316
I34
sV1986
p3317
I79
sV1987
p3318
I85
sV1984
p3319
I58
sVprocessor
p3320
I15
sVridge
p3321
I13
sV1983
p3322
I57
sV1980
p3323
I52
sV1981
p3324
I56
sVhousing
p3325
I28
sVoutline
p3326
I14
sVspots
p3327
I12
sVawarded
p3328
I25
sVrecognised
p3329
I43
sVfrustration
p3330
I14
sVbiggest
p3331
I46
sVspecimens
p3332
I15
sVnaturally
p3333
I43
sVfunction
p3334
I78
sVfiscal
p3335
I13
sVbuy
p3336
I124
sVbus
p3337
I54
sVbrand
p3338
I13
sVnt
p3339
I14
sVpreparations
p3340
I10
sVdelivery
p3341
I36
sVrepeated
p3342
I32
sVconstruction
p3343
I63
sVconservative*
p3344
I64
sVvaluation
p3345
I11
sVentered
p3346
I59
sVpartially
p3347
I13
sVcount
p3348
I21
sVwise
p3349
I20
sVglory
p3350
I17
sVdangerous
p3351
I58
sVofficial
p3352
I21
sVsmooth
p3353
I28
sVexcitement
p3354
I26
sVplaced
p3355
I86
sVfrequency
p3356
I28
sVonwards
p3357
I14
sVfetch
p3358
I12
sVdistribution
p3359
I63
sVminutes
p3360
I183
sVbearing
p3361
I22
sVirish
p3362
I59
sVrabbits
p3363
I10
sVdeaths
p3364
I25
sVnurses
p3365
I25
sVrecognize
p3366
I21
sVcontribute
p3367
I27
sVpie
p3368
I12
sVpig
p3369
I13
sVinn
p3370
I15
sVperiods
p3371
I40
sVour
p3372
I950
sVcommentators
p3373
I10
sVshooting
p3374
I11
sVpit
p3375
I17
sVproceeds
p3376
I11
sVinc
p3377
I57
sVcompared
p3378
I88
sVpicked
p3379
I63
sV48
p3380
I15
sVvariety
p3381
I87
sV46
p3382
I11
sVcorporation
p3383
I35
sV44
p3384
I12
sV45
p3385
I22
sVclaiming
p3386
I22
sVforests
p3387
I20
sV40
p3388
I57
sV41
p3389
I12
sVdetails
p3390
I117
sVnelson
p3391
I10
sVrepeat
p3392
I27
sVmonday
p3393
I53
sVvariation
p3394
I27
sVbladder
p3395
I10
sVchance
p3396
I130
sVcheque
p3397
I20
sVchristians
p3398
I16
sVexposure
p3399
I23
sVghost
p3400
I14
sVmozart
p3401
I12
sVoral
p3402
I21
sVbaker
p3403
I20
sVlasted
p3404
I14
sVrule
p3405
I12
sVlift
p3406
I19
sVcompete
p3407
I19
sVpension
p3408
I45
sVsearched
p3409
I11
sVrural
p3410
I63
sVaccidents
p3411
I20
sVgardens
p3412
I37
sVlimited
p3413
I40
sVmagnetic
p3414
I15
sVcomparatively
p3415
I12
sVdesirable
p3416
I21
sVfacilities
p3417
I75
sVnursery
p3418
I18
sVsleep
p3419
I37
sVcontroversial
p3420
I21
sVclimb
p3421
I16
sVoldest
p3422
I15
sVintegrity
p3423
I15
sVforget
p3424
I62
sVrelationships
p3425
I60
sVvotes
p3426
I31
sVfeeding
p3427
I18
sVpointing
p3428
I22
sVparis
p3429
I61
sVneighbours
p3430
I31
sVbike
p3431
I18
sVvoted
p3432
I23
sVunder
p3433
I56
sVpride
p3434
I27
sVworth
p3435
I21
sVmerchant
p3436
I18
sVrisk
p3437
I15
sVblanket
p3438
I11
sVrise
p3439
I34
sVinvisible
p3440
I13
sVevery
p3441
I401
sVjack
p3442
I57
sVencounter
p3443
I10
sVchapel
p3444
I20
sVtickets
p3445
I26
sVbelieved
p3446
I82
sVdoubts
p3447
I20
sVcause
p3448
I58
sVvenue
p3449
I12
sVannounced
p3450
I105
sVswallowed
p3451
I13
sVharriet
p3452
I17
sVtriumph
p3453
I17
sVenjoy
p3454
I66
sVkilometres
p3455
I11
sVleaders
p3456
I72
sVdisciplines
p3457
I11
sVconsistent
p3458
I31
sVinvariably
p3459
I16
sVestimates
p3460
I19
sVdirect
p3461
I13
sVsurrounding
p3462
I14
sVstreet
p3463
I194
sVestimated
p3464
I17
sVphoned
p3465
I13
sVblue
p3466
I12
sVestablished
p3467
I20
sVsettlement
p3468
I46
sVhide
p3469
I23
sVchrist
p3470
I47
sVorganisms
p3471
I10
sVugly
p3472
I14
sVreligious
p3473
I66
sVspecification
p3474
I13
sVselected
p3475
I14
sVsupplied
p3476
I33
sVchildren
p3477
I466
sVreconstruction
p3478
I11
sVconduct
p3479
I12
sVsupplier
p3480
I14
sVsupplies
p3481
I25
sVemily
p3482
I20
sVofficially
p3483
I18
sVconsisting
p3484
I13
sVseeks
p3485
I15
sVtold
p3486
I372
sVkicked
p3487
I16
sVsimultaneously
p3488
I18
sVstared
p3489
I46
sVhundreds
p3490
I40
sVprotection
p3491
I80
sVstudio
p3492
I76
sVpursuit
p3493
I13
sVrepresented
p3494
I54
sVpath
p3495
I62
sVgrinned
p3496
I18
sVcelebration
p3497
I12
sVobtained
p3498
I63
sVproperty
p3499
I125
sVdaughter
p3500
I94
sVforum
p3501
I18
sVauction
p3502
I13
sVitems
p3503
I67
sVemployees
p3504
I58
sVchanged
p3505
I109
sVmuseums
p3506
I14
sVanalysts
p3507
I11
sVabolition
p3508
I12
sVstressed
p3509
I22
sVchanges
p3510
I183
sVpunishment
p3511
I23
sVdiameter
p3512
I13
sVprints
p3513
I12
sVsecure
p3514
I18
sVstraw
p3515
I14
sVjulie
p3516
I14
sVangrily
p3517
I11
sVjulia
p3518
I15
sVerected
p3519
I10
sVpatience
p3520
I12
sVmiddlesbrough
p3521
I36
sVopportunities
p3522
I58
sVglance
p3523
I23
sVtotal
p3524
I51
sVsarah
p3525
I35
sVplot
p3526
I18
sVold-fashioned
p3527
I12
sVwould
p3528
I2551
sVpalestinian
p3529
I10
sVhospital
p3530
I151
sVindians
p3531
I12
sVnegative
p3532
I45
sV1930s
p3533
I17
sVasset
p3534
I20
sVshed
p3535
I12
sVassessment
p3536
I67
sVlorry
p3537
I13
sVhollywood
p3538
I16
sVseparated
p3539
I21
sVremark
p3540
I12
sVisabel
p3541
I13
sVreign
p3542
I18
sVaware
p3543
I108
sVgrief
p3544
I14
sVphone
p3545
I14
sVchampionships
p3546
I15
sVexcellent
p3547
I67
sVyard
p3548
I33
sVmust
p3549
I723
sVme
p3550
I1364
sV1990
p3551
I150
sV1993
p3552
I57
sV1992
p3553
I102
sVjoin
p3554
I74
sV1994
p3555
I16
sVshame
p3556
I19
sVmm
p3557
I17
sVml
p3558
I11
sVwork
p3559
I260
sVrefusing
p3560
I14
sVworn
p3561
I19
sVtheories
p3562
I37
sVmp
p3563
I32
sVms
p3564
I17
sVmr
p3565
I524
sVelbow
p3566
I11
sVerm
p3567
I627
sVappraisal
p3568
I11
sVshook
p3569
I53
sVindicated
p3570
I44
sVcited
p3571
I14
sVflung
p3572
I11
sVindia
p3573
I47
sVindicates
p3574
I23
sVwoman
p3575
I232
sVharold
p3576
I12
sVpremium
p3577
I12
sVchapman
p3578
I11
sVattract
p3579
I25
sVguarantee
p3580
I14
sVceremony
p3581
I18
sVend
p3582
I55
sVrecovery
p3583
I38
sVkeen
p3584
I37
sVinhabitants
p3585
I15
sVie
p3586
I15
sVreturning
p3587
I33
sVvery
p3588
I65
sVwriters
p3589
I36
sVadjacent
p3590
I11
sVboats
p3591
I20
sVgate
p3592
I35
sVordinary
p3593
I68
sVresignation
p3594
I22
sVbadly
p3595
I43
sVfever
p3596
I11
sVdescription
p3597
I51
sVmess
p3598
I20
sVladder
p3599
I13
sVearlier
p3600
I70
sVmemorial
p3601
I15
sVdemanding
p3602
I18
sVcustoms
p3603
I23
sVbarriers
p3604
I15
sVlay
p3605
I92
sVmidlands
p3606
I17
sVlaw
p3607
I270
sVmeaningful
p3608
I10
sVparallel
p3609
I11
sVsuspected
p3610
I16
sVsplendid
p3611
I17
sVamid
p3612
I11
sVacknowledged
p3613
I19
sVgreek
p3614
I29
sVcomplexity
p3615
I17
sVdavies
p3616
I21
sVultimate
p3617
I25
sVparish
p3618
I39
sVfan
p3619
I15
sVorder
p3620
I18
sVexecuted
p3621
I13
sVinterpretation
p3622
I43
sVoffice
p3623
I257
sVconsent
p3624
I32
sVover
p3625
I18
sVsatisfied
p3626
I31
sVlondon
p3627
I351
sVoven
p3628
I13
sVinnovative
p3629
I10
sVhereford
p3630
I11
sVmayor
p3631
I21
sVexchange
p3632
I82
sVsciences
p3633
I21
sVimf
p3634
I11
sVsomewhere
p3635
I70
sVexpectations
p3636
I33
sVwriting
p3637
I53
sVdestroyed
p3638
I31
sVproduction
p3639
I156
sV400
p3640
I17
sVharmony
p3641
I12
sVeventually
p3642
I91
sVcoffee
p3643
I67
sVaffected
p3644
I54
sVtourist
p3645
I20
sVprevented
p3646
I19
sVsafe
p3647
I66
sVbreak
p3648
I36
sVband
p3649
I67
sVreaches
p3650
I12
sVthey
p3651
I4332
sVwashing
p3652
I11
sVstrategic
p3653
I30
sVtourism
p3654
I15
sVbank
p3655
I168
sVbread
p3656
I38
sVshadows
p3657
I15
sVnetherlands
p3658
I15
sValex
p3659
I19
sVbosnia
p3660
I10
sVpotatoes
p3661
I16
sVreasonably
p3662
I31
sVclassified
p3663
I10
sVrocks
p3664
I29
sVchoir
p3665
I10
sVfilling
p3666
I15
sVvictory
p3667
I56
sVreasonable
p3668
I61
sVeach
p3669
I508
sVentitled
p3670
I23
sVlifted
p3671
I38
sVschemes
p3672
I51
sVmeets
p3673
I14
sVdiana
p3674
I23
sVtrain
p3675
I16
sVcrimes
p3676
I18
sVapplicable
p3677
I14
sVdefences
p3678
I11
sVward
p3679
I15
sVsaturday
p3680
I83
sVt.
p3681
I12
sVprecisely
p3682
I35
sVnetwork
p3683
I72
sVdriving
p3684
I13
sVgod
p3685
I36
sVcameras
p3686
I12
sVdiesel
p3687
I13
sVforty
p3688
I66
sVvessels
p3689
I15
sVlaid
p3690
I59
sVdaniel
p3691
I15
sVwrite
p3692
I109
sVmedicine
p3693
I28
sVgot
p3694
I932
sVnewly
p3695
I27
sVtwenty-five
p3696
I12
sVforth
p3697
I13
sVindependence
p3698
I45
sVprovide
p3699
I223
sVbarrier
p3700
I16
sVhang
p3701
I31
sVfree
p3702
I10
sVfred
p3703
I21
sVcampaigns
p3704
I14
sVgaulle
p3705
I10
sVappointments
p3706
I15
sVdisputes
p3707
I14
sVformation
p3708
I40
sVevil
p3709
I13
sVwanted
p3710
I234
sVwidespread
p3711
I32
sVlothian
p3712
I11
sVcreated
p3713
I85
sVdays
p3714
I331
sVpriorities
p3715
I20
sVeconomically
p3716
I10
sVpence
p3717
I13
sVcanterbury
p3718
I12
sVincorporated
p3719
I19
sVunknown
p3720
I43
sVonto
p3721
I62
sVgloucester
p3722
I32
sVrang
p3723
I27
sVappeals
p3724
I15
sVkim
p3725
I13
sVresearcher
p3726
I11
sVi.
p3727
I11
sVprimary
p3728
I86
sVrank
p3729
I18
sVhearing
p3730
I23
sVrestrict
p3731
I11
sVfantasy
p3732
I13
sVphilosophical
p3733
I13
sVadopted
p3734
I51
sVanother
p3735
I581
sVtel
p3736
I12
sVthick
p3737
I46
sVelectronic
p3738
I34
sVillustrate
p3739
I16
sVagriculture
p3740
I39
sVfence
p3741
I17
sVrevival
p3742
I12
sVguinness
p3743
I13
sVtop
p3744
I112
sVneck
p3745
I56
sVapproximately
p3746
I28
sVfiction
p3747
I20
sVcalifornia
p3748
I22
sVtoo
p3749
I701
sVtom
p3750
I55
sVpercentage
p3751
I28
sVfarming
p3752
I22
sVdogs
p3753
I44
sVurban
p3754
I54
sVceiling
p3755
I23
sVmurder
p3756
I54
sVhappily
p3757
I18
sVtool
p3758
I22
sVserve
p3759
I53
sVtook
p3760
I391
sVrejected
p3761
I39
sVsolicitor
p3762
I32
sVguidelines
p3763
I23
sVwestern
p3764
I99
sVwasted
p3765
I10
sVkept
p3766
I143
sVmusical
p3767
I29
sVcolitis
p3768
I10
sVmercy
p3769
I11
sVtarget
p3770
I65
sVroles
p3771
I28
sVscenes
p3772
I21
sVtourists
p3773
I15
sVclasses
p3774
I61
sVflame
p3775
I11
sVcabin
p3776
I11
sViron
p3777
I45
sVbudget
p3778
I82
sVsolely
p3779
I17
sVminus
p3780
I13
sVperspective
p3781
I31
sVraf
p3782
I19
sVbridge
p3783
I58
sVfashion
p3784
I45
sVran
p3785
I87
sVreturn
p3786
I78
sVtalking
p3787
I128
sVrat
p3788
I11
sVmanner
p3789
I61
sV1970
p3790
I26
sVseminar
p3791
I12
sVrelatively
p3792
I79
sVforced
p3793
I74
sVstrength
p3794
I72
sVrealm
p3795
I11
sV1969
p3796
I20
sV1964
p3797
I18
sV1965
p3798
I16
sVlatter
p3799
I78
sV1967
p3800
I21
sV1960
p3801
I15
sVisolated
p3802
I12
sVthorough
p3803
I11
sVsituated
p3804
I20
sVexplanations
p3805
I17
sVrome
p3806
I34
sVderek
p3807
I20
sVforces
p3808
I114
sVlaughed
p3809
I49
sVeffectiveness
p3810
I21
sVexplanation
p3811
I47
sVcircles
p3812
I17
sVnobody
p3813
I62
sVthough
p3814
I99
sVbruce
p3815
I17
sVcentres
p3816
I52
sVwhat
p3817
I2493
sVexercised
p3818
I15
sVextending
p3819
I16
sVinvolving
p3820
I43
sVgermany
p3821
I106
sVplenty
p3822
I46
sVexercises
p3823
I16
sVassessed
p3824
I22
sVcoin
p3825
I12
sS'the'
p3826
I61847
sVgrave
p3827
I13
sVelections
p3828
I59
sVcalculated
p3829
I24
sVmetal
p3830
I46
sVtreaty
p3831
I50
sVleaflet
p3832
I12
sVaccounted
p3833
I14
sVaunt
p3834
I31
sVenterprise
p3835
I42
sVchris
p3836
I45
sVvoting
p3837
I15
sVnotion
p3838
I36
sVfitted
p3839
I33
sVreserve
p3840
I14
sVd.
p3841
I15
sVpope
p3842
I19
sVreductions
p3843
I13
sVlewis
p3844
I37
sVsan nop-
p3845
I25
sVlabels
p3846
I12
sVbrief
p3847
I47
sVradio
p3848
I87
sVsolutions
p3849
I26
sVearth
p3850
I97
sVavailability
p3851
I19
sVtraditions
p3852
I16
sVexecution
p3853
I14
sVpolitician
p3854
I11
sVjust
p3855
I14
sVpeasants
p3856
I17
sVimplementation
p3857
I28
sVsituations
p3858
I39
sVguidance
p3859
I32
sVsentence
p3860
I58
sVpursuing
p3861
I10
sVannounce
p3862
I11
sVadequate
p3863
I36
sVpersonality
p3864
I29
sVcontinuity
p3865
I13
sVdo
p3866
I2802
sVmixture
p3867
I33
sVetc.
p3868
I24
sVhostility
p3869
I14
sVwatch
p3870
I29
sVfluid
p3871
I15
sVleisure
p3872
I29
sVcriticized
p3873
I11
sVwatson
p3874
I12
sVdespite
p3875
I146
sVreport
p3876
I29
sVnasty
p3877
I18
sVdu
p3878
I12
sVdr
p3879
I112
sVtribute
p3880
I15
sVhall
p3881
I118
sVruns
p3882
I13
sVcountries
p3883
I168
sVexchanged
p3884
I10
sVpublic
p3885
I96
sVtwice
p3886
I63
sVshots
p3887
I18
sVboring
p3888
I16
sVidentify
p3889
I50
sVimplication
p3890
I13
sVsquadron
p3891
I13
sVautomatic
p3892
I23
sVsteam
p3893
I28
sVsecretary
p3894
I154
sVobserver
p3895
I17
sVhabit
p3896
I23
sVw.
p3897
I16
sVkinnock
p3898
I15
sV1960s
p3899
I30
sVresist
p3900
I20
sVdepends
p3901
I50
sVsubmitted
p3902
I22
sVcattle
p3903
I26
sVdiscussions
p3904
I31
sVdisturbing
p3905
I10
sVtechniques
p3906
I59
sVcapacity
p3907
I59
sVtemptation
p3908
I11
sVaway
p3909
I120
sVgentleman
p3910
I52
sVcompensation
p3911
I31
sVbecause*
p3912
I852
sVcontinually
p3913
I13
sVgrandmother
p3914
I14
sVmud
p3915
I19
sVcatalogue
p3916
I24
sVunable
p3917
I64
sVfinger
p3918
I32
sVcooperation
p3919
I12
sVhopefully
p3920
I19
sVmum
p3921
I86
sVdrawn
p3922
I75
sVapproach
p3923
I17
sVdiscovery
p3924
I28
sVwe
p3925
I3578
sVloose
p3926
I26
sVterms
p3927
I165
sVloves
p3928
I12
sVconfusion
p3929
I29
sVhandful
p3930
I14
sVweak
p3931
I36
sVhowever
p3932
I605
sVboss
p3933
I32
sVrivers
p3934
I20
sVwear
p3935
I43
sVtravellers
p3936
I16
sVnews
p3937
I145
sVpackages
p3938
I15
sVholds
p3939
I26
sVkitchen
p3940
I82
sVfaced
p3941
I45
sVreceived
p3942
I130
sVprotect
p3943
I51
sVaccused
p3944
I11
sVcow
p3945
I14
sVfavourable
p3946
I15
sVfault
p3947
I34
sVill
p3948
I46
sVmuseum
p3949
I68
sVplayers
p3950
I82
sVgames
p3951
I62
sVbet
p3952
I21
sVreceives
p3953
I13
sVreceiver
p3954
I16
sVrequests
p3955
I13
sVexpense
p3956
I27
sVregarded
p3957
I70
sVnegotiation
p3958
I12
sVtough
p3959
I32
sVcharacter
p3960
I86
sVexcess
p3961
I11
sVkaren
p3962
I16
sVwider
p3963
I49
sVtrust
p3964
I28
sVtelecommunications
p3965
I13
sVhitler
p3966
I17
sVspeak
p3967
I94
sVconference
p3968
I101
sVbathroom
p3969
I25
sVstrong
p3970
I160
sVengines
p3971
I19
sVcondemned
p3972
I14
sVbeen
p3973
I2686
sVquickly
p3974
I124
sVconfident
p3975
I32
sVbeer
p3976
I33
sVspread
p3977
I17
sVexpected
p3978
I21
sVflexible
p3979
I24
sVwarmth
p3980
I20
sVduties
p3981
I39
sVfamilies
p3982
I83
sVeasy
p3983
I143
sVattacked
p3984
I29
sVdrugs
p3985
I53
sVconcerning
p3986
I31
sVspeeches
p3987
I10
sVenterprises
p3988
I17
sVcoherent
p3989
I11
sVcraft
p3990
I20
sVcorruption
p3991
I14
sVcatch
p3992
I43
sVapplied
p3993
I66
sVtide
p3994
I18
sVhas
p3995
I2593
sVahead
p3996
I26
sVpublicly
p3997
I16
sVair
p3998
I189
sVaim
p3999
I14
sVreferendum
p4000
I14
sVapplies
p4001
I28
sVstopping
p4002
I16
sVaid
p4003
I78
sVpossess
p4004
I15
sVvoice
p4005
I74
sVprocedure
p4006
I58
sVmistake
p4007
I37
sVstretching
p4008
I11
sVunfortunate
p4009
I16
sVexpenses
p4010
I20
sVtissue
p4011
I21
sVexperts
p4012
I32
sVcomparative
p4013
I14
sVcontaining
p4014
I41
sVdescent
p4015
I11
sVperform
p4016
I32
sVsuggest
p4017
I89
sVwound
p4018
I11
sVbeside
p4019
I58
sVcomplex
p4020
I23
sVadvances
p4021
I12
sVplates
p4022
I23
sVseveral
p4023
I240
sVwheel
p4024
I26
sVindependent
p4025
I98
sVsatellite
p4026
I17
sVraid
p4027
I13
sVwelsh
p4028
I37
sVpick
p4029
I60
sVrail
p4030
I40
sVrain
p4031
I62
sVhand
p4032
I344
sVpubs
p4033
I13
sVproducers
p4034
I18
sVcharacters
p4035
I39
sVinsisted
p4036
I34
sVblamed
p4037
I14
sVcycle
p4038
I32
sVcentred
p4039
I13
sVshortly
p4040
I38
sVwhereby
p4041
I20
sV1979
p4042
I54
sV1978
p4043
I37
sV1977
p4044
I37
sVcharlie
p4045
I28
sVpossessed
p4046
I16
sV1974
p4047
I33
sV1973
p4048
I29
sV1972
p4049
I27
sV1971
p4050
I26
sVocean
p4051
I20
sVsavings
p4052
I31
sVclient
p4053
I61
sVgreatest
p4054
I51
sVmother
p4055
I262
sVhearts
p4056
I15
sVjean
p4057
I30
sVcamps
p4058
I11
sVspencer
p4059
I13
sVbackground
p4060
I62
sVproposed
p4061
I39
sVunemployment
p4062
I64
sVphoto
p4063
I12
sVnewton
p4064
I15
sV43
p4065
I12
sVstarting
p4066
I17
sVmid
p4067
I15
sVmechanism
p4068
I29
sVvictim
p4069
I39
sVcampbell
p4070
I16
sVadding
p4071
I32
sVhills
p4072
I31
sVphotographer
p4073
I11
sVpassive
p4074
I14
sVwright
p4075
I20
sVshout
p4076
I10
sVbelongs
p4077
I12
sVtransformed
p4078
I16
sVboard
p4079
I134
sVtechnological
p4080
I16
sVdisadvantage
p4081
I12
sVhumanity
p4082
I12
sVgave
p4083
I229
sVshoulder
p4084
I46
sVdignity
p4085
I13
sVbands
p4086
I20
sVbreaks
p4087
I11
sVsussex
p4088
I20
sVarab
p4089
I22
sVfusion
p4090
I12
sVnewcastle
p4091
I27
sVjudge
p4092
I20
sVburnt
p4093
I10
sVadvanced
p4094
I17
sVapart
p4095
I35
sVappearing
p4096
I14
sVgift
p4097
I30
sV55
p4098
I12
sVhunt
p4099
I10
sV50
p4100
I67
sVsoap
p4101
I13
sVsecurities
p4102
I19
sVoffices
p4103
I44
sVofficer
p4104
I92
sVarbitrary
p4105
I11
sVhung
p4106
I29
sVsecurity
p4107
I138
sVtowards
p4108
I286
sV1976
p4109
I36
sVlectures
p4110
I15
sVsuccessfully
p4111
I34
sVunnecessary
p4112
I19
sVborn
p4113
I82
sVclubs
p4114
I38
sVelection
p4115
I98
sVideal
p4116
I47
sVescape
p4117
I19
sVbore
p4118
I12
sV52
p4119
I10
sV1975
p4120
I34
sVici
p4121
I14
sVcooper
p4122
I12
sVpurple
p4123
I11
sVestablish
p4124
I53
sVcentre
p4125
I230
sVcomments
p4126
I41
sVeverything
p4127
I187
sVqueen
p4128
I77
sVasking
p4129
I63
sVdenied
p4130
I37
sVbeating
p4131
I15
sVchristmas
p4132
I88
sVparticipation
p4133
I27
sVcore
p4134
I34
sVdefend
p4135
I21
sVdropped
p4136
I57
sVmarketing
p4137
I49
sVcorn
p4138
I12
sVnight
p4139
I365
sVcontest
p4140
I14
sVillustration
p4141
I12
sVgraduates
p4142
I11
sVdiscount
p4143
I19
sVplc
p4144
I16
sVarchitectural
p4145
I12
sVpost
p4146
I88
sVproperties
p4147
I41
sVtakes
p4148
I118
sVtrophy
p4149
I13
sVcensus
p4150
I10
sVmore than*
p4151
I148
sVeat
p4152
I75
sVattacks
p4153
I31
sVtheirs
p4154
I10
sVnewspapers
p4155
I35
sVmonths
p4156
I248
sVdistinct
p4157
I32
sVdinner
p4158
I63
sVmisleading
p4159
I13
sVensure
p4160
I103
sVhorizon
p4161
I14
sVsteadily
p4162
I17
sVefforts
p4163
I56
sVwiped
p4164
I12
sVconsiderations
p4165
I24
sVprimitive
p4166
I17
sVaha
p4167
I26
sVdilemma
p4168
I11
sVcivic
p4169
I10
sVcivil
p4170
I87
sVpays
p4171
I15
sVprisoners
p4172
I30
sVprofession
p4173
I31
sVbound
p4174
I47
sVbath
p4175
I12
sVaccommodate
p4176
I14
sVprisoner
p4177
I17
sVworking-class
p4178
I19
sVcoastal
p4179
I14
sVformidable
p4180
I11
sVbalanced
p4181
I11
sVdean
p4182
I18
sVrounds
p4183
I12
sVstrangely
p4184
I10
sVexisted
p4185
I25
sVrely
p4186
I27
sVdeal
p4187
I67
sVsally
p4188
I15
sVlegislation
p4189
I70
sVdiseases
p4190
I18
sVclass
p4191
I181
sVstuck
p4192
I13
sVaccordingly
p4193
I23
sVclinical
p4194
I30
sVway
p4195
I958
sVcrews
p4196
I11
sVresearchers
p4197
I25
sVwas
p4198
I9236
sVwar
p4199
I279
sVsynthesis
p4200
I12
sVlowest
p4201
I17
sVhead
p4202
I13
sVwashed
p4203
I19
sVamateur
p4204
I12
sVdeaf
p4205
I27
sVbecoming
p4206
I71
sVdifferences
p4207
I78
sVpp.
p4208
I55
sVpayable
p4209
I17
sVheat
p4210
I54
sVneedles
p4211
I11
sVhear
p4212
I137
sVdead
p4213
I114
sVsolar
p4214
I13
sVsustained
p4215
I12
sVremoved
p4216
I59
sVtrue
p4217
I181
sVabsent
p4218
I15
sVthrow
p4219
I31
sVresponding
p4220
I11
sVflavour
p4221
I15
sVslope
p4222
I14
sVversions
p4223
I24
sVmaximum
p4224
I16
sVcrystal
p4225
I15
sVsides
p4226
I63
sVemotional
p4227
I36
sVheaded
p4228
I27
sVpromises
p4229
I10
sVgather
p4230
I16
sVmoore
p4231
I19
sVcomputing
p4232
I19
sVfury
p4233
I11
sVstronger
p4234
I26
sVabstract
p4235
I19
sVevidence
p4236
I215
sVguessed
p4237
I12
sVexpertise
p4238
I26
sVpromised
p4239
I39
sVprayer
p4240
I21
sVrequest
p4241
I38
sVtrip
p4242
I45
sVconstructed
p4243
I25
sVlooked
p4244
I352
sVgreater nop-
p4245
I13
sVfaithful
p4246
I10
sVdying
p4247
I11
sVno
p4248
I17
sVwhereas
p4249
I62
sVstake
p4250
I19
sVwhen
p4251
I431
sVreality
p4252
I65
sVtim
p4253
I34
sVtin
p4254
I20
sVinterested
p4255
I88
sVholding
p4256
I72
sVpapers
p4257
I64
sVtest
p4258
I28
sVtie
p4259
I10
sVunwilling
p4260
I10
sVshort-term
p4261
I17
sVerosion
p4262
I12
sVscored
p4263
I28
sVpicture
p4264
I105
sVbrothers
p4265
I36
sVo'clock
p4266
I47
sVwelcome
p4267
I10
sVconvincing
p4268
I12
sVpolite
p4269
I12
sVlet's
p4270
I84
sVrising
p4271
I11
sVscores
p4272
I17
sVdischarge
p4273
I11
sVyounger
p4274
I53
sVregime
p4275
I35
sVfaster
p4276
I12
sVnormally
p4277
I83
sVinterval
p4278
I14
sVmodules
p4279
I27
sVtogether
p4280
I308
sVbeds
p4281
I21
sVloyal
p4282
I14
sVvietnam
p4283
I18
sVreception
p4284
I24
sVremarked
p4285
I17
sVserious
p4286
I124
sVsongs
p4287
I29
sVconcept
p4288
I64
sVremarkable
p4289
I35
sVambulance
p4290
I17
sVdance
p4291
I14
sVrob
p4292
I12
sVvarying
p4293
I13
sValternatives
p4294
I17
sVfocus
p4295
I21
sVleads
p4296
I37
sVroy
p4297
I18
sVdelays
p4298
I11
sVice
p4299
I40
sVgrateful
p4300
I27
sVbattle
p4301
I63
sVremarkably
p4302
I15
sVrow
p4303
I48
sVlayers
p4304
I14
sVcertainly
p4305
I186
sV1949
p4306
I10
sVzone
p4307
I26
sVdominated
p4308
I27
sVgraph
p4309
I10
sV1940
p4310
I12
sV1946
p4311
I10
sV1947
p4312
I12
sV1944
p4313
I11
sVpassage
p4314
I40
sVenvironment
p4315
I130
sVcharge
p4316
I14
sVfog
p4317
I10
sVpermanently
p4318
I12
sVrhythm
p4319
I15
sVterror
p4320
I15
sVsing
p4321
I21
sVshakespeare
p4322
I19
sVconservation
p4323
I14
sVdivision
p4324
I90
sVsupported
p4325
I56
sVfederation
p4326
I22
sVadvantage
p4327
I73
sVnone
p4328
I84
sVchoosing
p4329
I17
sVliability
p4330
I39
sVanonymous
p4331
I12
sVentries
p4332
I18
sVcook
p4333
I15
sVtrouble
p4334
I89
sV1968
p4335
I24
sVcool
p4336
I31
sVperceived
p4337
I17
sVsighed
p4338
I21
sVimpressive
p4339
I30
sVpoliceman
p4340
I21
sVturns
p4341
I32
sVposts
p4342
I22
sVgun
p4343
I35
sVstandards
p4344
I96
sVrivals
p4345
I15
sVp
p4346
I10
sVrecall
p4347
I25
sVquick
p4348
I58
sVguy
p4349
I18
sVparked
p4350
I13
sVupper
p4351
I54
sVmilton
p4352
I15
sVbrave
p4353
I17
sVsays
p4354
I398
sVtrend
p4355
I26
sVdiscover
p4356
I33
sVd
p4357
I12
sVinland
p4358
I12
sVcolin
p4359
I25
sVcost
p4360
I57
sVtrent
p4361
I11
sVbacteria
p4362
I13
sVdrinks
p4363
I21
sVappear
p4364
I109
sVcomparable
p4365
I19
sVassistance
p4366
I43
sVexclude
p4367
I13
sVshares
p4368
I79
sVuniform
p4369
I11
sVgoes
p4370
I148
sVshared
p4371
I15
sVprincipal
p4372
I40
sVsatisfy
p4373
I20
sVsupporting
p4374
I11
sVken
p4375
I30
sVexplosion
p4376
I17
sVmorgan
p4377
I18
sVconfirmation
p4378
I12
sVgenes
p4379
I21
sVcos*
p4380
I163
sVwater
p4381
I349
sVabandon
p4382
I12
sVtwentieth
p4383
I18
sVgroups
p4384
I193
sVdisappeared
p4385
I33
sVappears
p4386
I77
sVchange
p4387
I119
sVsending
p4388
I26
sVdec
p4389
I16
sVflames
p4390
I13
sVhealthy
p4391
I36
sVpublisher
p4392
I15
sVdublin
p4393
I23
sVsixties
p4394
I14
sVtrial
p4395
I65
sVusually
p4396
I191
sVcorp
p4397
I52
sVweird
p4398
I11
sVhistory
p4399
I193
sVpurchaser
p4400
I18
sVchurchill
p4401
I14
sVretired
p4402
I11
sVhumour
p4403
I22
sVextra
p4404
I92
sVmarked
p4405
I21
sV1966
p4406
I17
sVkeeper
p4407
I14
sVdurham
p4408
I25
sVpreventing
p4409
I12
sV1st
p4410
I13
sVshelley
p4411
I11
sVcrisis
p4412
I59
sVmarket
p4413
I11
sVrussell
p4414
I21
sVprove
p4415
I57
sVathens
p4416
I11
sVangela
p4417
I11
sVpermitted
p4418
I21
sVstored
p4419
I19
sVterritories
p4420
I14
sVlive
p4421
I29
sVandy
p4422
I28
sVmemory
p4423
I76
sVaustralian
p4424
I24
sVtoday
p4425
I263
sVchapter
p4426
I149
sVentrance
p4427
I31
sVsessions
p4428
I21
sVclub
p4429
I164
sVshare
p4430
I54
sVenvelope
p4431
I14
sVclue
p4432
I11
sVemployee
p4433
I31
sVcommissioned
p4434
I14
sVhesitated
p4435
I15
sVcases
p4436
I183
sVorganizations
p4437
I30
sVca~
p4438
I318
sVcar
p4439
I278
sVcap
p4440
I20
sVmodified
p4441
I12
sVcat
p4442
I39
sVdistricts
p4443
I18
sVincidents
p4444
I15
sVcan
p4445
I2354
sVkeynes
p4446
I10
sVcab
p4447
I15
sVlaughter
p4448
I22
sVsocial
p4449
I422
sVregularly
p4450
I39
sVdedicated
p4451
I12
sVnursing
p4452
I12
sVfigure
p4453
I170
sV1962
p4454
I14
sVrecalled
p4455
I18
sVdecember
p4456
I94
sVchip
p4457
I18
sV1980s
p4458
I38
sVheard
p4459
I202
sVstroke
p4460
I13
sVchin
p4461
I16
sVperformed
p4462
I39
sVphrase
p4463
I30
sVhandle
p4464
I12
sVclothing
p4465
I21
sVserum
p4466
I13
sVparliamentary
p4467
I43
sVproductive
p4468
I14
sVrequirements
p4469
I60
sVinheritance
p4470
I12
sVfortunately
p4471
I16
sVrobinson
p4472
I16
sVdiscussion
p4473
I85
sVbonds
p4474
I19
sV1
p4475
I385
sVplaintiff
p4476
I30
sVvital
p4477
I51
sVcriterion
p4478
I13
sVfourth
p4479
I61
sVplus
p4480
I70
sVspeaks
p4481
I14
sVdominance
p4482
I11
sVeconomy
p4483
I105
sVarmies
p4484
I10
sVproduct
p4485
I111
sVinformation
p4486
I386
sVuse
p4487
I310
sVsouthern
p4488
I55
sVneeds
p4489
I97
sVmotorway
p4490
I12
sVcrashed
p4491
I13
sVproduce
p4492
I110
sVislands
p4493
I36
sVrepresentations
p4494
I14
sVheroes
p4495
I11
sVeighth
p4496
I13
sVlifting
p4497
I10
sVclassroom
p4498
I23
sVtories
p4499
I20
sVbranches
p4500
I32
sVremember
p4501
I191
sVsucceeded
p4502
I26
sVwhenever
p4503
I32
sVfutures
p4504
I14
sVexplicit
p4505
I19
sVinform
p4506
I15
sVgap
p4507
I34
sVrepresentation
p4508
I37
sVtypical
p4509
I49
sVexclusive
p4510
I21
sVno.
p4511
I33
sVserving
p4512
I25
sVcorrelation
p4513
I14
sVindeed
p4514
I188
sVmidnight
p4515
I19
sVbrain
p4516
I47
sVstatistical
p4517
I21
sVmanagers
p4518
I58
sVcold
p4519
I23
sVstill
p4520
I29
sVworship
p4521
I13
sVblocked
p4522
I13
sVacknowledge
p4523
I15
sVprocedures
p4524
I53
sVorganisation
p4525
I83
sVpresence
p4526
I80
sVforms
p4527
I18
sVplatform
p4528
I26
sVwindow
p4529
I106
sVoffers
p4530
I13
sVfarmer
p4531
I22
sVipswich
p4532
I12
sVnorway
p4533
I15
sVstruggling
p4534
I16
sVcorrespondence
p4535
I15
sVlonely
p4536
I18
sVhalt
p4537
I12
sVobtaining
p4538
I16
sVevolution
p4539
I25
sVintroduce
p4540
I35
sVdelighted
p4541
I26
sVunderneath
p4542
I10
sV1991
p4543
I128
sV1957
p4544
I12
sV1956
p4545
I11
sV1951
p4546
I10
sV1950
p4547
I13
sV1953
p4548
I10
sVhalf
p4549
I16
sVnot
p4550
I4626
sVfeature
p4551
I54
sVnow
p4552
I1382
sVprovision
p4553
I87
sV1958
p4554
I11
sVnor
p4555
I124
sVterm
p4556
I123
sVentity
p4557
I12
sVequality
p4558
I15
sVname
p4559
I13
sVlies
p4560
I12
sVservant
p4561
I18
sVjanuary
p4562
I102
sVdrop
p4563
I22
sVredundancy
p4564
I11
sVacademy
p4565
I14
sVpossibilities
p4566
I25
sVrealistic
p4567
I19
sVussr
p4568
I17
sVrangers
p4569
I12
sVrealise
p4570
I39
sVshy
p4571
I11
sVentirely
p4572
I69
sVindividually
p4573
I11
sVdomain
p4574
I17
sVeh
p4575
I35
sVchallenged
p4576
I16
sVed
p4577
I11
sVeg
p4578
I18
sVyeah
p4579
I834
sVhurried
p4580
I12
sVchallenges
p4581
I11
sVelectorate
p4582
I11
sVfires
p4583
I12
sVcatching
p4584
I13
sVbegun
p4585
I42
sVyear
p4586
I737
sVet
p4587
I30
sVhappen
p4588
I88
sVavoided
p4589
I22
sVadequately
p4590
I11
sVintended
p4591
I70
sValbum
p4592
I22
sVshown
p4593
I150
sVopened
p4594
I115
sVspace
p4595
I125
sVprofit
p4596
I56
sVfrightened
p4597
I21
sVfurthermore
p4598
I29
sVfactory
p4599
I46
sVincrease
p4600
I73
sVattracted
p4601
I28
sVkent
p4602
I26
sVchurches
p4603
I35
sVreceiving
p4604
I29
sVshows
p4605
I18
sVeagle
p4606
I13
sVattended
p4607
I35
sVtheory
p4608
I131
sVet al.
p4609
I12
sVhull
p4610
I11
sVcontain
p4611
I45
sVadvantages
p4612
I29
sVcarl
p4613
I11
sVobligation
p4614
I22
sVmarine
p4615
I20
sVaccommodation
p4616
I44
sVcard
p4617
I57
sVcare
p4618
I51
sVpartner
p4619
I49
sVteachers
p4620
I116
sVimpose
p4621
I19
sVbritish
p4622
I357
sVhonest
p4623
I30
sVmotion
p4624
I46
sVturn
p4625
I81
sVplace
p4626
I43
sVswing
p4627
I12
sVpromotion
p4628
I33
sVwidow
p4629
I16
sVchildhood
p4630
I28
sVadventure
p4631
I15
sVorigin
p4632
I29
sVromania
p4633
I12
sVinitial
p4634
I62
sVsurviving
p4635
I12
sVrevenue
p4636
I41
sVomitted
p4637
I11
sVvariables
p4638
I22
sVwaves
p4639
I27
sVsymbolic
p4640
I14
sVyourself
p4641
I107
sVsunlight
p4642
I13
sVdirectly
p4643
I88
sVimpossible
p4644
I71
sVmessage
p4645
I70
sVfight
p4646
I29
sVgeorge
p4647
I111
sV'em
p4648
I16
sVsize
p4649
I127
sVsheep
p4650
I30
sVsheer
p4651
I21
sVian
p4652
I53
sVsheet
p4653
I42
sVsilent
p4654
I38
sVdistrict
p4655
I75
sVvirgin
p4656
I15
sVcaught
p4657
I86
sVbreed
p4658
I12
sVeurope
p4659
I181
sVanderson
p4660
I15
sVplastic
p4661
I41
sVhouseholds
p4662
I18
sVreturns
p4663
I12
sVfought
p4664
I30
sVtragic
p4665
I12
sVconvention
p4666
I35
sVlegally
p4667
I12
sVwhite
p4668
I12
sVnational
p4669
I376
sVfriend
p4670
I164
sVgives
p4671
I104
sVexploring
p4672
I10
sVmostly
p4673
I39
sVcope
p4674
I40
sVseason
p4675
I109
sVtaxation
p4676
I25
sValan
p4677
I52
sVhut
p4678
I12
sVreleased
p4679
I50
sVcopy
p4680
I51
sVholder
p4681
I29
sVappreciated
p4682
I15
sVspecify
p4683
I13
sVpopulation
p4684
I132
sVwide
p4685
I113
sVtelevision
p4686
I100
sVunfortunately
p4687
I47
sVcrack
p4688
I12
sVrequire
p4689
I69
sVdiplomatic
p4690
I20
sVtransferred
p4691
I31
sVr
p4692
I12
sVaesthetic
p4693
I12
sVcards
p4694
I39
sVoutcome
p4695
I37
sVpublished
p4696
I98
sVand
p4697
I26817
sVinvestors
p4698
I27
sVanc
p4699
I10
sVcraig
p4700
I13
sVann
p4701
I19
sVpremier
p4702
I17
sVovernight
p4703
I12
sValready
p4704
I343
sVmedium
p4705
I24
sVrent
p4706
I28
sVanger
p4707
I33
sVbreakfast
p4708
I44
sVrecover
p4709
I20
sVany
p4710
I20
sVprosperity
p4711
I11
sVconversion
p4712
I21
sVcorbett
p4713
I15
sVform
p4714
I79
sVmanufacturers
p4715
I28
sVideas
p4716
I111
sVequipment
p4717
I89
sVmr.
p4718
I148
sVattempted
p4719
I27
sVobjective
p4720
I17
sVstrengths
p4721
I11
sVbegin
p4722
I75
sVsure
p4723
I240
sVmultiple
p4724
I22
sVfate
p4725
I22
sVprice
p4726
I170
sVneatly
p4727
I13
sVfalls
p4728
I22
sVvisitors
p4729
I48
sVimportantly
p4730
I13
sVsuccessive
p4731
I19
sVcleared
p4732
I27
sVforever
p4733
I18
sVsouth-east
p4734
I13
sVbishops
p4735
I12
sVconsidered
p4736
I134
sVdream
p4737
I38
sVuses
p4738
I18
sVlater
p4739
I78
sVimplications
p4740
I45
sVhungry
p4741
I19
sVmrs
p4742
I198
sVpattern
p4743
I91
sVuncle
p4744
I35
sVsenior
p4745
I82
sVtypically
p4746
I21
sVquantity
p4747
I24
sVdetective
p4748
I18
sVleicester
p4749
I19
sVgerman
p4750
I16
sVworkshops
p4751
I14
sVallegations
p4752
I18
sVfifty
p4753
I86
sVdiscovered
p4754
I64
sVadviser
p4755
I15
sVlaunched
p4756
I45
sVcomplaints
p4757
I27
sVsuperb
p4758
I21
sVfifth
p4759
I35
sVgeography
p4760
I16
sVratio
p4761
I29
sVgulf
p4762
I24
sVtitle
p4763
I97
sVnodded
p4764
I51
sVproportion
p4765
I63
sVwritten
p4766
I33
sVcrime
p4767
I72
sVhierarchy
p4768
I17
sVonly
p4769
I231
sVwood
p4770
I22
sVbelieving
p4771
I14
sVessence
p4772
I18
sVthompson
p4773
I14
sVimprove
p4774
I62
sVwool
p4775
I18
sVcorrectly
p4776
I19
sVjazz
p4777
I10
sVexpectation
p4778
I13
sVtruly
p4779
I32
sVhonours
p4780
I14
sVtrade
p4781
I191
sVcelebrate
p4782
I14
sVclosure
p4783
I19
sVreveal
p4784
I27
sVregarding
p4785
I20
sVleather
p4786
I26
sVseldom
p4787
I15
sVnaked
p4788
I20
sVjokes
p4789
I11
sVembassy
p4790
I13
sVpredicted
p4791
I16
sVthrough
p4792
I95
sVtent
p4793
I12
sVdiscussing
p4794
I20
sVhusband
p4795
I112
sVignored
p4796
I32
sVconcert
p4797
I19
sVburst
p4798
I19
sVphysically
p4799
I20
sVcommitted
p4800
I46
sVnicholson
p4801
I11
sVconversations
p4802
I10
sVconnections
p4803
I21
sVelected
p4804
I45
sVnamely
p4805
I22
sVactively
p4806
I15
sVcollege
p4807
I102
sVparking
p4808
I15
sVstanley
p4809
I14
sVsport
p4810
I45
sVencouraged
p4811
I46
sVsurfaces
p4812
I14
sVfails
p4813
I19
sVdetect
p4814
I13
sVvoluntary
p4815
I39
sVmortgage
p4816
I29
sVfarmers
p4817
I50
sVfederal
p4818
I38
sVsubsequent
p4819
I43
sVreview
p4820
I17
sVlexical
p4821
I11
sVdefinite
p4822
I16
sVcommitments
p4823
I13
sVweapons
p4824
I40
sVnorth-west
p4825
I10
sVoutside
p4826
I37
sVbetween
p4827
I903
sVjustified
p4828
I20
sVarrival
p4829
I34
sVnotice
p4830
I36
sVrumours
p4831
I13
sVfilter
p4832
I15
sVflow
p4833
I45
sVguitar
p4834
I27
sVunusually
p4835
I10
sV20
p4836
I131
sVcities
p4837
I44
sVcome
p4838
I695
sVreaction
p4839
I56
sVstages
p4840
I41
sVinstallation
p4841
I13
sVefficiency
p4842
I37
sVregion
p4843
I99
sVpriests
p4844
I12
sVquiet
p4845
I62
sVcontract
p4846
I114
sVtemper
p4847
I12
sVenabling
p4848
I14
sVnineteenth-century
p4849
I10
sVrailway
p4850
I73
sVcomes
p4851
I160
sVnearby
p4852
I14
sVduty
p4853
I81
sVpakistan
p4854
I18
sVafterwards
p4855
I46
sV150
p4856
I18
sVpot
p4857
I19
sVcolony
p4858
I11
sVperiod
p4859
I243
sVinsist
p4860
I16
sVresentment
p4861
I10
sV60
p4862
I41
sVexploit
p4863
I12
sVscheduled
p4864
I14
sVconfirmed
p4865
I48
sVlearning
p4866
I38
sVwound*
p4867
I10
sVmoreover
p4868
I43
sVbizarre
p4869
I11
sVpoll
p4870
I28
sVnoisy
p4871
I10
sVturkey
p4872
I16
sVsave
p4873
I67
sVoliver
p4874
I23
sVhoward
p4875
I27
sV50%
p4876
I11
sVinformed
p4877
I33
sVterritorial
p4878
I12
sVtropical
p4879
I18
sVpeaceful
p4880
I17
sVhelicopter
p4881
I11
sVhardly
p4882
I88
sV500
p4883
I23
sVengine
p4884
I50
sVdirection
p4885
I87
sVindirect
p4886
I16
sVandrew
p4887
I45
sVwounds
p4888
I10
sVobservers
p4889
I14
sVminister
p4890
I237
sVinstant
p4891
I12
sVcareful
p4892
I52
sVirrelevant
p4893
I14
sVchampions
p4894
I15
sVpilot
p4895
I31
sVcase
p4896
I431
sVmyself
p4897
I125
sVdeveloping
p4898
I31
sVthese
p4899
I1254
sVmount
p4900
I11
sVcash
p4901
I82
sVarnold
p4902
I10
sVtrick
p4903
I14
sVcast
p4904
I30
sVtransactions
p4905
I21
sVfreely
p4906
I16
sVshops
p4907
I52
sVconverted
p4908
I20
sVtaking
p4909
I218
sVdatabases
p4910
I10
sVorientation
p4911
I11
sVcoupled
p4912
I12
sVsoil
p4913
I41
sVtelephone
p4914
I14
sVcommander
p4915
I20
sVcouples
p4916
I16
sVbias
p4917
I14
sVattributed
p4918
I16
sVheels
p4919
I12
sVkenya
p4920
I10
sVworry
p4921
I47
sValright*
p4922
I40
sVdevelop
p4923
I86
sVvivid
p4924
I10
sVcontents
p4925
I30
sVauthor
p4926
I43
sVmedia
p4927
I80
sVgranted
p4928
I46
sVreminded
p4929
I24
sVangeles nop-
p4930
I11
sVgentlemen
p4931
I15
sVya
p4932
I14
sVinquiry
p4933
I35
sVshit
p4934
I19
sVreminder
p4935
I10
sVphysical
p4936
I95
sVevents
p4937
I105
sVweek
p4938
I322
sVnoble
p4939
I13
sVfinish
p4940
I16
sVcenturies
p4941
I36
sVenjoyment
p4942
I10
sVnest
p4943
I13
sVrefusal
p4944
I19
sVdriver
p4945
I54
sVdriven
p4946
I30
sVpersons
p4947
I40
sVstatutory
p4948
I37
sVmarxist
p4949
I12
sVarose
p4950
I16
sVchanging
p4951
I24
sVanticipated
p4952
I11
sVtradition
p4953
I51
sVreference
p4954
I77
sVcomplained
p4955
I19
sVmodes
p4956
I12
sVsnow
p4957
I30
sVcharges
p4958
I60
sVconstitutional
p4959
I31
sVobservations
p4960
I22
sVbreeze
p4961
I14
sVrelief
p4962
I66
sVcomponents
p4963
I32
sVrelied
p4964
I13
sVinability
p4965
I11
sVmodel
p4966
I130
sVreward
p4967
I17
sVbodies
p4968
I70
sVjustify
p4969
I21
sVtaxi
p4970
I19
sVam*
p4971
I10
sVtip
p4972
I20
sVactions
p4973
I48
sVfoot
p4974
I73
sVviolent
p4975
I28
sVkill
p4976
I46
sVhanded
p4977
I36
sVtouch
p4978
I26
sVpolish
p4979
I15
sVspeed
p4980
I70
sVcaptured
p4981
I17
sVblow
p4982
I13
sVannouncement
p4983
I24
sVdeath
p4984
I205
sVfeminist
p4985
I14
sVthinking
p4986
I43
sVrose
p4987
I25
sVseems
p4988
I212
sVexcept
p4989
I20
sVimprovement
p4990
I42
sVverse
p4991
I14
sVsetting
p4992
I30
sVtreatment
p4993
I122
sVsamples
p4994
I27
sVthoughts
p4995
I47
sVrepublic
p4996
I43
sVstruck
p4997
I42
sVross
p4998
I19
sVstyles
p4999
I20
sVspectacular
p5000
I19
sVdesperately
p5001
I20
sVread
p5002
I225
sVoffence
p5003
I37
sVspecimen
p5004
I11
sVvirginia
p5005
I12
sVearly
p5006
I76
sVinflation
p5007
I45
sVlistening
p5008
I34
sVconfined
p5009
I22
sVusing
p5010
I247
sVaccepted
p5011
I10
sVlady
p5012
I97
sVvanished
p5013
I11
sVrear
p5014
I11
sVfurniture
p5015
I35
sVacute
p5016
I23
sVfortune
p5017
I21
sVkennedy
p5018
I13
sVphotographs
p5019
I33
sVpatrick
p5020
I30
sVcollective
p5021
I24
sVpregnant
p5022
I22
sVtend
p5023
I62
sVmiracle
p5024
I11
sVannually
p5025
I11
sVbenefit
p5026
I30
sVfully
p5027
I89
sVoutput
p5028
I58
sVtower
p5029
I34
sVattempting
p5030
I24
sVtwelve
p5031
I66
sVjewellery
p5032
I13
sVexposed
p5033
I20
sVdaddy
p5034
I22
sVcompetition
p5035
I94
sVeddie
p5036
I12
sVtable
p5037
I201
sVduration
p5038
I18
sVintend
p5039
I21
sVquestionnaire
p5040
I12
sVintact
p5041
I12
sVprovided
p5042
I30
sVmood
p5043
I33
sVeleanor
p5044
I12
sVrecorded
p5045
I57
sVlegal
p5046
I131
sVmoon
p5047
I29
sVhandicap
p5048
I13
sVdeficit
p5049
I23
sVprovides
p5050
I84
sVwillie
p5051
I13
sVfootball
p5052
I67
sVassembly
p5053
I54
sVbusiness
p5054
I358
sVliquid
p5055
I12
sVsixth
p5056
I25
sVnails
p5057
I13
sVcommunicate
p5058
I15
sV1936
p5059
I10
sVsixty
p5060
I43
sV1939
p5061
I13
sVfrancis
p5062
I25
sVdon
p5063
I13
sVbrighton
p5064
I15
sVon
p5065
I14
sVresponsibilities
p5066
I29
sVok
p5067
I11
sVoh
p5068
I684
sVof
p5069
I310
sVdiscussed
p5070
I70
sVideology
p5071
I21
sVconvenient
p5072
I20
sV'd
p5073
I315
sVstand
p5074
I19
sVdiscrimination
p5075
I20
sVconcentrations
p5076
I21
sVintent
p5077
I12
sVgregory
p5078
I10
sVor
p5079
I3707
sVladies
p5080
I33
sVcambridge
p5081
I36
sVprotests
p5082
I12
sVinclusion
p5083
I12
sVcommunication
p5084
I61
sVauthorities
p5085
I130
sVinvolvement
p5086
I42
sVdetermine
p5087
I39
sVgary
p5088
I24
sVoperator
p5089
I15
sVnowadays
p5090
I16
sVyour
p5091
I1383
sVupstairs
p5092
I25
sVlog
p5093
I11
sVprepare
p5094
I30
sVtutor
p5095
I11
sVassumed
p5096
I42
sVstrictly
p5097
I20
sVthere
p5098
I746
sVracism
p5099
I11
sVchristianity
p5100
I18
sVstrict
p5101
I21
sVpoured
p5102
I18
sVlow
p5103
I158
sVstars
p5104
I39
sVsubjective
p5105
I12
sVcultures
p5106
I16
sVsomerset
p5107
I13
sVvalley
p5108
I44
sVenergy
p5109
I122
sVassumes
p5110
I10
sVtreat
p5111
I30
sVjones
p5112
I46
sVregard
p5113
I17
sVdelayed
p5114
I14
sVamongst
p5115
I45
sVcabinet
p5116
I65
sVtwo-thirds
p5117
I12
sVcottage
p5118
I32
sVtrying
p5119
I185
sVlonger
p5120
I33
sVhire
p5121
I10
sVfraud
p5122
I18
sVapplying
p5123
I20
sVcirculation
p5124
I15
sVflats
p5125
I19
sVgrass
p5126
I41
sVbeliefs
p5127
I24
sVstrongly
p5128
I46
sVtoilet
p5129
I15
sVtaylor
p5130
I36
sV600
p5131
I11
sVcinema
p5132
I19
sVtaste
p5133
I34
sVyacht
p5134
I10
sVpole
p5135
I13
sVdescribe
p5136
I43
sVmoved
p5137
I146
sVsales
p5138
I104
sVbritain
p5139
I251
sVsenses
p5140
I16
sVphotography
p5141
I11
sVgoverned
p5142
I10
sVcorresponding
p5143
I14
sVmoves
p5144
I16
sVhospitals
p5145
I29
sVbishop
p5146
I18
sVhit
p5147
I11
sVreceive
p5148
I75
sVdeserve
p5149
I13
sVstorage
p5150
I30
sVgreen
p5151
I17
sVrubber
p5152
I11
sVroses
p5153
I15
sVthat
p5154
I46
sVvalid
p5155
I23
sV5
p5156
I176
sVevenings
p5157
I15
sVmathematics
p5158
I20
sVyou
p5159
I6954
sVforcing
p5160
I14
sVpoor
p5161
I151
sVrequested
p5162
I15
sVbriefly
p5163
I33
sVchampionship
p5164
I34
sVseparate
p5165
I15
sVsymbol
p5166
I18
sVteeth
p5167
I47
sVincludes
p5168
I68
sVlovers
p5169
I12
sVpeak
p5170
I28
sVsuited
p5171
I15
sVincluded
p5172
I123
sVbrass
p5173
I15
sVstocks
p5174
I16
sVpool
p5175
I45
sVmissed
p5176
I41
sVbuilding
p5177
I28
sVbulk
p5178
I20
sVbooked
p5179
I12
sVcalls
p5180
I30
sVwife
p5181
I171
sVcontrolled
p5182
I10
sVinvest
p5183
I16
sVodds
p5184
I15
sVcurve
p5185
I25
sVdirectors
p5186
I43
sVrestored
p5187
I18
sVdirectory
p5188
I15
sVoverseas
p5189
I12
sVstrings
p5190
I14
sVall
p5191
I193
sVsince
p5192
I29
sVsemantic
p5193
I13
sVlace
p5194
I12
sVchinese
p5195
I40
sVali
p5196
I13
sVclauses
p5197
I13
sVlack
p5198
I10
sVmonth
p5199
I150
sVblanche
p5200
I11
sVceased
p5201
I15
sVdisc
p5202
I16
sVpublish
p5203
I13
sVsmoking
p5204
I11
sVdish
p5205
I16
sVfollow
p5206
I94
sVdisk
p5207
I26
sVdecisions
p5208
I75
sVcarpet
p5209
I24
sVdreadful
p5210
I14
sVapartment
p5211
I13
sVreferring
p5212
I18
sVcliff
p5213
I11
sVsubjected
p5214
I13
sVswitched
p5215
I20
sVprovisions
p5216
I41
sVacting
p5217
I41
sVthursday
p5218
I37
sVremoval
p5219
I21
sVprogram
p5220
I39
sVdepending
p5221
I23
sVsustain
p5222
I13
sVpresentation
p5223
I32
sVtraditionally
p5224
I21
sVactivities
p5225
I116
sVbelonging
p5226
I14
sVglobal
p5227
I36
sVincorporate
p5228
I11
sVworse
p5229
I65
sVconfidential
p5230
I11
sVsong
p5231
I40
sVfar
p5232
I11
sVrod
p5233
I14
sVhorror
p5234
I21
sVfat
p5235
I18
sVcoloured
p5236
I19
sVsons
p5237
I35
sVworst
p5238
I46
sVmps
p5239
I26
sVdecide
p5240
I67
sVpolytechnic
p5241
I12
sVawful
p5242
I31
sVlaser
p5243
I10
sVticket
p5244
I22
sVenter
p5245
I53
sVtreating
p5246
I13
sVthemes
p5247
I16
sVheaven
p5248
I24
sVstimulus
p5249
I15
sVlouis
p5250
I21
sVlist
p5251
I118
sVmanager
p5252
I138
sVgrandfather
p5253
I15
sVrandom
p5254
I18
sVlisa
p5255
I13
sVsmith
p5256
I79
sVprogramme
p5257
I190
sVrats
p5258
I14
sVten
p5259
I203
sVtea
p5260
I86
sVstreets
p5261
I49
sVted
p5262
I11
sVrobyn
p5263
I12
sVgorbachev
p5264
I17
sVrate
p5265
I189
sVinvention
p5266
I11
sVdesign
p5267
I119
sVcoverage
p5268
I22
sVmill
p5269
I33
sVconscience
p5270
I14
sVtrustees
p5271
I12
sVsue
p5272
I16
sVdarkness
p5273
I34
sVconsumers
p5274
I23
sVwitnessed
p5275
I11
sVsun
p5276
I115
sVsum
p5277
I41
sVdirt
p5278
I10
sVanniversary
p5279
I21
sVemotions
p5280
I19
sVmilk
p5281
I48
sVwitnesses
p5282
I16
sVversion
p5283
I81
sVattitudes
p5284
I48
sVlearned
p5285
I46
sVracing
p5286
I23
sVguns
p5287
I20
sVdevoted
p5288
I12
sVtoes
p5289
I10
sVchristian
p5290
I62
sVestate
p5291
I54
sVresponded
p5292
I22
sV1948
p5293
I13
sVanswers
p5294
I32
sVbehaviour
p5295
I123
sVtracks
p5296
I19
sVselective
p5297
I13
sVleeds
p5298
I48
sVwill
p5299
I14
sVrelaxation
p5300
I12
sVdirections
p5301
I22
sViraq
p5302
I32
sVequations
p5303
I11
sVtragedy
p5304
I18
sVdining
p5305
I16
sVnaval
p5306
I15
sVconviction
p5307
I21
sVextraordinary
p5308
I29
sVinspired
p5309
I16
sVlosses
p5310
I38
sVallows
p5311
I41
sVfired
p5312
I20
sVsoldier
p5313
I18
sVamount
p5314
I146
sVadvertising
p5315
I41
sVreal
p5316
I227
sVoptions
p5317
I38
sVtrainer
p5318
I10
sVcup
p5319
I122
sVfamily
p5320
I345
sVsuddenly
p5321
I118
sVrequiring
p5322
I18
sVthatcher
p5323
I34
sVtexts
p5324
I23
sVaimed
p5325
I36
sVtrained
p5326
I30
sVtoys
p5327
I12
sVactress
p5328
I11
sV1945
p5329
I18
sVseventeenth
p5330
I12
sVconventional
p5331
I39
sVproceed
p5332
I21
sVanswered
p5333
I38
sVcontains
p5334
I46
sVsilently
p5335
I12
sVtaken
p5336
I355
sVpromoting
p5337
I15
sVchicken
p5338
I20
sVinjury
p5339
I46
sVmarkets
p5340
I59
sVwealthy
p5341
I14
sVminor
p5342
I47
sVhorses
p5343
I49
sVflat
p5344
I37
sVisrael
p5345
I32
sVknows
p5346
I84
sVincentive
p5347
I13
sVoperators
p5348
I15
sVowners
p5349
I38
sVsite
p5350
I97
sVexcuse
p5351
I14
sVflag
p5352
I15
sVbasically
p5353
I31
sVbroke
p5354
I52
sVknown
p5355
I20
sVbenefits
p5356
I74
sVfactories
p5357
I17
sVproducing
p5358
I40
sVsuffered
p5359
I54
sVglad
p5360
I41
sVhelped
p5361
I76
sVdebates
p5362
I12
sVequation
p5363
I25
sVpolicemen
p5364
I12
sVcoalition
p5365
I24
sVplea
p5366
I12
sVnine
p5367
I136
sVbudgets
p5368
I13
sVgreeted
p5369
I14
sVv
p5370
I10
sVaudiences
p5371
I10
sVspontaneous
p5372
I10
sVoptimistic
p5373
I12
sVembarrassing
p5374
I11
sVbrown
p5375
I38
sVpushed
p5376
I50
sVprotective
p5377
I13
sVarise
p5378
I33
sVcows
p5379
I12
sVpond
p5380
I17
sVswung
p5381
I18
sVspecies
p5382
I96
sVf.
p5383
I11
sVfirmly
p5384
I40
sVinfluenced
p5385
I26
sVbeef
p5386
I15
sVcourt
p5387
I285
sVgoal
p5388
I59
sVrather
p5389
I169
sVclarke
p5390
I20
sVbreaking
p5391
I30
sVliaison
p5392
I10
sVstayed
p5393
I44
sVoccasionally
p5394
I40
sVinfluences
p5395
I14
sVreject
p5396
I15
sVexpecting
p5397
I21
sVignore
p5398
I25
sVexplains
p5399
I25
sVokay
p5400
I17
sVtried
p5401
I150
sVderived
p5402
I33
sVreflect
p5403
I38
sVfa
p5404
I15
sVtries
p5405
I15
sVlighting
p5406
I17
sVseemingly
p5407
I12
sVinvasion
p5408
I19
sVhorizontal
p5409
I12
sVconcentrating
p5410
I12
sVcompulsory
p5411
I17
sVa
p5412
I10
sVshort
p5413
I177
sVsusan
p5414
I21
sVdot
p5415
I11
sVquoted
p5416
I24
sVdocumentation
p5417
I12
sVdeparture
p5418
I23
sVsupervision
p5419
I17
sVshore
p5420
I15
sVshade
p5421
I14
sVbanks
p5422
I66
sVegg
p5423
I25
sVturnover
p5424
I29
sVhelp
p5425
I107
sVseptember
p5426
I104
sVdeveloped
p5427
I15
sVflowers
p5428
I54
sVsoon
p5429
I161
sVmucosa
p5430
I10
sVdisabled
p5431
I31
sVheld
p5432
I276
sVscientist
p5433
I20
sVdarlington
p5434
I56
sV~no*
p5435
I19
sVhell
p5436
I54
sVavenue
p5437
I16
sVstyle
p5438
I107
sVforwards
p5439
I13
sVseverely
p5440
I18
sVpray
p5441
I14
sVfined
p5442
I11
sVreluctance
p5443
I10
sVabbey
p5444
I19
sVactually
p5445
I260
sVresort
p5446
I19
sVabsence
p5447
I58
sVstrange
p5448
I64
sVsystems
p5449
I173
sVrelate
p5450
I26
sVstephen
p5451
I49
sVmounted
p5452
I17
sVsoccer
p5453
I13
sVmight
p5454
I614
sValter
p5455
I19
sVpost-war
p5456
I16
sVfool
p5457
I15
sVevening
p5458
I138
sVsomebody
p5459
I73
sVcalm
p5460
I12
sVthan
p5461
I1033
sVfood
p5462
I190
sVye
p5463
I15
sVreflected
p5464
I38
sVframework
p5465
I39
sVcommunities
p5466
I41
sVclouds
p5467
I16
sVbigger
p5468
I36
sVinstructions
p5469
I36
sVmarcus
p5470
I11
sVoccasions
p5471
I39
sVdelicate
p5472
I18
sVpresented
p5473
I80
sVlabour*
p5474
I131
sVstopped
p5475
I96
sVletting
p5476
I22
sVinherent
p5477
I13
sVtelegraph
p5478
I12
sVfriendship
p5479
I20
sVreferred
p5480
I62
sVheavy
p5481
I94
sVneil
p5482
I31
sVweight
p5483
I85
sVgeneration
p5484
I49
sVfees
p5485
I29
sVused
p5486
I45
sVbrother
p5487
I85
sVexpect
p5488
I106
sVundertake
p5489
I17
sVvon nop-
p5490
I10
sVorganised
p5491
I32
sVbeyond
p5492
I12
sVevent
p5493
I104
sVmist
p5494
I11
sValcohol
p5495
I30
sVwondered
p5496
I48
sVitem
p5497
I38
sVrobert
p5498
I79
sVsurrounded
p5499
I24
sVtemporary
p5500
I38
sVdouglas
p5501
I24
sVtrusts
p5502
I14
sVhealth
p5503
I246
sVhill
p5504
I14
sV7
p5505
I107
sVinduced
p5506
I12
sVissue
p5507
I16
sVbenjamin
p5508
I17
sVreporting
p5509
I12
sVnorwich
p5510
I15
sVfriday
p5511
I55
sVforgive
p5512
I14
sVpub
p5513
I38
sVlesser
p5514
I18
sVhouses
p5515
I96
sVreason
p5516
I181
sVbase
p5517
I86
sVorganising
p5518
I10
sVask
p5519
I194
sVdeputies
p5520
I12
sVteach
p5521
I28
sVearliest
p5522
I18
sVgenerate
p5523
I20
sVthrown
p5524
I30
sVlaunch
p5525
I13
sVterrible
p5526
I47
sVterribly
p5527
I13
sVamerican
p5528
I157
sVprejudice
p5529
I11
sVcircuit
p5530
I26
sVtwenty
p5531
I156
sVconsequence
p5532
I34
sVfallen
p5533
I36
sVst.
p5534
I17
sVfeed
p5535
I24
sVprobability
p5536
I16
sVfeel
p5537
I256
sVradical
p5538
I37
sVsydney
p5539
I10
sVolympic
p5540
I13
sVfancy
p5541
I12
sVlinking
p5542
I12
sVfeet
p5543
I141
sVsympathy
p5544
I22
sVrevolution
p5545
I47
sVconstruct
p5546
I13
sVblank
p5547
I15
sVnorth-east
p5548
I17
sVmiss
p5549
I35
sVvilla
p5550
I17
sVpasses
p5551
I13
sVstory
p5552
I137
sVtemperature
p5553
I44
sVscript
p5554
I12
sVleading
p5555
I52
sVinterviews
p5556
I24
sVstrategy
p5557
I62
sVstation
p5558
I100
sVidentity
p5559
I40
sVstorm
p5560
I23
sVdealing
p5561
I53
sVhundred
p5562
I191
sVrecovered
p5563
I22
sVshifted
p5564
I14
sVselling
p5565
I12
sVstatement
p5566
I98
sVpump
p5567
I10
sVrelieved
p5568
I12
sVexploded
p5569
I10
sVbowel
p5570
I12
sVhotel
p5571
I114
sVcorrespondent
p5572
I20
sVjordan
p5573
I14
sVauthors
p5574
I25
sVtranslation
p5575
I15
sVconvinced
p5576
I25
sV1914
p5577
I11
sVking
p5578
I16
sVkind
p5579
I14
sVscheme
p5580
I119
sVdouble
p5581
I11
sVinstruction
p5582
I23
sVgrey
p5583
I48
sVaims
p5584
I17
sVbride
p5585
I11
sVvenice
p5586
I10
sVarchitect
p5587
I16
sVstore
p5588
I36
sVtoward
p5589
I13
sVweapon
p5590
I20
sVsentenced
p5591
I12
sVcharlotte
p5592
I16
sVmotivation
p5593
I15
sVoutstanding
p5594
I30
sVstrengthen
p5595
I12
sVimports
p5596
I19
sVsuspicious
p5597
I14
sVjuice
p5598
I17
sVsubstantial
p5599
I62
sValike
p5600
I12
sVsentences
p5601
I29
sVgall
p5602
I10
sVmy
p5603
I1525
sVconcentration
p5604
I39
sVorgans
p5605
I10
sVvulnerable
p5606
I25
sVoption
p5607
I54
sVlid
p5608
I11
sVlie
p5609
I43
sVwilson
p5610
I40
sVnights
p5611
I28
sVcheck
p5612
I18
sVtrapped
p5613
I15
sVscotland
p5614
I131
sVofficers
p5615
I89
sVport
p5616
I30
sVlit
p5617
I23
sVlip
p5618
I16
sVuseless
p5619
I13
sVfinding
p5620
I12
sVliz
p5621
I17
sVfailing
p5622
I21
sVexperienced
p5623
I21
sVno one*
p5624
I81
sVreckon
p5625
I21
sVquote
p5626
I10
sVenglish
p5627
I81
sVreach
p5628
I13
sVarchitects
p5629
I11
sVreact
p5630
I13
sVcigarette
p5631
I23
sV75
p5632
I17
sVexperiences
p5633
I34
sVeaten
p5634
I17
sV70
p5635
I26
sVnothing
p5636
I341
sValpha
p5637
I11
sVmeasured
p5638
I30
sVapproved
p5639
I39
sVachievement
p5640
I31
sVconstitution
p5641
I40
sVsalary
p5642
I20
sVmineral
p5643
I12
sVmobile
p5644
I14
sVsoviet
p5645
I109
sVclear
p5646
I24
sVpopularity
p5647
I14
sVdiffer
p5648
I18
sVtraditional
p5649
I99
sVpart-time
p5650
I20
sVclean
p5651
I16
sVron
p5652
I13
sVusual
p5653
I64
sVphysics
p5654
I19
sVinstitutions
p5655
I65
sVlying
p5656
I46
sVsurrey
p5657
I16
sVmexico
p5658
I16
sVphenomenon
p5659
I22
sVglanced
p5660
I30
sVfond
p5661
I12
sVcarrie
p5662
I12
sVcompletion
p5663
I25
sVnorthern
p5664
I66
sVduncan
p5665
I15
sVjustice
p5666
I67
sVless
p5667
I101
sVpenalty
p5668
I27
sVflights
p5669
I12
sVpretty
p5670
I28
sVcircle
p5671
I34
sVdarwin
p5672
I11
sVhip
p5673
I10
sVhis
p5674
I4285
sVpublicity
p5675
I25
sVgains
p5676
I21
sVhiv
p5677
I16
sVmeanwhile
p5678
I48
sVtrees
p5679
I83
sVfamous
p5680
I65
sVfeels
p5681
I33
sVgrew
p5682
I46
sVreply
p5683
I13
sVduring
p5684
I440
sVhim
p5685
I1649
sValexander
p5686
I26
sVappeal
p5687
I19
sVinvestigate
p5688
I24
sVinterim
p5689
I17
sVgloves
p5690
I10
sVactivity
p5691
I115
sVswitzerland
p5692
I15
sVcreates
p5693
I14
sVemployer
p5694
I30
sVwrote
p5695
I99
sVseventeen
p5696
I18
sVart
p5697
I153
sVdetail
p5698
I61
sVskills
p5699
I91
sVmaurice
p5700
I10
sVthrowing
p5701
I18
sVintelligence
p5702
I35
sVenjoyed
p5703
I51
sVculture
p5704
I86
sVbare
p5705
I22
sVdescriptions
p5706
I15
sVclose
p5707
I11
sVarm
p5708
I91
sVdeclined
p5709
I21
sVbarn
p5710
I13
sVyouth
p5711
I54
sVwo~
p5712
I161
sVthreats
p5713
I14
sVprobable
p5714
I12
sVdistinctive
p5715
I22
sVuser
p5716
I60
sVlibraries
p5717
I22
sVunions
p5718
I45
sVwon
p5719
I117
sVvarious
p5720
I155
sVguardian
p5721
I21
sVcontrary
p5722
I13
sVnumerous
p5723
I32
sVclerk
p5724
I19
sVrisks
p5725
I25
sVkorea
p5726
I19
sVrecently
p5727
I123
sVcreating
p5728
I35
sVunconscious
p5729
I12
sVmissing
p5730
I15
sVinitially
p5731
I38
sVsold
p5732
I84
sVsole
p5733
I22
sVsucceed
p5734
I21
sVopposition
p5735
I91
sVcompetent
p5736
I12
sVbronze
p5737
I15
sVabruptly
p5738
I12
sVboth
p5739
I310
sVc
p5740
I19
sVsecrets
p5741
I14
sVsensitive
p5742
I36
sVroman
p5743
I44
sVbecame
p5744
I223
sVannie
p5745
I11
sVforgotten
p5746
I38
sVbond
p5747
I10
sVfinds
p5748
I29
sVexperimental
p5749
I24
sValbeit
p5750
I14
sVmillions
p5751
I27
sVliked
p5752
I56
sVdistress
p5753
I15
sVlarge-scale
p5754
I11
sVbattery
p5755
I13
sVsweet
p5756
I33
sVwhatever
p5757
I132
sVlikes
p5758
I21
sVvillage
p5759
I109
sVvessel
p5760
I14
sVbench
p5761
I20
sVmission
p5762
I27
sVswindon
p5763
I21
sVdecline
p5764
I41
sVarsenal
p5765
I12
sVincomes
p5766
I15
sVstamp
p5767
I11
sVdamp
p5768
I18
sVpolitical
p5769
I306
sVdue
p5770
I75
sVteacher
p5771
I87
sVpc
p5772
I23
sVreduction
p5773
I48
sVdescribes
p5774
I26
sVmaintenance
p5775
I40
sVmake-up
p5776
I13
sVcollected
p5777
I33
sVextends
p5778
I10
sVbrick
p5779
I18
sVterritory
p5780
I31
sVempty
p5781
I54
sVpm
p5782
I11
sVdialogue
p5783
I17
sValongside
p5784
I29
sVpartly
p5785
I57
sV1950s
p5786
I20
sVboy
p5787
I133
sVages
p5788
I36
sVcitizen
p5789
I14
sVprecision
p5790
I12
sVelse
p5791
I209
sVanthony
p5792
I24
sVdetermination
p5793
I28
sVliver
p5794
I17
sVdemand
p5795
I21
sVcustomers
p5796
I68
sVsurveys
p5797
I19
sVduke
p5798
I33
sVplants
p5799
I72
sVstolen
p5800
I19
sVconception
p5801
I19
sVthirty
p5802
I92
sVfrozen
p5803
I11
sVsocialist
p5804
I33
sVgovernor
p5805
I23
sVrope
p5806
I16
sVinstitute
p5807
I53
sVwhile
p5808
I63
sVsocialism
p5809
I17
sVmatch
p5810
I27
sVfleet
p5811
I19
sVp.
p5812
I14
sVguide
p5813
I12
sVengineers
p5814
I25
sVmiles
p5815
I98
sVunderground
p5816
I11
sVcostly
p5817
I11
sVvoters
p5818
I20
sVguilty
p5819
I42
sVcleaned
p5820
I11
sVready
p5821
I102
sVrid
p5822
I26
sVkings
p5823
I15
sVlengthy
p5824
I12
sVshirt
p5825
I28
sVjames
p5826
I102
sVlengths
p5827
I13
sVgovernment
p5828
I622
sVinteraction
p5829
I23
sVdelicious
p5830
I11
sVwidely
p5831
I56
sVpeoples
p5832
I15
sV9
p5833
I80
sVadvise
p5834
I20
sVcomposition
p5835
I23
sVdaughters
p5836
I21
sVhigher
p5837
I156
sVliterature
p5838
I52
sVlawyers
p5839
I24
sVperception
p5840
I22
sVbonus
p5841
I14
sVrestraint
p5842
I11
sVgallery
p5843
I43
sVnegotiate
p5844
I13
sVholidays
p5845
I28
sVflown
p5846
I11
sVmoving
p5847
I89
sVcleaning
p5848
I12
sVyeltsin
p5849
I12
sVundoubtedly
p5850
I24
sVlower
p5851
I111
sVolder
p5852
I90
sVpoland
p5853
I21
sVcheek
p5854
I19
sVanybody
p5855
I50
sVanalysis
p5856
I132
sVtheology
p5857
I11
sVnonetheless
p5858
I13
sVedge
p5859
I75
sVmachinery
p5860
I24
sVsept.
p5861
I30
sVstating
p5862
I10
sVambassador
p5863
I11
sVcave
p5864
I11
sVemerge
p5865
I21
sVsettlements
p5866
I13
sVcompetitive
p5867
I37
sVquarters
p5868
I18
sVintervals
p5869
I16
sVquestions
p5870
I143
sVuseful
p5871
I101
sVprince
p5872
I59
sVprofitable
p5873
I14
sVtables
p5874
I29
sVretirement
p5875
I34
sVmajority
p5876
I100
sVinformal
p5877
I24
sVadvisers
p5878
I18
sVworkers
p5879
I147
sVpercent
p5880
I29
sVguaranteed
p5881
I13
sVexclusively
p5882
I17
sVpressing
p5883
I14
sVexhibition
p5884
I54
sVtransformation
p5885
I17
sVchairman
p5886
I112
sVassociations
p5887
I20
sVcomplaint
p5888
I18
sVvendor
p5889
I15
sVlacking
p5890
I15
sVevaluate
p5891
I11
sVshowing
p5892
I63
sVgame
p5893
I150
sVwings
p5894
I24
sVsubmission
p5895
I11
sVsincerely
p5896
I11
sVsignal
p5897
I28
sVchristine
p5898
I11
sVshapes
p5899
I19
sVcollect
p5900
I28
sVarthur
p5901
I28
sVtranslated
p5902
I12
sVessential
p5903
I87
sVeec
p5904
I12
sVmathematical
p5905
I13
sVparade
p5906
I10
sVfucking
p5907
I12
sVfathers
p5908
I12
sVcreation
p5909
I47
sVsome
p5910
I1712
sVmetres
p5911
I34
sVunderstood
p5912
I57
sVtrends
p5913
I21
sVadded
p5914
I15
sVloads
p5915
I15
sVelectric
p5916
I34
sVdelivered
p5917
I31
sVgradually
p5918
I37
sVrarely
p5919
I42
sVdescribing
p5920
I19
sVabsolutely
p5921
I58
sVseller
p5922
I19
sVinnovation
p5923
I17
sVanne
p5924
I44
sVheadmaster
p5925
I12
sVanna
p5926
I28
sVeverybody
p5927
I61
sVmeasures
p5928
I65
sVeating
p5929
I13
sVbooklet
p5930
I10
sVmartin
p5931
I53
sVlakes
p5932
I12
sVrefused
p5933
I63
sVstep
p5934
I16
sVboxes
p5935
I27
sVnerves
p5936
I12
sVintense
p5937
I23
sVhandled
p5938
I16
sVfaith
p5939
I52
sVcautious
p5940
I11
sVaye
p5941
I52
sVrange
p5942
I196
sVpains
p5943
I11
sVeconomic
p5944
I236
sVsponsored
p5945
I11
sVhatred
p5946
I11
sVitalian
p5947
I40
sVsilence
p5948
I56
sVdisclosure
p5949
I10
sVphrases
p5950
I13
sVwithin
p5951
I13
sVnonsense
p5952
I16
sVseasons
p5953
I12
sVsports
p5954
I44
sValison
p5955
I14
sVcanal
p5956
I21
sVimpressed
p5957
I16
sVtenth
p5958
I11
sVrows
p5959
I20
sVcomputer
p5960
I138
sVrenewal
p5961
I11
sVplacing
p5962
I14
sVquestion
p5963
I15
sVfast
p5964
I31
sVaccountability
p5965
I12
sVconsultation
p5966
I24
sVheritage
p5967
I20
sVprey
p5968
I16
sVsections
p5969
I46
sVbelonged
p5970
I16
sVvienna
p5971
I13
sVfiles
p5972
I29
sVmountains
p5973
I28
sVhimself
p5974
I311
sVdownstairs
p5975
I17
sVregistered
p5976
I14
sVways
p5977
I149
sVvideo-taped
p5978
I38
sVcloth
p5979
I20
sVproperly
p5980
I57
sVrepeatedly
p5981
I13
sVrussian
p5982
I52
sVinjection
p5983
I10
sVjunior
p5984
I28
sVraising
p5985
I25
sVdealers
p5986
I18
sVconsist
p5987
I12
sVcharacteristic
p5988
I13
sVdaylight
p5989
I10
sVlifespan
p5990
I37
sVlords
p5991
I15
sVwindows
p5992
I88
sVperformances
p5993
I16
sVsimilar
p5994
I184
sVcalled
p5995
I329
sVinch
p5996
I18
sVassociated
p5997
I19
sVworthwhile
p5998
I15
sVstick
p5999
I19
sVcommissioner
p6000
I15
sVmetals
p6001
I10
sVwarning
p6002
I39
sVrally
p6003
I13
sVgraham
p6004
I42
sVarchbishop
p6005
I16
sVcotton
p6006
I22
sVlemon
p6007
I12
sVtone
p6008
I42
sVobjection
p6009
I13
sVpeace
p6010
I89
sVfears
p6011
I29
sVbacks
p6012
I12
sVteams
p6013
I39
sVnick
p6014
I28
sVpoliticians
p6015
I33
sVelectrical
p6016
I23
sVtransport
p6017
I82
sVincome
p6018
I120
sVdepartment
p6019
I177
sVnice
p6020
I129
sVwished
p6021
I37
sVdraw
p6022
I14
sVcurriculum
p6023
I53
sVusers
p6024
I65
sVreportedly
p6025
I15
sVproblems
p6026
I275
sVbreasts
p6027
I13
sVvisits
p6028
I28
sVwilliam
p6029
I84
sVgenerated
p6030
I25
sVrested
p6031
I11
sVallowing
p6032
I43
sVsmiled
p6033
I76
sVchocolate
p6034
I21
sVstructure
p6035
I137
sVindependently
p6036
I14
sVmargins
p6037
I12
sVpractically
p6038
I14
sVrequired
p6039
I20
sVdepartments
p6040
I42
sVmicrosoft
p6041
I20
sVdepth
p6042
I30
sVneighbouring
p6043
I14
sVthames
p6044
I18
sVnarrative
p6045
I11
sVrigid
p6046
I14
sVrequires
p6047
I53
sVsounded
p6048
I30
sVonce
p6049
I24
sVstones
p6050
I33
sVissued
p6051
I56
sVresistance
p6052
I37
sVsteve
p6053
I43
sVfarms
p6054
I18
sVproposition
p6055
I14
sVgang
p6056
I15
sVwinds
p6057
I14
sVparticularly
p6058
I220
sVadjustment
p6059
I14
sVcontributions
p6060
I28
sVkate
p6061
I24
sVissues
p6062
I121
sVcompact
p6063
I14
sVsimon
p6064
I43
sVdisposal
p6065
I21
sVlanguages
p6066
I34
sVtopic
p6067
I24
sVexcluded
p6068
I23
sVstable
p6069
I31
sVbreach
p6070
I31
sVinclude
p6071
I152
sVdramatically
p6072
I15
sVbreathing
p6073
I14
sVseized
p6074
I17
sVtribunal
p6075
I16
sVequivalent
p6076
I19
sVminers
p6077
I18
sVwave
p6078
I32
sVwishes
p6079
I15
sVtelling
p6080
I58
sVg.
p6081
I15
sVdrinking
p6082
I15
sVibm
p6083
I48
sVstiff
p6084
I15
sVgender
p6085
I20
sVnotes
p6086
I57
sVtokyo
p6087
I11
sVmichael
p6088
I95
sVleader
p6089
I93
sVdeals
p6090
I12
sVverdict
p6091
I14
sVleaning
p6092
I14
sVdealt
p6093
I35
sVrelation
p6094
I28
sVinspection
p6095
I20
sVnoted
p6096
I61
sVconcluded
p6097
I31
sVsmaller
p6098
I73
sVcarter
p6099
I13
sVdonald
p6100
I16
sVsensation
p6101
I14
sVboots
p6102
I26
sVjump
p6103
I16
sVnoise
p6104
I47
sVgo
p6105
I21
sVacid
p6106
I49
sV×
p6107
I16
sVmakers
p6108
I14
sVfolk
p6109
I21
sVuniversities
p6110
I27
sVplays
p6111
I12
sVpaintings
p6112
I33
sVconcessions
p6113
I11
sVcolonel
p6114
I19
sVslight
p6115
I30
sVnetworks
p6116
I19
sVgen.
p6117
I11
sVwaiting
p6118
I10
sVexperiment
p6119
I27
sVpoles
p6120
I13
sVcapital
p6121
I133
sVcollins
p6122
I11
sVnicholas
p6123
I24
sVchose
p6124
I28
sVdegree
p6125
I100
sVpushing
p6126
I23
sVcommercial
p6127
I79
sVmonetary
p6128
I28
sVyoungest
p6129
I12
sVgrowing
p6130
I35
sVexplore
p6131
I23
sVfocused
p6132
I17
sVseparation
p6133
I19
sVferry
p6134
I11
sVconvert
p6135
I11
sVparameters
p6136
I11
sV1961
p6137
I14
sVlarger
p6138
I76
sVmurdered
p6139
I14
sVleaving
p6140
I96
sVsuggests
p6141
I67
sVproducts
p6142
I106
sVgene
p6143
I21
sVsalvation
p6144
I11
sVexamining
p6145
I15
sVexaminations
p6146
I14
sVapple
p6147
I27
sVclark
p6148
I17
sVdeputy
p6149
I39
sVegypt
p6150
I22
sVwin
p6151
I22
sVworthy
p6152
I13
sVaustria
p6153
I13
sVallies
p6154
I16
sVmotor
p6155
I42
sVduck
p6156
I12
sVapply
p6157
I79
sVsinging
p6158
I21
sVcloud
p6159
I21
sVfed
p6160
I22
sVfee
p6161
I29
sVfrom
p6162
I4134
sVstream
p6163
I25
sVconsumption
p6164
I33
sV&
p6165
I136
sVremains
p6166
I15
sVmanagement
p6167
I218
sVnormal
p6168
I124
sVfew
p6169
I450
sVcamera
p6170
I27
sVexamination
p6171
I48
sVbitterly
p6172
I11
sVtimetable
p6173
I11
sVmeans
p6174
I96
sVpanel
p6175
I37
sVsubsidies
p6176
I11
sVreflects
p6177
I22
sVcheeks
p6178
I16
sVpossession
p6179
I29
sVbureaucracy
p6180
I13
sVclever
p6181
I24
sVformally
p6182
I22
sVjournalists
p6183
I18
sVstarted
p6184
I175
sVbecomes
p6185
I77
sVinclined
p6186
I13
sVvol.
p6187
I10
sVabout
p6188
I447
sVinfection
p6189
I27
sVcharming
p6190
I14
sVrabbit
p6191
I14
sVactual
p6192
I68
sVappointed
p6193
I61
sVwomen
p6194
I399
sVpaused
p6195
I25
sVsalad
p6196
I11
sVsanctions
p6197
I13
sVgovernments
p6198
I47
sVcritic
p6199
I12
sVrecession
p6200
I38
sVanywhere
p6201
I41
sVcrossed
p6202
I31
sVservants
p6203
I30
sVfreedom
p6204
I61
sVmeet
p6205
I141
sVcertainty
p6206
I14
sVproof
p6207
I27
sVcontrol
p6208
I53
sVtap
p6209
I12
sVlinks
p6210
I35
sVcalculation
p6211
I11
sVtax
p6212
I156
sVescaped
p6213
I19
sVassumptions
p6214
I25
sVpulling
p6215
I24
sVsomething
p6216
I526
sVsought
p6217
I53
sVwonderful
p6218
I49
sVskirt
p6219
I14
sVrape
p6220
I19
sVdominant
p6221
I30
sVsir
p6222
I188
sVunited
p6223
I12
sVsyndrome
p6224
I12
sVsit
p6225
I86
sVhydrogen
p6226
I12
sVsix
p6227
I303
sVpoetry
p6228
I29
sVfortunate
p6229
I13
sVtraders
p6230
I12
sVbrian
p6231
I45
sVinstead
p6232
I72
sVstruggled
p6233
I14
sVpanic
p6234
I17
sVsin
p6235
I13
sVcircular
p6236
I13
sVtension
p6237
I33
sVcupboard
p6238
I14
sVattend
p6239
I36
sVfarm
p6240
I68
sV3
p6241
I250
sVabuse
p6242
I34
sVwrist
p6243
I11
sVethnic
p6244
I23
sVengineering
p6245
I51
sVstatus
p6246
I88
sVintroduced
p6247
I86
sVtiles
p6248
I12
sVlight
p6249
I62
sVinterrupted
p6250
I14
sVshoulders
p6251
I42
sVclaire
p6252
I11
sVhonestly
p6253
I14
sVagenda
p6254
I24
sVexecutives
p6255
I13
sVsecured
p6256
I19
sVbreast
p6257
I17
sVtheft
p6258
I17
sVpiece
p6259
I92
sVinterpreted
p6260
I21
sVwhilst
p6261
I58
sVincluding
p6262
I11
sVlooks
p6263
I13
sVmentioned
p6264
I70
sVsuperior
p6265
I20
sVblake
p6266
I11
sVouter
p6267
I24
sVexclusion
p6268
I15
sVpaths
p6269
I14
sVmasses
p6270
I13
sVships
p6271
I27
sVpreviously
p6272
I69
sVpermanent
p6273
I45
sVbutton
p6274
I16
sVorange
p6275
I13
sVcovered
p6276
I79
sVbye
p6277
I17
sVcrowds
p6278
I13
sVcrash
p6279
I21
sVsword
p6280
I15
sVorthodox
p6281
I12
sVflour
p6282
I10
sVpractice
p6283
I171
sVflew
p6284
I23
sVemphasised
p6285
I12
sVferguson
p6286
I10
sVambition
p6287
I13
sVfront
p6288
I69
sVrepublican
p6289
I12
sVfled
p6290
I14
sVsuccessor
p6291
I14
sVworlds
p6292
I10
sVmasters
p6293
I18
sVprofound
p6294
I14
sVuniversity
p6295
I164
sVbilly
p6296
I22
sVtrap
p6297
I13
sVinterview
p6298
I43
sVh.
p6299
I17
sVbills
p6300
I30
sVtray
p6301
I14
sVcommonwealth
p6302
I18
sVprivatisation
p6303
I13
sVmap
p6304
I40
sVartists
p6305
I40
sVrelated
p6306
I30
sVconstitute
p6307
I16
sVdoubled
p6308
I12
sVmeasure
p6309
I18
sVsuite
p6310
I13
sVrelates
p6311
I15
sV80
p6312
I26
sVarray
p6313
I11
sVspecial
p6314
I220
sVout
p6315
I491
sVcategory
p6316
I33
sVrespects
p6317
I15
sVblues
p6318
I12
sVentertainment
p6319
I20
sVoccupied
p6320
I26
sVchaos
p6321
I16
sVmay
p6322
I150
sVreputation
p6323
I37
sVutility
p6324
I10
sVsupports
p6325
I14
sVintegrated
p6326
I17
sVachievements
p6327
I15
sVfun
p6328
I17
sValleged
p6329
I13
sVdictionary
p6330
I19
sVwines
p6331
I11
sVeighty
p6332
I38
sVwithdrawal
p6333
I20
sVdelegates
p6334
I16
sVattending
p6335
I18
sVcompletely
p6336
I86
sV1985
p6337
I74
sVyork
p6338
I99
sVconservatives
p6339
I23
sVconflicts
p6340
I15
sV1982
p6341
I52
sVphilip
p6342
I40
sVprincess
p6343
I29
sVtenant
p6344
I26
sVorganic
p6345
I21
sVhostile
p6346
I16
sVislamic
p6347
I13
sVdetermining
p6348
I13
sVroute
p6349
I56
sVrushed
p6350
I15
sVtimes
p6351
I292
sVconversation
p6352
I55
sVbirthday
p6353
I32
sVltd
p6354
I51
sVhence
p6355
I48
sVrestaurants
p6356
I16
sVvegetables
p6357
I18
sVdevon
p6358
I13
sVdesigned
p6359
I100
sVassignment
p6360
I12
sVprospective
p6361
I13
sVevans
p6362
I19
sVpowerful
p6363
I72
sVbars
p6364
I24
sVhitherto
p6365
I16
sVimproving
p6366
I16
sVchoose
p6367
I68
sV1988
p6368
I103
sVequity
p6369
I20
sV1989
p6370
I134
sVquality
p6371
I163
sVhiding
p6372
I12
sVbe*
p6373
I6644
sVlong
p6374
I181
sVpublication
p6375
I37
sVpractitioners
p6376
I20
sVprivacy
p6377
I11
sVguys
p6378
I12
sVachieved
p6379
I79
sVaccent
p6380
I14
sVrelations
p6381
I112
sVpriority
p6382
I34
sVtheir
p6383
I2608
sVattack
p6384
I18
sVwithout
p6385
I456
sVwrapped
p6386
I17
sVperfectly
p6387
I44
sVfinal
p6388
I28
sVshell
p6389
I20
sVshelf
p6390
I14
sVreversed
p6391
I11
sVshallow
p6392
I14
sVdebate
p6393
I70
sVcultural
p6394
I65
sVlists
p6395
I22
sVisraeli
p6396
I15
sVchemicals
p6397
I22
sVreflecting
p6398
I15
sVjuly
p6399
I119
sVoverwhelming
p6400
I14
sVherself
p6401
I172
sVinstitution
p6402
I49
sVblind
p6403
I26
sVwaist
p6404
I14
sVphotograph
p6405
I25
sVben
p6406
I32
sVholland
p6407
I16
sVisolation
p6408
I19
sVgeoff
p6409
I12
sVbed
p6410
I159
sVtommy
p6411
I12
sVclaim
p6412
I47
sVclaudia
p6413
I11
sVpatients
p6414
I173
sVproviding
p6415
I69
sVsculpture
p6416
I13
sVdistinguished
p6417
I12
sVcreditors
p6418
I12
sVare
p6419
I4707
sVdrunk
p6420
I16
sVlightly
p6421
I20
sVunchanged
p6422
I11
sVportrait
p6423
I17
sVneed
p6424
I169
sVborder
p6425
I40
sVlinked
p6426
I40
sVcatholic
p6427
I32
sVbastard
p6428
I14
sVafraid
p6429
I60
sVangle
p6430
I24
sVpupils
p6431
I81
sVrussians
p6432
I13
sVpursued
p6433
I15
sVagency
p6434
I59
sVable
p6435
I304
sVcontact
p6436
I42
sVinstance
p6437
I18
sVrelatives
p6438
I27
sVwhich
p6439
I3719
sVjail
p6440
I11
sVvegetation
p6441
I10
sVcriteria
p6442
I39
sVray
p6443
I18
sVclash
p6444
I11
sVknees
p6445
I26
sVpetrol
p6446
I24
sVcollaboration
p6447
I13
sVwho
p6448
I10
sVdutch
p6449
I23
sVaccountants
p6450
I12
sVintentions
p6451
I15
sVconnected
p6452
I31
sVbut
p6453
I22
sVpalace
p6454
I45
sVtall
p6455
I46
sVlearnt
p6456
I22
sVfuture
p6457
I85
sVwhy
p6458
I509
sVstatute
p6459
I16
sVdeny
p6460
I23
sVconsequences
p6461
I44
sVupset
p6462
I14
sVquestioned
p6463
I18
sVpipe
p6464
I23
sVproceedings
p6465
I43
sVlowered
p6466
I13
sVtalk
p6467
I41
sVpictures
p6468
I54
sVgoals
p6469
I47
sVpylori
p6470
I11
sVimpression
p6471
I42
sVparker
p6472
I11
sVperceptions
p6473
I12
sVchances
p6474
I30
sVplease
p6475
I11
sVagreed
p6476
I10
sVsent
p6477
I137
sVanyway
p6478
I122
sVchapters
p6479
I20
sVpurely
p6480
I26
sVplanning
p6481
I50
sVdemocrats
p6482
I20
sVdorothy
p6483
I12
sVsoldiers
p6484
I36
sVfear
p6485
I25
sVeyes
p6486
I297
sVpleased
p6487
I47
sVshoes
p6488
I37
sVpartners
p6489
I39
sVhighest
p6490
I47
sVbased
p6491
I186
sVearned
p6492
I19
sVwinner
p6493
I32
sVoperational
p6494
I17
sVsurroundings
p6495
I12
sVbases
p6496
I15
sVcandidates
p6497
I40
sVinherited
p6498
I13
sVfuel
p6499
I41
sVemployed
p6500
I49
sVpiano
p6501
I20
sVbells
p6502
I10
sVthousands
p6503
I55
sVmortality
p6504
I23
sVwatching
p6505
I65
sVfellow
p6506
I19
sVdisplayed
p6507
I25
sVoverall
p6508
I13
sV120
p6509
I10
sVjoint
p6510
I64
sVones
p6511
I118
sVlegitimate
p6512
I15
sVwords
p6513
I244
sVprobably
p6514
I273
sVbuyer
p6515
I27
sVargues
p6516
I23
sVchips
p6517
I18
sVendless
p6518
I16
sVgray
p6519
I11
sVprocesses
p6520
I54
sVevident
p6521
I26
sVtobacco
p6522
I15
sVended
p6523
I73
sVconditions
p6524
I154
sVmarried
p6525
I47
sVmaria
p6526
I21
sVshe
p6527
I3801
sVwish
p6528
I16
sVgenerations
p6529
I21
sVview
p6530
I16
sVspotted
p6531
I13
sVknowing
p6532
I47
sVrequirement
p6533
I32
sVj
p6534
I22
sVprayers
p6535
I10
sVacquired
p6536
I37
sVvariations
p6537
I25
sVshake
p6538
I13
sVhumans
p6539
I20
sVmodule
p6540
I32
sVoperates
p6541
I15
sVbreathe
p6542
I11
sVofficials
p6543
I62
sVyugoslavia
p6544
I14
sVfaces
p6545
I14
sVdesperate
p6546
I26
sVoperated
p6547
I21
sVexpects
p6548
I14
sVresponses
p6549
I26
sVcloser
p6550
I21
sVnightmare
p6551
I14
sVcruel
p6552
I14
sVbirds
p6553
I57
sVgenius
p6554
I11
sVstate
p6555
I26
sVconvince
p6556
I12
sVidentification
p6557
I22
sVclosed
p6558
I20
sVhorrible
p6559
I17
sVcrude
p6560
I13
sVlimit
p6561
I16
sVneither
p6562
I28
sVmainly
p6563
I71
sVbought
p6564
I91
sVpublishers
p6565
I15
sVrecipe
p6566
I12
sVattention
p6567
I137
sVability
p6568
I91
sVopening
p6569
I26
sVimportance
p6570
I97
sVjoy
p6571
I24
sVagencies
p6572
I37
sVinterfere
p6573
I11
sVembarrassment
p6574
I13
sVjob
p6575
I229
sVtakeover
p6576
I11
sVhypothesis
p6577
I17
sVjoe
p6578
I43
sVkey
p6579
I49
sVsitting
p6580
I81
sVgroup
p6581
I414
sVprecious
p6582
I16
sVproblem
p6583
I290
sVscreamed
p6584
I11
sVmonitor
p6585
I14
sVinterpretations
p6586
I11
sVweeks
p6587
I154
sVlimits
p6588
I30
sVcareer
p6589
I77
sVrespondents
p6590
I11
sVminds
p6591
I28
sVapril
p6592
I147
sVadmit
p6593
I38
sVgrain
p6594
I18
sVsafely
p6595
I17
sVjourney
p6596
I48
sVgrounds
p6597
I61
sVtorn
p6598
I10
sVwall
p6599
I114
sVtuesday
p6600
I36
sVsupreme
p6601
I33
sVenvironments
p6602
I14
sVwalk
p6603
I39
sVdistinguish
p6604
I20
sVsequences
p6605
I14
sVrespect
p6606
I49
sVwithdrawn
p6607
I17
sVpoem
p6608
I25
sVprovinces
p6609
I11
sVi.e.
p6610
I46
sVaddition
p6611
I21
sVdecent
p6612
I19
sVsara
p6613
I13
sVbbc
p6614
I43
sVcharts
p6615
I11
sVquid
p6616
I14
sVslowly
p6617
I79
sVagreements
p6618
I27
sVpoet
p6619
I22
sVpack
p6620
I25
sVremedies
p6621
I10
sVmike
p6622
I43
sVliverpool
p6623
I55
sVdiversity
p6624
I14
sVleague
p6625
I83
sVpainted
p6626
I24
sVsufficient
p6627
I59
sVfull-time
p6628
I21
sVscrutiny
p6629
I12
sVensuring
p6630
I19
sVexpenditure
p6631
I55
sVsuspension
p6632
I14
sVimproved
p6633
I21
sVcuts
p6634
I12
sVtanks
p6635
I15
sVpresent
p6636
I33
sVnovel
p6637
I11
sVabandoned
p6638
I26
sVunlike
p6639
I40
sVcontexts
p6640
I12
sVdecades
p6641
I25
sVliberal*
p6642
I54
sVharder
p6643
I14
sVchoices
p6644
I18
sVconstance
p6645
I12
sVtexas
p6646
I10
sVwild
p6647
I51
sVlocated
p6648
I25
sVhappened
p6649
I139
sVsupply
p6650
I26
sVlayer
p6651
I25
sVannual
p6652
I81
sVresident
p6653
I12
sVthus
p6654
I205
sVencouragement
p6655
I15
sVexamined
p6656
I36
sVgothic
p6657
I12
sVdual
p6658
I12
sVstands
p6659
I29
sVkissed
p6660
I18
sVperhaps
p6661
I350
sVbegan
p6662
I237
sVviews
p6663
I74
sVradiation
p6664
I17
sVcross
p6665
I23
sVmember
p6666
I175
sVadverse
p6667
I12
sVunity
p6668
I28
sVparts
p6669
I116
sVspeaker
p6670
I80
sVgeographical
p6671
I16
sVlargest
p6672
I58
sVunits
p6673
I71
sVparty
p6674
I403
sVgets
p6675
I78
sVsolution
p6676
I69
sVdifficult
p6677
I220
sVfur
p6678
I10
sVpractitioner
p6679
I11
sVcontext
p6680
I86
sVappearances
p6681
I12
sVconceived
p6682
I12
sVeffect
p6683
I228
sVrecommendations
p6684
I26
sVstudent
p6685
I77
sVfierce
p6686
I16
sVfrequently
p6687
I58
sVcollar
p6688
I14
sVsingle
p6689
I177
sVkeep
p6690
I276
sVscarcely
p6691
I17
sVtransaction
p6692
I23
sVashley
p6693
I11
sVreflection
p6694
I20
sV1954
p6695
I10
sVi
p6696
I8875
sVapprove
p6697
I11
sVincredible
p6698
I12
sVwell
p6699
I42
sVfighting
p6700
I21
sVfailures
p6701
I11
sVqualified
p6702
I13
sV47
p6703
I11
sVfirstly
p6704
I17
sVundertaken
p6705
I27
sVrealised
p6706
I49
sVrestore
p6707
I17
sVexcessive
p6708
I17
sVcried
p6709
I30
sVheavily
p6710
I41
sVincreasingly
p6711
I66
sVoak
p6712
I16
sVaccurate
p6713
I29
sVcolours
p6714
I45
sVobtain
p6715
I46
sVdose
p6716
I16
sVsources
p6717
I67
sVmistakes
p6718
I16
sVdistant
p6719
I29
sVfishing
p6720
I32
sVskill
p6721
I35
sVhappiness
p6722
I17
sVmysterious
p6723
I13
sVrapid
p6724
I36
sVdensity
p6725
I16
sV1959
p6726
I12
sVpoint
p6727
I33
sVsky
p6728
I50
sVdeposits
p6729
I19
sVdiscuss
p6730
I56
sVreasons
p6731
I108
sVother
p6732
I43
sVadoption
p6733
I16
sVattractive
p6734
I52
sVusage
p6735
I12
sVsmart
p6736
I15
sVacted
p6737
I23
sVfunded
p6738
I13
sVidentical
p6739
I22
sVgods
p6740
I14
sVbranch
p6741
I53
sVmyth
p6742
I15
sVvan nop-
p6743
I22
sVrepublics
p6744
I15
sVall right*
p6745
I64
sVhistoric
p6746
I23
sVknow
p6747
I1233
sVburden
p6748
I26
sVpress
p6749
I29
sVimmediately
p6750
I102
sVprominent
p6751
I23
sVloss
p6752
I116
sVcheshire
p6753
I11
sVnecessary
p6754
I181
sVhelpful
p6755
I32
sVlost
p6756
I25
sVsizes
p6757
I17
sValternatively
p6758
I17
sVopera
p6759
I23
sVpayments
p6760
I45
sVcorners
p6761
I16
sVleaves
p6762
I29
sVrefugees
p6763
I19
sVpage
p6764
I106
sVregardless
p6765
I15
sVexceed
p6766
I10
sVbecause
p6767
I178
sVfunctional
p6768
I20
sVsequence
p6769
I42
sVscared
p6770
I12
sVscottish
p6771
I98
sVphenomena
p6772
I14
sVsearching
p6773
I19
sVlibrary
p6774
I82
sVmotive
p6775
I10
sVgrowth
p6776
I130
sVexport
p6777
I21
sVcleveland
p6778
I17
sVhome
p6779
I194
sVempire
p6780
I36
sVpeter
p6781
I124
sVemployment
p6782
I107
sVscales
p6783
I15
sVthroughout
p6784
I116
sVleaf
p6785
I15
sVlead
p6786
I55
sVbroad
p6787
I49
sVmines
p6788
I14
sVconstantly
p6789
I31
sVco /
p6790
I40
sVdemonstrated
p6791
I27
sVlimitations
p6792
I18
sVmedieval
p6793
I25
sVreaching
p6794
I29
sVjournal
p6795
I24
sVanalysed
p6796
I18
sVexpansion
p6797
I36
sVstates
p6798
I19
sVscots
p6799
I12
sVdoctors
p6800
I45
sVinstinct
p6801
I11
sVdescribed
p6802
I148
sVanalyses
p6803
I11
sVswept
p6804
I21
sVraise
p6805
I61
sVthrone
p6806
I12
sVrare
p6807
I46
sVcarried
p6808
I138
sVextension
p6809
I35
sVgetting
p6810
I203
sVcolumn
p6811
I28
sVuniverse
p6812
I26
sVdependence
p6813
I13
sVurged
p6814
I23
sVmadame
p6815
I11
sVcompatible
p6816
I12
sVcarries
p6817
I18
sVcarrier
p6818
I13
sVplaces
p6819
I91
sVtongue
p6820
I24
sVemperor
p6821
I21
sVpersuaded
p6822
I21
sVowl
p6823
I11
sVequally
p6824
I66
sVown
p6825
I16
sVowe
p6826
I13
sVwashington
p6827
I33
sVweather
p6828
I57
sVpromise
p6829
I15
sVbrush
p6830
I13
sVregistration
p6831
I22
sVdug
p6832
I11
sVprompted
p6833
I16
sVhitting
p6834
I11
sVvan
p6835
I21
sVadditional
p6836
I74
sVwhom
p6837
I129
sVtransfer
p6838
I18
sVrightly
p6839
I15
sV*
p6840
I15
sVnoticed
p6841
I53
sVcontinental
p6842
I17
sVintention
p6843
I47
sVthreat
p6844
I57
sVinner
p6845
I45
sVbreeding
p6846
I19
sVinspiration
p6847
I14
sVcricket
p6848
I33
sVnorth
p6849
I54
sVaircraft
p6850
I62
sVfunds
p6851
I62
sVhp
p6852
I11
sVvolume
p6853
I54
sVneutral
p6854
I16
sVec
p6855
I67
sVcourts
p6856
I59
sVear
p6857
I29
sVph
p6858
I15
sVhe
p6859
I6810
sVmade
p6860
I943
sVtactics
p6861
I14
sVwhether
p6862
I332
sVcells
p6863
I76
sVpolitics
p6864
I75
sVsigned
p6865
I57
sVrecord
p6866
I23
sVbelow
p6867
I55
sVgaps
p6868
I11
sVstories
p6869
I48
sVruling
p6870
I12
sVkatherine
p6871
I11
sVcake
p6872
I28
sVdemonstrate
p6873
I24
sVnorman
p6874
I23
sVwalter
p6875
I19
sVbroadly
p6876
I16
sVdisplay
p6877
I19
sVblock
p6878
I36
sVjenny
p6879
I18
sVinadequate
p6880
I23
sVuniversal
p6881
I26
sVpenny
p6882
I12
sVkingdom nop-
p6883
I44
sVlived
p6884
I82
sVgoodness
p6885
I15
sVflight
p6886
I52
sVeducation
p6887
I260
sVeric
p6888
I19
sVmutual
p6889
I22
sV'll
p6890
I726
sVgay
p6891
I16
sVingredients
p6892
I13
sVboot
p6893
I15
sVpromote
p6894
I32
sVenvisaged
p6895
I12
sVwestminster
p6896
I22
sVnhs
p6897
I25
sVbook
p6898
I243
sVboom
p6899
I16
sVsick
p6900
I44
sVyoungsters
p6901
I17
sVer
p6902
I896
sVconclusion
p6903
I51
sVkinds
p6904
I47
sVdiagnosis
p6905
I17
sVoct.
p6906
I32
sVjune
p6907
I146
sVultimately
p6908
I29
sVstay
p6909
I11
sVmargaret
p6910
I38
sVtonnes
p6911
I19
sVpriced
p6912
I11
sVfriends
p6913
I151
sVincurred
p6914
I12
sVupwards
p6915
I16
sVappoint
p6916
I10
sVranks
p6917
I16
sVpools
p6918
I11
sVfactors
p6919
I87
sVpersistent
p6920
I13
sVcasual
p6921
I18
sVportion
p6922
I11
sVvolumes
p6923
I16
sVideological
p6924
I17
sVunderstand
p6925
I155
sVindirectly
p6926
I10
stp6927
Rp6928
.
================================================
FILE: corpkit/dictionaries/bnc.py
================================================
def _get_bnc():
"""Load the BNC"""
import corpkit
try:
import cPickle as pickle
except ImportError:
import pickle
import os
fullpaths = [os.path.join(os.path.dirname(corpkit.__file__), 'corpkit', 'dictionaries', 'bnc.p'),
os.path.join(os.path.dirname(corpkit.__file__), 'dictionaries', 'bnc.p'),
os.path.join(os.path.dirname(corpkit.__file__), 'bnc.p'),
os.path.join(os.path.dirname(os.path.dirname(corpkit.__file__)), 'bnc.p')]
fullpath = next(x for x in fullpaths if os.path.isfile(x))
with open(fullpath, 'rb') as fo:
data = pickle.load(fo)
return data
bnc = _get_bnc()
================================================
FILE: corpkit/dictionaries/eng_verb_lexicon.p
================================================
(dp0
Fnan
(lp1
S"belly-laughs'"
p2
aS'belly-laughing'
p3
aS'belly-laughed'
p4
aS'belly-laughed'
p5
asS'fawn'
p6
(lp7
S'fawns'
p8
aS'fawning'
p9
aS'fawned'
p10
aS'fawned'
p11
asS'foul'
p12
(lp13
S'fouls'
p14
aS'fouling'
p15
aS'fouled'
p16
aS'fouled'
p17
asS'escribe'
p18
(lp19
S'escribes'
p20
aS'escribing'
p21
aS'escribed'
p22
aS'escribed'
p23
asS'prefix'
p24
(lp25
S'prefixes'
p26
aS'prefixing'
p27
aS'prefixed'
p28
aS'prefixed'
p29
asS'forgather'
p30
(lp31
S'forgathers'
p32
aS'forgathering'
p33
aS'forgathered'
p34
aS'forgathered'
p35
asS'preface'
p36
(lp37
S'prefaces'
p38
aS'prefacing'
p39
aS'prefaced'
p40
aS'prefaced'
p41
asS'underachieve'
p42
(lp43
S'underachieves'
p44
aS'underachieving'
p45
aS'underachieved'
p46
aS'underachieved'
p47
asS'shamble'
p48
(lp49
S'shambles'
p50
aS'shambling'
p51
aS'shambled'
p52
aS'shambled'
p53
asS'conjure'
p54
(lp55
S'conjures'
p56
aS'conjuring'
p57
aS'conjured'
p58
aS'conjured'
p59
asS'regularize'
p60
(lp61
S'regularizes'
p62
aS'regularizing'
p63
aS'regularized'
p64
aS'regularized'
p65
asS'ruck'
p66
(lp67
S'rucks'
p68
aS'rucking'
p69
aS'rucked'
p70
aS'rucked'
p71
asS'rupture'
p72
(lp73
S'ruptures'
p74
aS'rupturing'
p75
aS'ruptured'
p76
aS'ruptured'
p77
asS'rouse'
p78
(lp79
S'rouses'
p80
aS'rousing'
p81
aS'roused'
p82
aS'roused'
p83
asS'scold'
p84
(lp85
S'scolds'
p86
aS'scolding'
p87
aS'scolded'
p88
aS'scolded'
p89
asS'quadruple'
p90
(lp91
S'quadruples'
p92
aS'quadrupling'
p93
aS'quadrupled'
p94
aS'quadrupled'
p95
asS'outwit'
p96
(lp97
S'outwits'
p98
aS'outwitting'
p99
aS'outwitted'
p100
aS'outwitted'
p101
asS'tingle'
p102
(lp103
S'tingles'
p104
aS'tingling'
p105
aS'tingled'
p106
aS'tingled'
p107
asS'sputter'
p108
(lp109
S'sputters'
p110
aS'sputtering'
p111
aS'sputtered'
p112
aS'sputtered'
p113
asS'angulate'
p114
(lp115
S'angulates'
p116
aS'angulating'
p117
aS'angulated'
p118
aS'angulated'
p119
asS'autolyze'
p120
(lp121
S'autolyzes'
p122
aS'autolyzing'
p123
aS'autolyzed'
p124
aS'autolyzed'
p125
asS'antecede'
p126
(lp127
S'antecedes'
p128
aS'anteceding'
p129
aS'anteceded'
p130
aS'anteceded'
p131
asS'swivel'
p132
(lp133
S'swivels'
p134
aS'swiveling'
p135
aS'swiveled'
p136
aS'swiveled'
p137
asS'bellyache'
p138
(lp139
sS'jemmy'
p140
(lp141
S'jemmies'
p142
aS'jemmying'
p143
aS'jemmied'
p144
aS'jemmied'
p145
asS'stipulate'
p146
(lp147
S'stipulates'
p148
aS'stipulating'
p149
aS'stipulated'
p150
aS'stipulated'
p151
asS'befoul'
p152
(lp153
S'befouls'
p154
aS'befouling'
p155
aS'befouled'
p156
aS'befouled'
p157
asS'yellow'
p158
(lp159
S'yellows'
p160
aS'yellowing'
p161
aS'yellowed'
p162
aS'yellowed'
p163
asS'detrude'
p164
(lp165
S'detrudes'
p166
aS'detruding'
p167
aS'detruded'
p168
aS'detruded'
p169
asS'unify'
p170
(lp171
S'unifies'
p172
aS'unifying'
p173
aS'unified'
p174
aS'unified'
p175
asS'semaphore'
p176
(lp177
S'semaphores'
p178
aS'semaphoring'
p179
aS'semaphored'
p180
aS'semaphored'
p181
asS'disturb'
p182
(lp183
S'disturbs'
p184
aS'disturbing'
p185
aS'disturbed'
p186
aS'disturbed'
p187
asS'prize'
p188
(lp189
S'prizes'
p190
aS'prizing'
p191
aS'prized'
p192
aS'prized'
p193
asS'buttonhole'
p194
(lp195
S'buttonholes'
p196
aS'buttonholing'
p197
aS'buttonholed'
p198
aS'buttonholed'
p199
asS'understock'
p200
(lp201
S'understocks'
p202
aS'understocking'
p203
aS'understocked'
p204
aS'understocked'
p205
asS'disburden'
p206
(lp207
S'disburdens'
p208
aS'disburdening'
p209
aS'disburdened'
p210
aS'disburdened'
p211
asS'fritter'
p212
(lp213
S'fritters'
p214
aS'frittering'
p215
aS'frittered'
p216
aS'frittered'
p217
asS'orientate'
p218
(lp219
S'orientates'
p220
aS'orientating'
p221
aS'orientated'
p222
aS'orientated'
p223
asS'charter'
p224
(lp225
S'charters'
p226
aS'chartering'
p227
aS'chartered'
p228
aS'chartered'
p229
asS'tolerate'
p230
(lp231
S'tolerates'
p232
aS'tolerating'
p233
aS'tolerated'
p234
aS'tolerated'
p235
asS'pulse'
p236
(lp237
S'pulses'
p238
aS'pulsing'
p239
aS'pulsed'
p240
aS'pulsed'
p241
asS'second'
p242
(lp243
S'seconds'
p244
aS'seconding'
p245
aS'seconded'
p246
aS'seconded'
p247
asS'tether'
p248
(lp249
S'tethers'
p250
aS'tethering'
p251
aS'tethered'
p252
aS'tethered'
p253
asS'hoick'
p254
(lp255
S'hoicks'
p256
aS'hoicking'
p257
aS'hoicked'
p258
aS'hoicked'
p259
asS'blouse'
p260
(lp261
S'blouses'
p262
aS'blousing'
p263
aS'bloused'
p264
aS'bloused'
p265
asS'intermingle'
p266
(lp267
S'intermingles'
p268
aS'intermingling'
p269
aS'intermingled'
p270
aS'intermingled'
p271
asS'thunder'
p272
(lp273
S'thunders'
p274
aS'thundering'
p275
aS'thundered'
p276
aS'thundered'
p277
asS'boogie'
p278
(lp279
S'boogies'
p280
aS'boogieing'
p281
aS'boogied'
p282
aS'boogied'
p283
asS'decry'
p284
(lp285
S'decries'
p286
aS'decrying'
p287
aS'decried'
p288
aS'decried'
p289
asS'succumb'
p290
(lp291
S'succumbs'
p292
aS'succumbing'
p293
aS'succumbed'
p294
aS'succumbed'
p295
asS'cull'
p296
(lp297
S'culls'
p298
aS'culling'
p299
aS'culled'
p300
aS'culled'
p301
asS'crouch'
p302
(lp303
S'crouches'
p304
aS'crouching'
p305
aS'crouched'
p306
aS'crouched'
p307
asS'avert'
p308
(lp309
S'averts'
p310
aS'averting'
p311
aS'averted'
p312
aS'averted'
p313
asS'splinter'
p314
(lp315
S'splinters'
p316
aS'splintering'
p317
aS'splintered'
p318
aS'splintered'
p319
asS'herd'
p320
(lp321
S'herds'
p322
aS'herding'
p323
aS'herded'
p324
aS'herded'
p325
asS'chine'
p326
(lp327
S'chines'
p328
aS'chining'
p329
aS'chined'
p330
aS'chined'
p331
asS'caseharden'
p332
(lp333
S'casehardens'
p334
aS'casehardening'
p335
aS'casehardened'
p336
aS'casehardened'
p337
asS'shriek'
p338
(lp339
S'shrieks'
p340
aS'shrieking'
p341
aS'shrieked'
p342
aS'shrieked'
p343
asS'chink'
p344
(lp345
S'chinks'
p346
aS'chinking'
p347
aS'chinked'
p348
aS'chinked'
p349
asS'deodorize'
p350
(lp351
S'deodorizes'
p352
aS'deodorizing'
p353
aS'deodorized'
p354
aS'deodorized'
p355
asS'elaborate'
p356
(lp357
S'elaborates'
p358
aS'elaborating'
p359
aS'elaborated'
p360
aS'elaborated'
p361
asS'force-ripe'
p362
(lp363
S'force-ripes'
p364
aS'force-riping'
p365
aS'force-riped'
p366
aS'force-riped'
p367
asS'scutter'
p368
(lp369
S'scutters'
p370
aS'scuttering'
p371
aS'scuttered'
p372
aS'scuttered'
p373
asS'rebel'
p374
(lp375
S'rebels'
p376
aS'rebelling'
p377
aS'rebelled'
p378
aS'rebelled'
p379
asS'exuviate'
p380
(lp381
S'exuviates'
p382
aS'exuviating'
p383
aS'exuviated'
p384
aS'exuviated'
p385
asS'misprize'
p386
(lp387
S'misprizes'
p388
aS'misprizing'
p389
aS'misprized'
p390
aS'misprized'
p391
asS'divide'
p392
(lp393
S'divides'
p394
aS'dividing'
p395
aS'divided'
p396
aS'divided'
p397
asS'lengthen'
p398
(lp399
S'lengthens'
p400
aS'lengthening'
p401
aS'lengthened'
p402
aS'lengthened'
p403
asS'replace'
p404
(lp405
S'replaces'
p406
aS'replacing'
p407
aS'replaced'
p408
aS'replaced'
p409
asS'costar'
p410
(lp411
S'costars'
p412
aS'costarring'
p413
aS'costarred'
p414
aS'costarred'
p415
asS'telemeter'
p416
(lp417
S'telemeters'
p418
aS'telemetering'
p419
aS'telemetered'
p420
aS'telemetered'
p421
asS'perennate'
p422
(lp423
S'perennates'
p424
aS'perennating'
p425
aS'perennated'
p426
aS'perennated'
p427
asS'blunge'
p428
(lp429
S'blunges'
p430
aS'blunging'
p431
aS'blunged'
p432
aS'blunged'
p433
asS'discommon'
p434
(lp435
S'discommons'
p436
aS'discommoning'
p437
aS'discommoned'
p438
aS'discommoned'
p439
asS'browse'
p440
(lp441
S'browses'
p442
aS'browsing'
p443
aS'browsed'
p444
aS'browsed'
p445
asS'exhort'
p446
(lp447
S'exhorts'
p448
aS'exhorting'
p449
aS'exhorted'
p450
aS'exhorted'
p451
asS'gradate'
p452
(lp453
S'gradates'
p454
aS'gradating'
p455
aS'gradated'
p456
aS'gradated'
p457
asS'untie'
p458
(lp459
S'unties'
p460
aS'untying'
p461
aS'untied'
p462
aS'untied'
p463
asS'telegraph'
p464
(lp465
S'telegraphs'
p466
aS'telegraphing'
p467
aS'telegraphed'
p468
aS'telegraphed'
p469
asS'strike'
p470
(lp471
S'strikes'
p472
aS'striking'
p473
aS'struck'
p474
aS'struck'
p475
asS'relay'
p476
(lp477
S'relays'
p478
aS'relaying'
p479
aS'relayed'
p480
aS'relayed'
p481
asS'desalt'
p482
(lp483
S'desalts'
p484
aS'desalting'
p485
aS'desalted'
p486
aS'desalted'
p487
asS'mesmerize'
p488
(lp489
S'mesmerizes'
p490
aS'mesmerizing'
p491
aS'mesmerized'
p492
aS'mesmerized'
p493
asS'sortie'
p494
(lp495
S'sorties'
p496
aS'sortieing'
p497
aS'sortied'
p498
aS'sortied'
p499
asS'holp'
p500
(lp501
S'holps'
p502
aS'holping'
p503
aS'holped'
p504
aS'holped'
p505
asS'glass'
p506
(lp507
S'glasses'
p508
aS'glassing'
p509
aS'glassed'
p510
aS'glassed'
p511
asS'export'
p512
(lp513
S'exports'
p514
aS'exporting'
p515
aS'exported'
p516
aS'exported'
p517
asS'hurl'
p518
(lp519
S'hurls'
p520
aS'hurling'
p521
aS'hurled'
p522
aS'hurled'
p523
asS'hole'
p524
(lp525
S'holes'
p526
aS'holing'
p527
aS'holed'
p528
aS'holed'
p529
asS'hold'
p530
(lp531
S'holds'
p532
aS'holding'
p533
aS'held'
p534
aS'held'
p535
asS'unpack'
p536
(lp537
S'unpacks'
p538
aS'unpacking'
p539
aS'unpacked'
p540
aS'unpacked'
p541
asS'simper'
p542
(lp543
S'simpers'
p544
aS'simpering'
p545
aS'simpered'
p546
aS'simpered'
p547
asS'pursue'
p548
(lp549
S'pursues'
p550
aS'pursuing'
p551
aS'pursued'
p552
aS'pursued'
p553
asS'debark'
p554
(lp555
S'debarks'
p556
aS'debarking'
p557
aS'debarked'
p558
aS'debarked'
p559
asS'sweeten'
p560
(lp561
S'sweetens'
p562
aS'sweetening'
p563
aS'sweetened'
p564
aS'sweetened'
p565
asS'straddle'
p566
(lp567
S'straddles'
p568
aS'straddling'
p569
aS'straddled'
p570
aS'straddled'
p571
asS'hamshackle'
p572
(lp573
S'hamshackles'
p574
aS'hamshackling'
p575
aS'hamshackled'
p576
aS'hamshackled'
p577
asS'vow'
p578
(lp579
S'vows'
p580
aS'vowing'
p581
aS'vowed'
p582
aS'vowed'
p583
asS'reword'
p584
(lp585
S'rewords'
p586
aS'rewording'
p587
aS'reworded'
p588
aS'reworded'
p589
asS'shelve'
p590
(lp591
S'shelves'
p592
aS'shelving'
p593
aS'shelved'
p594
aS'shelved'
p595
asS'exhale'
p596
(lp597
S'exhales'
p598
aS'exhaling'
p599
aS'exhaled'
p600
aS'exhaled'
p601
asS'rework'
p602
(lp603
S'reworks'
p604
aS'reworking'
p605
aS'reworked'
p606
aS'reworked'
p607
asS'scavenge'
p608
(lp609
S'scavenges'
p610
aS'scavenging'
p611
aS'scavenged'
p612
aS'scavenged'
p613
asS'triple'
p614
(lp615
S'triples'
p616
aS'tripling'
p617
aS'tripled'
p618
aS'tripled'
p619
asS'courtmartial'
p620
(lp621
S'courtmartials'
p622
aS'courtmartialing'
p623
aS'courtmartialed'
p624
aS'courtmartialed'
p625
asS'wank'
p626
(lp627
S'wanks'
p628
aS'wanking'
p629
aS'wanked'
p630
aS'wanked'
p631
asS'malign'
p632
(lp633
S'maligns'
p634
aS'maligning'
p635
aS'maligned'
p636
aS'maligned'
p637
asS'caution'
p638
(lp639
S'cautions'
p640
aS'cautioning'
p641
aS'cautioned'
p642
aS'cautioned'
p643
asS'want'
p644
(lp645
S'wants'
p646
aS'wanting'
p647
aS'wanted'
p648
aS'wanted'
p649
asS'dele'
p650
(lp651
S'deles'
p652
aS'deleing'
p653
aS'deled'
p654
aS'deled'
p655
asS'reprove'
p656
(lp657
S'reproves'
p658
aS'reproving'
p659
aS'reproved'
p660
aS'reproved'
p661
asS'dyke'
p662
(lp663
S'dykes'
p664
aS'dyking'
p665
aS'dyked'
p666
aS'dyked'
p667
asS'hog'
p668
(lp669
S'hogs'
p670
aS'hogging'
p671
aS'hogged'
p672
aS'hogged'
p673
asS'hoe'
p674
(lp675
S'hoes'
p676
aS'hoing'
p677
aS'hoed'
p678
aS'hoed'
p679
asS'hob'
p680
(lp681
S'hobs'
p682
aS'hobbing'
p683
aS'hobbed'
p684
aS'hobbed'
p685
asS'unclothe'
p686
(lp687
S'unclothes'
p688
aS'unclothing'
p689
aS'unclothed'
p690
aS'unclothed'
p691
asS'dimple'
p692
(lp693
S'dimples'
p694
aS'dimpling'
p695
aS'dimpled'
p696
aS'dimpled'
p697
asS'travel'
p698
(lp699
S'travels'
p700
aS'travelling'
p701
aS'travelled'
p702
aS'travelled'
p703
asS'peregrinate'
p704
(lp705
S'peregrinates'
p706
aS'peregrinating'
p707
aS'peregrinated'
p708
aS'peregrinated'
p709
asS'damage'
p710
(lp711
S'damages'
p712
aS'damaging'
p713
aS'damaged'
p714
aS'damaged'
p715
asS'cutback'
p716
(lp717
S'cutbacks'
p718
aS'cutbacking'
p719
aS'cutbacked'
p720
aS'cutbacked'
p721
asS'revisit'
p722
(lp723
S'revisits'
p724
aS'revisiting'
p725
aS'revisited'
p726
aS'revisited'
p727
asS'machine'
p728
(lp729
S'machines'
p730
aS'machining'
p731
aS'machined'
p732
aS'machined'
p733
asS'playback'
p734
(lp735
S'playbacks'
p736
aS'playbacking'
p737
aS'playbacked'
p738
aS'playbacked'
p739
asS'hop'
p740
(lp741
S'hops'
p742
aS'hopping'
p743
aS'hopped'
p744
aS'hopped'
p745
asS'hyposensitize'
p746
(lp747
S'hyposensitizes'
p748
aS'hyposensitizing'
p749
aS'hyposensitized'
p750
aS'hyposensitized'
p751
asS'classify'
p752
(lp753
S'classifies'
p754
aS'classifying'
p755
aS'classified'
p756
aS'classified'
p757
asS'turmoil'
p758
(lp759
S'turmoils'
p760
aS'turmoiling'
p761
aS'turmoiled'
p762
aS'turmoiled'
p763
asS'swing'
p764
(lp765
S'swings'
p766
aS'swinging'
p767
aS'swung'
p768
aS'swung'
p769
asS'outfight'
p770
(lp771
S'outfights'
p772
aS'outfighting'
p773
aS'outfought'
p774
aS'outfought'
p775
asS'diagram'
p776
(lp777
S'diagrams'
p778
aS'diagramming'
p779
aS'diagrammed'
p780
aS'diagrammed'
p781
asS'wrong'
p782
(lp783
S'wrongs'
p784
aS'wronging'
p785
aS'wronged'
p786
aS'wronged'
p787
asS'chump'
p788
(lp789
S'chumps'
p790
aS'chumping'
p791
aS'chumped'
p792
aS'chumped'
p793
asS'warble'
p794
(lp795
S'warbles'
p796
aS'warbling'
p797
aS'warbled'
p798
aS'warbled'
p799
asS'marginalize'
p800
(lp801
S'marginalizes'
p802
aS'marginalizing'
p803
aS'marginalized'
p804
aS'marginalized'
p805
asS'scourge'
p806
(lp807
S'scourges'
p808
aS'scourging'
p809
aS'scourged'
p810
aS'scourged'
p811
asS'revolt'
p812
(lp813
S'revolts'
p814
aS'revolting'
p815
aS'revolted'
p816
aS'revolted'
p817
asS'season'
p818
(lp819
S'seasons'
p820
aS'seasoning'
p821
aS'seasoned'
p822
aS'seasoned'
p823
asS'wink'
p824
(lp825
S'winks'
p826
aS'winking'
p827
aS'winked'
p828
aS'winked'
p829
asS'wing'
p830
(lp831
S'wings'
p832
aS'winging'
p833
aS'winged'
p834
aS'winged'
p835
asS'squint'
p836
(lp837
S'squints'
p838
aS'squinting'
p839
aS'squinted'
p840
aS'squinted'
p841
asS'wine'
p842
(lp843
S'wines'
p844
aS'wining'
p845
aS'wined'
p846
aS'wined'
p847
asS'refrigerate'
p848
(lp849
S'refrigerates'
p850
aS'refrigerating'
p851
aS'refrigerated'
p852
aS'refrigerated'
p853
asS'triturate'
p854
(lp855
S'triturates'
p856
aS'triturating'
p857
aS'triturated'
p858
aS'triturated'
p859
asS'transect'
p860
(lp861
S'transects'
p862
aS'transecting'
p863
aS'transected'
p864
aS'transected'
p865
asS'defuze'
p866
(lp867
S'defuzes'
p868
aS'defuzing'
p869
aS'defuzed'
p870
aS'defuzed'
p871
asS'vary'
p872
(lp873
S'varies'
p874
aS'varying'
p875
aS'varied'
p876
aS'varied'
p877
asS'handcuff'
p878
(lp879
S'handcuffs'
p880
aS'handcuffing'
p881
aS'handcuffed'
p882
aS'handcuffed'
p883
asS'butcher'
p884
(lp885
S'butchers'
p886
aS'butchering'
p887
aS'butchered'
p888
aS'butchered'
p889
asS'wrought'
p890
(lp891
S'wroughts'
p892
aS'wroughting'
p893
aS'wroughted'
p894
aS'wroughted'
p895
asS'contuse'
p896
(lp897
S'contuses'
p898
aS'contusing'
p899
aS'contused'
p900
aS'contused'
p901
asS'entrammel'
p902
(lp903
S'entrammels'
p904
aS'entrammelling'
p905
aS'entrammelled'
p906
aS'entrammelled'
p907
asS'fix'
p908
(lp909
S'fixes'
p910
aS'fixing'
p911
aS'fixed'
p912
aS'fixed'
p913
asS'baste'
p914
(lp915
S'bastes'
p916
aS'basting'
p917
aS'basted'
p918
aS'basted'
p919
asS'secede'
p920
(lp921
S'secedes'
p922
aS'seceding'
p923
aS'seceded'
p924
aS'seceded'
p925
asS'fib'
p926
(lp927
S'fibs'
p928
aS'fibbing'
p929
aS'fibbed'
p930
aS'fibbed'
p931
asS'fig'
p932
(lp933
S'figs'
p934
aS'figging'
p935
aS'figged'
p936
aS'figged'
p937
asS'transvalue'
p938
(lp939
S'transvalues'
p940
aS'transvaluing'
p941
aS'transvalued'
p942
aS'transvalued'
p943
asS'fin'
p944
(lp945
S'fins'
p946
aS'finning'
p947
aS'finned'
p948
aS'finned'
p949
asS'undercut'
p950
(lp951
S'undercuts'
p952
aS'undercutting'
p953
aS'undercut'
p954
aS'undercut'
p955
asS'glorify'
p956
(lp957
S'glorifies'
p958
aS'glorifying'
p959
aS'glorified'
p960
aS'glorified'
p961
asS'unpeg'
p962
(lp963
S'unpegs'
p964
aS'unpegging'
p965
aS'unpegged'
p966
aS'unpegged'
p967
asS'enrich'
p968
(lp969
S'enriches'
p970
aS'enriching'
p971
aS'enriched'
p972
aS'enriched'
p973
asS'slate'
p974
(lp975
S'slates'
p976
aS'slating'
p977
aS'slated'
p978
aS'slated'
p979
asS'decarbonize'
p980
(lp981
S'decarbonizes'
p982
aS'decarbonizing'
p983
aS'decarbonized'
p984
aS'decarbonized'
p985
asS'commemorate'
p986
(lp987
S'commemorates'
p988
aS'commemorating'
p989
aS'commemorated'
p990
aS'commemorated'
p991
asS'memorialize'
p992
(lp993
S'memorializes'
p994
aS'memorializing'
p995
aS'memorialized'
p996
aS'memorialized'
p997
asS'confute'
p998
(lp999
S'confutes'
p1000
aS'confuting'
p1001
aS'confuted'
p1002
aS'confuted'
p1003
asS'interrupt'
p1004
(lp1005
S'interrupts'
p1006
aS'interrupting'
p1007
aS'interrupted'
p1008
aS'interrupted'
p1009
asS'silver'
p1010
(lp1011
S'silvers'
p1012
aS'silvering'
p1013
aS'silvered'
p1014
aS'silvered'
p1015
asS'rumour'
p1016
(lp1017
S'rumours'
p1018
aS'rumouring'
p1019
aS'rumoured'
p1020
aS'rumoured'
p1021
asS'defecate'
p1022
(lp1023
S'defecates'
p1024
aS'defecating'
p1025
aS'defecated'
p1026
aS'defecated'
p1027
asS'debut'
p1028
(lp1029
S'debuts'
p1030
aS'debuting'
p1031
aS'debuted'
p1032
aS'debuted'
p1033
asS'debus'
p1034
(lp1035
S'debuses'
p1036
aS'debusing'
p1037
aS'debused'
p1038
aS'debused'
p1039
asS'singlespace'
p1040
(lp1041
S'singlespaces'
p1042
aS'singlespacing'
p1043
aS'singlespaced'
p1044
aS'singlespaced'
p1045
asS'debug'
p1046
(lp1047
S'debugs'
p1048
aS'debugging'
p1049
aS'debugged'
p1050
aS'debugged'
p1051
asS'gumshoe'
p1052
(lp1053
S'gumshoes'
p1054
aS'gumshoeing'
p1055
aS'gumshoed'
p1056
aS'gumshoed'
p1057
asS'toll'
p1058
(lp1059
S'tolls'
p1060
aS'tolling'
p1061
aS'tolled'
p1062
aS'tolled'
p1063
asS'telescope'
p1064
(lp1065
S'telescopes'
p1066
aS'telescoping'
p1067
aS'telescoped'
p1068
aS'telescoped'
p1069
asS'swathe'
p1070
(lp1071
S'swathing'
p1072
aS'swathed'
p1073
aS'swathed'
p1074
asS'garment'
p1075
(lp1076
S'garments'
p1077
aS'garmenting'
p1078
aS'garmented'
p1079
aS'garmented'
p1080
asS'exhume'
p1081
(lp1082
S'exhumes'
p1083
aS'exhuming'
p1084
aS'exhumed'
p1085
aS'exhumed'
p1086
asS'ameliorate'
p1087
(lp1088
S'ameliorates'
p1089
aS'ameliorating'
p1090
aS'ameliorated'
p1091
aS'ameliorated'
p1092
asS'allay'
p1093
(lp1094
S'allays'
p1095
aS'allaying'
p1096
aS'allayed'
p1097
aS'allayed'
p1098
asS'ring'
p1099
(lp1100
S'rings'
p1101
aS'ringing'
p1102
aS'rung'
p1103
aS'rung'
p1104
asS'overwrite'
p1105
(lp1106
S'overwrites'
p1107
aS'overwriting'
p1108
aS'overwrote'
p1109
aS'overwritten'
p1110
asS'rubberstamp'
p1111
(lp1112
S'rubberstamps'
p1113
aS'rubberstamping'
p1114
aS'rubberstamped'
p1115
aS'rubberstamped'
p1116
asS'smirk'
p1117
(lp1118
S'smirks'
p1119
aS'smirking'
p1120
aS'smirked'
p1121
aS'smirked'
p1122
asS'waive'
p1123
(lp1124
S'waives'
p1125
aS'waiving'
p1126
aS'waived'
p1127
aS'waived'
p1128
asS'freeze'
p1129
(lp1130
S'freezes'
p1131
aS'freezing'
p1132
aS'froze'
p1133
aS'frozen'
p1134
asS'mason'
p1135
(lp1136
S'masons'
p1137
aS'masoning'
p1138
aS'masoned'
p1139
aS'masoned'
p1140
asS'unclog'
p1141
(lp1142
S'unclogs'
p1143
aS'unclogging'
p1144
aS'unclogged'
p1145
aS'unclogged'
p1146
asS'nomadize'
p1147
(lp1148
S'nomadizes'
p1149
aS'nomadizing'
p1150
aS'nomadized'
p1151
aS'nomadized'
p1152
asS'encourage'
p1153
(lp1154
S'encourages'
p1155
aS'encouraging'
p1156
aS'encouraged'
p1157
aS'encouraged'
p1158
asS'adapt'
p1159
(lp1160
S'adapts'
p1161
aS'adapting'
p1162
aS'adapted'
p1163
aS'adapted'
p1164
asS'teeter'
p1165
(lp1166
S'teeters'
p1167
aS'teetering'
p1168
aS'teetered'
p1169
aS'teetered'
p1170
asS'waddle'
p1171
(lp1172
S'waddles'
p1173
aS'waddling'
p1174
aS'waddled'
p1175
aS'waddled'
p1176
asS'roquet'
p1177
(lp1178
S'roquets'
p1179
aS'roqueting'
p1180
aS'roqueted'
p1181
aS'roqueted'
p1182
asS'inscribe'
p1183
(lp1184
S'inscribes'
p1185
aS'inscribing'
p1186
aS'inscribed'
p1187
aS'inscribed'
p1188
asS'outmarch'
p1189
(lp1190
S'outmarches'
p1191
aS'outmarching'
p1192
aS'outmarched'
p1193
aS'outmarched'
p1194
asS'bluepencil'
p1195
(lp1196
S'bluepencils'
p1197
aS'bluepenciling'
p1198
aS'bluepenciled'
p1199
aS'bluepenciled'
p1200
asS'broil'
p1201
(lp1202
S'broils'
p1203
aS'broiling'
p1204
aS'broiled'
p1205
aS'broiled'
p1206
asS'knit'
p1207
(lp1208
S'knits'
p1209
aS'knitting'
p1210
aS'knitted'
p1211
aS'knitted'
p1212
asS'quickstep'
p1213
(lp1214
S'quicksteps'
p1215
aS'quickstepping'
p1216
aS'quickstepped'
p1217
aS'quickstepped'
p1218
asS'interpage'
p1219
(lp1220
S'interpages'
p1221
aS'interpaging'
p1222
aS'interpaged'
p1223
aS'interpaged'
p1224
asS'superscribe'
p1225
(lp1226
S'superscribes'
p1227
aS'superscribing'
p1228
aS'superscribed'
p1229
aS'superscribed'
p1230
asS'connive'
p1231
(lp1232
S'connives'
p1233
aS'conniving'
p1234
aS'connived'
p1235
aS'connived'
p1236
asS'untread'
p1237
(lp1238
S'untreads'
p1239
aS'untreading'
p1240
aS'untrod'
p1241
aS'untrodden'
p1242
asS'spindle'
p1243
(lp1244
S'spindles'
p1245
aS'spindling'
p1246
aS'spindled'
p1247
aS'spindled'
p1248
asS'symbolize'
p1249
(lp1250
S'symbolizes'
p1251
aS'symbolizing'
p1252
aS'symbolized'
p1253
aS'symbolized'
p1254
asS'stripe'
p1255
(lp1256
S'stripes'
p1257
aS'striping'
p1258
aS'striped'
p1259
aS'striped'
p1260
asS'deforce'
p1261
(lp1262
S'deforces'
p1263
aS'deforcing'
p1264
aS'deforced'
p1265
aS'deforced'
p1266
asS'ogle'
p1267
(lp1268
S'ogles'
p1269
aS'ogling'
p1270
aS'ogled'
p1271
aS'ogled'
p1272
asS'haggle'
p1273
(lp1274
S'haggles'
p1275
aS'haggling'
p1276
aS'haggled'
p1277
aS'haggled'
p1278
asS'goggle'
p1279
(lp1280
S'goggles'
p1281
aS'goggling'
p1282
aS'goggled'
p1283
aS'goggled'
p1284
asS'misplace'
p1285
(lp1286
S'misplaces'
p1287
aS'misplacing'
p1288
aS'misplaced'
p1289
aS'misplaced'
p1290
asS'procreate'
p1291
(lp1292
S'procreates'
p1293
aS'procreating'
p1294
aS'procreated'
p1295
aS'procreated'
p1296
asS'wash'
p1297
(lp1298
S'washes'
p1299
aS'washing'
p1300
aS'washed'
p1301
aS'washed'
p1302
asS'instruct'
p1303
(lp1304
S'instructs'
p1305
aS'instructing'
p1306
aS'instructed'
p1307
aS'instructed'
p1308
asS'declaim'
p1309
(lp1310
S'declaims'
p1311
aS'declaiming'
p1312
aS'declaimed'
p1313
aS'declaimed'
p1314
asS'service'
p1315
(lp1316
S'services'
p1317
aS'servicing'
p1318
aS'serviced'
p1319
aS'serviced'
p1320
asS'replevin'
p1321
(lp1322
S'replevins'
p1323
aS'replevining'
p1324
aS'replevined'
p1325
aS'replevined'
p1326
asS'traumatize'
p1327
(lp1328
S'traumatizes'
p1329
aS'traumatizing'
p1330
aS'traumatized'
p1331
aS'traumatized'
p1332
asS'rone'
p1333
(lp1334
S'rones'
p1335
aS'roning'
p1336
aS'roned'
p1337
aS'roned'
p1338
asS'stack'
p1339
(lp1340
S'stacks'
p1341
aS'stacking'
p1342
aS'stacked'
p1343
aS'stacked'
p1344
asS'master'
p1345
(lp1346
S'masters'
p1347
aS'mastering'
p1348
aS'mastered'
p1349
aS'mastered'
p1350
asS'underlie'
p1351
(lp1352
S'underlies'
p1353
aS'underlying'
p1354
aS'underlay'
p1355
aS'underlain'
p1356
asS'postulate'
p1357
(lp1358
S'postulates'
p1359
aS'postulating'
p1360
aS'postulated'
p1361
aS'postulated'
p1362
asS'bitter'
p1363
(lp1364
S'bitters'
p1365
aS'bittering'
p1366
aS'bittered'
p1367
aS'bittered'
p1368
asS'listen'
p1369
(lp1370
S'listens'
p1371
aS'listening'
p1372
aS'listened'
p1373
aS'listened'
p1374
asS'abirritate'
p1375
(lp1376
S'abirritates'
p1377
aS'abirritating'
p1378
aS'abirritated'
p1379
aS'abirritated'
p1380
asS'enthrall'
p1381
(lp1382
S'enthrals'
p1383
aS'enthralling'
p1384
aS'enthralled'
p1385
aS'enthralled'
p1386
asS'supercalender'
p1387
(lp1388
S'supercalenders'
p1389
aS'supercalendering'
p1390
aS'supercalendered'
p1391
aS'supercalendered'
p1392
asS'innerve'
p1393
(lp1394
S'innerves'
p1395
aS'innerving'
p1396
aS'innerved'
p1397
aS'innerved'
p1398
asS'emaciate'
p1399
(lp1400
S'emaciates'
p1401
aS'emaciating'
p1402
aS'emaciated'
p1403
aS'emaciated'
p1404
asS'task'
p1405
(lp1406
S'tasks'
p1407
aS'tasking'
p1408
aS'tasked'
p1409
aS'tasked'
p1410
asS'crawl'
p1411
(lp1412
S'crawls'
p1413
aS'crawling'
p1414
aS'crawled'
p1415
aS'crawled'
p1416
asS'white'
p1417
(lp1418
S'whites'
p1419
aS'whiting'
p1420
aS'whited'
p1421
aS'whited'
p1422
asS'trek'
p1423
(lp1424
S'treks'
p1425
aS'trekking'
p1426
aS'trekked'
p1427
aS'trekked'
p1428
asS'outlay'
p1429
(lp1430
S'outlays'
p1431
aS'outlaying'
p1432
aS'outlaid'
p1433
aS'outlaid'
p1434
asS'birddog'
p1435
(lp1436
S'birddogs'
p1437
aS'birddogging'
p1438
aS'birddogged'
p1439
aS'birddogged'
p1440
asS'outlaw'
p1441
(lp1442
S'outlaws'
p1443
aS'outlawing'
p1444
aS'outlawed'
p1445
aS'outlawed'
p1446
asS'tree'
p1447
(lp1448
S'trees'
p1449
aS'treeing'
p1450
aS'treed'
p1451
aS'treed'
p1452
asS'project'
p1453
(lp1454
S'projects'
p1455
aS'projecting'
p1456
aS'projected'
p1457
aS'projected'
p1458
asS'enwind'
p1459
(lp1460
S'enwinds'
p1461
aS'enwinding'
p1462
aS'enwound'
p1463
aS'enwound'
p1464
asS'idle'
p1465
(lp1466
S'idles'
p1467
aS'idling'
p1468
aS'idled'
p1469
aS'idled'
p1470
asS'endure'
p1471
(lp1472
S'endures'
p1473
aS'enduring'
p1474
aS'endured'
p1475
aS'endured'
p1476
asS'halve'
p1477
(lp1478
S'halving'
p1479
aS'halved'
p1480
aS'halved'
p1481
asS'acclaim'
p1482
(lp1483
S'acclaims'
p1484
aS'acclaiming'
p1485
aS'acclaimed'
p1486
aS'acclaimed'
p1487
asS'napalm'
p1488
(lp1489
S'napalms'
p1490
aS'napalming'
p1491
aS'napalmed'
p1492
aS'napalmed'
p1493
asS'neologize'
p1494
(lp1495
S'neologizes'
p1496
aS'neologizing'
p1497
aS'neologized'
p1498
aS'neologized'
p1499
asS'urinate'
p1500
(lp1501
S'urinates'
p1502
aS'urinating'
p1503
aS'urinated'
p1504
aS'urinated'
p1505
asS'preponderate'
p1506
(lp1507
S'preponderates'
p1508
aS'preponderating'
p1509
aS'preponderated'
p1510
aS'preponderated'
p1511
asS'kayo'
p1512
(lp1513
S'kayos'
p1514
aS'kayoing'
p1515
aS'kayoed'
p1516
aS'kayoed'
p1517
asS'alkalize'
p1518
(lp1519
S'alkalizes'
p1520
aS'alkalizing'
p1521
aS'alkalized'
p1522
aS'alkalized'
p1523
asS'gripe'
p1524
(lp1525
S'gripes'
p1526
aS'griping'
p1527
aS'griped'
p1528
aS'griped'
p1529
asS'indite'
p1530
(lp1531
S'indites'
p1532
aS'inditing'
p1533
aS'indited'
p1534
aS'indited'
p1535
asS'ambuscade'
p1536
(lp1537
S'ambuscades'
p1538
aS'ambuscading'
p1539
aS'ambuscaded'
p1540
aS'ambuscaded'
p1541
asS'pander'
p1542
(lp1543
S'panders'
p1544
aS'pandering'
p1545
aS'pandered'
p1546
aS'pandered'
p1547
asS'shall'
p1548
(lp1549
S'shalls'
p1550
aS'shalling'
p1551
aS'shalled'
p1552
aS'shalled'
p1553
aS"shan't"
p1554
asS'overscore'
p1555
(lp1556
S'overscores'
p1557
aS'overscoring'
p1558
aS'overscored'
p1559
aS'overscored'
p1560
asS'object'
p1561
(lp1562
S'objects'
p1563
aS'objecting'
p1564
aS'objected'
p1565
aS'objected'
p1566
asS'impropriate'
p1567
(lp1568
S'impropriates'
p1569
aS'impropriating'
p1570
aS'impropriated'
p1571
aS'impropriated'
p1572
asS'simplify'
p1573
(lp1574
S'simplifies'
p1575
aS'simplifying'
p1576
aS'simplified'
p1577
aS'simplified'
p1578
asS'mouth'
p1579
(lp1580
S'mouths'
p1581
aS'mouthing'
p1582
aS'mouthed'
p1583
aS'mouthed'
p1584
asS'addict'
p1585
(lp1586
S'addicts'
p1587
aS'addicting'
p1588
aS'addicted'
p1589
aS'addicted'
p1590
asS'letter'
p1591
(lp1592
S'letters'
p1593
aS'lettering'
p1594
aS'lettered'
p1595
aS'lettered'
p1596
asS'fluster'
p1597
(lp1598
S'flusters'
p1599
aS'flustering'
p1600
aS'flustered'
p1601
aS'flustered'
p1602
asS'shalt'
p1603
(lp1604
S'shalts'
p1605
aS'shalting'
p1606
aS'shalted'
p1607
aS'shalted'
p1608
asS'expound'
p1609
(lp1610
S'expounds'
p1611
aS'expounding'
p1612
aS'expounded'
p1613
aS'expounded'
p1614
asS'dummy'
p1615
(lp1616
S'dummies'
p1617
aS'dummying'
p1618
aS'dummied'
p1619
aS'dummied'
p1620
asS'upend'
p1621
(lp1622
S'upends'
p1623
aS'upending'
p1624
aS'upended'
p1625
aS'upended'
p1626
asS'nasalize'
p1627
(lp1628
S'nasalizes'
p1629
aS'nasalizing'
p1630
aS'nasalized'
p1631
aS'nasalized'
p1632
asS'foist'
p1633
(lp1634
S'foists'
p1635
aS'foisting'
p1636
aS'foisted'
p1637
aS'foisted'
p1638
asS'camp'
p1639
(lp1640
S'camps'
p1641
aS'camping'
p1642
aS'camped'
p1643
aS'camped'
p1644
asS'departmentalize'
p1645
(lp1646
S'departmentalizes'
p1647
aS'departmentalizing'
p1648
aS'departmentalized'
p1649
aS'departmentalized'
p1650
asS'nettle'
p1651
(lp1652
S'nettles'
p1653
aS'nettling'
p1654
aS'nettled'
p1655
aS'nettled'
p1656
asS'disaffect'
p1657
(lp1658
S'disaffects'
p1659
aS'disaffecting'
p1660
aS'disaffected'
p1661
aS'disaffected'
p1662
asS'consummate'
p1663
(lp1664
S'consummates'
p1665
aS'consummating'
p1666
aS'consummated'
p1667
aS'consummated'
p1668
asS'screak'
p1669
(lp1670
S'screaks'
p1671
aS'screaking'
p1672
aS'screaked'
p1673
aS'screaked'
p1674
asS'scream'
p1675
(lp1676
S'screams'
p1677
aS'screaming'
p1678
aS'screamed'
p1679
aS'screamed'
p1680
asS'marvel'
p1681
(lp1682
S'marvels'
p1683
aS'marvelling'
p1684
aS'marvelled'
p1685
aS'marvelled'
p1686
asS'mortise'
p1687
(lp1688
S'mortises'
p1689
aS'mortising'
p1690
aS'mortised'
p1691
aS'mortised'
p1692
asS'incorporate'
p1693
(lp1694
S'incorporates'
p1695
aS'incorporating'
p1696
aS'incorporated'
p1697
aS'incorporated'
p1698
asS'bomb'
p1699
(lp1700
S'bombs'
p1701
aS'bombing'
p1702
aS'bombed'
p1703
aS'bombed'
p1704
asS'dicker'
p1705
(lp1706
S'dickers'
p1707
aS'dickering'
p1708
aS'dickered'
p1709
aS'dickered'
p1710
asS'prig'
p1711
(lp1712
S'prigs'
p1713
aS'prigging'
p1714
aS'prigged'
p1715
aS'prigged'
p1716
asS'reschedule'
p1717
(lp1718
S'reschedules'
p1719
aS'rescheduling'
p1720
aS'rescheduled'
p1721
aS'rescheduled'
p1722
asS'concentre'
p1723
(lp1724
S'concentres'
p1725
aS'concentring'
p1726
aS'concentred'
p1727
aS'concentred'
p1728
asS'striate'
p1729
(lp1730
S'striates'
p1731
aS'striating'
p1732
aS'striated'
p1733
aS'striated'
p1734
asS'participate'
p1735
(lp1736
S'participates'
p1737
aS'participating'
p1738
aS'participated'
p1739
aS'participated'
p1740
asS'caper'
p1741
(lp1742
S'capers'
p1743
aS'capering'
p1744
aS'capered'
p1745
aS'capered'
p1746
asS'busy'
p1747
(lp1748
S'busies'
p1749
aS'busying'
p1750
aS'busied'
p1751
aS'busied'
p1752
asS'headline'
p1753
(lp1754
S'headlines'
p1755
aS'headlining'
p1756
aS'headlined'
p1757
aS'headlined'
p1758
asS'faradize'
p1759
(lp1760
S'faradizes'
p1761
aS'faradizing'
p1762
aS'faradized'
p1763
aS'faradized'
p1764
asS'bust'
p1765
(lp1766
S'busts'
p1767
aS'busting'
p1768
aS'busted'
p1769
aS'busted'
p1770
asS'busk'
p1771
(lp1772
S'busks'
p1773
aS'busking'
p1774
aS'busked'
p1775
aS'busked'
p1776
asS'bush'
p1777
(lp1778
S'bushes'
p1779
aS'bushing'
p1780
aS'bushed'
p1781
aS'bushed'
p1782
asS'rick'
p1783
(lp1784
S'ricks'
p1785
aS'ricking'
p1786
aS'ricked'
p1787
aS'ricked'
p1788
asS'mend'
p1789
(lp1790
S'mends'
p1791
aS'mending'
p1792
aS'mended'
p1793
aS'mended'
p1794
asS'rice'
p1795
(lp1796
S'rices'
p1797
aS'ricing'
p1798
aS'riced'
p1799
aS'riced'
p1800
asS'kerne'
p1801
(lp1802
S'kerns'
p1803
aS'kerning'
p1804
aS'kerned'
p1805
aS'kerned'
p1806
asS'plate'
p1807
(lp1808
S'plates'
p1809
aS'plating'
p1810
aS'plated'
p1811
aS'plated'
p1812
asS'Gallicize'
p1813
(lp1814
S'Gallicizes'
p1815
aS'Gallicizing'
p1816
aS'Gallicized'
p1817
aS'Gallicized'
p1818
asS'remarry'
p1819
(lp1820
S'remarries'
p1821
aS'remarrying'
p1822
aS'remarried'
p1823
aS'remarried'
p1824
asS'doublecross'
p1825
(lp1826
S'doublecrosses'
p1827
aS'doublecrossing'
p1828
aS'doublecrossed'
p1829
aS'doublecrossed'
p1830
asS'denounce'
p1831
(lp1832
S'denounces'
p1833
aS'denouncing'
p1834
aS'denounced'
p1835
aS'denounced'
p1836
asS'ceil'
p1837
(lp1838
S'ceils'
p1839
aS'ceiling'
p1840
aS'ceiled'
p1841
aS'ceiled'
p1842
asS'pocket'
p1843
(lp1844
S'pockets'
p1845
aS'pocketing'
p1846
aS'pocketed'
p1847
aS'pocketed'
p1848
asS'saccharize'
p1849
(lp1850
S'saccharizes'
p1851
aS'saccharizing'
p1852
aS'saccharized'
p1853
aS'saccharized'
p1854
asS'euphonize'
p1855
(lp1856
S'euphonizes'
p1857
aS'euphonizing'
p1858
aS'euphonized'
p1859
aS'euphonized'
p1860
asS'cushion'
p1861
(lp1862
S'cushions'
p1863
aS'cushioning'
p1864
aS'cushioned'
p1865
aS'cushioned'
p1866
asS'relish'
p1867
(lp1868
S'relishes'
p1869
aS'relishing'
p1870
aS'relished'
p1871
aS'relished'
p1872
asS'enrobe'
p1873
(lp1874
S'enrobes'
p1875
aS'enrobing'
p1876
aS'enrobed'
p1877
aS'enrobed'
p1878
asS'coproduce'
p1879
(lp1880
S'coproduces'
p1881
aS'coproducing'
p1882
aS'coproduced'
p1883
aS'coproduced'
p1884
asS'patch'
p1885
(lp1886
S'patches'
p1887
aS'patching'
p1888
aS'patched'
p1889
aS'patched'
p1890
asS'release'
p1891
(lp1892
S'releases'
p1893
aS'releasing'
p1894
aS'released'
p1895
aS'released'
p1896
asS'urticate'
p1897
(lp1898
S'urticates'
p1899
aS'urticating'
p1900
aS'urticated'
p1901
aS'urticated'
p1902
asS'hasten'
p1903
(lp1904
S'hastens'
p1905
aS'hastening'
p1906
aS'hastened'
p1907
aS'hastened'
p1908
asS'respond'
p1909
(lp1910
S'responds'
p1911
aS'responding'
p1912
aS'responded'
p1913
aS'responded'
p1914
asS'traverse'
p1915
(lp1916
S'traverses'
p1917
aS'traversing'
p1918
aS'traversed'
p1919
aS'traversed'
p1920
asS'fair'
p1921
(lp1922
S'fairs'
p1923
aS'fairing'
p1924
aS'faired'
p1925
aS'faired'
p1926
asS'clew'
p1927
(lp1928
S'clews'
p1929
aS'clewing'
p1930
aS'clewed'
p1931
aS'clewed'
p1932
asS'result'
p1933
(lp1934
S'results'
p1935
aS'resulting'
p1936
aS'resulted'
p1937
aS'resulted'
p1938
asS'clem'
p1939
(lp1940
S'clems'
p1941
aS'clemming'
p1942
aS'clemmed'
p1943
aS'clemmed'
p1944
asS'fail'
p1945
(lp1946
S'fails'
p1947
aS'failing'
p1948
aS'failed'
p1949
aS'failed'
p1950
asS'internationalize'
p1951
(lp1952
S'internationalizes'
p1953
aS'internationalizing'
p1954
aS'internationalized'
p1955
aS'internationalized'
p1956
asS'hammer'
p1957
(lp1958
S'hammers'
p1959
aS'hammering'
p1960
aS'hammered'
p1961
aS'hammered'
p1962
asS'best'
p1963
(lp1964
S'bests'
p1965
aS'besting'
p1966
aS'bested'
p1967
aS'bested'
p1968
asS'irk'
p1969
(lp1970
S'irks'
p1971
aS'irking'
p1972
aS'irked'
p1973
aS'irked'
p1974
asS'flagellate'
p1975
(lp1976
S'flagellates'
p1977
aS'flagellating'
p1978
aS'flagellated'
p1979
aS'flagellated'
p1980
asS'scorn'
p1981
(lp1982
S'scorns'
p1983
aS'scorning'
p1984
aS'scorned'
p1985
aS'scorned'
p1986
asS'vociferate'
p1987
(lp1988
S'vociferates'
p1989
aS'vociferating'
p1990
aS'vociferated'
p1991
aS'vociferated'
p1992
asS'pirate'
p1993
(lp1994
S'pirates'
p1995
aS'pirating'
p1996
aS'pirated'
p1997
aS'pirated'
p1998
asS'hopple'
p1999
(lp2000
S'hopples'
p2001
aS'hoppling'
p2002
aS'hoppled'
p2003
aS'hoppled'
p2004
asS'wage'
p2005
(lp2006
S'wages'
p2007
aS'waging'
p2008
aS'waged'
p2009
aS'waged'
p2010
asS'pigstick'
p2011
(lp2012
S'pigsticks'
p2013
aS'pigsticking'
p2014
aS'pigsticked'
p2015
aS'pigsticked'
p2016
asS'extend'
p2017
(lp2018
S'extends'
p2019
aS'extending'
p2020
aS'extended'
p2021
aS'extended'
p2022
asS'quadruplicate'
p2023
(lp2024
S'quadruplicates'
p2025
aS'quadruplicating'
p2026
aS'quadruplicated'
p2027
aS'quadruplicated'
p2028
asS'personalize'
p2029
(lp2030
S'personalizes'
p2031
aS'personalizing'
p2032
aS'personalized'
p2033
aS'personalized'
p2034
asS'reconstitute'
p2035
(lp2036
S'reconstitutes'
p2037
aS'reconstituting'
p2038
aS'reconstituted'
p2039
aS'reconstituted'
p2040
asS'wheelbarrow'
p2041
(lp2042
S'wheelbarrows'
p2043
aS'wheelbarrowing'
p2044
aS'wheelbarrowed'
p2045
aS'wheelbarrowed'
p2046
asS'downgrade'
p2047
(lp2048
S'downgrades'
p2049
aS'downgrading'
p2050
aS'downgraded'
p2051
aS'downgraded'
p2052
asS'wherrit'
p2053
(lp2054
S'wherrits'
p2055
aS'wherriting'
p2056
aS'wherrited'
p2057
aS'wherrited'
p2058
asS'pity'
p2059
(lp2060
S'pities'
p2061
aS'pitying'
p2062
aS'pitied'
p2063
aS'pitied'
p2064
asS'veer'
p2065
(lp2066
S'veers'
p2067
aS'veering'
p2068
aS'veered'
p2069
aS'veered'
p2070
asS'disdain'
p2071
(lp2072
S'disdains'
p2073
aS'disdaining'
p2074
aS'disdained'
p2075
aS'disdained'
p2076
asS'incense'
p2077
(lp2078
S'incenses'
p2079
aS'incensing'
p2080
aS'incensed'
p2081
aS'incensed'
p2082
asS'pith'
p2083
(lp2084
S'piths'
p2085
aS'pithing'
p2086
aS'pithed'
p2087
aS'pithed'
p2088
asS'sublime'
p2089
(lp2090
S'sublimes'
p2091
aS'subliming'
p2092
aS'sublimed'
p2093
aS'sublimed'
p2094
asS'argue'
p2095
(lp2096
S'argues'
p2097
aS'arguing'
p2098
aS'argued'
p2099
aS'argued'
p2100
asS'tinge'
p2101
(lp2102
S'tinges'
p2103
aS'tingeing'
p2104
aS'tinged'
p2105
aS'tinged'
p2106
asS'schmooze'
p2107
(lp2108
S'schmoozes'
p2109
aS'schmoozing'
p2110
aS'schmoozed'
p2111
aS'schmoozed'
p2112
asS'eradicate'
p2113
(lp2114
S'eradicates'
p2115
aS'eradicating'
p2116
aS'eradicated'
p2117
aS'eradicated'
p2118
asS'rehash'
p2119
(lp2120
S'rehashes'
p2121
aS'rehashing'
p2122
aS'rehashed'
p2123
aS'rehashed'
p2124
asS'vail'
p2125
(lp2126
S'vails'
p2127
aS'vailing'
p2128
aS'vailed'
p2129
aS'vailed'
p2130
asS'extravasate'
p2131
(lp2132
S'extravasates'
p2133
aS'extravasating'
p2134
aS'extravasated'
p2135
aS'extravasated'
p2136
asS'agglomerate'
p2137
(lp2138
S'agglomerates'
p2139
aS'agglomerating'
p2140
aS'agglomerated'
p2141
aS'agglomerated'
p2142
asS'factorize'
p2143
(lp2144
S'factorizes'
p2145
aS'factorizing'
p2146
aS'factorized'
p2147
aS'factorized'
p2148
asS'escalade'
p2149
(lp2150
S'escalades'
p2151
aS'escalading'
p2152
aS'escaladed'
p2153
aS'escaladed'
p2154
asS'vitrify'
p2155
(lp2156
S'vitrifies'
p2157
aS'vitrifying'
p2158
aS'vitrified'
p2159
aS'vitrified'
p2160
asS'penalize'
p2161
(lp2162
S'penalizes'
p2163
aS'penalizing'
p2164
aS'penalized'
p2165
aS'penalized'
p2166
asS'vellicate'
p2167
(lp2168
S'vellicates'
p2169
aS'vellicating'
p2170
aS'vellicated'
p2171
aS'vellicated'
p2172
asS'bewilder'
p2173
(lp2174
S'bewilders'
p2175
aS'bewildering'
p2176
aS'bewildered'
p2177
aS'bewildered'
p2178
asS'parley'
p2179
(lp2180
S'parleys'
p2181
aS'parleying'
p2182
aS'parleyed'
p2183
aS'parleyed'
p2184
asS'chrome'
p2185
(lp2186
S'chromes'
p2187
aS'chroming'
p2188
aS'chromed'
p2189
aS'chromed'
p2190
asS'slay'
p2191
(lp2192
S'slays'
p2193
aS'slaying'
p2194
aS'slew'
p2195
aS'slain'
p2196
asS'subside'
p2197
(lp2198
S'subsides'
p2199
aS'subsiding'
p2200
aS'subsided'
p2201
aS'subsided'
p2202
asS'advert'
p2203
(lp2204
S'adverts'
p2205
aS'adverting'
p2206
aS'adverted'
p2207
aS'adverted'
p2208
asS'privilege'
p2209
(lp2210
S'privileges'
p2211
aS'privileging'
p2212
aS'privileged'
p2213
aS'privileged'
p2214
asS'fry'
p2215
(lp2216
S'fries'
p2217
aS'frying'
p2218
aS'fried'
p2219
aS'fried'
p2220
asS'mothball'
p2221
(lp2222
S'mothballs'
p2223
aS'mothballing'
p2224
aS'mothballed'
p2225
aS'mothballed'
p2226
asS'counterattack'
p2227
(lp2228
sS'dry'
p2229
(lp2230
S'dries'
p2231
aS'drying'
p2232
aS'dried'
p2233
aS'dried'
p2234
asS'retrospect'
p2235
(lp2236
S'retrospects'
p2237
aS'retrospecting'
p2238
aS'retrospected'
p2239
aS'retrospected'
p2240
asS'spit'
p2241
(lp2242
S'spits'
p2243
aS'spitting'
p2244
aS'spit'
p2245
aS'spit'
p2246
asS'intermarry'
p2247
(lp2248
S'intermarries'
p2249
aS'intermarrying'
p2250
aS'intermarried'
p2251
aS'intermarried'
p2252
asS'wish'
p2253
(lp2254
S'wishes'
p2255
aS'wishing'
p2256
aS'wished'
p2257
aS'wished'
p2258
asS'snap'
p2259
(lp2260
S'snaps'
p2261
aS'snapping'
p2262
aS'snapped'
p2263
aS'snapped'
p2264
asS'joust'
p2265
(lp2266
S'jousts'
p2267
aS'jousting'
p2268
aS'jousted'
p2269
aS'jousted'
p2270
asS'lift'
p2271
(lp2272
S'lifts'
p2273
aS'lifting'
p2274
aS'lifted'
p2275
aS'lifted'
p2276
asS'incommode'
p2277
(lp2278
S'incommodes'
p2279
aS'incommoding'
p2280
aS'incommoded'
p2281
aS'incommoded'
p2282
asS'toboggan'
p2283
(lp2284
S'toboggans'
p2285
aS'tobogganing'
p2286
aS'tobogganed'
p2287
aS'tobogganed'
p2288
asS'dote'
p2289
(lp2290
S'dotes'
p2291
aS'doting'
p2292
aS'doted'
p2293
aS'doted'
p2294
asS'spin'
p2295
(lp2296
S'spins'
p2297
aS'spinning'
p2298
aS'spun'
p2299
aS'spun'
p2300
asS'excorciate'
p2301
(lp2302
S'excorciates'
p2303
aS'excorciating'
p2304
aS'excorciated'
p2305
aS'excorciated'
p2306
asS'chill'
p2307
(lp2308
S'chills'
p2309
aS'chilling'
p2310
aS'chilled'
p2311
aS'chilled'
p2312
asS'iodize'
p2313
(lp2314
S'iodizes'
p2315
aS'iodizing'
p2316
aS'iodized'
p2317
aS'iodized'
p2318
asS'dissect'
p2319
(lp2320
S'dissects'
p2321
aS'dissecting'
p2322
aS'dissected'
p2323
aS'dissected'
p2324
asS'overweigh'
p2325
(lp2326
S'overweighs'
p2327
aS'overweighing'
p2328
aS'overweighed'
p2329
aS'overweighed'
p2330
asS'employ'
p2331
(lp2332
S'employs'
p2333
aS'employing'
p2334
aS'employed'
p2335
aS'employed'
p2336
asS'prostrate'
p2337
(lp2338
S'prostrates'
p2339
aS'prostrating'
p2340
aS'prostrated'
p2341
aS'prostrated'
p2342
asS'bin'
p2343
(lp2344
S'bins'
p2345
aS'binning'
p2346
aS'binned'
p2347
aS'binned'
p2348
asS'phosphoresce'
p2349
(lp2350
S'phosphoresces'
p2351
aS'phosphorescing'
p2352
aS'phosphoresced'
p2353
aS'phosphoresced'
p2354
asS'characterize'
p2355
(lp2356
S'characterizes'
p2357
aS'characterizing'
p2358
aS'characterized'
p2359
aS'characterized'
p2360
asS'elicit'
p2361
(lp2362
S'elicits'
p2363
aS'eliciting'
p2364
aS'elicited'
p2365
aS'elicited'
p2366
asS'transfuse'
p2367
(lp2368
S'transfuses'
p2369
aS'transfusing'
p2370
aS'transfused'
p2371
aS'transfused'
p2372
asS'hone'
p2373
(lp2374
S'hones'
p2375
aS'honing'
p2376
aS'honed'
p2377
aS'honed'
p2378
asS'credit'
p2379
(lp2380
S'credits'
p2381
aS'crediting'
p2382
aS'credited'
p2383
aS'credited'
p2384
asS'remand'
p2385
(lp2386
S'remands'
p2387
aS'remanding'
p2388
aS'remanded'
p2389
aS'remanded'
p2390
asS'decant'
p2391
(lp2392
S'decants'
p2393
aS'decanting'
p2394
aS'decanted'
p2395
aS'decanted'
p2396
asS'split'
p2397
(lp2398
S'splits'
p2399
aS'splitting'
p2400
aS'split'
p2401
aS'split'
p2402
asS'codename'
p2403
(lp2404
S'codenames'
p2405
aS'codenaming'
p2406
aS'codenamed'
p2407
aS'codenamed'
p2408
asS'heathenize'
p2409
(lp2410
S'heathenizes'
p2411
aS'heathenizing'
p2412
aS'heathenized'
p2413
aS'heathenized'
p2414
asS'personify'
p2415
(lp2416
S'personifies'
p2417
aS'personifying'
p2418
aS'personified'
p2419
aS'personified'
p2420
asS'pipette'
p2421
(lp2422
S'pipettes'
p2423
aS'pipetting'
p2424
aS'pipetted'
p2425
aS'pipetted'
p2426
asS'refit'
p2427
(lp2428
S'refits'
p2429
aS'refitting'
p2430
aS'refitted'
p2431
aS'refitted'
p2432
asS'misdoubt'
p2433
(lp2434
S'misdoubts'
p2435
aS'misdoubting'
p2436
aS'misdoubted'
p2437
aS'misdoubted'
p2438
asS'titivate'
p2439
(lp2440
S'titivates'
p2441
aS'titivating'
p2442
aS'titivated'
p2443
aS'titivated'
p2444
asS'supper'
p2445
(lp2446
S'suppers'
p2447
aS'suppering'
p2448
aS'suppered'
p2449
aS'suppered'
p2450
asS'tope'
p2451
(lp2452
S'topes'
p2453
aS'toping'
p2454
aS'toped'
p2455
aS'toped'
p2456
asS'tune'
p2457
(lp2458
S'tunes'
p2459
aS'tuning'
p2460
aS'tuned'
p2461
aS'tuned'
p2462
asS'furlough'
p2463
(lp2464
S'furloughs'
p2465
aS'furloughing'
p2466
aS'furloughed'
p2467
aS'furloughed'
p2468
asS'jargonize'
p2469
(lp2470
S'jargonizes'
p2471
aS'jargonizing'
p2472
aS'jargonized'
p2473
aS'jargonized'
p2474
asS'cannibalize'
p2475
(lp2476
S'cannibalizes'
p2477
aS'cannibalizing'
p2478
aS'cannibalized'
p2479
aS'cannibalized'
p2480
asS'unhook'
p2481
(lp2482
S'unhooks'
p2483
aS'unhooking'
p2484
aS'unhooked'
p2485
aS'unhooked'
p2486
asS'subpoena'
p2487
(lp2488
S'subpoenas'
p2489
aS'subpoenaing'
p2490
aS'subpoenaed'
p2491
aS'subpoenaed'
p2492
asS'abound'
p2493
(lp2494
S'abounds'
p2495
aS'abounding'
p2496
aS'abounded'
p2497
aS'abounded'
p2498
asS'bellow'
p2499
(lp2500
S'bellows'
p2501
aS'bellowing'
p2502
aS'bellowed'
p2503
aS'bellowed'
p2504
asS'distribute'
p2505
(lp2506
S'distributes'
p2507
aS'distributing'
p2508
aS'distributed'
p2509
aS'distributed'
p2510
asS'beset'
p2511
(lp2512
S'besets'
p2513
aS'besetting'
p2514
aS'beset'
p2515
aS'beset'
p2516
asS'disguise'
p2517
(lp2518
S'disguises'
p2519
aS'disguising'
p2520
aS'disguised'
p2521
aS'disguised'
p2522
asS'prognosticate'
p2523
(lp2524
S'prognosticates'
p2525
aS'prognosticating'
p2526
aS'prognosticated'
p2527
aS'prognosticated'
p2528
asS'plight'
p2529
(lp2530
S'plights'
p2531
aS'plighting'
p2532
aS'plighted'
p2533
aS'plighted'
p2534
asS'brandish'
p2535
(lp2536
S'brandishes'
p2537
aS'brandishing'
p2538
aS'brandished'
p2539
aS'brandished'
p2540
asS'lasso'
p2541
(lp2542
S'lassos'
p2543
aS'lassoing'
p2544
aS'lassoed'
p2545
aS'lassoed'
p2546
asS'ham'
p2547
(lp2548
S'hams'
p2549
aS'hamming'
p2550
aS'hammed'
p2551
aS'hammed'
p2552
asS'aquaplane'
p2553
(lp2554
S'aquaplanes'
p2555
aS'aquaplaning'
p2556
aS'aquaplaned'
p2557
aS'aquaplaned'
p2558
asS'ease'
p2559
(lp2560
S'eases'
p2561
aS'easing'
p2562
aS'eased'
p2563
aS'eased'
p2564
asS'hay'
p2565
(lp2566
S'hays'
p2567
aS'haying'
p2568
aS'hayed'
p2569
aS'hayed'
p2570
asS'falter'
p2571
(lp2572
S'falters'
p2573
aS'faltering'
p2574
aS'faltered'
p2575
aS'faltered'
p2576
asS'hat'
p2577
(lp2578
S'hats'
p2579
aS'hatting'
p2580
aS'hatted'
p2581
aS'hatted'
p2582
asS'haw'
p2583
(lp2584
S'haws'
p2585
aS'hawing'
p2586
aS'hawed'
p2587
aS'hawed'
p2588
asS'footle'
p2589
(lp2590
S'footles'
p2591
aS'footling'
p2592
aS'footled'
p2593
aS'footled'
p2594
asS'collectivize'
p2595
(lp2596
S'collectivizes'
p2597
aS'collectivizing'
p2598
aS'collectivized'
p2599
aS'collectivized'
p2600
asS'birth'
p2601
(lp2602
S'births'
p2603
aS'birthing'
p2604
aS'birthed'
p2605
aS'birthed'
p2606
asS'roister'
p2607
(lp2608
S'roisters'
p2609
aS'roistering'
p2610
aS'roistered'
p2611
aS'roistered'
p2612
asS'shadow'
p2613
(lp2614
S'shadows'
p2615
aS'shadowing'
p2616
aS'shadowed'
p2617
aS'shadowed'
p2618
asS'summons'
p2619
(lp2620
sS'desire'
p2621
(lp2622
S'desires'
p2623
aS'desiring'
p2624
aS'desired'
p2625
aS'desired'
p2626
asS'seek'
p2627
(lp2628
S'seeks'
p2629
aS'seeking'
p2630
aS'sought'
p2631
aS'sought'
p2632
asS'disaccustom'
p2633
(lp2634
S'disaccustoms'
p2635
aS'disaccustoming'
p2636
aS'disaccustomed'
p2637
aS'disaccustomed'
p2638
asS'altercate'
p2639
(lp2640
S'altercates'
p2641
aS'altercating'
p2642
aS'altercated'
p2643
aS'altercated'
p2644
asS'remind'
p2645
(lp2646
S'reminds'
p2647
aS'reminding'
p2648
aS'reminded'
p2649
aS'reminded'
p2650
asS'sectarianize'
p2651
(lp2652
S'sectarianizes'
p2653
aS'sectarianizing'
p2654
aS'sectarianized'
p2655
aS'sectarianized'
p2656
asS'prologue'
p2657
(lp2658
S'prologues'
p2659
aS'prologuing'
p2660
aS'prologued'
p2661
aS'prologued'
p2662
asS'right'
p2663
(lp2664
S'rights'
p2665
aS'righting'
p2666
aS'righted'
p2667
aS'righted'
p2668
asS'crowd'
p2669
(lp2670
S'crowds'
p2671
aS'crowding'
p2672
aS'crowded'
p2673
aS'crowded'
p2674
asS'people'
p2675
(lp2676
S'peoples'
p2677
aS'peopling'
p2678
aS'peopled'
p2679
aS'peopled'
p2680
asS'scathe'
p2681
(lp2682
S'scathes'
p2683
aS'scathing'
p2684
aS'scathed'
p2685
aS'scathed'
p2686
asS'crown'
p2687
(lp2688
S'crowns'
p2689
aS'crowning'
p2690
aS'crowned'
p2691
aS'crowned'
p2692
asS'outgeneral'
p2693
(lp2694
S'outgenerals'
p2695
aS'outgeneralling'
p2696
aS'outgeneralled'
p2697
aS'outgeneralled'
p2698
asS'mishit'
p2699
(lp2700
S'mishits'
p2701
aS'mishitting'
p2702
aS'mishit'
p2703
aS'mishit'
p2704
asS'desensitize'
p2705
(lp2706
S'desensitizes'
p2707
aS'desensitizing'
p2708
aS'desensitized'
p2709
aS'desensitized'
p2710
asS'demineralize'
p2711
(lp2712
S'demineralizes'
p2713
aS'demineralizing'
p2714
aS'demineralized'
p2715
aS'demineralized'
p2716
asS'prick'
p2717
(lp2718
S'pricks'
p2719
aS'pricking'
p2720
aS'pricked'
p2721
aS'pricked'
p2722
asS'animate'
p2723
(lp2724
S'animates'
p2725
aS'animating'
p2726
aS'animated'
p2727
aS'animated'
p2728
asS'creep'
p2729
(lp2730
S'creeps'
p2731
aS'creeping'
p2732
aS'crept'
p2733
aS'crept'
p2734
asS'chorus'
p2735
(lp2736
S'choruses'
p2737
aS'chorusing'
p2738
aS'chorused'
p2739
aS'chorused'
p2740
asS'blackleg'
p2741
(lp2742
S'blacklegs'
p2743
aS'blacklegging'
p2744
aS'blacklegged'
p2745
aS'blacklegged'
p2746
asS'rehearse'
p2747
(lp2748
S'rehearses'
p2749
aS'rehearsing'
p2750
aS'rehearsed'
p2751
aS'rehearsed'
p2752
asS'fox'
p2753
(lp2754
S'foxes'
p2755
aS'foxing'
p2756
aS'foxed'
p2757
aS'foxed'
p2758
asS'subclass'
p2759
(lp2760
S'subclasses'
p2761
aS'subclassing'
p2762
aS'subclassed'
p2763
aS'subclassed'
p2764
asS'freezedry'
p2765
(lp2766
S'freezedries'
p2767
aS'freezedrying'
p2768
aS'freezedried'
p2769
aS'freezedried'
p2770
asS'fog'
p2771
(lp2772
S'fogs'
p2773
aS'fogging'
p2774
aS'fogged'
p2775
aS'fogged'
p2776
asS'fob'
p2777
(lp2778
S'fobs'
p2779
aS'fobbing'
p2780
aS'fobbed'
p2781
aS'fobbed'
p2782
asS'germinate'
p2783
(lp2784
S'germinates'
p2785
aS'germinating'
p2786
aS'germinated'
p2787
aS'germinated'
p2788
asS'preside'
p2789
(lp2790
S'presides'
p2791
aS'presiding'
p2792
aS'presided'
p2793
aS'presided'
p2794
asS'collet'
p2795
(lp2796
S'collets'
p2797
aS'colleting'
p2798
aS'colleted'
p2799
aS'colleted'
p2800
asS'doubletongue'
p2801
(lp2802
S'doubletongues'
p2803
aS'doubletonguing'
p2804
aS'doubletongued'
p2805
aS'doubletongued'
p2806
asS'regorge'
p2807
(lp2808
S'regorges'
p2809
aS'regorging'
p2810
aS'regorged'
p2811
aS'regorged'
p2812
asS'yoke'
p2813
(lp2814
S'yokes'
p2815
aS'yoking'
p2816
aS'yoked'
p2817
aS'yoked'
p2818
asS'digitalize'
p2819
(lp2820
S'digitalizes'
p2821
aS'digitalizing'
p2822
aS'digitalized'
p2823
aS'digitalized'
p2824
asS'intenerate'
p2825
(lp2826
S'intenerates'
p2827
aS'intenerating'
p2828
aS'intenerated'
p2829
aS'intenerated'
p2830
asS'fiddlefaddle'
p2831
(lp2832
S'fiddlefaddles'
p2833
aS'fiddlefaddling'
p2834
aS'fiddlefaddled'
p2835
aS'fiddlefaddled'
p2836
asS'lackey'
p2837
(lp2838
S'lackeys'
p2839
aS'lackeying'
p2840
aS'lackeyed'
p2841
aS'lackeyed'
p2842
asS'autotomize'
p2843
(lp2844
S'autotomizes'
p2845
aS'autotomizing'
p2846
aS'autotomized'
p2847
aS'autotomized'
p2848
asS'recollect'
p2849
(lp2850
S'recollects'
p2851
aS'recollecting'
p2852
aS'recollected'
p2853
aS'recollected'
p2854
asS'reticulate'
p2855
(lp2856
S'reticulates'
p2857
aS'reticulating'
p2858
aS'reticulated'
p2859
aS'reticulated'
p2860
asS'Platonize'
p2861
(lp2862
S'Platonizes'
p2863
aS'Platonizing'
p2864
aS'Platonized'
p2865
aS'Platonized'
p2866
asS'meddle'
p2867
(lp2868
S'meddles'
p2869
aS'meddling'
p2870
aS'meddled'
p2871
aS'meddled'
p2872
asS'sob'
p2873
(lp2874
S'sobs'
p2875
aS'sobbing'
p2876
aS'sobbed'
p2877
aS'sobbed'
p2878
asS'goosestep'
p2879
(lp2880
S'goosesteps'
p2881
aS'goosesteping'
p2882
aS'goosesteped'
p2883
aS'goosesteped'
p2884
asS'overshadow'
p2885
(lp2886
S'overshadows'
p2887
aS'overshadowing'
p2888
aS'overshadowed'
p2889
aS'overshadowed'
p2890
asS'honeymoon'
p2891
(lp2892
S'honeymoons'
p2893
aS'honeymooning'
p2894
aS'honeymooned'
p2895
aS'honeymooned'
p2896
asS'overgrow'
p2897
(lp2898
S'overgrows'
p2899
aS'overgrowing'
p2900
aS'overgrew'
p2901
aS'overgrown'
p2902
asS'administer'
p2903
(lp2904
S'administers'
p2905
aS'administering'
p2906
aS'administered'
p2907
aS'administered'
p2908
asS'multiply'
p2909
(lp2910
S'multiplies'
p2911
aS'multiplying'
p2912
aS'multiplied'
p2913
aS'multiplied'
p2914
asS'inhume'
p2915
(lp2916
S'inhumes'
p2917
aS'inhuming'
p2918
aS'inhumed'
p2919
aS'inhumed'
p2920
asS'swelter'
p2921
(lp2922
S'swelters'
p2923
aS'sweltering'
p2924
aS'sweltered'
p2925
aS'sweltered'
p2926
asS'sow'
p2927
(lp2928
S'sows'
p2929
aS'sowing'
p2930
aS'sowed'
p2931
aS'sown'
p2932
asS'mambo'
p2933
(lp2934
S'mambos'
p2935
aS'mamboing'
p2936
aS'mamboed'
p2937
aS'mamboed'
p2938
asS'resile'
p2939
(lp2940
S'resiles'
p2941
aS'resiling'
p2942
aS'resiled'
p2943
aS'resiled'
p2944
asS'nid-nod'
p2945
(lp2946
S'nid-nods'
p2947
aS'nid-nodding'
p2948
aS'nid-nodded'
p2949
aS'nid-nodded'
p2950
asS'suffice'
p2951
(lp2952
S'suffices'
p2953
aS'sufficing'
p2954
aS'sufficed'
p2955
aS'sufficed'
p2956
asS'decussate'
p2957
(lp2958
S'decussates'
p2959
aS'decussating'
p2960
aS'decussated'
p2961
aS'decussated'
p2962
asS'tame'
p2963
(lp2964
S'tames'
p2965
aS'taming'
p2966
aS'tamed'
p2967
aS'tamed'
p2968
asS'avail'
p2969
(lp2970
S'avails'
p2971
aS'availing'
p2972
aS'availed'
p2973
aS'availed'
p2974
asS'furcate'
p2975
(lp2976
S'furcates'
p2977
aS'furcating'
p2978
aS'furcated'
p2979
aS'furcated'
p2980
asS'tamp'
p2981
(lp2982
S'tamps'
p2983
aS'tamping'
p2984
aS'tamped'
p2985
aS'tamped'
p2986
asS'overhand'
p2987
(lp2988
S'overhands'
p2989
aS'overhanding'
p2990
aS'overhanded'
p2991
aS'overhanded'
p2992
asS'overhang'
p2993
(lp2994
S'overhangs'
p2995
aS'overhanging'
p2996
aS'overhung'
p2997
aS'overhung'
p2998
asS'subtend'
p2999
(lp3000
S'subtends'
p3001
aS'subtending'
p3002
aS'subtended'
p3003
aS'subtended'
p3004
asS'kalsomine'
p3005
(lp3006
S'kalsomines'
p3007
aS'kalsomining'
p3008
aS'kalsomined'
p3009
aS'kalsomined'
p3010
asS'offer'
p3011
(lp3012
S'offers'
p3013
aS'offering'
p3014
aS'offered'
p3015
aS'offered'
p3016
asS'unroot'
p3017
(lp3018
S'unroots'
p3019
aS'unrooting'
p3020
aS'unrooted'
p3021
aS'unrooted'
p3022
asS'straggle'
p3023
(lp3024
S'straggles'
p3025
aS'straggling'
p3026
aS'straggled'
p3027
aS'straggled'
p3028
asS'safeguard'
p3029
(lp3030
S'safeguards'
p3031
aS'safeguarding'
p3032
aS'safeguarded'
p3033
aS'safeguarded'
p3034
asS'duel'
p3035
(lp3036
S'duels'
p3037
aS'duelling'
p3038
aS'duelled'
p3039
aS'duelled'
p3040
asS'misinform'
p3041
(lp3042
S'misinforms'
p3043
aS'misinforming'
p3044
aS'misinformed'
p3045
aS'misinformed'
p3046
asS'transliterate'
p3047
(lp3048
S'transliterates'
p3049
aS'transliterating'
p3050
aS'transliterated'
p3051
aS'transliterated'
p3052
asS'pontificate'
p3053
(lp3054
S'pontificates'
p3055
aS'pontificating'
p3056
aS'pontificated'
p3057
aS'pontificated'
p3058
asS'communize'
p3059
(lp3060
S'communizes'
p3061
aS'communizing'
p3062
aS'communized'
p3063
aS'communized'
p3064
asS'discountenance'
p3065
(lp3066
S'discountenances'
p3067
aS'discountenancing'
p3068
aS'discountenanced'
p3069
aS'discountenanced'
p3070
asS'disgrace'
p3071
(lp3072
S'disgraces'
p3073
aS'disgracing'
p3074
aS'disgraced'
p3075
aS'disgraced'
p3076
asS'sight'
p3077
(lp3078
S'sights'
p3079
aS'sighting'
p3080
aS'sighted'
p3081
aS'sighted'
p3082
asS'suborn'
p3083
(lp3084
S'suborns'
p3085
aS'suborning'
p3086
aS'suborned'
p3087
aS'suborned'
p3088
asS'unnerve'
p3089
(lp3090
S'unnerves'
p3091
aS'unnerving'
p3092
aS'unnerved'
p3093
aS'unnerved'
p3094
asS'grabble'
p3095
(lp3096
S'grabbles'
p3097
aS'grabbling'
p3098
aS'grabbled'
p3099
aS'grabbled'
p3100
asS'crumble'
p3101
(lp3102
S'crumbles'
p3103
aS'crumbling'
p3104
aS'crumbled'
p3105
aS'crumbled'
p3106
asS'soothe'
p3107
(lp3108
S'soothes'
p3109
aS'soothing'
p3110
aS'soothed'
p3111
aS'soothed'
p3112
asS'exist'
p3113
(lp3114
S'exists'
p3115
aS'existing'
p3116
aS'existed'
p3117
aS'existed'
p3118
asS'splotch'
p3119
(lp3120
S'splotches'
p3121
aS'splotching'
p3122
aS'splotched'
p3123
aS'splotched'
p3124
asS'leer'
p3125
(lp3126
sS'floor'
p3127
(lp3128
S'floors'
p3129
aS'flooring'
p3130
aS'floored'
p3131
aS'floored'
p3132
asS'canonize'
p3133
(lp3134
S'canonizes'
p3135
aS'canonizing'
p3136
aS'canonized'
p3137
aS'canonized'
p3138
asS'relax'
p3139
(lp3140
S'relaxes'
p3141
aS'relaxing'
p3142
aS'relaxed'
p3143
aS'relaxed'
p3144
asS'flood'
p3145
(lp3146
S'floods'
p3147
aS'flooding'
p3148
aS'flooded'
p3149
aS'flooded'
p3150
asS'desecrate'
p3151
(lp3152
S'desecrates'
p3153
aS'desecrating'
p3154
aS'desecrated'
p3155
aS'desecrated'
p3156
asS'roughdry'
p3157
(lp3158
S'roughdries'
p3159
aS'roughdrying'
p3160
aS'roughdried'
p3161
aS'roughdried'
p3162
asS'snick'
p3163
(lp3164
S'snicks'
p3165
aS'snicking'
p3166
aS'snicked'
p3167
aS'snicked'
p3168
asS'smell'
p3169
(lp3170
S'smells'
p3171
aS'smelling'
p3172
aS'smelt'
p3173
aS'smelled'
p3174
asS'circumcise'
p3175
(lp3176
S'circumcises'
p3177
aS'circumcising'
p3178
aS'circumcised'
p3179
aS'circumcised'
p3180
asS'intend'
p3181
(lp3182
S'intends'
p3183
aS'intending'
p3184
aS'intended'
p3185
aS'intended'
p3186
asS'valuate'
p3187
(lp3188
S'valuates'
p3189
aS'valuating'
p3190
aS'valuated'
p3191
aS'valuated'
p3192
asS'asterisk'
p3193
(lp3194
S'asterisks'
p3195
aS'asterisking'
p3196
aS'asterisked'
p3197
aS'asterisked'
p3198
asS'superadd'
p3199
(lp3200
S'superadds'
p3201
aS'superadding'
p3202
aS'superadded'
p3203
aS'superadded'
p3204
asS'substract'
p3205
(lp3206
S'substracts'
p3207
aS'substracting'
p3208
aS'substracted'
p3209
aS'substracted'
p3210
asS'foxhunt'
p3211
(lp3212
S'foxhunts'
p3213
aS'foxhunting'
p3214
aS'foxhunted'
p3215
aS'foxhunted'
p3216
asS'objectify'
p3217
(lp3218
S'objectifies'
p3219
aS'objectifying'
p3220
aS'objectified'
p3221
aS'objectified'
p3222
asS'snooze'
p3223
(lp3224
S'snoozes'
p3225
aS'snoozing'
p3226
aS'snoozed'
p3227
aS'snoozed'
p3228
asS'hurt'
p3229
(lp3230
S'hurts'
p3231
aS'hurting'
p3232
aS'hurt'
p3233
aS'hurt'
p3234
asS'warn'
p3235
(lp3236
S'warns'
p3237
aS'warning'
p3238
aS'warned'
p3239
aS'warned'
p3240
asS'diadem'
p3241
(lp3242
S'diadems'
p3243
aS'diademing'
p3244
aS'diademed'
p3245
aS'diademed'
p3246
asS'time'
p3247
(lp3248
S'times'
p3249
aS'timing'
p3250
aS'timed'
p3251
aS'timed'
p3252
asS'push'
p3253
(lp3254
S'pushes'
p3255
aS'pushing'
p3256
aS'pushed'
p3257
aS'pushed'
p3258
asS'frenzy'
p3259
(lp3260
S'frenzies'
p3261
aS'frenzying'
p3262
aS'frenzied'
p3263
aS'frenzied'
p3264
asS'gown'
p3265
(lp3266
S'gowns'
p3267
aS'gowning'
p3268
aS'gowned'
p3269
aS'gowned'
p3270
asS'moither'
p3271
(lp3272
S'moithers'
p3273
aS'moithering'
p3274
aS'moithered'
p3275
aS'moithered'
p3276
asS'chain'
p3277
(lp3278
S'chains'
p3279
aS'chaining'
p3280
aS'chained'
p3281
aS'chained'
p3282
asS'interspace'
p3283
(lp3284
S'interspaces'
p3285
aS'interspacing'
p3286
aS'interspaced'
p3287
aS'interspaced'
p3288
asS'ruddle'
p3289
(lp3290
S'ruddles'
p3291
aS'ruddling'
p3292
aS'ruddled'
p3293
aS'ruddled'
p3294
asS'avalanche'
p3295
(lp3296
S'avalanches'
p3297
aS'avalanching'
p3298
aS'avalanched'
p3299
aS'avalanched'
p3300
asS'peninsulate'
p3301
(lp3302
S'peninsulates'
p3303
aS'peninsulating'
p3304
aS'peninsulated'
p3305
aS'peninsulated'
p3306
asS'convoy'
p3307
(lp3308
S'convoys'
p3309
aS'convoying'
p3310
aS'convoyed'
p3311
aS'convoyed'
p3312
asS'chair'
p3313
(lp3314
S'chairs'
p3315
aS'chairing'
p3316
aS'chaired'
p3317
aS'chaired'
p3318
asS'retrofit'
p3319
(lp3320
S'retrofits'
p3321
aS'retrofitting'
p3322
aS'retrofitted'
p3323
aS'retrofitted'
p3324
asS'vet'
p3325
(lp3326
S'vets'
p3327
aS'vetting'
p3328
aS'vetted'
p3329
aS'vetted'
p3330
asS'freelance'
p3331
(lp3332
S'freelances'
p3333
aS'freelancing'
p3334
aS'freelanced'
p3335
aS'freelanced'
p3336
asS'vex'
p3337
(lp3338
S'vexes'
p3339
aS'vexing'
p3340
aS'vexed'
p3341
aS'vexed'
p3342
asS'crater'
p3343
(lp3344
S'craters'
p3345
aS'cratering'
p3346
aS'cratered'
p3347
aS'cratered'
p3348
asS'syllogize'
p3349
(lp3350
S'syllogizes'
p3351
aS'syllogizing'
p3352
aS'syllogized'
p3353
aS'syllogized'
p3354
asS'splutter'
p3355
(lp3356
S'splutters'
p3357
aS'spluttering'
p3358
aS'spluttered'
p3359
aS'spluttered'
p3360
asS'persevere'
p3361
(lp3362
S'perseveres'
p3363
aS'persevering'
p3364
aS'persevered'
p3365
aS'persevered'
p3366
asS'ingather'
p3367
(lp3368
S'ingathers'
p3369
aS'ingathering'
p3370
aS'ingathered'
p3371
aS'ingathered'
p3372
asS'jerk'
p3373
(lp3374
S'jerks'
p3375
aS'jerking'
p3376
aS'jerked'
p3377
aS'jerked'
p3378
asS'argufy'
p3379
(lp3380
S'argufies'
p3381
aS'argufying'
p3382
aS'argufied'
p3383
aS'argufied'
p3384
asS'refinance'
p3385
(lp3386
S'refinances'
p3387
aS'refinancing'
p3388
aS'refinanced'
p3389
aS'refinanced'
p3390
asS'embark'
p3391
(lp3392
S'embarks'
p3393
aS'embarking'
p3394
aS'embarked'
p3395
aS'embarked'
p3396
asS'rook'
p3397
(lp3398
S'rooks'
p3399
aS'rooking'
p3400
aS'rooked'
p3401
aS'rooked'
p3402
asS'mourn'
p3403
(lp3404
S'mourns'
p3405
aS'mourning'
p3406
aS'mourned'
p3407
aS'mourned'
p3408
asS'bustle'
p3409
(lp3410
S'bustles'
p3411
aS'bustling'
p3412
aS'bustled'
p3413
aS'bustled'
p3414
asS'exact'
p3415
(lp3416
S'exacts'
p3417
aS'exacting'
p3418
aS'exacted'
p3419
aS'exacted'
p3420
asS'overstock'
p3421
(lp3422
S'overstocks'
p3423
aS'overstocking'
p3424
aS'overstocked'
p3425
aS'overstocked'
p3426
asS'giftwrap'
p3427
(lp3428
S'giftwraps'
p3429
aS'giftwrapping'
p3430
aS'giftwrapped'
p3431
aS'giftwrapped'
p3432
asS'disembody'
p3433
(lp3434
S'disembodies'
p3435
aS'disembodying'
p3436
aS'disembodied'
p3437
aS'disembodied'
p3438
asS're-cede'
p3439
(lp3440
S're-cedes'
p3441
aS're-ceding'
p3442
aS'receded'
p3443
aS're-ceded'
p3444
asS'tricycle'
p3445
(lp3446
S'tricycles'
p3447
aS'tricycling'
p3448
aS'tricycled'
p3449
aS'tricycled'
p3450
asS'tear'
p3451
(lp3452
S'tears'
p3453
aS'tearing'
p3454
aS'tore'
p3455
aS'torn'
p3456
asS'folk-dance'
p3457
(lp3458
S'folk-dances'
p3459
aS'folk-dancing'
p3460
aS'folk-danced'
p3461
aS'folk-danced'
p3462
asS'skinpop'
p3463
(lp3464
S'skinpops'
p3465
aS'skinpopping'
p3466
aS'skinpopped'
p3467
aS'skinpopped'
p3468
asS'overarch'
p3469
(lp3470
S'overarches'
p3471
aS'overarching'
p3472
aS'overarched'
p3473
aS'overarched'
p3474
asS'larn'
p3475
(lp3476
S'larns'
p3477
aS'larning'
p3478
aS'larned'
p3479
aS'larned'
p3480
asS'leave'
p3481
(lp3482
S'leaves'
p3483
aS'leaving'
p3484
aS'leaved'
p3485
aS'leaved'
p3486
asS'settle'
p3487
(lp3488
S'settles'
p3489
aS'settling'
p3490
aS'settled'
p3491
aS'settled'
p3492
asS'stockade'
p3493
(lp3494
S'stockades'
p3495
aS'stockading'
p3496
aS'stockaded'
p3497
aS'stockaded'
p3498
asS'insufflate'
p3499
(lp3500
S'insufflates'
p3501
aS'insufflating'
p3502
aS'insufflated'
p3503
aS'insufflated'
p3504
asS'skewer'
p3505
(lp3506
sS'gasify'
p3507
(lp3508
S'gasifies'
p3509
aS'gasifying'
p3510
aS'gasified'
p3511
aS'gasified'
p3512
asS're-join'
p3513
(lp3514
S're-joins'
p3515
aS're-joining'
p3516
aS'rejoined'
p3517
aS're-joined'
p3518
asS'sigh'
p3519
(lp3520
S'sighs'
p3521
aS'sighing'
p3522
aS'sighed'
p3523
aS'sighed'
p3524
asS'sign'
p3525
(lp3526
S'signs'
p3527
aS'signing'
p3528
aS'signed'
p3529
aS'signed'
p3530
asS'Islamize'
p3531
(lp3532
S'Islamizes'
p3533
aS'Islamizing'
p3534
aS'Islamized'
p3535
aS'Islamized'
p3536
asS'educate'
p3537
(lp3538
S'educates'
p3539
aS'educating'
p3540
aS'educated'
p3541
aS'educated'
p3542
asS'sequestrate'
p3543
(lp3544
S'sequestrates'
p3545
aS'sequestrating'
p3546
aS'sequestrated'
p3547
aS'sequestrated'
p3548
asS'convulse'
p3549
(lp3550
S'convulses'
p3551
aS'convulsing'
p3552
aS'convulsed'
p3553
aS'convulsed'
p3554
asS'melt'
p3555
(lp3556
S'melts'
p3557
aS'melting'
p3558
aS'melted'
p3559
aS'molten'
p3560
asS'wriggle'
p3561
(lp3562
S'wriggles'
p3563
aS'wriggling'
p3564
aS'wriggled'
p3565
aS'wriggled'
p3566
asS'jog-trot'
p3567
(lp3568
S'jog-trots'
p3569
aS'jog-trotting'
p3570
aS'jog-trotted'
p3571
aS'jog-trotted'
p3572
asS'boost'
p3573
(lp3574
S'boosts'
p3575
aS'boosting'
p3576
aS'boosted'
p3577
aS'boosted'
p3578
asS'accoutre'
p3579
(lp3580
S'accoutres'
p3581
aS'accoutring'
p3582
aS'accoutred'
p3583
aS'accoutred'
p3584
asS'osmose'
p3585
(lp3586
S'osmoses'
p3587
aS'osmosing'
p3588
aS'osmosed'
p3589
aS'osmosed'
p3590
asS'abscond'
p3591
(lp3592
S'absconds'
p3593
aS'absconding'
p3594
aS'absconded'
p3595
aS'absconded'
p3596
asS'honour'
p3597
(lp3598
S'honours'
p3599
aS'honouring'
p3600
aS'honoured'
p3601
aS'honoured'
p3602
asS'contemplate'
p3603
(lp3604
S'contemplates'
p3605
aS'contemplating'
p3606
aS'contemplated'
p3607
aS'contemplated'
p3608
asS'snack'
p3609
(lp3610
S'snacks'
p3611
aS'snacking'
p3612
aS'snacked'
p3613
aS'snacked'
p3614
asS'splice'
p3615
(lp3616
S'splices'
p3617
aS'splicing'
p3618
aS'spliced'
p3619
aS'spliced'
p3620
asS'address'
p3621
(lp3622
S'addresses'
p3623
aS'addressing'
p3624
aS'addrest'
p3625
aS'addrest'
p3626
asS'sublease'
p3627
(lp3628
S'subleases'
p3629
aS'subleasing'
p3630
aS'subleased'
p3631
aS'subleased'
p3632
asS'enroll'
p3633
(lp3634
S'enrols'
p3635
aS'enrolling'
p3636
aS'enrolled'
p3637
aS'enrolled'
p3638
asS'halogenate'
p3639
(lp3640
S'halogenates'
p3641
aS'halogenating'
p3642
aS'halogenated'
p3643
aS'halogenated'
p3644
asS'fledge'
p3645
(lp3646
S'fledges'
p3647
aS'fledging'
p3648
aS'fledged'
p3649
aS'fledged'
p3650
asS'root'
p3651
(lp3652
S'roots'
p3653
aS'rooting'
p3654
aS'rooted'
p3655
aS'rooted'
p3656
asS'queue'
p3657
(lp3658
S'queues'
p3659
aS'queueing'
p3660
aS'queueed'
p3661
aS'queueed'
p3662
asS'coextend'
p3663
(lp3664
S'coextends'
p3665
aS'coextending'
p3666
aS'coextended'
p3667
aS'coextended'
p3668
asS'solarize'
p3669
(lp3670
S'solarizes'
p3671
aS'solarizing'
p3672
aS'solarized'
p3673
aS'solarized'
p3674
asS'etherify'
p3675
(lp3676
S'etherifies'
p3677
aS'etherifying'
p3678
aS'etherified'
p3679
aS'etherified'
p3680
asS'respite'
p3681
(lp3682
S'respites'
p3683
aS'respiting'
p3684
aS'respited'
p3685
aS'respited'
p3686
asS'love'
p3687
(lp3688
S'loves'
p3689
aS'loving'
p3690
aS'loved'
p3691
aS'loved'
p3692
asS'disenthrall'
p3693
(lp3694
S'disenthrals'
p3695
aS'disenthralling'
p3696
aS'disenthralled'
p3697
aS'disenthralled'
p3698
asS'prefer'
p3699
(lp3700
S'prefers'
p3701
aS'preferring'
p3702
aS'preferred'
p3703
aS'preferred'
p3704
asS'bloody'
p3705
(lp3706
S'bloodies'
p3707
aS'bloodying'
p3708
aS'bloodied'
p3709
aS'bloodied'
p3710
asS'abash'
p3711
(lp3712
S'abashes'
p3713
aS'abashing'
p3714
aS'abashed'
p3715
aS'abashed'
p3716
asS'fake'
p3717
(lp3718
S'fakes'
p3719
aS'faking'
p3720
aS'faked'
p3721
aS'faked'
p3722
asS'encyst'
p3723
(lp3724
S'encysts'
p3725
aS'encysting'
p3726
aS'encysted'
p3727
aS'encysted'
p3728
asS'unlash'
p3729
(lp3730
S'unlashes'
p3731
aS'unlashing'
p3732
aS'unlashed'
p3733
aS'unlashed'
p3734
asS'abase'
p3735
(lp3736
S'abases'
p3737
aS'abasing'
p3738
aS'abased'
p3739
aS'abased'
p3740
asS'engrail'
p3741
(lp3742
S'engrails'
p3743
aS'engrailing'
p3744
aS'engrailed'
p3745
aS'engrailed'
p3746
asS'dangle'
p3747
(lp3748
S'dangles'
p3749
aS'dangling'
p3750
aS'dangled'
p3751
aS'dangled'
p3752
asS'crash-dive'
p3753
(lp3754
S"crash-dives'"
p3755
aS'crash-diving'
p3756
aS'crash-dived'
p3757
aS'crash-dived'
p3758
asS'annunciate'
p3759
(lp3760
S'annunciates'
p3761
aS'annunciating'
p3762
aS'annunciated'
p3763
aS'annunciated'
p3764
asS'afford'
p3765
(lp3766
S'affords'
p3767
aS'affording'
p3768
aS'afforded'
p3769
aS'afforded'
p3770
asS'reprise'
p3771
(lp3772
S'reprises'
p3773
aS'reprising'
p3774
aS'reprised'
p3775
aS'reprised'
p3776
asS'refrain'
p3777
(lp3778
S'refrains'
p3779
aS'refraining'
p3780
aS'refrained'
p3781
aS'refrained'
p3782
asS'degrade'
p3783
(lp3784
S'degrades'
p3785
aS'degrading'
p3786
aS'degraded'
p3787
aS'degraded'
p3788
asS'involve'
p3789
(lp3790
S'involves'
p3791
aS'involving'
p3792
aS'involved'
p3793
aS'involved'
p3794
asS'lowercase'
p3795
(lp3796
S'lower-casing'
p3797
aS'lower-cased'
p3798
aS'lower-cased'
p3799
asS'embower'
p3800
(lp3801
S'embowers'
p3802
aS'embowering'
p3803
aS'embowered'
p3804
aS'embowered'
p3805
asS'pretend'
p3806
(lp3807
S'pretends'
p3808
aS'pretending'
p3809
aS'pretended'
p3810
aS'pretended'
p3811
asS'strain'
p3812
(lp3813
S'strains'
p3814
aS'straining'
p3815
aS'strained'
p3816
aS'strained'
p3817
asS'dissimilate'
p3818
(lp3819
S'dissimilates'
p3820
aS'dissimilating'
p3821
aS'dissimilated'
p3822
aS'dissimilated'
p3823
asS'dispossess'
p3824
(lp3825
S'dispossesses'
p3826
aS'dispossessing'
p3827
aS'dispossessed'
p3828
aS'dispossessed'
p3829
asS'circumambulate'
p3830
(lp3831
S'circumambulates'
p3832
aS'circumambulating'
p3833
aS'circumambulated'
p3834
aS'circumambulated'
p3835
asS'embrocate'
p3836
(lp3837
S'embrocates'
p3838
aS'embrocating'
p3839
aS'embrocated'
p3840
aS'embrocated'
p3841
asS'parachute'
p3842
(lp3843
S'parachutes'
p3844
aS'parachuting'
p3845
aS'parachuted'
p3846
aS'parachuted'
p3847
asS'evite'
p3848
(lp3849
S'evites'
p3850
aS'eviting'
p3851
aS'evited'
p3852
aS'evited'
p3853
asS'rontgenize'
p3854
(lp3855
S'rontgenizes'
p3856
aS'rontgenizing'
p3857
aS'rontgenized'
p3858
aS'rontgenized'
p3859
asS'emotionalize'
p3860
(lp3861
S'emotionalizes'
p3862
aS'emotionalizing'
p3863
aS'emotionalized'
p3864
aS'emotionalized'
p3865
asS'disprize'
p3866
(lp3867
S'disprizes'
p3868
aS'disprizing'
p3869
aS'disprized'
p3870
aS'disprized'
p3871
asS'winter'
p3872
(lp3873
S'winters'
p3874
aS'wintering'
p3875
aS'wintered'
p3876
aS'wintered'
p3877
asS'ambush'
p3878
(lp3879
S'ambushes'
p3880
aS'ambushing'
p3881
aS'ambushed'
p3882
aS'ambushed'
p3883
asS'splodge'
p3884
(lp3885
S'splodges'
p3886
aS'splodging'
p3887
aS'splodged'
p3888
aS'splodged'
p3889
asS'cavil'
p3890
(lp3891
S'cavils'
p3892
aS'cavilling'
p3893
aS'cavilled'
p3894
aS'cavilled'
p3895
asS'overissue'
p3896
(lp3897
S'overissues'
p3898
aS'overissuing'
p3899
aS'overissued'
p3900
aS'overissued'
p3901
asS'spot'
p3902
(lp3903
S'spots'
p3904
aS'spotting'
p3905
aS'spotted'
p3906
aS'spotcheck'
p3907
asS'rehabilitate'
p3908
(lp3909
S'rehabilitates'
p3910
aS'rehabilitating'
p3911
aS'rehabilitated'
p3912
aS'rehabilitated'
p3913
asS'outthink'
p3914
(lp3915
S'outthinks'
p3916
aS'outthinking'
p3917
aS'outthought'
p3918
aS'outthought'
p3919
asS'date'
p3920
(lp3921
S'dates'
p3922
aS'dating'
p3923
aS'dated'
p3924
aS'dated'
p3925
asS'suck'
p3926
(lp3927
S'sucks'
p3928
aS'sucking'
p3929
aS'sucked'
p3930
aS'sucked'
p3931
asS'journalize'
p3932
(lp3933
S'journalizes'
p3934
aS'journalizing'
p3935
aS'journalized'
p3936
aS'journalized'
p3937
asS'stress'
p3938
(lp3939
S'stresses'
p3940
aS'stressing'
p3941
aS'stressed'
p3942
aS'stressed'
p3943
asS'correlate'
p3944
(lp3945
S'correlates'
p3946
aS'correlating'
p3947
aS'correlated'
p3948
aS'correlated'
p3949
asS'truck'
p3950
(lp3951
S'trucks'
p3952
aS'trucking'
p3953
aS'trucked'
p3954
aS'trucked'
p3955
asS'skirmish'
p3956
(lp3957
S'skirmishes'
p3958
aS'skirmishing'
p3959
aS'skirmished'
p3960
aS'skirmished'
p3961
asS'feature'
p3962
(lp3963
S'features'
p3964
aS'featuring'
p3965
aS'featured'
p3966
aS'featured'
p3967
asS'course'
p3968
(lp3969
S'courses'
p3970
aS'coursing'
p3971
aS'coursed'
p3972
aS'coursed'
p3973
asS'yearn'
p3974
(lp3975
S'yearns'
p3976
aS'yearning'
p3977
aS'yearned'
p3978
aS'yearned'
p3979
asS'bastardize'
p3980
(lp3981
S'bastardizes'
p3982
aS'bastardizing'
p3983
aS'bastardized'
p3984
aS'bastardized'
p3985
asS'horrify'
p3986
(lp3987
S'horrifies'
p3988
aS'horrifying'
p3989
aS'horrified'
p3990
aS'horrified'
p3991
asS'mishear'
p3992
(lp3993
S'mishears'
p3994
aS'mishearing'
p3995
aS'misheard'
p3996
aS'misheard'
p3997
asS'bulldoze'
p3998
(lp3999
S'bulldozes'
p4000
aS'bulldozing'
p4001
aS'bulldozed'
p4002
aS'bulldozed'
p4003
asS'jig'
p4004
(lp4005
S'jigs'
p4006
aS'jigging'
p4007
aS'jigged'
p4008
aS'jigged'
p4009
asS'derive'
p4010
(lp4011
S'derives'
p4012
aS'deriving'
p4013
aS'derived'
p4014
aS'derived'
p4015
asS'overhaul'
p4016
(lp4017
S'overhauls'
p4018
aS'overhauling'
p4019
aS'overhauled'
p4020
aS'overhauled'
p4021
asS'solace'
p4022
(lp4023
S'solaces'
p4024
aS'solacing'
p4025
aS'solaced'
p4026
aS'solaced'
p4027
asS'stroll'
p4028
(lp4029
S'strolls'
p4030
aS'strolling'
p4031
aS'strolled'
p4032
aS'strolled'
p4033
asS'thump'
p4034
(lp4035
S'thumps'
p4036
aS'thumping'
p4037
aS'thumped'
p4038
aS'thumped'
p4039
asS'petition'
p4040
(lp4041
S'petitions'
p4042
aS'petitioning'
p4043
aS'petitioned'
p4044
aS'petitioned'
p4045
asS'apron'
p4046
(lp4047
S'aprons'
p4048
aS'aproning'
p4049
aS'aproned'
p4050
aS'aproned'
p4051
asS'smarten'
p4052
(lp4053
S'smartens'
p4054
aS'smartening'
p4055
aS'smartened'
p4056
aS'smartened'
p4057
asS'bedevil'
p4058
(lp4059
S'bedevils'
p4060
aS'bedevilling'
p4061
aS'bedevilled'
p4062
aS'bedevilled'
p4063
asS'sublimate'
p4064
(lp4065
S'sublimates'
p4066
aS'sublimating'
p4067
aS'sublimated'
p4068
aS'sublimated'
p4069
asS'hiccough'
p4070
(lp4071
S'hiccoughs'
p4072
aS'hiccoughing'
p4073
aS'hiccoughed'
p4074
aS'hiccoughed'
p4075
asS'plunk'
p4076
(lp4077
S'plunks'
p4078
aS'plunking'
p4079
aS'plunked'
p4080
aS'plunked'
p4081
asS'revert'
p4082
(lp4083
S'reverts'
p4084
aS'reverting'
p4085
aS'reverted'
p4086
aS'reverted'
p4087
asS'englut'
p4088
(lp4089
S'engluts'
p4090
aS'englutting'
p4091
aS'englutted'
p4092
aS'englutted'
p4093
asS'amnesty'
p4094
(lp4095
S'amnesties'
p4096
aS'amnestying'
p4097
aS'amnestied'
p4098
aS'amnestied'
p4099
asS'quarter'
p4100
(lp4101
S'quarters'
p4102
aS'quartering'
p4103
aS'quartered'
p4104
aS'quartered'
p4105
asS'revere'
p4106
(lp4107
S'reveres'
p4108
aS'revering'
p4109
aS'revered'
p4110
aS'revered'
p4111
asS'turtle'
p4112
(lp4113
S'turtles'
p4114
aS'turtling'
p4115
aS'turtled'
p4116
aS'turtled'
p4117
asS'concertina'
p4118
(lp4119
S'concertinas'
p4120
aS'concertinaing'
p4121
aS'concertinaed'
p4122
aS'concertinaed'
p4123
asS'square'
p4124
(lp4125
S'squares'
p4126
aS'squaring'
p4127
aS'squared'
p4128
aS'squared'
p4129
asS'retrieve'
p4130
(lp4131
S'retrieves'
p4132
aS'retrieving'
p4133
aS'retrieved'
p4134
aS'retrieved'
p4135
asS'edify'
p4136
(lp4137
S'edifies'
p4138
aS'edifying'
p4139
aS'edified'
p4140
aS'edified'
p4141
asS'receipt'
p4142
(lp4143
S'receipts'
p4144
aS'receipting'
p4145
aS'receipted'
p4146
aS'receipted'
p4147
asS'fireproof'
p4148
(lp4149
S'fireproofs'
p4150
aS'fireproofing'
p4151
aS'fireproofed'
p4152
aS'fireproofed'
p4153
asS'asseverate'
p4154
(lp4155
S'asseverates'
p4156
aS'asseverating'
p4157
aS'asseverated'
p4158
aS'asseverated'
p4159
asS'inhere'
p4160
(lp4161
S'inheres'
p4162
aS'inhering'
p4163
aS'inhered'
p4164
aS'inhered'
p4165
asS'beetle'
p4166
(lp4167
S'beetles'
p4168
aS'beetling'
p4169
aS'beetled'
p4170
aS'beetled'
p4171
asS'troll'
p4172
(lp4173
S'trolls'
p4174
aS'trolling'
p4175
aS'trolled'
p4176
aS'trolled'
p4177
asS'jounce'
p4178
(lp4179
S'jounces'
p4180
aS'jouncing'
p4181
aS'jounced'
p4182
aS'jounced'
p4183
asS'besprinkle'
p4184
(lp4185
S'besprinkles'
p4186
aS'besprinkling'
p4187
aS'besprinkled'
p4188
aS'besprinkled'
p4189
asS'softsoap'
p4190
(lp4191
S'softsoaps'
p4192
aS'softsoaping'
p4193
aS'softsoaped'
p4194
aS'softsoaped'
p4195
asS'abide'
p4196
(lp4197
S'abides'
p4198
aS'abiding'
p4199
aS'abode'
p4200
aS'abode'
p4201
asS'spur'
p4202
(lp4203
S'spurs'
p4204
aS'spurring'
p4205
aS'spurred'
p4206
aS'spurred'
p4207
asS'intermix'
p4208
(lp4209
S'intermixes'
p4210
aS'intermixing'
p4211
aS'intermixed'
p4212
aS'intermixed'
p4213
asS'intermit'
p4214
(lp4215
S'intermits'
p4216
aS'intermitting'
p4217
aS'intermitted'
p4218
aS'intermitted'
p4219
asS'hibernate'
p4220
(lp4221
S'hibernates'
p4222
aS'hibernating'
p4223
aS'hibernated'
p4224
aS'hibernated'
p4225
asS'Braille'
p4226
(lp4227
S'Brailles'
p4228
aS'Brailling'
p4229
aS'Brailled'
p4230
aS'Brailled'
p4231
asS'envelop'
p4232
(lp4233
S'envelops'
p4234
aS'enveloping'
p4235
aS'enveloped'
p4236
aS'enveloped'
p4237
asS'reshuffle'
p4238
(lp4239
S'reshuffles'
p4240
aS'reshuffling'
p4241
aS'reshuffled'
p4242
aS'reshuffled'
p4243
asS'disrespect'
p4244
(lp4245
S'disrespects'
p4246
aS'disrespecting'
p4247
aS'disrespected'
p4248
aS'disrespected'
p4249
asS'snooker'
p4250
(lp4251
S'snookers'
p4252
aS'snookering'
p4253
aS'snookered'
p4254
aS'snookered'
p4255
asS'mime'
p4256
(lp4257
S'mimes'
p4258
aS'miming'
p4259
aS'mimed'
p4260
aS'mimed'
p4261
asS'remainder'
p4262
(lp4263
S'remainders'
p4264
aS'remaindering'
p4265
aS'remaindered'
p4266
aS'remaindered'
p4267
asS'dog-paddle'
p4268
(lp4269
S'dog-paddles'
p4270
aS'dog-paddling'
p4271
aS'dog-paddled'
p4272
aS'dog-paddled'
p4273
asS'gaff'
p4274
(lp4275
S'gaffs'
p4276
aS'gaffing'
p4277
aS'gaffed'
p4278
aS'gaffed'
p4279
asS'chevy'
p4280
(lp4281
S'chevies'
p4282
aS'chevying'
p4283
aS'chevied'
p4284
aS'chevied'
p4285
asS'initiate'
p4286
(lp4287
S'initiates'
p4288
aS'initiating'
p4289
aS'initiated'
p4290
aS'initiated'
p4291
asS'enkindle'
p4292
(lp4293
S'enkindles'
p4294
aS'enkindling'
p4295
aS'enkindled'
p4296
aS'enkindled'
p4297
asS'punt'
p4298
(lp4299
S'punts'
p4300
aS'punting'
p4301
aS'punted'
p4302
aS'punted'
p4303
asS'calque'
p4304
(lp4305
S'calques'
p4306
aS'calquing'
p4307
aS'calqued'
p4308
aS'calqued'
p4309
asS'solubilize'
p4310
(lp4311
S'solubilizes'
p4312
aS'solubilizing'
p4313
aS'solubilized'
p4314
aS'solubilized'
p4315
asS'neglect'
p4316
(lp4317
S'neglects'
p4318
aS'neglecting'
p4319
aS'neglected'
p4320
aS'neglected'
p4321
asS'sock'
p4322
(lp4323
S'socks'
p4324
aS'socking'
p4325
aS'socked'
p4326
aS'socked'
p4327
asS'potter'
p4328
(lp4329
S'potters'
p4330
aS'pottering'
p4331
aS'pottered'
p4332
aS'pottered'
p4333
asS'reopen'
p4334
(lp4335
S'reopens'
p4336
aS'reopening'
p4337
aS'reopened'
p4338
aS'reopened'
p4339
asS'sjambok'
p4340
(lp4341
S'sjamboks'
p4342
aS'sjamboking'
p4343
aS'sjamboked'
p4344
aS'sjamboked'
p4345
asS'submit'
p4346
(lp4347
S'submits'
p4348
aS'submitting'
p4349
aS'submitted'
p4350
aS'submitted'
p4351
asS'croup'
p4352
(lp4353
S'croups'
p4354
aS'crouping'
p4355
aS'crouped'
p4356
aS'crouped'
p4357
asS'open'
p4358
(lp4359
S'opens'
p4360
aS'opening'
p4361
aS'opened'
p4362
aS'opened'
p4363
asS'summarize'
p4364
(lp4365
S'summarizes'
p4366
aS'summarizing'
p4367
aS'summarized'
p4368
aS'summarized'
p4369
asS'languish'
p4370
(lp4371
S'languishes'
p4372
aS'languishing'
p4373
aS'languished'
p4374
aS'languished'
p4375
asS'bite'
p4376
(lp4377
S'bites'
p4378
aS'biting'
p4379
aS'bited'
p4380
aS'bitten'
p4381
asS'dandify'
p4382
(lp4383
S'dandifies'
p4384
aS'dandifying'
p4385
aS'dandified'
p4386
aS'dandified'
p4387
asS'indicate'
p4388
(lp4389
S'indicates'
p4390
aS'indicating'
p4391
aS'indicated'
p4392
aS'indicated'
p4393
asS'shiver'
p4394
(lp4395
S'shivers'
p4396
aS'shivering'
p4397
aS'shivered'
p4398
aS'shivered'
p4399
asS'draft'
p4400
(lp4401
sS'dissipate'
p4402
(lp4403
S'dissipates'
p4404
aS'dissipating'
p4405
aS'dissipated'
p4406
aS'dissipated'
p4407
asS'convene'
p4408
(lp4409
S'convenes'
p4410
aS'convening'
p4411
aS'convened'
p4412
aS'convened'
p4413
asS'cite'
p4414
(lp4415
S'cites'
p4416
aS'citing'
p4417
aS'cited'
p4418
aS'cited'
p4419
asS'unmoor'
p4420
(lp4421
S'unmoors'
p4422
aS'unmooring'
p4423
aS'unmoored'
p4424
aS'unmoored'
p4425
asS'demonetize'
p4426
(lp4427
S'demonetizes'
p4428
aS'demonetizing'
p4429
aS'demonetized'
p4430
aS'demonetized'
p4431
asS'blazon'
p4432
(lp4433
S'blazons'
p4434
aS'blazoning'
p4435
aS'blazoned'
p4436
aS'blazoned'
p4437
asS'bump-start'
p4438
(lp4439
S'bump-starts'
p4440
aS'bump-starting'
p4441
aS'bump-started'
p4442
aS'bump-started'
p4443
asS'watersoak'
p4444
(lp4445
S'watersoaks'
p4446
aS'watersoaking'
p4447
aS'watersoaked'
p4448
aS'watersoaked'
p4449
asS're-act'
p4450
(lp4451
S're-acts'
p4452
aS're-acting'
p4453
aS'reacted'
p4454
aS're-acted'
p4455
asS'snatch'
p4456
(lp4457
S'snatches'
p4458
aS'snatching'
p4459
aS'snatched'
p4460
aS'snatched'
p4461
asS'indwell'
p4462
(lp4463
S'indwells'
p4464
aS'indwelling'
p4465
aS'indwelt'
p4466
aS'indwelt'
p4467
asS'poultice'
p4468
(lp4469
S'poultices'
p4470
aS'poulticing'
p4471
aS'poulticed'
p4472
aS'poulticed'
p4473
asS'carbonize'
p4474
(lp4475
S'carbonizes'
p4476
aS'carbonizing'
p4477
aS'carbonized'
p4478
aS'carbonized'
p4479
asS'translate'
p4480
(lp4481
S'translates'
p4482
aS'translating'
p4483
aS'translated'
p4484
aS'translated'
p4485
asS'cower'
p4486
(lp4487
S'cowers'
p4488
aS'cowering'
p4489
aS'cowered'
p4490
aS'cowered'
p4491
asS'stammer'
p4492
(lp4493
S'stammers'
p4494
aS'stammering'
p4495
aS'stammered'
p4496
aS'stammered'
p4497
asS'distill'
p4498
(lp4499
S'distils'
p4500
aS'distilling'
p4501
aS'distilled'
p4502
aS'distilled'
p4503
asS'winkle'
p4504
(lp4505
S'winkles'
p4506
aS'winkling'
p4507
aS'winkled'
p4508
aS'winkled'
p4509
asS'Africanize'
p4510
(lp4511
S'Africanizes'
p4512
aS'Africanizing'
p4513
aS'Africanized'
p4514
aS'Africanized'
p4515
asS'prospect'
p4516
(lp4517
S'prospects'
p4518
aS'prospecting'
p4519
aS'prospected'
p4520
aS'prospected'
p4521
asS'smutch'
p4522
(lp4523
S'smutches'
p4524
aS'smutching'
p4525
aS'smutched'
p4526
aS'smutched'
p4527
asS'sag'
p4528
(lp4529
S'sags'
p4530
aS'sagging'
p4531
aS'sagged'
p4532
aS'sagged'
p4533
asS'necrose'
p4534
(lp4535
S'necroses'
p4536
aS'necrosing'
p4537
aS'necrosed'
p4538
aS'necrosed'
p4539
asS'say'
p4540
(lp4541
S'says'
p4542
aS'saying'
p4543
aS'said'
p4544
aS'said'
p4545
asS'sap'
p4546
(lp4547
S'saps'
p4548
aS'sapping'
p4549
aS'sapped'
p4550
aS'sapped'
p4551
asS'saw'
p4552
(lp4553
S'saws'
p4554
aS'sawing'
p4555
aS'sawed'
p4556
aS'sawn'
p4557
asS'perplex'
p4558
(lp4559
S'perplexes'
p4560
aS'perplexing'
p4561
aS'perplexed'
p4562
aS'perplexed'
p4563
asS'aspirate'
p4564
(lp4565
S'aspirates'
p4566
aS'aspirating'
p4567
aS'aspirated'
p4568
aS'aspirated'
p4569
asS'babysit'
p4570
(lp4571
S'babysits'
p4572
aS'babysitting'
p4573
aS'babysat'
p4574
aS'babysat'
p4575
asS'knead'
p4576
(lp4577
S'kneads'
p4578
aS'kneading'
p4579
aS'kneaded'
p4580
aS'kneaded'
p4581
asS'retroact'
p4582
(lp4583
S'retroacts'
p4584
aS'retroacting'
p4585
aS'retroacted'
p4586
aS'retroacted'
p4587
asS'note'
p4588
(lp4589
S'notes'
p4590
aS'noting'
p4591
aS'noted'
p4592
aS'noted'
p4593
asS'unlearn'
p4594
(lp4595
S'unlearns'
p4596
aS'unlearning'
p4597
aS'unlearnt'
p4598
aS'unlearnt'
p4599
asS'maintain'
p4600
(lp4601
S'maintains'
p4602
aS'maintaining'
p4603
aS'maintained'
p4604
aS'maintained'
p4605
asS'take'
p4606
(lp4607
S'takes'
p4608
aS'taking'
p4609
aS'took'
p4610
aS'taken'
p4611
asS'destroy'
p4612
(lp4613
S'destroys'
p4614
aS'destroying'
p4615
aS'destroyed'
p4616
aS'destroyed'
p4617
asS'coincide'
p4618
(lp4619
S'coincides'
p4620
aS'coinciding'
p4621
aS'coincided'
p4622
aS'coincided'
p4623
asS'unfix'
p4624
(lp4625
S'unfixes'
p4626
aS'unfixing'
p4627
aS'unfixed'
p4628
aS'unfixed'
p4629
asS'offload'
p4630
(lp4631
S'offloads'
p4632
aS'offloading'
p4633
aS'offloaded'
p4634
aS'offloaded'
p4635
asS'buffer'
p4636
(lp4637
sS'slump'
p4638
(lp4639
S'slumps'
p4640
aS'slumping'
p4641
aS'slumped'
p4642
aS'slumped'
p4643
asS'compress'
p4644
(lp4645
S'compresses'
p4646
aS'compressing'
p4647
aS'compressed'
p4648
aS'compressed'
p4649
asS'buffet'
p4650
(lp4651
S'buffets'
p4652
aS'buffeting'
p4653
aS'buffeted'
p4654
aS'buffeted'
p4655
asS'abut'
p4656
(lp4657
S'abuts'
p4658
aS'abutting'
p4659
aS'abutted'
p4660
aS'abutted'
p4661
asS'crochet'
p4662
(lp4663
S'crochets'
p4664
aS'crocheting'
p4665
aS'crocheted'
p4666
aS'crocheted'
p4667
asS'hot-press'
p4668
(lp4669
S'hot-presses'
p4670
aS'hot-pressing'
p4671
aS'hot-pressed'
p4672
aS'hot-pressed'
p4673
asS'chomp'
p4674
(lp4675
S'chomps'
p4676
aS'chomping'
p4677
aS'chomped'
p4678
aS'chomped'
p4679
asS'operate'
p4680
(lp4681
S'operates'
p4682
aS'operating'
p4683
aS'operated'
p4684
aS'operated'
p4685
asS'enamel'
p4686
(lp4687
S'enamels'
p4688
aS'enamelling'
p4689
aS'enamelled'
p4690
aS'enamelled'
p4691
asS'energize'
p4692
(lp4693
S'energizes'
p4694
aS'energizing'
p4695
aS'energized'
p4696
aS'energized'
p4697
asS'average'
p4698
(lp4699
S'averages'
p4700
aS'averaging'
p4701
aS'averaged'
p4702
aS'averaged'
p4703
asS'drive'
p4704
(lp4705
S'drives'
p4706
aS'driving'
p4707
aS'drove'
p4708
aS'driven'
p4709
asS'wind'
p4710
(lp4711
S'winds'
p4712
aS'winding'
p4713
aS'wound'
p4714
aS'wound'
p4715
asS'axe'
p4716
(lp4717
S'axes'
p4718
aS'axing'
p4719
aS'axed'
p4720
aS'axed'
p4721
asS'salt'
p4722
(lp4723
S'salts'
p4724
aS'salting'
p4725
aS'salted'
p4726
aS'salted'
p4727
asS'intoxicate'
p4728
(lp4729
S'intoxicates'
p4730
aS'intoxicating'
p4731
aS'intoxicated'
p4732
aS'intoxicated'
p4733
asS'tumefy'
p4734
(lp4735
S'tumefies'
p4736
aS'tumefying'
p4737
aS'tumefied'
p4738
aS'tumefied'
p4739
asS'infuriate'
p4740
(lp4741
S'infuriates'
p4742
aS'infuriating'
p4743
aS'infuriated'
p4744
aS'infuriated'
p4745
asS'mince'
p4746
(lp4747
S'minces'
p4748
aS'mincing'
p4749
aS'minced'
p4750
aS'minced'
p4751
asS'merit'
p4752
(lp4753
S'merits'
p4754
aS'meriting'
p4755
aS'merited'
p4756
aS'merited'
p4757
asS'underlet'
p4758
(lp4759
S'underlets'
p4760
aS'underletting'
p4761
aS'underlet'
p4762
aS'underlet'
p4763
asS'dialogize'
p4764
(lp4765
S'dialogizes'
p4766
aS'dialogizing'
p4767
aS'dialogized'
p4768
aS'dialogized'
p4769
asS'slot'
p4770
(lp4771
S'slots'
p4772
aS'slotting'
p4773
aS'slotted'
p4774
aS'slotted'
p4775
asS'outspan'
p4776
(lp4777
S'outspans'
p4778
aS'outspanning'
p4779
aS'outspanned'
p4780
aS'outspanned'
p4781
asS'slop'
p4782
(lp4783
S'slops'
p4784
aS'slopping'
p4785
aS'slopped'
p4786
aS'slopped'
p4787
asS'transact'
p4788
(lp4789
S'transacts'
p4790
aS'transacting'
p4791
aS'transacted'
p4792
aS'transacted'
p4793
asS'cloak'
p4794
(lp4795
S'cloaks'
p4796
aS'cloaking'
p4797
aS'cloaked'
p4798
aS'cloaked'
p4799
asS'short'
p4800
(lp4801
S'shorts'
p4802
aS'shorting'
p4803
aS'shorted'
p4804
aS'shorted'
p4805
asS'debunk'
p4806
(lp4807
S'debunks'
p4808
aS'debunking'
p4809
aS'debunked'
p4810
aS'debunked'
p4811
asS'slog'
p4812
(lp4813
S'slogs'
p4814
aS'slogging'
p4815
aS'slogged'
p4816
aS'slogged'
p4817
asS'outrage'
p4818
(lp4819
S'outrages'
p4820
aS'outraging'
p4821
aS'outraged'
p4822
aS'outraged'
p4823
asS'robe'
p4824
(lp4825
S'robes'
p4826
aS'robing'
p4827
aS'robed'
p4828
aS'robed'
p4829
asS'dispute'
p4830
(lp4831
S'disputes'
p4832
aS'disputing'
p4833
aS'disputed'
p4834
aS'disputed'
p4835
asS'clank'
p4836
(lp4837
S'clanks'
p4838
aS'clanking'
p4839
aS'clanked'
p4840
aS'clanked'
p4841
asS'digitize'
p4842
(lp4843
S'digitizes'
p4844
aS'digitizing'
p4845
aS'digitized'
p4846
aS'digitized'
p4847
asS'clang'
p4848
(lp4849
S'clangs'
p4850
aS'clanging'
p4851
aS'clanged'
p4852
aS'clanged'
p4853
asS'yammer'
p4854
(lp4855
S'yammers'
p4856
aS'yammering'
p4857
aS'yammered'
p4858
aS'yammered'
p4859
asS'prime'
p4860
(lp4861
S'primes'
p4862
aS'priming'
p4863
aS'primed'
p4864
aS'primed'
p4865
asS'disrate'
p4866
(lp4867
S'disrates'
p4868
aS'disrating'
p4869
aS'disrated'
p4870
aS'disrated'
p4871
asS'pimp'
p4872
(lp4873
S'pimps'
p4874
aS'pimping'
p4875
aS'pimped'
p4876
aS'pimped'
p4877
asS'assimilate'
p4878
(lp4879
S'assimilates'
p4880
aS'assimilating'
p4881
aS'assimilated'
p4882
aS'assimilated'
p4883
asS'brominate'
p4884
(lp4885
S'brominates'
p4886
aS'brominating'
p4887
aS'brominated'
p4888
aS'brominated'
p4889
asS'borrow'
p4890
(lp4891
S'borrows'
p4892
aS'borrowing'
p4893
aS'borrowed'
p4894
aS'borrowed'
p4895
asS'obsolesce'
p4896
(lp4897
S'obsolesces'
p4898
aS'obsolescing'
p4899
aS'obsolesced'
p4900
aS'obsolesced'
p4901
asS'spancel'
p4902
(lp4903
S'spancels'
p4904
aS'spancelling'
p4905
aS'spancelled'
p4906
aS'spancelled'
p4907
asS'primp'
p4908
(lp4909
S'primps'
p4910
aS'primping'
p4911
aS'primped'
p4912
aS'primped'
p4913
asS'strongarm'
p4914
(lp4915
S'strongarms'
p4916
aS'strongarming'
p4917
aS'strongarmed'
p4918
aS'strongarmed'
p4919
asS'disparage'
p4920
(lp4921
S'disparages'
p4922
aS'disparaging'
p4923
aS'disparaged'
p4924
aS'disparaged'
p4925
asS'vision'
p4926
(lp4927
S'visions'
p4928
aS'visioning'
p4929
aS'visioned'
p4930
aS'visioned'
p4931
asS'keyboard'
p4932
(lp4933
S'keyboards'
p4934
aS'keyboarding'
p4935
aS'keyboarded'
p4936
aS'keyboarded'
p4937
asS'espy'
p4938
(lp4939
S'espies'
p4940
aS'espying'
p4941
aS'espied'
p4942
aS'espied'
p4943
asS'expiate'
p4944
(lp4945
S'expiates'
p4946
aS'expiating'
p4947
aS'expiated'
p4948
aS'expiated'
p4949
asS'copyedit'
p4950
(lp4951
S'copyedits'
p4952
aS'copyediting'
p4953
aS'copyedited'
p4954
aS'copyedited'
p4955
asS'interpellate'
p4956
(lp4957
S'interpellates'
p4958
aS'interpellating'
p4959
aS'interpellated'
p4960
aS'interpellated'
p4961
asS'diddle'
p4962
(lp4963
S'diddles'
p4964
aS'diddling'
p4965
aS'diddled'
p4966
aS'diddled'
p4967
asS'bootleg'
p4968
(lp4969
S'bootlegs'
p4970
aS'bootlegging'
p4971
aS'bootlegged'
p4972
aS'bootlegged'
p4973
asS'denizen'
p4974
(lp4975
S'denizens'
p4976
aS'denizening'
p4977
aS'denizened'
p4978
aS'denizened'
p4979
asS'heterodyne'
p4980
(lp4981
S'heterodynes'
p4982
aS'heterodyning'
p4983
aS'heterodyned'
p4984
aS'heterodyned'
p4985
asS'mope'
p4986
(lp4987
S'mopes'
p4988
aS'moping'
p4989
aS'moped'
p4990
aS'moped'
p4991
asS'presage'
p4992
(lp4993
S'presages'
p4994
aS'presaging'
p4995
aS'presaged'
p4996
aS'presaged'
p4997
asS'forsake'
p4998
(lp4999
S'forsakes'
p5000
aS'forsaking'
p5001
aS'forsook'
p5002
aS'forsaken'
p5003
asS'gutturalize'
p5004
(lp5005
S'gutturalizes'
p5006
aS'gutturalizing'
p5007
aS'gutturalized'
p5008
aS'gutturalized'
p5009
asS'distrain'
p5010
(lp5011
S'distrains'
p5012
aS'distraining'
p5013
aS'distrained'
p5014
aS'distrained'
p5015
asS'screen'
p5016
(lp5017
S'screens'
p5018
aS'screening'
p5019
aS'screened'
p5020
aS'screened'
p5021
asS'dome'
p5022
(lp5023
S'domes'
p5024
aS'doming'
p5025
aS'domed'
p5026
aS'domed'
p5027
asS'concentrate'
p5028
(lp5029
S'concentrates'
p5030
aS'concentrating'
p5031
aS'concentrated'
p5032
aS'concentrated'
p5033
asS'spare'
p5034
(lp5035
S'spares'
p5036
aS'sparing'
p5037
aS'spared'
p5038
aS'spared'
p5039
asS'spark'
p5040
(lp5041
S'sparks'
p5042
aS'sparking'
p5043
aS'sparked'
p5044
aS'sparked'
p5045
asS'undermine'
p5046
(lp5047
S'undermines'
p5048
aS'undermining'
p5049
aS'undermined'
p5050
aS'undermined'
p5051
asS'quack'
p5052
(lp5053
S'quacks'
p5054
aS'quacking'
p5055
aS'quacked'
p5056
aS'quacked'
p5057
asS'oust'
p5058
(lp5059
S'ousts'
p5060
aS'ousting'
p5061
aS'ousted'
p5062
aS'ousted'
p5063
asS'fit'
p5064
(lp5065
S'fits'
p5066
aS'fitting'
p5067
aS'fitted'
p5068
aS'fitted'
p5069
asS'belie'
p5070
(lp5071
S'belies'
p5072
aS'belying'
p5073
aS'belied'
p5074
aS'belied'
p5075
asS'checkrow'
p5076
(lp5077
S'checkrows'
p5078
aS'checkrowing'
p5079
aS'checkrowed'
p5080
aS'checkrowed'
p5081
asS'calumniate'
p5082
(lp5083
S'calumniates'
p5084
aS'calumniating'
p5085
aS'calumniated'
p5086
aS'calumniated'
p5087
asS'allowance'
p5088
(lp5089
S'allowances'
p5090
aS'allowancing'
p5091
aS'allowanced'
p5092
aS'allowanced'
p5093
asS'riddle'
p5094
(lp5095
S'riddles'
p5096
aS'riddling'
p5097
aS'riddled'
p5098
aS'riddled'
p5099
asS'twit'
p5100
(lp5101
S'twits'
p5102
aS'twitting'
p5103
aS'twitted'
p5104
aS'twitted'
p5105
asS'twin'
p5106
(lp5107
S'twins'
p5108
aS'twinning'
p5109
aS'twinned'
p5110
aS'twinned'
p5111
asS'article'
p5112
(lp5113
S'articles'
p5114
aS'articling'
p5115
aS'articled'
p5116
aS'articled'
p5117
asS'ante'
p5118
(lp5119
S'antes'
p5120
aS'anteing'
p5121
aS'anteed'
p5122
aS'anteed'
p5123
asS'false-card'
p5124
(lp5125
S'false-cards'
p5126
aS'false-carding'
p5127
aS'false-carded'
p5128
aS'false-carded'
p5129
asS'twig'
p5130
(lp5131
S'twigs'
p5132
aS'twigging'
p5133
aS'twigged'
p5134
aS'twigged'
p5135
asS'boat'
p5136
(lp5137
S'boats'
p5138
aS'boating'
p5139
aS'boated'
p5140
aS'boated'
p5141
asS'stretch'
p5142
(lp5143
S'stretches'
p5144
aS'stretching'
p5145
aS'stretched'
p5146
aS'stretched'
p5147
asS'vacation'
p5148
(lp5149
S'vacations'
p5150
aS'vacationing'
p5151
aS'vacationed'
p5152
aS'vacationed'
p5153
asS'concede'
p5154
(lp5155
S'concedes'
p5156
aS'conceding'
p5157
aS'conceded'
p5158
aS'conceded'
p5159
asS'cupel'
p5160
(lp5161
S'cupels'
p5162
aS'cupeling'
p5163
aS'cupeled'
p5164
aS'cupeled'
p5165
asS'luff'
p5166
(lp5167
S'luffs'
p5168
aS'luffing'
p5169
aS'luffed'
p5170
aS'luffed'
p5171
asS'enable'
p5172
(lp5173
S'enables'
p5174
aS'enabling'
p5175
aS'enabled'
p5176
aS'enabled'
p5177
asS'disaccredit'
p5178
(lp5179
S'disaccredits'
p5180
aS'disaccrediting'
p5181
aS'disaccredited'
p5182
aS'disaccredited'
p5183
asS'observe'
p5184
(lp5185
S'observes'
p5186
aS'observing'
p5187
aS'observed'
p5188
aS'observed'
p5189
asS'transmogrify'
p5190
(lp5191
S'transmogrifies'
p5192
aS'transmogrifying'
p5193
aS'transmogrified'
p5194
aS'transmogrified'
p5195
asS'stalemate'
p5196
(lp5197
S'stalemates'
p5198
aS'stalemating'
p5199
aS'stalemated'
p5200
aS'stalemated'
p5201
asS'diffuse'
p5202
(lp5203
S'diffuses'
p5204
aS'diffusing'
p5205
aS'diffused'
p5206
aS'diffused'
p5207
asS'profane'
p5208
(lp5209
S'profanes'
p5210
aS'profaning'
p5211
aS'profaned'
p5212
aS'profaned'
p5213
asS'maladminister'
p5214
(lp5215
S'maladministers'
p5216
aS'maladministering'
p5217
aS'maladministered'
p5218
aS'maladministered'
p5219
asS'trepan'
p5220
(lp5221
S'trepans'
p5222
aS'trepanning'
p5223
aS'trepanned'
p5224
aS'trepanned'
p5225
asS'single'
p5226
(lp5227
S'singles'
p5228
aS'singling'
p5229
aS'singled'
p5230
aS'singled'
p5231
asS'hypertrophy'
p5232
(lp5233
S'hypertrophies'
p5234
aS'hypertrophying'
p5235
aS'hypertrophied'
p5236
aS'hypertrophied'
p5237
asS'coextrude'
p5238
(lp5239
S'coextrudes'
p5240
aS'coextruding'
p5241
aS'coextruded'
p5242
aS'coextruded'
p5243
asS'hawse'
p5244
(lp5245
S'hawses'
p5246
aS'hawsing'
p5247
aS'hawsed'
p5248
aS'hawsed'
p5249
asS'chamois'
p5250
(lp5251
S'chamoises'
p5252
aS'chamoising'
p5253
aS'chamoised'
p5254
aS'chamoised'
p5255
asS'girth'
p5256
(lp5257
S'girths'
p5258
aS'girthing'
p5259
aS'girthed'
p5260
aS'girthed'
p5261
asS'discolour'
p5262
(lp5263
S'discolours'
p5264
aS'discolouring'
p5265
aS'discoloured'
p5266
aS'discoloured'
p5267
asS'canoe'
p5268
(lp5269
S'canoes'
p5270
aS'canoeing'
p5271
aS'canoed'
p5272
aS'canoed'
p5273
asS'purse'
p5274
(lp5275
S'purses'
p5276
aS'pursing'
p5277
aS'pursed'
p5278
aS'pursed'
p5279
asS'blat'
p5280
(lp5281
S'blats'
p5282
aS'blatting'
p5283
aS'blatted'
p5284
aS'blatted'
p5285
asS'blah'
p5286
(lp5287
S'blahs'
p5288
aS'blahing'
p5289
aS'blahed'
p5290
aS'blahed'
p5291
asS'cagmag'
p5292
(lp5293
S'cagmags'
p5294
aS'cagmaging'
p5295
aS'cagmaged'
p5296
aS'cagmaged'
p5297
asS'imbricate'
p5298
(lp5299
S'imbricates'
p5300
aS'imbricating'
p5301
aS'imbricated'
p5302
aS'imbricated'
p5303
asS'sweaway'
p5304
(lp5305
S'sweaways'
p5306
aS'sweawaying'
p5307
aS'sweawayed'
p5308
aS'sweawayed'
p5309
asS'blab'
p5310
(lp5311
S'blabs'
p5312
aS'blabbing'
p5313
aS'blabbed'
p5314
aS'blabbed'
p5315
asS'fame'
p5316
(lp5317
S'fames'
p5318
aS'faming'
p5319
aS'famed'
p5320
aS'famed'
p5321
asS'gemmate'
p5322
(lp5323
S'gemmates'
p5324
aS'gemmating'
p5325
aS'gemmated'
p5326
aS'gemmated'
p5327
asS'reanimate'
p5328
(lp5329
S'reanimates'
p5330
aS'reanimating'
p5331
aS'reanimated'
p5332
aS'reanimated'
p5333
asS'excogitate'
p5334
(lp5335
S'excogitates'
p5336
aS'excogitating'
p5337
aS'excogitated'
p5338
aS'excogitated'
p5339
asS'overfeed'
p5340
(lp5341
S'overfeeds'
p5342
aS'overfeeding'
p5343
aS'overfed'
p5344
aS'overfed'
p5345
asS'geminate'
p5346
(lp5347
S'geminates'
p5348
aS'geminating'
p5349
aS'geminated'
p5350
aS'geminated'
p5351
asS'unionize'
p5352
(lp5353
S'unionizes'
p5354
aS'unionizing'
p5355
aS'unionized'
p5356
aS'unionized'
p5357
asS'nuzzle'
p5358
(lp5359
S'nuzzles'
p5360
aS'nuzzling'
p5361
aS'nuzzled'
p5362
aS'nuzzled'
p5363
asS'defy'
p5364
(lp5365
S'defies'
p5366
aS'defying'
p5367
aS'defied'
p5368
aS'defied'
p5369
asS'deflate'
p5370
(lp5371
S'deflates'
p5372
aS'deflating'
p5373
aS'deflated'
p5374
aS'deflated'
p5375
asS'bulletproof'
p5376
(lp5377
S'bulletproofs'
p5378
aS'bulletproofing'
p5379
aS'bulletproofed'
p5380
aS'bulletproofed'
p5381
asS'barber'
p5382
(lp5383
S'barbers'
p5384
aS'barbering'
p5385
aS'barbered'
p5386
aS'barbered'
p5387
asS'disown'
p5388
(lp5389
S'disowns'
p5390
aS'disowning'
p5391
aS'disowned'
p5392
aS'disowned'
p5393
asS'microfilm'
p5394
(lp5395
S'microfilms'
p5396
aS'microfilming'
p5397
aS'microfilmed'
p5398
aS'microfilmed'
p5399
asS'recapture'
p5400
(lp5401
S'recaptures'
p5402
aS'recapturing'
p5403
aS'recaptured'
p5404
aS'recaptured'
p5405
asS'wane'
p5406
(lp5407
S'wanes'
p5408
aS'waning'
p5409
aS'waned'
p5410
aS'waned'
p5411
asS'tuft'
p5412
(lp5413
S'tufts'
p5414
aS'tufting'
p5415
aS'tufted'
p5416
aS'tufted'
p5417
asS'clobber'
p5418
(lp5419
S'clobbers'
p5420
aS'clobbering'
p5421
aS'clobbered'
p5422
aS'clobbered'
p5423
asS'dimension'
p5424
(lp5425
S'dimensions'
p5426
aS'dimensioning'
p5427
aS'dimensioned'
p5428
aS'dimensioned'
p5429
asS'summer'
p5430
(lp5431
S'summers'
p5432
aS'summering'
p5433
aS'summered'
p5434
aS'summered'
p5435
asS'manifold'
p5436
(lp5437
S'manifolds'
p5438
aS'manifolding'
p5439
aS'manifolded'
p5440
aS'manifolded'
p5441
asS'poach'
p5442
(lp5443
S'poaches'
p5444
aS'poaching'
p5445
aS'poached'
p5446
aS'poached'
p5447
asS'sceptre'
p5448
(lp5449
S'sceptres'
p5450
aS'sceptring'
p5451
aS'sceptred'
p5452
aS'sceptred'
p5453
asS'disconcert'
p5454
(lp5455
S'disconcerts'
p5456
aS'disconcerting'
p5457
aS'disconcerted'
p5458
aS'disconcerted'
p5459
asS'slime'
p5460
(lp5461
S'slimes'
p5462
aS'sliming'
p5463
aS'slimed'
p5464
aS'slimed'
p5465
asS'rest'
p5466
(lp5467
S'rests'
p5468
aS'resting'
p5469
aS'rested'
p5470
aS'rested'
p5471
asS'amalgamate'
p5472
(lp5473
S'amalgamates'
p5474
aS'amalgamating'
p5475
aS'amalgamated'
p5476
aS'amalgamated'
p5477
asS'apostatize'
p5478
(lp5479
S'apostatizes'
p5480
aS'apostatizing'
p5481
aS'apostatized'
p5482
aS'apostatized'
p5483
asS'disperse'
p5484
(lp5485
S'disperses'
p5486
aS'dispersing'
p5487
aS'dispersed'
p5488
aS'dispersed'
p5489
asS'vamp'
p5490
(lp5491
S'vamps'
p5492
aS'vamping'
p5493
aS'vamped'
p5494
aS'vamped'
p5495
asS'jitter'
p5496
(lp5497
S'jitters'
p5498
aS'jittering'
p5499
aS'jittered'
p5500
aS'jittered'
p5501
asS'parlay'
p5502
(lp5503
S'parlays'
p5504
aS'parlaying'
p5505
aS'parlayed'
p5506
aS'parlayed'
p5507
asS'underline'
p5508
(lp5509
S'underlines'
p5510
aS'underlining'
p5511
aS'underlined'
p5512
aS'underlined'
p5513
asS'poetize'
p5514
(lp5515
S'poetizes'
p5516
aS'poetizing'
p5517
aS'poetized'
p5518
aS'poetized'
p5519
asS'uncap'
p5520
(lp5521
S'uncaps'
p5522
aS'uncapping'
p5523
aS'uncapped'
p5524
aS'uncapped'
p5525
asS'forebode'
p5526
(lp5527
S'forebodes'
p5528
aS'foreboding'
p5529
aS'foreboded'
p5530
aS'foreboded'
p5531
asS'overthrow'
p5532
(lp5533
S'overthrows'
p5534
aS'overthrowing'
p5535
aS'overthrew'
p5536
aS'overthrown'
p5537
asS'overcompensate'
p5538
(lp5539
S'overcompensates'
p5540
aS'overcompensating'
p5541
aS'overcompensated'
p5542
aS'overcompensated'
p5543
asS'cerebrate'
p5544
(lp5545
S'cerebrates'
p5546
aS'cerebrating'
p5547
aS'cerebrated'
p5548
aS'cerebrated'
p5549
asS'rejoin'
p5550
(lp5551
S'rejoins'
p5552
aS'rejoining'
p5553
ag3517
aS'rejoined'
p5554
asS'dart'
p5555
(lp5556
S'darts'
p5557
aS'darting'
p5558
aS'darted'
p5559
aS'darted'
p5560
asS'dark'
p5561
(lp5562
S'darks'
p5563
aS'darking'
p5564
aS'darked'
p5565
aS'darked'
p5566
asS'swirl'
p5567
(lp5568
S'swirls'
p5569
aS'swirling'
p5570
aS'swirled'
p5571
aS'swirled'
p5572
asS'snarl'
p5573
(lp5574
S'snarls'
p5575
aS'snarling'
p5576
aS'snarled'
p5577
aS'snarled'
p5578
asS'traffic'
p5579
(lp5580
S'traffics'
p5581
aS'trafficking'
p5582
aS'trafficked'
p5583
aS'trafficked'
p5584
asS'bandage'
p5585
(lp5586
S'bandages'
p5587
aS'bandaging'
p5588
aS'bandaged'
p5589
aS'bandaged'
p5590
asS'vacuum'
p5591
(lp5592
S'vacuums'
p5593
aS'vacuuming'
p5594
aS'vacuumed'
p5595
aS'vacuumed'
p5596
asS'snare'
p5597
(lp5598
S'snares'
p5599
aS'snaring'
p5600
aS'snared'
p5601
aS'snared'
p5602
asS'dare'
p5603
(lp5604
S'dares'
p5605
aS'daring'
p5606
aS'dared'
p5607
aS'dared'
p5608
aS"daren't"
p5609
asS'clam'
p5610
(lp5611
S'clams'
p5612
aS'clamming'
p5613
aS'clammed'
p5614
aS'clammed'
p5615
asS'expunge'
p5616
(lp5617
S'expunges'
p5618
aS'expunging'
p5619
aS'expunged'
p5620
aS'expunged'
p5621
asS'clad'
p5622
(lp5623
S'clads'
p5624
aS'cladding'
p5625
aS'clad'
p5626
aS'clad'
p5627
asS'shutter'
p5628
(lp5629
S'shutters'
p5630
aS'shuttering'
p5631
aS'shuttered'
p5632
aS'shuttered'
p5633
asS'gimme'
p5634
(lp5635
S'gimmes'
p5636
aS'gimming'
p5637
aS'gimmed'
p5638
aS'gimmed'
p5639
asS'immolate'
p5640
(lp5641
S'immolates'
p5642
aS'immolating'
p5643
aS'immolated'
p5644
aS'immolated'
p5645
asS'clay'
p5646
(lp5647
S'clays'
p5648
aS'claying'
p5649
aS'clayed'
p5650
aS'clayed'
p5651
asS'claw'
p5652
(lp5653
S'claws'
p5654
aS'clawing'
p5655
aS'clawed'
p5656
aS'clawed'
p5657
asS'inter'
p5658
(lp5659
S'inters'
p5660
aS'interring'
p5661
aS'interred'
p5662
aS'interred'
p5663
asS'kennel'
p5664
(lp5665
S'kennels'
p5666
aS'kennelling'
p5667
aS'kennelled'
p5668
aS'kennelled'
p5669
asS'clap'
p5670
(lp5671
S'claps'
p5672
aS'clapping'
p5673
aS'clapped'
p5674
aS'clapped'
p5675
asS'obstruct'
p5676
(lp5677
S'obstructs'
p5678
aS'obstructing'
p5679
aS'obstructed'
p5680
aS'obstructed'
p5681
asS'sulphuret'
p5682
(lp5683
S'sulphurets'
p5684
aS'sulphuretting'
p5685
aS'sulphuretted'
p5686
aS'sulphuretted'
p5687
asS'grub'
p5688
(lp5689
S'grubs'
p5690
aS'grubbing'
p5691
aS'grubbed'
p5692
aS'grubbed'
p5693
asS'gaggle'
p5694
(lp5695
S'gaggles'
p5696
aS'gaggling'
p5697
aS'gaggled'
p5698
aS'gaggled'
p5699
asS'wattle'
p5700
(lp5701
S'wattles'
p5702
aS'wattling'
p5703
aS'wattled'
p5704
aS'wattled'
p5705
asS'winch'
p5706
(lp5707
S'winches'
p5708
aS'winching'
p5709
aS'winched'
p5710
aS'winched'
p5711
asS'asperse'
p5712
(lp5713
S'asperses'
p5714
aS'aspersing'
p5715
aS'aspersed'
p5716
aS'aspersed'
p5717
asS'vivisect'
p5718
(lp5719
S'vivisects'
p5720
aS'vivisecting'
p5721
aS'vivisected'
p5722
aS'vivisected'
p5723
asS'shadowbox'
p5724
(lp5725
S'shadowboxes'
p5726
aS'shadowboxing'
p5727
aS'shadowboxed'
p5728
aS'shadowboxed'
p5729
asS'surtax'
p5730
(lp5731
S'surtaxes'
p5732
aS'surtaxing'
p5733
aS'surtaxed'
p5734
aS'surtaxed'
p5735
asS'divine'
p5736
(lp5737
S'divines'
p5738
aS'divining'
p5739
aS'divined'
p5740
aS'divined'
p5741
asS'about-ship'
p5742
(lp5743
S'about-ships'
p5744
aS'about-shipping'
p5745
aS'about-shipped'
p5746
aS'about-shipped'
p5747
asS'authenticate'
p5748
(lp5749
S'authenticates'
p5750
aS'authenticating'
p5751
aS'authenticated'
p5752
aS'authenticated'
p5753
asS'tote'
p5754
(lp5755
S'totes'
p5756
aS'toting'
p5757
aS'toted'
p5758
aS'toted'
p5759
asS'stanchion'
p5760
(lp5761
S'stanchions'
p5762
aS'stanchioning'
p5763
aS'stanchioned'
p5764
aS'stanchioned'
p5765
asS'tube'
p5766
(lp5767
S'tubes'
p5768
aS'tubing'
p5769
aS'tubed'
p5770
aS'tubed'
p5771
asS'exit'
p5772
(lp5773
S'exits'
p5774
aS'exiting'
p5775
aS'exited'
p5776
aS'exited'
p5777
asS'crenellate'
p5778
(lp5779
S'crenellates'
p5780
aS'crenellating'
p5781
aS'crenellated'
p5782
aS'crenellated'
p5783
asS'situate'
p5784
(lp5785
S'situates'
p5786
aS'situating'
p5787
aS'situated'
p5788
aS'situated'
p5789
asS'outfoot'
p5790
(lp5791
S'outfoots'
p5792
aS'outfooting'
p5793
aS'outfooted'
p5794
aS'outfooted'
p5795
asS'squabble'
p5796
(lp5797
S'squabbles'
p5798
aS'squabbling'
p5799
aS'squabbled'
p5800
aS'squabbled'
p5801
asS'power'
p5802
(lp5803
S'powers'
p5804
aS'powering'
p5805
aS'powered'
p5806
aS'powered'
p5807
asS'intimate'
p5808
(lp5809
S'intimates'
p5810
aS'intimating'
p5811
aS'intimated'
p5812
aS'intimated'
p5813
asS'ration'
p5814
(lp5815
S'rations'
p5816
aS'rationing'
p5817
aS'rationed'
p5818
aS'rationed'
p5819
asS'poise'
p5820
(lp5821
S'poises'
p5822
aS'poising'
p5823
aS'poised'
p5824
aS'poised'
p5825
asS'throwback'
p5826
(lp5827
S'throwbacks'
p5828
aS'throwbacking'
p5829
aS'throwbacked'
p5830
aS'throwbacked'
p5831
asS'stone'
p5832
(lp5833
S'stones'
p5834
aS'stoning'
p5835
aS'stoned'
p5836
aS'stoned'
p5837
asS'package'
p5838
(lp5839
S'packages'
p5840
aS'packaging'
p5841
aS'packaged'
p5842
aS'packaged'
p5843
asS'mediate'
p5844
(lp5845
S'mediates'
p5846
aS'mediating'
p5847
aS'mediated'
p5848
aS'mediated'
p5849
asS'fishtail'
p5850
(lp5851
S'fishtails'
p5852
aS'fishtailing'
p5853
aS'fishtailed'
p5854
aS'fishtailed'
p5855
asS'municipalize'
p5856
(lp5857
S'municipalizes'
p5858
aS'municipalizing'
p5859
aS'municipalized'
p5860
aS'municipalized'
p5861
asS'act'
p5862
(lp5863
S'acts'
p5864
aS'acting'
p5865
aS'acted'
p5866
aS'acted'
p5867
asS'mean'
p5868
(lp5869
S'means'
p5870
aS'meaning'
p5871
aS'meant'
p5872
aS'meant'
p5873
asS'individualize'
p5874
(lp5875
S'individualizes'
p5876
aS'individualizing'
p5877
aS'individualized'
p5878
aS'individualized'
p5879
asS'rebuild'
p5880
(lp5881
S'rebuilds'
p5882
aS'rebuilding'
p5883
aS'rebuilt'
p5884
aS'rebuilt'
p5885
asS'impregnate'
p5886
(lp5887
S'impregnates'
p5888
aS'impregnating'
p5889
aS'impregnated'
p5890
aS'impregnated'
p5891
asS'yabber'
p5892
(lp5893
S'yabbers'
p5894
aS'yabbering'
p5895
aS'yabbered'
p5896
aS'yabbered'
p5897
asS'potentiate'
p5898
(lp5899
S'potentiates'
p5900
aS'potentiating'
p5901
aS'potentiated'
p5902
aS'potentiated'
p5903
asS'image'
p5904
(lp5905
S'images'
p5906
aS'imaging'
p5907
aS'imaged'
p5908
aS'imaged'
p5909
asS'acuminate'
p5910
(lp5911
S'acuminates'
p5912
aS'acuminating'
p5913
aS'acuminated'
p5914
aS'acuminated'
p5915
asS'inculcate'
p5916
(lp5917
S'inculcates'
p5918
aS'inculcating'
p5919
aS'inculcated'
p5920
aS'inculcated'
p5921
asS'bodycheck'
p5922
(lp5923
S'bodychecks'
p5924
aS'bodychecking'
p5925
aS'bodychecked'
p5926
aS'bodychecked'
p5927
asS'carbonado'
p5928
(lp5929
S'carbonados'
p5930
aS'carbonadoing'
p5931
aS'carbonadoed'
p5932
aS'carbonadoed'
p5933
asS'apologize'
p5934
(lp5935
S'apologizes'
p5936
aS'apologizing'
p5937
aS'apologized'
p5938
aS'apologized'
p5939
asS'pivot'
p5940
(lp5941
S'pivots'
p5942
aS'pivoting'
p5943
aS'pivoted'
p5944
aS'pivoted'
p5945
asS'racquet'
p5946
(lp5947
S'racquets'
p5948
aS'racqueting'
p5949
aS'racqueted'
p5950
aS'racqueted'
p5951
asS'overtrade'
p5952
(lp5953
S'overtrades'
p5954
aS'overtrading'
p5955
aS'overtraded'
p5956
aS'overtraded'
p5957
asS'hew'
p5958
(lp5959
S'hews'
p5960
aS'hewing'
p5961
aS'hewed'
p5962
aS'hewn'
p5963
asS'gleam'
p5964
(lp5965
S'gleams'
p5966
aS'gleaming'
p5967
aS'gleamed'
p5968
aS'gleamed'
p5969
asS'glean'
p5970
(lp5971
S'gleans'
p5972
aS'gleaning'
p5973
aS'gleaned'
p5974
aS'gleaned'
p5975
asS'hex'
p5976
(lp5977
S'hexes'
p5978
aS'hexing'
p5979
aS'hexed'
p5980
aS'hexed'
p5981
asS'sken'
p5982
(lp5983
S'skens'
p5984
aS'skenning'
p5985
aS'skenned'
p5986
aS'skenned'
p5987
asS'mollify'
p5988
(lp5989
S'mollifies'
p5990
aS'mollifying'
p5991
aS'mollified'
p5992
aS'mollified'
p5993
asS'bubble'
p5994
(lp5995
S'bubbles'
p5996
aS'bubbling'
p5997
aS'bubbled'
p5998
aS'bubbled'
p5999
asS'complete'
p6000
(lp6001
S'completes'
p6002
aS'completing'
p6003
aS'completed'
p6004
aS'completed'
p6005
asS'outcrop'
p6006
(lp6007
S'outcrops'
p6008
aS'outcropping'
p6009
aS'outcropped'
p6010
aS'outcropped'
p6011
asS'defrost'
p6012
(lp6013
S'defrosts'
p6014
aS'defrosting'
p6015
aS'defrosted'
p6016
aS'defrosted'
p6017
asS'kotow'
p6018
(lp6019
S'kotows'
p6020
aS'kotowing'
p6021
aS'kotowed'
p6022
aS'kotowed'
p6023
asS'pasteurize'
p6024
(lp6025
S'pasteurizes'
p6026
aS'pasteurizing'
p6027
aS'pasteurized'
p6028
aS'pasteurized'
p6029
asS'whinny'
p6030
(lp6031
S'whinnies'
p6032
aS'whinnying'
p6033
aS'whinnied'
p6034
aS'whinnied'
p6035
asS'amplify'
p6036
(lp6037
S'amplifies'
p6038
aS'amplifying'
p6039
aS'amplified'
p6040
aS'amplified'
p6041
asS'pull'
p6042
(lp6043
S'pulls'
p6044
aS'pulling'
p6045
aS'pulled'
p6046
aS'pulled'
p6047
asS'rush'
p6048
(lp6049
S'rushes'
p6050
aS'rushing'
p6051
aS'rushed'
p6052
aS'rushed'
p6053
asS'mislay'
p6054
(lp6055
S'mislays'
p6056
aS'mislaying'
p6057
aS'mislaid'
p6058
aS'mislaid'
p6059
asS'rage'
p6060
(lp6061
S'rages'
p6062
aS'raging'
p6063
aS'raged'
p6064
aS'raged'
p6065
asS'pule'
p6066
(lp6067
S'pules'
p6068
aS'puling'
p6069
aS'puled'
p6070
aS'puled'
p6071
asS'attenuate'
p6072
(lp6073
S'attenuates'
p6074
aS'attenuating'
p6075
aS'attenuated'
p6076
aS'attenuated'
p6077
asS'flirt'
p6078
(lp6079
S'flirts'
p6080
aS'flirting'
p6081
aS'flirted'
p6082
aS'flirted'
p6083
asS'impute'
p6084
(lp6085
S'imputes'
p6086
aS'imputing'
p6087
aS'imputed'
p6088
aS'imputed'
p6089
asS'dirty'
p6090
(lp6091
S'dirties'
p6092
aS'dirtying'
p6093
aS'dirtied'
p6094
aS'dirtied'
p6095
asS'reprimand'
p6096
(lp6097
S'reprimands'
p6098
aS'reprimanding'
p6099
aS'reprimanded'
p6100
aS'reprimanded'
p6101
asS'suppurate'
p6102
(lp6103
S'suppurates'
p6104
aS'suppurating'
p6105
aS'suppurated'
p6106
aS'suppurated'
p6107
asS'agree'
p6108
(lp6109
S'agrees'
p6110
aS'agreeing'
p6111
aS'agreed'
p6112
aS'agreed'
p6113
asS'rust'
p6114
(lp6115
S'rusts'
p6116
aS'rusting'
p6117
aS'rusted'
p6118
aS'rusted'
p6119
asS'naturalize'
p6120
(lp6121
S'naturalizes'
p6122
aS'naturalizing'
p6123
aS'naturalized'
p6124
aS'naturalized'
p6125
asS'migrate'
p6126
(lp6127
S'migrates'
p6128
aS'migrating'
p6129
aS'migrated'
p6130
aS'migrated'
p6131
asS'impugn'
p6132
(lp6133
S'impugns'
p6134
aS'impugning'
p6135
aS'impugned'
p6136
aS'impugned'
p6137
asS'creak'
p6138
(lp6139
S'creaks'
p6140
aS'creaking'
p6141
aS'creaked'
p6142
aS'creaked'
p6143
asS'jargon'
p6144
(lp6145
S'jargons'
p6146
aS'jargoning'
p6147
aS'jargoned'
p6148
aS'jargoned'
p6149
asS'reddle'
p6150
(lp6151
S'reddles'
p6152
aS'reddling'
p6153
aS'reddled'
p6154
aS'reddled'
p6155
asS'dawn'
p6156
(lp6157
S'dawns'
p6158
aS'dawning'
p6159
aS'dawned'
p6160
aS'dawned'
p6161
asS'enplane'
p6162
(lp6163
S'enplanes'
p6164
aS'enplaning'
p6165
aS'enplaned'
p6166
aS'enplaned'
p6167
asS'cream'
p6168
(lp6169
S'creams'
p6170
aS'creaming'
p6171
aS'creamed'
p6172
aS'creamed'
p6173
asS'exasperate'
p6174
(lp6175
S'exasperates'
p6176
aS'exasperating'
p6177
aS'exasperated'
p6178
aS'exasperated'
p6179
asS'rumple'
p6180
(lp6181
S'rumples'
p6182
aS'rumpling'
p6183
aS'rumpled'
p6184
aS'rumpled'
p6185
asS'stillhunt'
p6186
(lp6187
S'stillhunts'
p6188
aS'stillhunting'
p6189
aS'stillhunted'
p6190
aS'stillhunted'
p6191
asS'substantivize'
p6192
(lp6193
S'substantivizes'
p6194
aS'substantivizing'
p6195
aS'substantivized'
p6196
aS'substantivized'
p6197
asS'abolish'
p6198
(lp6199
S'abolishes'
p6200
aS'abolishing'
p6201
aS'abolished'
p6202
aS'abolished'
p6203
asS'whip'
p6204
(lp6205
S'whips'
p6206
aS'whipping'
p6207
aS'whipped'
p6208
aS'whipped'
p6209
asS'leister'
p6210
(lp6211
S'leisters'
p6212
aS'leistering'
p6213
aS'leistered'
p6214
aS'leistered'
p6215
asS'indemnify'
p6216
(lp6217
S'indemnifies'
p6218
aS'indemnifying'
p6219
aS'indemnified'
p6220
aS'indemnified'
p6221
asS'annex'
p6222
(lp6223
S'annexes'
p6224
aS'annexing'
p6225
aS'annexed'
p6226
aS'annexed'
p6227
asS'objurgate'
p6228
(lp6229
S'objurgates'
p6230
aS'objurgating'
p6231
aS'objurgated'
p6232
aS'objurgated'
p6233
asS'slant'
p6234
(lp6235
S'slants'
p6236
aS'slanting'
p6237
aS'slanted'
p6238
aS'slanted'
p6239
asS'ankylose'
p6240
(lp6241
S'ankyloses'
p6242
aS'ankylosing'
p6243
aS'ankylosed'
p6244
aS'ankylosed'
p6245
asS'snitch'
p6246
(lp6247
S'snitches'
p6248
aS'snitching'
p6249
aS'snitched'
p6250
aS'snitched'
p6251
asS'resell'
p6252
(lp6253
S'resells'
p6254
aS'reselling'
p6255
aS'resold'
p6256
aS'resold'
p6257
asS'slang'
p6258
(lp6259
S'slangs'
p6260
aS'slanging'
p6261
aS'slanged'
p6262
aS'slanged'
p6263
asS'ploat'
p6264
(lp6265
S'ploats'
p6266
aS'ploating'
p6267
aS'ploated'
p6268
aS'ploated'
p6269
asS'neuter'
p6270
(lp6271
S'neuters'
p6272
aS'neutering'
p6273
aS'neutered'
p6274
aS'neutered'
p6275
asS'groom'
p6276
(lp6277
S'grooms'
p6278
aS'grooming'
p6279
aS'groomed'
p6280
aS'groomed'
p6281
asS'mask'
p6282
(lp6283
S'masks'
p6284
aS'masking'
p6285
aS'masked'
p6286
aS'masked'
p6287
asS'mash'
p6288
(lp6289
S'mashes'
p6290
aS'mashing'
p6291
aS'mashed'
p6292
aS'mashed'
p6293
asS'mimic'
p6294
(lp6295
S'mimics'
p6296
aS'mimicking'
p6297
aS'mimicked'
p6298
aS'mimicked'
p6299
asS'mast'
p6300
(lp6301
S'masts'
p6302
aS'masting'
p6303
aS'masted'
p6304
aS'masted'
p6305
asS'mass'
p6306
(lp6307
S'masses'
p6308
aS'massing'
p6309
aS'massed'
p6310
aS'massed'
p6311
asS'quantify'
p6312
(lp6313
S'quantifies'
p6314
aS'quantifying'
p6315
aS'quantified'
p6316
aS'quantified'
p6317
asS'repone'
p6318
(lp6319
S'repones'
p6320
aS'reponing'
p6321
aS'reponed'
p6322
aS'reponed'
p6323
asS'retch'
p6324
(lp6325
S'retches'
p6326
aS'retching'
p6327
aS'retched'
p6328
aS'retched'
p6329
asS'metastasize'
p6330
(lp6331
S'metastasizes'
p6332
aS'metastasizing'
p6333
aS'metastasized'
p6334
aS'metastasized'
p6335
asS'consider'
p6336
(lp6337
S'considers'
p6338
aS'considering'
p6339
aS'considered'
p6340
aS'considered'
p6341
asS'degas'
p6342
(lp6343
S'degasses'
p6344
aS'degassing'
p6345
aS'degassed'
p6346
aS'degassed'
p6347
asS'beware'
p6348
(lp6349
S'bewares'
p6350
aS'bewaring'
p6351
aS'bewared'
p6352
aS'bewared'
p6353
asS'neigh'
p6354
(lp6355
S'neighs'
p6356
aS'neighing'
p6357
aS'neighed'
p6358
aS'neighed'
p6359
asS'importune'
p6360
(lp6361
S'importunes'
p6362
aS'importuning'
p6363
aS'importuned'
p6364
aS'importuned'
p6365
asS'detruncate'
p6366
(lp6367
S'detruncates'
p6368
aS'detruncating'
p6369
aS'detruncated'
p6370
aS'detruncated'
p6371
asS'territorialize'
p6372
(lp6373
S'territorializes'
p6374
aS'territorializing'
p6375
aS'territorialized'
p6376
aS'territorialized'
p6377
asS'misfile'
p6378
(lp6379
S'misfiles'
p6380
aS'misfiling'
p6381
aS'misfiled'
p6382
aS'misfiled'
p6383
asS'tinsel'
p6384
(lp6385
S'tinsels'
p6386
aS'tinselling'
p6387
aS'tinselled'
p6388
aS'tinselled'
p6389
asS'Hellenize'
p6390
(lp6391
S'Hellenizes'
p6392
aS'Hellenizing'
p6393
aS'Hellenized'
p6394
aS'Hellenized'
p6395
asS'overexpose'
p6396
(lp6397
S'overexposes'
p6398
aS'overexposing'
p6399
aS'overexposed'
p6400
aS'overexposed'
p6401
asS'fine-draw'
p6402
(lp6403
S'fine-draws'
p6404
aS'fine-drawing'
p6405
aS'fine-drew'
p6406
aS'fine-drawn'
p6407
asS'smile'
p6408
(lp6409
S'smiles'
p6410
aS'smiling'
p6411
aS'smiled'
p6412
aS'smiled'
p6413
asS'tatter'
p6414
(lp6415
S'tatters'
p6416
aS'tattering'
p6417
aS'tattered'
p6418
aS'tattered'
p6419
asS'bechance'
p6420
(lp6421
S'bechances'
p6422
aS'bechancing'
p6423
aS'bechanced'
p6424
aS'bechanced'
p6425
asS'blockade'
p6426
(lp6427
S'blockades'
p6428
aS'blockading'
p6429
aS'blockaded'
p6430
aS'blockaded'
p6431
asS'amerce'
p6432
(lp6433
S'amerces'
p6434
aS'amercing'
p6435
aS'amerced'
p6436
aS'amerced'
p6437
asS'condition'
p6438
(lp6439
S'conditions'
p6440
aS'conditioning'
p6441
aS'conditioned'
p6442
aS'conditioned'
p6443
asS'renegue'
p6444
(lp6445
S'renegues'
p6446
aS'reneguing'
p6447
aS'renegued'
p6448
aS'renegued'
p6449
asS'cable'
p6450
(lp6451
S'cables'
p6452
aS'cabling'
p6453
aS'cabled'
p6454
aS'cabled'
p6455
asS'recommit'
p6456
(lp6457
S'recommits'
p6458
aS'recommitting'
p6459
aS'recommitted'
p6460
aS'recommitted'
p6461
asS'heist'
p6462
(lp6463
S'heists'
p6464
aS'heisting'
p6465
aS'heisted'
p6466
aS'heisted'
p6467
asS'laud'
p6468
(lp6469
S'lauds'
p6470
aS'lauding'
p6471
aS'lauded'
p6472
aS'lauded'
p6473
asS'sand'
p6474
(lp6475
S'sands'
p6476
aS'sanding'
p6477
aS'sanded'
p6478
aS'sanded'
p6479
asS'adjust'
p6480
(lp6481
S'adjusts'
p6482
aS'adjusting'
p6483
aS'adjusted'
p6484
aS'adjusted'
p6485
asS'miaul'
p6486
(lp6487
S'miauls'
p6488
aS'miauling'
p6489
aS'miauled'
p6490
aS'miauled'
p6491
asS'exsiccate'
p6492
(lp6493
S'exsiccates'
p6494
aS'exsiccating'
p6495
aS'exsiccated'
p6496
aS'exsiccated'
p6497
asS'harry'
p6498
(lp6499
S'harries'
p6500
aS'harrying'
p6501
aS'harried'
p6502
aS'harried'
p6503
asS'conceptualize'
p6504
(lp6505
S'conceptualizes'
p6506
aS'conceptualizing'
p6507
aS'conceptualized'
p6508
aS'conceptualized'
p6509
asS'enclasp'
p6510
(lp6511
S'enclasps'
p6512
aS'enclasping'
p6513
aS'enclasped'
p6514
aS'enclasped'
p6515
asS'overpersuade'
p6516
(lp6517
S'overpersuades'
p6518
aS'overpersuading'
p6519
aS'overpersuaded'
p6520
aS'overpersuaded'
p6521
asS'overspill'
p6522
(lp6523
S'overspills'
p6524
aS'overspilling'
p6525
aS'overspilt'
p6526
aS'overspilt'
p6527
asS'decern'
p6528
(lp6529
S'decerns'
p6530
aS'decerning'
p6531
aS'decerned'
p6532
aS'decerned'
p6533
asS'pash'
p6534
(lp6535
S'pashes'
p6536
aS'pashing'
p6537
aS'pashed'
p6538
aS'pashed'
p6539
asS'sync'
p6540
(lp6541
S'syncs'
p6542
aS'syncing'
p6543
aS'synced'
p6544
aS'synced'
p6545
asS'tongue-lash'
p6546
(lp6547
S'tongue-lashes'
p6548
aS'tongue-lashing'
p6549
aS'tongue-lashed'
p6550
aS'tongue-lashed'
p6551
asS'past'
p6552
(lp6553
S'pasts'
p6554
aS'pasting'
p6555
aS'pasted'
p6556
aS'pasted'
p6557
asS'burnish'
p6558
(lp6559
S'burnishes'
p6560
aS'burnishing'
p6561
aS'burnished'
p6562
aS'burnished'
p6563
asS'pass'
p6564
(lp6565
S'passes'
p6566
aS'passing'
p6567
aS'passed'
p6568
aS'passed'
p6569
asS'canvass'
p6570
(lp6571
S'canvasses'
p6572
aS'canvassing'
p6573
aS'canvassed'
p6574
aS'canvassed'
p6575
asS'recalculate'
p6576
(lp6577
S'recalculates'
p6578
aS'recalculating'
p6579
aS'recalculated'
p6580
aS'recalculated'
p6581
asS'quicken'
p6582
(lp6583
S'quickens'
p6584
aS'quickening'
p6585
aS'quickened'
p6586
aS'quickened'
p6587
asS'scupper'
p6588
(lp6589
S'scuppers'
p6590
aS'scuppering'
p6591
aS'scuppered'
p6592
aS'scuppered'
p6593
asS'clock'
p6594
(lp6595
S'clocks'
p6596
aS'clocking'
p6597
aS'clocked'
p6598
aS'clocked'
p6599
asS'declass'
p6600
(lp6601
S'declasses'
p6602
aS'declassing'
p6603
aS'declassed'
p6604
aS'declassed'
p6605
asS'forestall'
p6606
(lp6607
S'forestalls'
p6608
aS'forestalling'
p6609
aS'forestalled'
p6610
aS'forestalled'
p6611
asS'section'
p6612
(lp6613
S'sections'
p6614
aS'sectioning'
p6615
aS'sectioned'
p6616
aS'sectioned'
p6617
asS'whiff'
p6618
(lp6619
S'whiffs'
p6620
aS'whiffing'
p6621
aS'whiffed'
p6622
aS'whiffed'
p6623
asS'hydrolyze'
p6624
(lp6625
S'hydrolyzes'
p6626
aS'hydrolyzing'
p6627
aS'hydrolyzed'
p6628
aS'hydrolyzed'
p6629
asS'nurse'
p6630
(lp6631
S'nurses'
p6632
aS'nursing'
p6633
aS'nursed'
p6634
aS'nursed'
p6635
asS'perforate'
p6636
(lp6637
S'perforates'
p6638
aS'perforating'
p6639
aS'perforated'
p6640
aS'perforated'
p6641
asS'contrast'
p6642
(lp6643
S'contrasts'
p6644
aS'contrasting'
p6645
aS'contrasted'
p6646
aS'contrasted'
p6647
asS'hash'
p6648
(lp6649
S'hashes'
p6650
aS'hashing'
p6651
aS'hashed'
p6652
aS'hashed'
p6653
asS'empower'
p6654
(lp6655
S'empowers'
p6656
aS'empowering'
p6657
aS'empowered'
p6658
aS'empowered'
p6659
asS'compose'
p6660
(lp6661
S'composes'
p6662
aS'composing'
p6663
aS'composed'
p6664
aS'composed'
p6665
asS'hasp'
p6666
(lp6667
S'hasps'
p6668
aS'hasping'
p6669
aS'hasped'
p6670
aS'hasped'
p6671
asS'overawe'
p6672
(lp6673
S'overawes'
p6674
aS'overawing'
p6675
aS'overawed'
p6676
aS'overawed'
p6677
asS'razz'
p6678
(lp6679
S'razzes'
p6680
aS'razzing'
p6681
aS'razzed'
p6682
aS'razzed'
p6683
asS'schuss'
p6684
(lp6685
S'schusses'
p6686
aS'schussing'
p6687
aS'schussed'
p6688
aS'schussed'
p6689
asS'experience'
p6690
(lp6691
S'experiences'
p6692
aS'experiencing'
p6693
aS'experienced'
p6694
aS'experienced'
p6695
asS'photoengrave'
p6696
(lp6697
S'photoengraves'
p6698
aS'photoengraving'
p6699
aS'photoengraved'
p6700
aS'photoengraved'
p6701
asS'skyrocket'
p6702
(lp6703
S'skyrockets'
p6704
aS'skyrocketing'
p6705
aS'skyrocketed'
p6706
aS'skyrocketed'
p6707
asS'pick'
p6708
(lp6709
S'picks'
p6710
aS'picking'
p6711
aS'picked'
p6712
aS'picked'
p6713
asS'luck'
p6714
(lp6715
S'lucks'
p6716
aS'lucking'
p6717
aS'lucked'
p6718
aS'lucked'
p6719
asS'raze'
p6720
(lp6721
S'razes'
p6722
aS'razing'
p6723
aS'razed'
p6724
aS'razed'
p6725
asS'smuggle'
p6726
(lp6727
S'smuggles'
p6728
aS'smuggling'
p6729
aS'smuggled'
p6730
aS'smuggled'
p6731
asS're-present'
p6732
(lp6733
S're-presents'
p6734
aS're-presenting'
p6735
aS'represented'
p6736
aS're-presented'
p6737
asS'discommend'
p6738
(lp6739
S'discommends'
p6740
aS'discommending'
p6741
aS'discommended'
p6742
aS'discommended'
p6743
asS'depart'
p6744
(lp6745
S'departs'
p6746
aS'departing'
p6747
aS'departed'
p6748
aS'departed'
p6749
asS'vie'
p6750
(lp6751
S'vies'
p6752
aS'vying'
p6753
aS'vied'
p6754
aS'vied'
p6755
asS'uprise'
p6756
(lp6757
S'uprises'
p6758
aS'uprising'
p6759
aS'uprose'
p6760
aS'uprisen'
p6761
asS'regiment'
p6762
(lp6763
S'regiments'
p6764
aS'regimenting'
p6765
aS'regimented'
p6766
aS'regimented'
p6767
asS'estimate'
p6768
(lp6769
S'estimates'
p6770
aS'estimating'
p6771
aS'estimated'
p6772
aS'estimated'
p6773
asS'select'
p6774
(lp6775
S'selects'
p6776
aS'selecting'
p6777
aS'selected'
p6778
aS'selected'
p6779
asS'subculture'
p6780
(lp6781
S'subcultures'
p6782
aS'subculturing'
p6783
aS'subcultured'
p6784
aS'subcultured'
p6785
asS'palliate'
p6786
(lp6787
S'palliates'
p6788
aS'palliating'
p6789
aS'palliated'
p6790
aS'palliated'
p6791
asS'decribe'
p6792
(lp6793
S'decribes'
p6794
aS'decribing'
p6795
aS'decribed'
p6796
aS'decribed'
p6797
asS'enliven'
p6798
(lp6799
S'enlivens'
p6800
aS'enlivening'
p6801
aS'enlivened'
p6802
aS'enlivened'
p6803
asS'indispose'
p6804
(lp6805
S'indisposes'
p6806
aS'indisposing'
p6807
aS'indisposed'
p6808
aS'indisposed'
p6809
asS'maltreat'
p6810
(lp6811
S'maltreats'
p6812
aS'maltreating'
p6813
aS'maltreated'
p6814
aS'maltreated'
p6815
asS'pearl'
p6816
(lp6817
S'pearls'
p6818
aS'pearling'
p6819
aS'pearled'
p6820
aS'pearled'
p6821
asS'automate'
p6822
(lp6823
S'automates'
p6824
aS'automating'
p6825
aS'automated'
p6826
aS'automated'
p6827
asS'adjoin'
p6828
(lp6829
S'adjoins'
p6830
aS'adjoining'
p6831
aS'adjoined'
p6832
aS'adjoined'
p6833
asS'teem'
p6834
(lp6835
S'teems'
p6836
aS'teeming'
p6837
aS'teemed'
p6838
aS'teemed'
p6839
asS'contrive'
p6840
(lp6841
S'contrives'
p6842
aS'contriving'
p6843
aS'contrived'
p6844
aS'contrived'
p6845
asS'company'
p6846
(lp6847
S'companies'
p6848
aS'companying'
p6849
aS'companied'
p6850
aS'companied'
p6851
asS'nitrify'
p6852
(lp6853
S'nitrifies'
p6854
aS'nitrifying'
p6855
aS'nitrified'
p6856
aS'nitrified'
p6857
asS'pressure-cook'
p6858
(lp6859
S'pressure-cooks'
p6860
aS'pressure-cooking'
p6861
aS'pressure-cooked'
p6862
aS'pressure-cooked'
p6863
asS'doom'
p6864
(lp6865
S'dooms'
p6866
aS'dooming'
p6867
aS'doomed'
p6868
aS'doomed'
p6869
asS'unhinge'
p6870
(lp6871
S'unhinges'
p6872
aS'unhinging'
p6873
aS'unhinged'
p6874
aS'unhinged'
p6875
asS'kibosh'
p6876
(lp6877
S'kiboshes'
p6878
aS'kiboshing'
p6879
aS'kiboshed'
p6880
aS'kiboshed'
p6881
asS'fleece'
p6882
(lp6883
S'fleeces'
p6884
aS'fleecing'
p6885
aS'fleeced'
p6886
aS'fleeced'
p6887
asS'apportion'
p6888
(lp6889
S'apportions'
p6890
aS'apportioning'
p6891
aS'apportioned'
p6892
aS'apportioned'
p6893
asS'malt'
p6894
(lp6895
S'malts'
p6896
aS'malting'
p6897
aS'malted'
p6898
aS'malted'
p6899
asS'chisel'
p6900
(lp6901
S'chisels'
p6902
aS'chiselling'
p6903
aS'chiselled'
p6904
aS'chiselled'
p6905
asS'quickfreeze'
p6906
(lp6907
S'quickfreezes'
p6908
aS'quickfreezing'
p6909
aS'quickfroze'
p6910
aS'quickfrozen'
p6911
asS'learn'
p6912
(lp6913
S'learns'
p6914
aS'learning'
p6915
aS'learnt'
p6916
aS'learnt'
p6917
asS'grope'
p6918
(lp6919
S'gropes'
p6920
aS'groping'
p6921
aS'groped'
p6922
aS'groped'
p6923
asS'changeover'
p6924
(lp6925
S'changeovers'
p6926
aS'changeovering'
p6927
aS'changeovered'
p6928
aS'changeovered'
p6929
asS'scramble'
p6930
(lp6931
S'scrambles'
p6932
aS'scrambling'
p6933
aS'scrambled'
p6934
aS'scrambled'
p6935
asS'desquamate'
p6936
(lp6937
S'desquamates'
p6938
aS'desquamating'
p6939
aS'desquamated'
p6940
aS'desquamated'
p6941
asS'interflow'
p6942
(lp6943
S'interflows'
p6944
aS'interflowing'
p6945
aS'interflowed'
p6946
aS'interflowed'
p6947
asS'lixiviate'
p6948
(lp6949
S'lixiviates'
p6950
aS'lixiviating'
p6951
aS'lixiviated'
p6952
aS'lixiviated'
p6953
asS'gallop'
p6954
(lp6955
S'gallops'
p6956
aS'galloping'
p6957
aS'galloped'
p6958
aS'galloped'
p6959
asS'scab'
p6960
(lp6961
S'scabs'
p6962
aS'scabbing'
p6963
aS'scabbed'
p6964
aS'scabbed'
p6965
asS'accept'
p6966
(lp6967
S'accepts'
p6968
aS'accepting'
p6969
aS'accepted'
p6970
aS'accepted'
p6971
asS'unzip'
p6972
(lp6973
S'unzips'
p6974
aS'unzipping'
p6975
aS'unzipped'
p6976
aS'unzipped'
p6977
asS'ethicize'
p6978
(lp6979
S'ethicizes'
p6980
aS'ethicizing'
p6981
aS'ethicized'
p6982
aS'ethicized'
p6983
asS'spore'
p6984
(lp6985
S'spores'
p6986
aS'sporing'
p6987
aS'spored'
p6988
aS'spored'
p6989
asS'crossreference'
p6990
(lp6991
S'crossreferences'
p6992
aS'crossreferencing'
p6993
aS'crossreferenced'
p6994
aS'crossreferenced'
p6995
asS'scar'
p6996
(lp6997
S'scars'
p6998
aS'scarring'
p6999
aS'scarred'
p7000
aS'scarred'
p7001
asS'dress'
p7002
(lp7003
S'dresses'
p7004
aS'dressing'
p7005
aS'dressed'
p7006
aS'dressed'
p7007
asS'scat'
p7008
(lp7009
S'scats'
p7010
aS'scatting'
p7011
aS'scatted'
p7012
aS'scatted'
p7013
asS'condemn'
p7014
(lp7015
S'condemns'
p7016
aS'condemning'
p7017
aS'condemned'
p7018
aS'condemned'
p7019
asS'dazzle'
p7020
(lp7021
S'dazzles'
p7022
aS'dazzling'
p7023
aS'dazzled'
p7024
aS'dazzled'
p7025
asS'treadle'
p7026
(lp7027
S'treadles'
p7028
aS'treadling'
p7029
aS'treadled'
p7030
aS'treadled'
p7031
asS'peptonize'
p7032
(lp7033
S'peptonizes'
p7034
aS'peptonizing'
p7035
aS'peptonized'
p7036
aS'peptonized'
p7037
asS'enlarge'
p7038
(lp7039
S'enlarges'
p7040
aS'enlarging'
p7041
aS'enlarged'
p7042
aS'enlarged'
p7043
asS'cling'
p7044
(lp7045
S'clings'
p7046
aS'clinging'
p7047
aS'clung'
p7048
aS'clung'
p7049
asS'clink'
p7050
(lp7051
S'clinks'
p7052
aS'clinking'
p7053
aS'clinked'
p7054
aS'clinked'
p7055
asS'plant'
p7056
(lp7057
S'plants'
p7058
aS'planting'
p7059
aS'planted'
p7060
aS'planted'
p7061
asS'anoint'
p7062
(lp7063
S'anoints'
p7064
aS'anointing'
p7065
aS'anointed'
p7066
aS'anointed'
p7067
asS'brachiate'
p7068
(lp7069
S'brachiates'
p7070
aS'brachiating'
p7071
aS'brachiated'
p7072
aS'brachiated'
p7073
asS'sympathize'
p7074
(lp7075
S'sympathizes'
p7076
aS'sympathizing'
p7077
aS'sympathized'
p7078
aS'sympathized'
p7079
asS'polymerize'
p7080
(lp7081
S'polymerizes'
p7082
aS'polymerizing'
p7083
aS'polymerized'
p7084
aS'polymerized'
p7085
asS'volatilize'
p7086
(lp7087
S'volatilizes'
p7088
aS'volatilizing'
p7089
aS'volatilized'
p7090
aS'volatilized'
p7091
asS'plane'
p7092
(lp7093
S'planes'
p7094
aS'planing'
p7095
aS'planed'
p7096
aS'planed'
p7097
asS'waver'
p7098
(lp7099
S'wavers'
p7100
aS'wavering'
p7101
aS'wavered'
p7102
aS'wavered'
p7103
asS'underseal'
p7104
(lp7105
S'underseals'
p7106
aS'undersealing'
p7107
aS'undersealed'
p7108
aS'undersealed'
p7109
asS'develop'
p7110
(lp7111
S'develops'
p7112
aS'developing'
p7113
aS'developed'
p7114
aS'developed'
p7115
asS'flutter'
p7116
(lp7117
S'flutters'
p7118
aS'fluttering'
p7119
aS'fluttered'
p7120
aS'fluttered'
p7121
asS'misapprehend'
p7122
(lp7123
S'misapprehends'
p7124
aS'misapprehending'
p7125
aS'misapprehended'
p7126
aS'misapprehended'
p7127
asS'refuse'
p7128
(lp7129
S'refuses'
p7130
aS'refusing'
p7131
aS'refused'
p7132
aS'refused'
p7133
asS'resemble'
p7134
(lp7135
S'resembles'
p7136
aS'resembling'
p7137
aS'resembled'
p7138
aS'resembled'
p7139
asS'register'
p7140
(lp7141
S'registers'
p7142
aS'registering'
p7143
aS'registered'
p7144
aS'registered'
p7145
asS'pucker'
p7146
(lp7147
S'puckers'
p7148
aS'puckering'
p7149
aS'puckered'
p7150
aS'puckered'
p7151
asS'denude'
p7152
(lp7153
S'denudes'
p7154
aS'denuding'
p7155
aS'denuded'
p7156
aS'denuded'
p7157
asS'wrench'
p7158
(lp7159
S'wrenches'
p7160
aS'wrenching'
p7161
aS'wrenched'
p7162
aS'wrenched'
p7163
asS'trellis'
p7164
(lp7165
S'trellises'
p7166
aS'trellising'
p7167
aS'trellised'
p7168
aS'trellised'
p7169
asS'secondguess'
p7170
(lp7171
S'secondguesses'
p7172
aS'secondguessing'
p7173
aS'secondguessed'
p7174
aS'secondguessed'
p7175
asS'pant'
p7176
(lp7177
S'pants'
p7178
aS'panting'
p7179
aS'panted'
p7180
aS'panted'
p7181
asS'parboil'
p7182
(lp7183
S'parboils'
p7184
aS'parboiling'
p7185
aS'parboiled'
p7186
aS'parboiled'
p7187
asS'televise'
p7188
(lp7189
S'televises'
p7190
aS'televising'
p7191
aS'televised'
p7192
aS'televised'
p7193
asS'trichinize'
p7194
(lp7195
S'trichinizes'
p7196
aS'trichinizing'
p7197
aS'trichinized'
p7198
aS'trichinized'
p7199
asS'trade'
p7200
(lp7201
S'trades'
p7202
aS'trading'
p7203
aS'traded'
p7204
aS'traded'
p7205
asS'wester'
p7206
(lp7207
S'westers'
p7208
aS'westering'
p7209
aS'westered'
p7210
aS'westered'
p7211
asS'paper'
p7212
(lp7213
S'papers'
p7214
aS'papering'
p7215
aS'papered'
p7216
aS'papered'
p7217
asS'brim'
p7218
(lp7219
S'brims'
p7220
aS'brimming'
p7221
aS'brimmed'
p7222
aS'brimmed'
p7223
asS'kibble'
p7224
(lp7225
S'kibbles'
p7226
aS'kibbling'
p7227
aS'kibbled'
p7228
aS'kibbled'
p7229
asS'mamaguy'
p7230
(lp7231
S'mamaguys'
p7232
aS'mamaguying'
p7233
aS'mamaguyed'
p7234
aS'mamaguyed'
p7235
asS'commeasure'
p7236
(lp7237
S'commeasures'
p7238
aS'commeasuring'
p7239
aS'commeasured'
p7240
aS'commeasured'
p7241
asS'coarsen'
p7242
(lp7243
S'coarsens'
p7244
aS'coarsening'
p7245
aS'coarsened'
p7246
aS'coarsened'
p7247
asS'bypass'
p7248
(lp7249
sS'Judaize'
p7250
(lp7251
S'Judaizes'
p7252
aS'Judaizing'
p7253
aS'Judaized'
p7254
aS'Judaized'
p7255
asS'sauce'
p7256
(lp7257
S'sauces'
p7258
aS'saucing'
p7259
aS'sauced'
p7260
aS'sauced'
p7261
asS'ally'
p7262
(lp7263
S'allies'
p7264
aS'allying'
p7265
aS'allied'
p7266
aS'allied'
p7267
asS'wry'
p7268
(lp7269
S'wries'
p7270
aS'wrying'
p7271
aS'wried'
p7272
aS'wried'
p7273
asS'propose'
p7274
(lp7275
S'proposes'
p7276
aS'proposing'
p7277
aS'proposed'
p7278
aS'proposed'
p7279
asS'consign'
p7280
(lp7281
S'consigns'
p7282
aS'consigning'
p7283
aS'consigned'
p7284
aS'consigned'
p7285
asS'respire'
p7286
(lp7287
S'respires'
p7288
aS'respiring'
p7289
aS'respired'
p7290
aS'respired'
p7291
asS'imperil'
p7292
(lp7293
S'imperils'
p7294
aS'imperiling'
p7295
aS'imperiled'
p7296
aS'imperiled'
p7297
asS'skipper'
p7298
(lp7299
S'skippers'
p7300
aS'skippering'
p7301
aS'skippered'
p7302
aS'skippered'
p7303
asS'misuse'
p7304
(lp7305
S'misuses'
p7306
aS'misusing'
p7307
aS'misused'
p7308
aS'misused'
p7309
asS'speculate'
p7310
(lp7311
S'speculates'
p7312
aS'speculating'
p7313
aS'speculated'
p7314
aS'speculated'
p7315
asS'harrow'
p7316
(lp7317
S'harrows'
p7318
aS'harrowing'
p7319
aS'harrowed'
p7320
aS'harrowed'
p7321
asS'reemphasize'
p7322
(lp7323
S'reemphasizes'
p7324
aS'reemphasizing'
p7325
aS'reemphasized'
p7326
aS'reemphasized'
p7327
asS'ingulf'
p7328
(lp7329
S'ingulfs'
p7330
aS'ingulfing'
p7331
aS'ingulfed'
p7332
aS'ingulfed'
p7333
asS'resurface'
p7334
(lp7335
S'resurfaces'
p7336
aS'resurfacing'
p7337
aS'resurfaced'
p7338
aS'resurfaced'
p7339
asS'mump'
p7340
(lp7341
S'mumps'
p7342
aS'mumping'
p7343
aS'mumped'
p7344
aS'mumped'
p7345
asS'exorcize'
p7346
(lp7347
S'exorcizes'
p7348
aS'exorcizing'
p7349
aS'exorcized'
p7350
aS'exorcized'
p7351
asS'reduce'
p7352
(lp7353
S'reduces'
p7354
aS'reducing'
p7355
aS'reduced'
p7356
aS'reduced'
p7357
asS'police'
p7358
(lp7359
S'polices'
p7360
aS'policing'
p7361
aS'policed'
p7362
aS'policed'
p7363
asS'unhair'
p7364
(lp7365
S'unhairs'
p7366
aS'unhairing'
p7367
aS'unhaired'
p7368
aS'unhaired'
p7369
asS'mumm'
p7370
(lp7371
S'mums'
p7372
aS'mumming'
p7373
aS'mummed'
p7374
aS'mummed'
p7375
asS'scribe'
p7376
(lp7377
S'scribes'
p7378
aS'scribing'
p7379
aS'scribed'
p7380
aS'scribed'
p7381
asS'terrify'
p7382
(lp7383
S'terrifies'
p7384
aS'terrifying'
p7385
aS'terrified'
p7386
aS'terrified'
p7387
asS'research'
p7388
(lp7389
S'researches'
p7390
aS'researching'
p7391
aS'researched'
p7392
aS'researched'
p7393
asS'vowelize'
p7394
(lp7395
S'vowelizes'
p7396
aS'vowelizing'
p7397
aS'vowelized'
p7398
aS'vowelized'
p7399
asS'Gothicize'
p7400
(lp7401
S'Gothicizes'
p7402
aS'Gothicizing'
p7403
aS'Gothicized'
p7404
aS'Gothicized'
p7405
asS'salute'
p7406
(lp7407
S'salutes'
p7408
aS'saluting'
p7409
aS'saluted'
p7410
aS'saluted'
p7411
asS'desulphurize'
p7412
(lp7413
S'desulphurizes'
p7414
aS'desulphurizing'
p7415
aS'desulphurized'
p7416
aS'desulphurized'
p7417
asS'unbuckle'
p7418
(lp7419
S'unbuckles'
p7420
aS'unbuckling'
p7421
aS'unbuckled'
p7422
aS'unbuckled'
p7423
asS'disfigure'
p7424
(lp7425
S'disfigures'
p7426
aS'disfiguring'
p7427
aS'disfigured'
p7428
aS'disfigured'
p7429
asS'palter'
p7430
(lp7431
S'palters'
p7432
aS'paltering'
p7433
aS'paltered'
p7434
aS'paltered'
p7435
asS'pickaxe'
p7436
(lp7437
S'pickaxes'
p7438
aS'pickaxing'
p7439
aS'pickaxed'
p7440
aS'pickaxed'
p7441
asS'murmur'
p7442
(lp7443
S'murmurs'
p7444
aS'murmuring'
p7445
aS'murmured'
p7446
aS'murmured'
p7447
asS'imagine'
p7448
(lp7449
S'imagines'
p7450
aS'imagining'
p7451
aS'imagined'
p7452
aS'imagined'
p7453
asS'dehorn'
p7454
(lp7455
S'dehorns'
p7456
aS'dehorning'
p7457
aS'dehorned'
p7458
aS'dehorned'
p7459
asS'reproach'
p7460
(lp7461
S'reproaches'
p7462
aS'reproaching'
p7463
aS'reproached'
p7464
aS'reproached'
p7465
asS'lucubrate'
p7466
(lp7467
S'lucubrates'
p7468
aS'lucubrating'
p7469
aS'lucubrated'
p7470
aS'lucubrated'
p7471
asS'fadge'
p7472
(lp7473
S'fadges'
p7474
aS'fadging'
p7475
aS'fadged'
p7476
aS'fadged'
p7477
asS'sicken'
p7478
(lp7479
S'sickens'
p7480
aS'sickening'
p7481
aS'sickened'
p7482
aS'sickened'
p7483
asS'bumper'
p7484
(lp7485
S'bumpers'
p7486
aS'bumpering'
p7487
aS'bumpered'
p7488
aS'bumpered'
p7489
asS'constringe'
p7490
(lp7491
S'constringes'
p7492
aS'constringing'
p7493
aS'constringed'
p7494
aS'constringed'
p7495
asS'clump'
p7496
(lp7497
S'clumps'
p7498
aS'clumping'
p7499
aS'clumped'
p7500
aS'clumped'
p7501
asS'adduct'
p7502
(lp7503
S'adducts'
p7504
aS'adducting'
p7505
aS'adducted'
p7506
aS'adducted'
p7507
asS'major'
p7508
(lp7509
S'majors'
p7510
aS'majoring'
p7511
aS'majored'
p7512
aS'majored'
p7513
asS'purport'
p7514
(lp7515
S'purports'
p7516
aS'purporting'
p7517
aS'purported'
p7518
aS'purported'
p7519
asS'mercurialize'
p7520
(lp7521
S'mercurializes'
p7522
aS'mercurializing'
p7523
aS'mercurialized'
p7524
aS'mercurialized'
p7525
asS'number'
p7526
(lp7527
sS'adduce'
p7528
(lp7529
S'adduces'
p7530
aS'adducing'
p7531
aS'adduced'
p7532
aS'adduced'
p7533
asS'sequester'
p7534
(lp7535
S'sequesters'
p7536
aS'sequestering'
p7537
aS'sequestered'
p7538
aS'sequestered'
p7539
asS'tango'
p7540
(lp7541
S'tangoes'
p7542
aS'tangoing'
p7543
aS'tangoed'
p7544
aS'tangoed'
p7545
asS'glitter'
p7546
(lp7547
S'glitters'
p7548
aS'glittering'
p7549
aS'glittered'
p7550
aS'glittered'
p7551
asS'guess'
p7552
(lp7553
S'guesses'
p7554
aS'guessing'
p7555
aS'guessed'
p7556
aS'guessed'
p7557
asS'fuller'
p7558
(lp7559
sS'guest'
p7560
(lp7561
S'guests'
p7562
aS'guesting'
p7563
aS'guested'
p7564
aS'guested'
p7565
asS'jet'
p7566
(lp7567
S'jets'
p7568
aS'jetting'
p7569
aS'jetted'
p7570
aS'jetted'
p7571
asS'swipe'
p7572
(lp7573
S'swipes'
p7574
aS'swiping'
p7575
aS'swiped'
p7576
aS'swiped'
p7577
asS'saint'
p7578
(lp7579
S'saints'
p7580
aS'sainting'
p7581
aS'sainted'
p7582
aS'sainted'
p7583
asS'aver'
p7584
(lp7585
S'avers'
p7586
aS'averring'
p7587
aS'averred'
p7588
aS'averred'
p7589
asS'unbolt'
p7590
(lp7591
S'unbolts'
p7592
aS'unbolting'
p7593
aS'unbolted'
p7594
aS'unbolted'
p7595
asS'gnash'
p7596
(lp7597
S'gnashes'
p7598
aS'gnashing'
p7599
aS'gnashed'
p7600
aS'gnashed'
p7601
asS'discombobulate'
p7602
(lp7603
S'discombobulates'
p7604
aS'discombobulating'
p7605
aS'discombobulated'
p7606
aS'discombobulated'
p7607
asS'embattle'
p7608
(lp7609
S'embattles'
p7610
aS'embattling'
p7611
aS'embattled'
p7612
aS'embattled'
p7613
asS'decarburize'
p7614
(lp7615
S'decarburizes'
p7616
aS'decarburizing'
p7617
aS'decarburized'
p7618
aS'decarburized'
p7619
asS'ingurgitate'
p7620
(lp7621
S'ingurgitates'
p7622
aS'ingurgitating'
p7623
aS'ingurgitated'
p7624
aS'ingurgitated'
p7625
asS'consult'
p7626
(lp7627
S'consults'
p7628
aS'consulting'
p7629
aS'consulted'
p7630
aS'consulted'
p7631
asS'stifle'
p7632
(lp7633
S'stifles'
p7634
aS'stifling'
p7635
aS'stifled'
p7636
aS'stifled'
p7637
asS'grace'
p7638
(lp7639
S'graces'
p7640
aS'gracing'
p7641
aS'graced'
p7642
aS'graced'
p7643
asS'truckle'
p7644
(lp7645
S'truckles'
p7646
aS'truckling'
p7647
aS'truckled'
p7648
aS'truckled'
p7649
asS'frock'
p7650
(lp7651
S'frocks'
p7652
aS'frocking'
p7653
aS'frocked'
p7654
aS'frocked'
p7655
asS'double-declutch'
p7656
(lp7657
S'double-declutches'
p7658
aS'double-declutching'
p7659
aS'double-declutched'
p7660
aS'double-declutched'
p7661
asS'postdate'
p7662
(lp7663
S'postdates'
p7664
aS'postdating'
p7665
aS'postdated'
p7666
aS'postdated'
p7667
asS'defect'
p7668
(lp7669
S'defects'
p7670
aS'defecting'
p7671
aS'defected'
p7672
aS'defected'
p7673
asS'waft'
p7674
(lp7675
S'wafts'
p7676
aS'wafting'
p7677
aS'wafted'
p7678
aS'wafted'
p7679
asS'unsnarl'
p7680
(lp7681
S'unsnarls'
p7682
aS'unsnarling'
p7683
aS'unsnarled'
p7684
aS'unsnarled'
p7685
asS'caress'
p7686
(lp7687
S'caresses'
p7688
aS'caressing'
p7689
aS'caressed'
p7690
aS'caressed'
p7691
asS'conjugate'
p7692
(lp7693
S'conjugates'
p7694
aS'conjugating'
p7695
aS'conjugated'
p7696
aS'conjugated'
p7697
asS'waff'
p7698
(lp7699
S'waffs'
p7700
aS'waffing'
p7701
aS'waffed'
p7702
aS'waffed'
p7703
asS'collapse'
p7704
(lp7705
S'collapses'
p7706
aS'collapsing'
p7707
aS'collapsed'
p7708
aS'collapsed'
p7709
asS'sell'
p7710
(lp7711
S'sells'
p7712
aS'selling'
p7713
aS'sold'
p7714
aS'sold'
p7715
asS'shrivel'
p7716
(lp7717
S'shrivels'
p7718
aS'shrivelling'
p7719
aS'shrivelled'
p7720
aS'shrivelled'
p7721
asS'ratiocinate'
p7722
(lp7723
S'ratiocinates'
p7724
aS'ratiocinating'
p7725
aS'ratiocinated'
p7726
aS'ratiocinated'
p7727
asS'tarnish'
p7728
(lp7729
S'tarnishes'
p7730
aS'tarnishing'
p7731
aS'tarnished'
p7732
aS'tarnished'
p7733
asS'jeopardize'
p7734
(lp7735
S'jeopardizes'
p7736
aS'jeopardizing'
p7737
aS'jeopardized'
p7738
aS'jeopardized'
p7739
asS'trowel'
p7740
(lp7741
S'trowels'
p7742
aS'trowelling'
p7743
aS'trowelled'
p7744
aS'trowelled'
p7745
asS'distemper'
p7746
(lp7747
S'distempers'
p7748
aS'distempering'
p7749
aS'distempered'
p7750
aS'distempered'
p7751
asS'kraal'
p7752
(lp7753
S'kraals'
p7754
aS'kraaling'
p7755
aS'kraaled'
p7756
aS'kraaled'
p7757
asS'brace'
p7758
(lp7759
S'braces'
p7760
aS'bracing'
p7761
aS'braced'
p7762
aS'braced'
p7763
asS'coff'
p7764
(lp7765
S'coffs'
p7766
aS'coffing'
p7767
aS'coffed'
p7768
aS'coffed'
p7769
asS'pother'
p7770
(lp7771
S'pothers'
p7772
aS'pothering'
p7773
aS'pothered'
p7774
aS'pothered'
p7775
asS'play'
p7776
(lp7777
S'plays'
p7778
aS'playing'
p7779
aS'played'
p7780
aS'played'
p7781
asS'homologate'
p7782
(lp7783
S'homologates'
p7784
aS'homologating'
p7785
aS'homologated'
p7786
aS'homologated'
p7787
asS'hurtle'
p7788
(lp7789
S'hurtles'
p7790
aS'hurtling'
p7791
aS'hurtled'
p7792
aS'hurtled'
p7793
asS'die-cast'
p7794
(lp7795
S'die-casts'
p7796
aS'die-casting'
p7797
aS'die-cast'
p7798
aS'die-cast'
p7799
asS'relumine'
p7800
(lp7801
S'relumines'
p7802
aS'relumining'
p7803
aS'relumined'
p7804
aS'relumined'
p7805
asS'cinematograph'
p7806
(lp7807
S'cinematographs'
p7808
aS'cinematographing'
p7809
aS'cinematographed'
p7810
aS'cinematographed'
p7811
asS'yawn'
p7812
(lp7813
S'yawns'
p7814
aS'yawning'
p7815
aS'yawned'
p7816
aS'yawned'
p7817
asS'yawl'
p7818
(lp7819
S'yawls'
p7820
aS'yawling'
p7821
aS'yawled'
p7822
aS'yawled'
p7823
asS'plan'
p7824
(lp7825
S'plans'
p7826
aS'planning'
p7827
aS'planned'
p7828
aS'planned'
p7829
asS'wive'
p7830
(lp7831
S'wives'
p7832
aS'wiving'
p7833
aS'wived'
p7834
aS'wived'
p7835
asS'mythologize'
p7836
(lp7837
S'mythologizes'
p7838
aS'mythologizing'
p7839
aS'mythologized'
p7840
aS'mythologized'
p7841
asS'oyster'
p7842
(lp7843
S'oysters'
p7844
aS'oystering'
p7845
aS'oystered'
p7846
aS'oystered'
p7847
asS'enigmatize'
p7848
(lp7849
S'enigmatizes'
p7850
aS'enigmatizing'
p7851
aS'enigmatized'
p7852
aS'enigmatized'
p7853
asS'double-stop'
p7854
(lp7855
S'double-stops'
p7856
aS'double-stopping'
p7857
aS'double-stopped'
p7858
aS'double-stopped'
p7859
asS'flite'
p7860
(lp7861
S'flites'
p7862
aS'fliting'
p7863
aS'flited'
p7864
aS'flited'
p7865
asS'covet'
p7866
(lp7867
S'covets'
p7868
aS'coveting'
p7869
aS'coveted'
p7870
aS'coveted'
p7871
asS'cover'
p7872
(lp7873
S'covers'
p7874
aS'covering'
p7875
aS'covered'
p7876
aS'covered'
p7877
asS'institutionalize'
p7878
(lp7879
S'institutionalizes'
p7880
aS'institutionalizing'
p7881
aS'institutionalized'
p7882
aS'institutionalized'
p7883
asS'dramatize'
p7884
(lp7885
S'dramatizes'
p7886
aS'dramatizing'
p7887
aS'dramatized'
p7888
aS'dramatized'
p7889
asS're-proof'
p7890
(lp7891
S're-proofs'
p7892
aS'reproofing'
p7893
aS'reproofed'
p7894
aS'reproofed'
p7895
asS'administrate'
p7896
(lp7897
S'administrates'
p7898
aS'administrating'
p7899
aS'administrated'
p7900
aS'administrated'
p7901
asS'barrel'
p7902
(lp7903
S'barrels'
p7904
aS'barrelling'
p7905
aS'barrelled'
p7906
aS'barrelled'
p7907
asS'reheat'
p7908
(lp7909
S'reheats'
p7910
aS'reheating'
p7911
aS'reheated'
p7912
aS'reheated'
p7913
asS'bulletin'
p7914
(lp7915
S'bulletins'
p7916
aS'bulletining'
p7917
aS'bulletined'
p7918
aS'bulletined'
p7919
asS'despise'
p7920
(lp7921
S'despises'
p7922
aS'despising'
p7923
aS'despised'
p7924
aS'despised'
p7925
asS'ovulate'
p7926
(lp7927
S'ovulates'
p7928
aS'ovulating'
p7929
aS'ovulated'
p7930
aS'ovulated'
p7931
asS'agonize'
p7932
(lp7933
S'agonizes'
p7934
aS'agonizing'
p7935
aS'agonized'
p7936
aS'agonized'
p7937
asS'affix'
p7938
(lp7939
S'affixes'
p7940
aS'affixing'
p7941
aS'affixed'
p7942
aS'affixed'
p7943
asS'misdate'
p7944
(lp7945
S'misdates'
p7946
aS'misdating'
p7947
aS'misdated'
p7948
aS'misdated'
p7949
asS'desolate'
p7950
(lp7951
S'desolates'
p7952
aS'desolating'
p7953
aS'desolated'
p7954
aS'desolated'
p7955
asS'freight'
p7956
(lp7957
S'freights'
p7958
aS'freighting'
p7959
aS'freighted'
p7960
aS'freighted'
p7961
asS'impact'
p7962
(lp7963
S'impacts'
p7964
aS'impacting'
p7965
aS'impacted'
p7966
aS'impacted'
p7967
asS'shouldst'
p7968
(lp7969
S'shouldsts'
p7970
aS'shouldsting'
p7971
aS'shouldsted'
p7972
aS'shouldsted'
p7973
asS'surcease'
p7974
(lp7975
S'surceases'
p7976
aS'surceasing'
p7977
aS'surceased'
p7978
aS'surceased'
p7979
asS'factor'
p7980
(lp7981
S'factors'
p7982
aS'factoring'
p7983
aS'factored'
p7984
aS'factored'
p7985
asS'foreordain'
p7986
(lp7987
S'foreordains'
p7988
aS'foreordaining'
p7989
aS'foreordained'
p7990
aS'foreordained'
p7991
asS'scuff'
p7992
(lp7993
S'scuffs'
p7994
aS'scuffing'
p7995
aS'scuffed'
p7996
aS'scuffed'
p7997
asS'de-horn'
p7998
(lp7999
S'de-horns'
p8000
aS'de-horning'
p8001
ag7458
aS'de-horned'
p8002
asS'resent'
p8003
(lp8004
S'resents'
p8005
aS'resenting'
p8006
aS'resented'
p8007
aS'resented'
p8008
asS'remedy'
p8009
(lp8010
S'remedies'
p8011
aS'remedying'
p8012
aS'remedied'
p8013
aS'remedied'
p8014
asS'twill'
p8015
(lp8016
S'twills'
p8017
aS'twilling'
p8018
aS'twilled'
p8019
aS'twilled'
p8020
asS'granulate'
p8021
(lp8022
S'granulates'
p8023
aS'granulating'
p8024
aS'granulated'
p8025
aS'granulated'
p8026
asS'compass'
p8027
(lp8028
S'compasses'
p8029
aS'compassing'
p8030
aS'compassed'
p8031
aS'compassed'
p8032
asS'ulcerate'
p8033
(lp8034
S'ulcerates'
p8035
aS'ulcerating'
p8036
aS'ulcerated'
p8037
aS'ulcerated'
p8038
asS'sleeve'
p8039
(lp8040
S'sleeves'
p8041
aS'sleeving'
p8042
aS'sleeved'
p8043
aS'sleeved'
p8044
asS'transship'
p8045
(lp8046
S'transships'
p8047
aS'transshipping'
p8048
aS'transshipped'
p8049
aS'transshipped'
p8050
asS'cry'
p8051
(lp8052
S'cries'
p8053
aS'crying'
p8054
aS'cried'
p8055
aS'cried'
p8056
asS'proclaim'
p8057
(lp8058
S'proclaims'
p8059
aS'proclaiming'
p8060
aS'proclaimed'
p8061
aS'proclaimed'
p8062
asS'cease'
p8063
(lp8064
S'ceases'
p8065
aS'ceasing'
p8066
aS'ceased'
p8067
aS'ceased'
p8068
asS'obscure'
p8069
(lp8070
S'obscures'
p8071
aS'obscuring'
p8072
aS'obscured'
p8073
aS'obscured'
p8074
asS'rivet'
p8075
(lp8076
S'rivets'
p8077
aS'riveting'
p8078
aS'riveted'
p8079
aS'riveted'
p8080
asS'weathercock'
p8081
(lp8082
S'weathercocks'
p8083
aS'weathercocking'
p8084
aS'weathercocked'
p8085
aS'weathercocked'
p8086
asS'sew'
p8087
(lp8088
S'sews'
p8089
aS'sewing'
p8090
aS'sewed'
p8091
aS'sewn'
p8092
asS'punce'
p8093
(lp8094
S'punces'
p8095
aS'puncing'
p8096
aS'punced'
p8097
aS'punced'
p8098
asS'set'
p8099
(lp8100
S'sets'
p8101
aS'setting'
p8102
aS'set'
p8103
aS'set'
p8104
asS'unpick'
p8105
(lp8106
S'unpicks'
p8107
aS'unpicking'
p8108
aS'unpicked'
p8109
aS'unpicked'
p8110
asS'overwhelm'
p8111
(lp8112
S'overwhelms'
p8113
aS'overwhelming'
p8114
aS'overwhelmed'
p8115
aS'overwhelmed'
p8116
asS'jade'
p8117
(lp8118
S'jades'
p8119
aS'jading'
p8120
aS'jaded'
p8121
aS'jaded'
p8122
asS'nibble'
p8123
(lp8124
S'nibbles'
p8125
aS'nibbling'
p8126
aS'nibbled'
p8127
aS'nibbled'
p8128
asS'sex'
p8129
(lp8130
S'sexes'
p8131
aS'sexing'
p8132
aS'sexed'
p8133
aS'sexed'
p8134
asS'see'
p8135
(lp8136
S'sees'
p8137
aS'seeing'
p8138
aS'saw'
p8139
aS'seen'
p8140
asS'backfire'
p8141
(lp8142
S'backfires'
p8143
aS'backfiring'
p8144
aS'backfired'
p8145
aS'backfired'
p8146
asS'winterfeed'
p8147
(lp8148
S'winterfeeds'
p8149
aS'winterfeeding'
p8150
aS'winterfed'
p8151
aS'winterfed'
p8152
asS'contour'
p8153
(lp8154
S'contours'
p8155
aS'contouring'
p8156
aS'contoured'
p8157
aS'contoured'
p8158
asS'electioneer'
p8159
(lp8160
S'electioneers'
p8161
aS'electioneering'
p8162
aS'electioneered'
p8163
aS'electioneered'
p8164
asS'shower'
p8165
(lp8166
S'showers'
p8167
aS'showering'
p8168
aS'showered'
p8169
aS'showered'
p8170
asS'outbreed'
p8171
(lp8172
S'outbreeds'
p8173
aS'outbreeding'
p8174
aS'outbred'
p8175
aS'outbred'
p8176
asS'phosphatize'
p8177
(lp8178
S'phosphatizes'
p8179
aS'phosphatizing'
p8180
aS'phosphatized'
p8181
aS'phosphatized'
p8182
asS'deactivate'
p8183
(lp8184
S'deactivates'
p8185
aS'deactivating'
p8186
aS'deactivated'
p8187
aS'deactivated'
p8188
asS'schematize'
p8189
(lp8190
S'schematizes'
p8191
aS'schematizing'
p8192
aS'schematized'
p8193
aS'schematized'
p8194
asS'knap'
p8195
(lp8196
S'knaps'
p8197
aS'knapping'
p8198
aS'knapped'
p8199
aS'knapped'
p8200
asS'motorize'
p8201
(lp8202
S'motorizes'
p8203
aS'motorizing'
p8204
aS'motorized'
p8205
aS'motorized'
p8206
asS'beatify'
p8207
(lp8208
S'beatifies'
p8209
aS'beatifying'
p8210
aS'beatified'
p8211
aS'beatified'
p8212
asS'kneel'
p8213
(lp8214
S'kneels'
p8215
aS'kneeling'
p8216
aS'knelt'
p8217
aS'knelt'
p8218
asS'oxidize'
p8219
(lp8220
S'oxidizes'
p8221
aS'oxidizing'
p8222
aS'oxidized'
p8223
aS'oxidized'
p8224
asS'mildew'
p8225
(lp8226
S'mildews'
p8227
aS'mildewing'
p8228
aS'mildewed'
p8229
aS'mildewed'
p8230
asS'fold'
p8231
(lp8232
S'folds'
p8233
aS'folding'
p8234
aS'folded'
p8235
aS'folded'
p8236
asS'loiter'
p8237
(lp8238
S'loiters'
p8239
aS'loitering'
p8240
aS'loitered'
p8241
aS'loitered'
p8242
asS'abye'
p8243
(lp8244
S'abys'
p8245
aS'abying'
p8246
aS'abought'
p8247
aS'abought'
p8248
asS'samba'
p8249
(lp8250
S'sambas'
p8251
aS'sambaing'
p8252
aS'sambaed'
p8253
aS'sambaed'
p8254
asS'deracinate'
p8255
(lp8256
S'deracinates'
p8257
aS'deracinating'
p8258
aS'deracinated'
p8259
aS'deracinated'
p8260
asS'milden'
p8261
(lp8262
S'mildens'
p8263
aS'mildening'
p8264
aS'mildened'
p8265
aS'mildened'
p8266
asS'last'
p8267
(lp8268
S'lasts'
p8269
aS'lasting'
p8270
aS'lasted'
p8271
aS'lasted'
p8272
asS'exscind'
p8273
(lp8274
S'exscinds'
p8275
aS'exscinding'
p8276
aS'exscinded'
p8277
aS'exscinded'
p8278
asS'lase'
p8279
(lp8280
S'lases'
p8281
aS'lasing'
p8282
aS'lased'
p8283
aS'lased'
p8284
asS'lash'
p8285
(lp8286
S'lashes'
p8287
aS'lashing'
p8288
aS'lashed'
p8289
aS'lashed'
p8290
asS'approve'
p8291
(lp8292
S'approves'
p8293
aS'approving'
p8294
aS'approved'
p8295
aS'approved'
p8296
asS'vesiculate'
p8297
(lp8298
S'vesiculates'
p8299
aS'vesiculating'
p8300
aS'vesiculated'
p8301
aS'vesiculated'
p8302
asS'load'
p8303
(lp8304
S'loads'
p8305
aS'loading'
p8306
aS'loaded'
p8307
aS'loaded'
p8308
asS'loaf'
p8309
(lp8310
S'loafs'
p8311
aS'loafing'
p8312
aS'loafed'
p8313
aS'loafed'
p8314
asS'dizen'
p8315
(lp8316
S'dizens'
p8317
aS'dizening'
p8318
aS'dizened'
p8319
aS'dizened'
p8320
asS'bell'
p8321
(lp8322
S'bells'
p8323
aS'belling'
p8324
aS'belled'
p8325
aS'belled'
p8326
asS'loam'
p8327
(lp8328
S'loams'
p8329
aS'loaming'
p8330
aS'loamed'
p8331
aS'loamed'
p8332
asS'loan'
p8333
(lp8334
S'loans'
p8335
aS'loaning'
p8336
aS'loaned'
p8337
aS'loaned'
p8338
asS'gold-plate'
p8339
(lp8340
S'gold-plates'
p8341
aS'gold-plating'
p8342
aS'gold-plated'
p8343
aS'gold-plated'
p8344
asS'scallop'
p8345
(lp8346
S'scallops'
p8347
aS'scalloping'
p8348
aS'scalloped'
p8349
aS'scalloped'
p8350
asS'church'
p8351
(lp8352
S'churches'
p8353
aS'churching'
p8354
aS'churched'
p8355
aS'churched'
p8356
asS'underlay'
p8357
(lp8358
S'underlays'
p8359
aS'underlaying'
p8360
aS'underlaid'
p8361
aS'underlaid'
p8362
asS'entail'
p8363
(lp8364
S'entails'
p8365
aS'entailing'
p8366
aS'entailed'
p8367
aS'entailed'
p8368
asS'devil'
p8369
(lp8370
S'devils'
p8371
aS'deviling'
p8372
aS'deviled'
p8373
aS'deviled'
p8374
asS'seep'
p8375
(lp8376
S'seeps'
p8377
aS'seeping'
p8378
aS'seeped'
p8379
aS'seeped'
p8380
asS'imbed'
p8381
(lp8382
S'imbeds'
p8383
aS'imbedding'
p8384
aS'imbedded'
p8385
aS'imbedded'
p8386
asS'rattle'
p8387
(lp8388
S'rattles'
p8389
aS'rattling'
p8390
aS'rattled'
p8391
aS'rattled'
p8392
asS'Mace'
p8393
(lp8394
S'Maces'
p8395
aS'Maceing'
p8396
aS'Maced'
p8397
aS'Maced'
p8398
asS'veneer'
p8399
(lp8400
S'veneers'
p8401
aS'veneering'
p8402
aS'veneered'
p8403
aS'veneered'
p8404
asS'firm'
p8405
(lp8406
S'firms'
p8407
aS'firming'
p8408
aS'firmed'
p8409
aS'firmed'
p8410
asS'champion'
p8411
(lp8412
S'champions'
p8413
aS'championing'
p8414
aS'championed'
p8415
aS'championed'
p8416
asS'fire'
p8417
(lp8418
S'fires'
p8419
aS'firing'
p8420
aS'fired'
p8421
aS'fired'
p8422
asS'infect'
p8423
(lp8424
S'infects'
p8425
aS'infecting'
p8426
aS'infected'
p8427
aS'infected'
p8428
asS'upstart'
p8429
(lp8430
S'upstarts'
p8431
aS'upstarting'
p8432
aS'upstarted'
p8433
aS'upstarted'
p8434
asS'remark'
p8435
(lp8436
S'remarks'
p8437
aS'remarking'
p8438
aS'remarked'
p8439
aS'remarked'
p8440
asS'reassert'
p8441
(lp8442
S'reasserts'
p8443
aS'reasserting'
p8444
aS'reasserted'
p8445
aS'reasserted'
p8446
asS'fund'
p8447
(lp8448
S'funds'
p8449
aS'funding'
p8450
aS'funded'
p8451
aS'funded'
p8452
asS'revile'
p8453
(lp8454
S'reviles'
p8455
aS'reviling'
p8456
aS'reviled'
p8457
aS'reviled'
p8458
asS'awake'
p8459
(lp8460
S'awakes'
p8461
aS'awaking'
p8462
aS'awoke'
p8463
aS'awoken'
p8464
asS'deport'
p8465
(lp8466
S'deports'
p8467
aS'deporting'
p8468
aS'deported'
p8469
aS'deported'
p8470
asS'fritt'
p8471
(lp8472
S'fritts'
p8473
aS'fritting'
p8474
aS'fritted'
p8475
aS'fritted'
p8476
asS'funk'
p8477
(lp8478
S'funks'
p8479
aS'funking'
p8480
aS'funked'
p8481
aS'funked'
p8482
asS'budget'
p8483
(lp8484
S'budgets'
p8485
aS'budgeting'
p8486
aS'budgeted'
p8487
aS'budgeted'
p8488
asS'admire'
p8489
(lp8490
S'admires'
p8491
aS'admiring'
p8492
aS'admired'
p8493
aS'admired'
p8494
asS'harrumph'
p8495
(lp8496
S'harrumphs'
p8497
aS'harrumphing'
p8498
aS'harrumphed'
p8499
aS'harrumphed'
p8500
asS'swim'
p8501
(lp8502
S'swims'
p8503
aS'swimming'
p8504
aS'swam'
p8505
aS'swum'
p8506
asS'pound'
p8507
(lp8508
S'pounds'
p8509
aS'pounding'
p8510
aS'pounded'
p8511
aS'pounded'
p8512
asS'screech'
p8513
(lp8514
S'screeches'
p8515
aS'screeching'
p8516
aS'screeched'
p8517
aS'screeched'
p8518
asS'comport'
p8519
(lp8520
S'comports'
p8521
aS'comporting'
p8522
aS'comported'
p8523
aS'comported'
p8524
asS'Mimeograph'
p8525
(lp8526
S'Mimeographes'
p8527
aS'Mimeographing'
p8528
aS'Mimeographed'
p8529
aS'Mimeographed'
p8530
asS'caramelize'
p8531
(lp8532
S'caramelizes'
p8533
aS'caramelizing'
p8534
aS'caramelized'
p8535
aS'caramelized'
p8536
asS'swage'
p8537
(lp8538
S'swages'
p8539
aS'swaging'
p8540
aS'swaged'
p8541
aS'swaged'
p8542
asS'silence'
p8543
(lp8544
S'silences'
p8545
aS'silencing'
p8546
aS'silenced'
p8547
aS'silenced'
p8548
asS'enlace'
p8549
(lp8550
S'enlaces'
p8551
aS'enlacing'
p8552
aS'enlaced'
p8553
aS'enlaced'
p8554
asS'vanish'
p8555
(lp8556
S'vanishes'
p8557
aS'vanishing'
p8558
aS'vanished'
p8559
aS'vanished'
p8560
asS'exult'
p8561
(lp8562
S'exults'
p8563
aS'exulting'
p8564
aS'exulted'
p8565
aS'exulted'
p8566
asS'seel'
p8567
(lp8568
S'seels'
p8569
aS'seeling'
p8570
aS'seeled'
p8571
aS'seeled'
p8572
asS'decoy'
p8573
(lp8574
S'decoys'
p8575
aS'decoying'
p8576
aS'decoyed'
p8577
aS'decoyed'
p8578
asS'shorten'
p8579
(lp8580
S'shortens'
p8581
aS'shortening'
p8582
aS'shortened'
p8583
aS'shortened'
p8584
asS'survey'
p8585
(lp8586
S'surveys'
p8587
aS'surveying'
p8588
aS'surveyed'
p8589
aS'surveyed'
p8590
asS'educe'
p8591
(lp8592
S'educes'
p8593
aS'educing'
p8594
aS'educed'
p8595
aS'educed'
p8596
asS'holystone'
p8597
(lp8598
S'holystones'
p8599
aS'holystoning'
p8600
aS'holystoned'
p8601
aS'holystoned'
p8602
asS'commune'
p8603
(lp8604
S'communes'
p8605
aS'communing'
p8606
aS'communed'
p8607
aS'communed'
p8608
asS'bestrew'
p8609
(lp8610
S'bestrews'
p8611
aS'bestrewing'
p8612
aS'bestrewed'
p8613
aS'bestrewn'
p8614
asS'ingot'
p8615
(lp8616
S'ingots'
p8617
aS'ingoting'
p8618
aS'ingoted'
p8619
aS'ingoted'
p8620
asS'discontinue'
p8621
(lp8622
S'discontinues'
p8623
aS'discontinuing'
p8624
aS'discontinued'
p8625
aS'discontinued'
p8626
asS'alert'
p8627
(lp8628
S'alerts'
p8629
aS'alerting'
p8630
aS'alerted'
p8631
aS'alerted'
p8632
asS'exsect'
p8633
(lp8634
S'exsects'
p8635
aS'exsecting'
p8636
aS'exsected'
p8637
aS'exsected'
p8638
asS'decolour'
p8639
(lp8640
S'decolours'
p8641
aS'decolouring'
p8642
aS'decoloured'
p8643
aS'decoloured'
p8644
asS'volplane'
p8645
(lp8646
S'volplanes'
p8647
aS'volplaning'
p8648
aS'volplaned'
p8649
aS'volplaned'
p8650
asS'uncoil'
p8651
(lp8652
S'uncoils'
p8653
aS'uncoiling'
p8654
aS'uncoiled'
p8655
aS'uncoiled'
p8656
asS'shrive'
p8657
(lp8658
S'shrives'
p8659
aS'shriving'
p8660
aS'shrove'
p8661
aS'shriven'
p8662
asS'nickname'
p8663
(lp8664
S'nicknames'
p8665
aS'nicknaming'
p8666
aS'nicknamed'
p8667
aS'nicknamed'
p8668
asS'climb'
p8669
(lp8670
S'climbs'
p8671
aS'climbing'
p8672
aS'climbed'
p8673
aS'climbed'
p8674
asS'expend'
p8675
(lp8676
S'expends'
p8677
aS'expending'
p8678
aS'expended'
p8679
aS'expended'
p8680
asS'surrogate'
p8681
(lp8682
S'surrogates'
p8683
aS'surrogating'
p8684
aS'surrogated'
p8685
aS'surrogated'
p8686
asS'azotize'
p8687
(lp8688
S'azotizes'
p8689
aS'azotizing'
p8690
aS'azotized'
p8691
aS'azotized'
p8692
asS'concrete'
p8693
(lp8694
S'concretes'
p8695
aS'concreting'
p8696
aS'concreted'
p8697
aS'concreted'
p8698
asS'obtest'
p8699
(lp8700
S'obtests'
p8701
aS'obtesting'
p8702
aS'obtested'
p8703
aS'obtested'
p8704
asS'comprise'
p8705
(lp8706
S'comprises'
p8707
aS'comprising'
p8708
aS'comprised'
p8709
aS'comprised'
p8710
asS'rejuvenesce'
p8711
(lp8712
S'rejuvenesces'
p8713
aS'rejuvenescing'
p8714
aS'rejuvenesced'
p8715
aS'rejuvenesced'
p8716
asS'emblazon'
p8717
(lp8718
S'emblazons'
p8719
aS'emblazoning'
p8720
aS'emblazoned'
p8721
aS'emblazoned'
p8722
asS'fluoresce'
p8723
(lp8724
S'fluoresces'
p8725
aS'fluorescing'
p8726
aS'fluoresced'
p8727
aS'fluoresced'
p8728
asS'salve'
p8729
(lp8730
S'salves'
p8731
aS'salving'
p8732
aS'salved'
p8733
aS'salved'
p8734
asS'domesticize'
p8735
(lp8736
S'domesticizes'
p8737
aS'domesticizing'
p8738
aS'domesticized'
p8739
aS'domesticized'
p8740
asS'house-train'
p8741
(lp8742
S'house-trains'
p8743
aS'house-training'
p8744
aS'house-trained'
p8745
aS'house-trained'
p8746
asS'illuse'
p8747
(lp8748
S'illuses'
p8749
aS'illusing'
p8750
aS'illused'
p8751
aS'illused'
p8752
asS'derange'
p8753
(lp8754
S'deranges'
p8755
aS'deranging'
p8756
aS'deranged'
p8757
aS'deranged'
p8758
asS'cuckold'
p8759
(lp8760
S'cuckolds'
p8761
aS'cuckolding'
p8762
aS'cuckolded'
p8763
aS'cuckolded'
p8764
asS'cordon'
p8765
(lp8766
S'cordons'
p8767
aS'cordoning'
p8768
aS'cordoned'
p8769
aS'cordoned'
p8770
asS'format'
p8771
(lp8772
S'formats'
p8773
aS'formatting'
p8774
aS'formatted'
p8775
aS'formatted'
p8776
asS'couple'
p8777
(lp8778
S'couples'
p8779
aS'coupling'
p8780
aS'coupled'
p8781
aS'coupled'
p8782
asS'intuit'
p8783
(lp8784
S'intuits'
p8785
aS'intuiting'
p8786
aS'intuited'
p8787
aS'intuited'
p8788
asS'quest'
p8789
(lp8790
S'quests'
p8791
aS'questing'
p8792
aS'quested'
p8793
aS'quested'
p8794
asS'blackjack'
p8795
(lp8796
S'blackjacks'
p8797
aS'blackjacking'
p8798
aS'blackjacked'
p8799
aS'blackjacked'
p8800
asS'outstay'
p8801
(lp8802
S'outstays'
p8803
aS'outstaying'
p8804
aS'outstayed'
p8805
aS'outstayed'
p8806
asS'towel'
p8807
(lp8808
S'towels'
p8809
aS'towelling'
p8810
aS'towelled'
p8811
aS'towelled'
p8812
asS'abduct'
p8813
(lp8814
S'abducts'
p8815
aS'abducting'
p8816
aS'abducted'
p8817
aS'abducted'
p8818
asS'flannel'
p8819
(lp8820
S'flannels'
p8821
aS'flannelling'
p8822
aS'flannelled'
p8823
aS'flannelled'
p8824
asS'bruit'
p8825
(lp8826
S'bruits'
p8827
aS'bruiting'
p8828
aS'bruited'
p8829
aS'bruited'
p8830
asS'constipate'
p8831
(lp8832
S'constipates'
p8833
aS'constipating'
p8834
aS'constipated'
p8835
aS'constipated'
p8836
asS'continue'
p8837
(lp8838
S'continues'
p8839
aS'continuing'
p8840
aS'continued'
p8841
aS'continued'
p8842
asS'bogie'
p8843
(lp8844
S'bogies'
p8845
aS'bogying'
p8846
aS'bogied'
p8847
aS'bogied'
p8848
asS'decrease'
p8849
(lp8850
S'decreases'
p8851
aS'decreasing'
p8852
aS'decreased'
p8853
aS'decreased'
p8854
asS'disorder'
p8855
(lp8856
S'disorders'
p8857
aS'disordering'
p8858
aS'disordered'
p8859
aS'disordered'
p8860
asS'sensitize'
p8861
(lp8862
S'sensitizes'
p8863
aS'sensitizing'
p8864
aS'sensitized'
p8865
aS'sensitized'
p8866
asS'crescendo'
p8867
(lp8868
S'crescendoes'
p8869
aS'crescendoing'
p8870
aS'crescendoed'
p8871
aS'crescendoed'
p8872
asS'gargle'
p8873
(lp8874
S'gargles'
p8875
aS'gargling'
p8876
aS'gargled'
p8877
aS'gargled'
p8878
asS'spring'
p8879
(lp8880
S'springs'
p8881
aS'springing'
p8882
aS'sprung'
p8883
asS'comp`ere'
p8884
(lp8885
S'comp`eres'
p8886
aS'comp`ering'
p8887
aS'comp`ered'
p8888
aS'comp`ered'
p8889
asS'bounce'
p8890
(lp8891
S'bounces'
p8892
aS'bouncing'
p8893
aS'bounced'
p8894
aS'bounced'
p8895
asS'beckon'
p8896
(lp8897
S'beckons'
p8898
aS'beckoning'
p8899
aS'beckoned'
p8900
aS'beckoned'
p8901
asS'palm'
p8902
(lp8903
S'palms'
p8904
aS'palming'
p8905
aS'palmed'
p8906
aS'palmed'
p8907
asS'peptize'
p8908
(lp8909
S'peptizes'
p8910
aS'peptizing'
p8911
aS'peptized'
p8912
aS'peptized'
p8913
asS'sprint'
p8914
(lp8915
S'sprints'
p8916
aS'sprinting'
p8917
aS'sprinted'
p8918
aS'sprinted'
p8919
asS'pale'
p8920
(lp8921
S'pales'
p8922
aS'paling'
p8923
aS'paled'
p8924
aS'paled'
p8925
asS'etymologize'
p8926
(lp8927
S'etymologizes'
p8928
aS'etymologizing'
p8929
aS'etymologized'
p8930
aS'etymologized'
p8931
asS'untangle'
p8932
(lp8933
S'untangles'
p8934
aS'untangling'
p8935
aS'untangled'
p8936
aS'untangled'
p8937
asS'disinfest'
p8938
(lp8939
S'disinfests'
p8940
aS'disinfesting'
p8941
aS'disinfested'
p8942
aS'disinfested'
p8943
asS'twinkle'
p8944
(lp8945
S'twinkles'
p8946
aS'twinkling'
p8947
aS'twinkled'
p8948
aS'twinkled'
p8949
asS'behave'
p8950
(lp8951
S'behaves'
p8952
aS'behaving'
p8953
aS'behaved'
p8954
aS'behaved'
p8955
asS'osculate'
p8956
(lp8957
S'osculates'
p8958
aS'osculating'
p8959
aS'osculated'
p8960
aS'osculated'
p8961
asS'be'
p8962
(lp8963
S'am'
p8964
aS'are'
p8965
aS'is'
p8966
aS'are'
p8967
aS'being'
p8968
aS'was'
p8969
aS'were'
p8970
aS'was'
p8971
aS'were'
p8972
aS'were'
p8973
aS'been'
p8974
aS'am not'
p8975
aS"aren't"
p8976
aS"isn't"
p8977
aS"aren't"
p8978
aS"wasn't"
p8979
aS"weren't"
p8980
aS"wasn't"
p8981
aS"weren't"
p8982
aS"weren't"
p8983
asS'suburbanize'
p8984
(lp8985
S'suburbanizes'
p8986
aS'suburbanizing'
p8987
aS'suburbanized'
p8988
aS'suburbanized'
p8989
asS'hachure'
p8990
(lp8991
S'hachures'
p8992
aS'hachuring'
p8993
aS'hachured'
p8994
aS'hachured'
p8995
asS'carol'
p8996
(lp8997
S'carols'
p8998
aS'carolling'
p8999
aS'carolled'
p9000
aS'carolled'
p9001
asS'ward'
p9002
(lp9003
S'wards'
p9004
aS'warding'
p9005
aS'warded'
p9006
aS'warded'
p9007
asS'zip'
p9008
(lp9009
S'zips'
p9010
aS'zipping'
p9011
aS'zipped'
p9012
aS'zipped'
p9013
asS'coexist'
p9014
(lp9015
S'coexists'
p9016
aS'coexisting'
p9017
aS'coexisted'
p9018
aS'coexisted'
p9019
asS'hatchel'
p9020
(lp9021
S'hatchels'
p9022
aS'hatcheling'
p9023
aS'hatcheled'
p9024
aS'hatcheled'
p9025
asS'frizzle'
p9026
(lp9027
S'frizzles'
p9028
aS'frizzling'
p9029
aS'frizzled'
p9030
aS'frizzled'
p9031
asS'filagree'
p9032
(lp9033
S'filagrees'
p9034
aS'filagreeing'
p9035
aS'filagreed'
p9036
aS'filagreed'
p9037
asS'upswell'
p9038
(lp9039
S'upswells'
p9040
aS'upswelling'
p9041
aS'upswelled'
p9042
aS'upswelled'
p9043
asS'repair'
p9044
(lp9045
S'repairs'
p9046
aS'repairing'
p9047
aS'repaired'
p9048
aS'repaired'
p9049
asS'reverence'
p9050
(lp9051
S'reverences'
p9052
aS'reverencing'
p9053
aS'reverenced'
p9054
aS'reverenced'
p9055
asS'noddle'
p9056
(lp9057
S'noddles'
p9058
aS'noddling'
p9059
aS'noddled'
p9060
aS'noddled'
p9061
asS'recreate'
p9062
(lp9063
S'recreates'
p9064
aS'recreating'
p9065
aS'recreated'
p9066
aS'recreated'
p9067
asS'appropriate'
p9068
(lp9069
S'appropriates'
p9070
aS'appropriating'
p9071
aS'appropriated'
p9072
aS'appropriated'
p9073
asS'blench'
p9074
(lp9075
S'blenches'
p9076
aS'blenching'
p9077
aS'blenched'
p9078
aS'blenched'
p9079
asS'span'
p9080
(lp9081
S'spans'
p9082
aS'spanning'
p9083
aS'spanned'
p9084
aS'spanned'
p9085
asS'traduce'
p9086
(lp9087
S'traduces'
p9088
aS'traducing'
p9089
aS'traduced'
p9090
aS'traduced'
p9091
asS'phosphorate'
p9092
(lp9093
S'phosphorates'
p9094
aS'phosphorating'
p9095
aS'phosphorated'
p9096
aS'phosphorated'
p9097
asS'spag'
p9098
(lp9099
S'spags'
p9100
aS'spagging'
p9101
aS'spagged'
p9102
aS'spagged'
p9103
asS'chide'
p9104
(lp9105
S'chides'
p9106
aS'chiding'
p9107
aS'chided'
p9108
aS'chided'
p9109
asS'spae'
p9110
(lp9111
S'spaes'
p9112
aS'spaeing'
p9113
aS'spaed'
p9114
aS'spaed'
p9115
asS'occupy'
p9116
(lp9117
S'occupies'
p9118
aS'occupying'
p9119
aS'occupied'
p9120
aS'occupied'
p9121
asS'spay'
p9122
(lp9123
S'spays'
p9124
aS'spaying'
p9125
aS'spayed'
p9126
aS'spayed'
p9127
asS'mishandle'
p9128
(lp9129
S'mishandles'
p9130
aS'mishandling'
p9131
aS'mishandled'
p9132
aS'mishandled'
p9133
asS'suit'
p9134
(lp9135
S'suits'
p9136
aS'suiting'
p9137
aS'suited'
p9138
aS'suited'
p9139
asS'spar'
p9140
(lp9141
S'spars'
p9142
aS'sparring'
p9143
aS'sparred'
p9144
aS'sparred'
p9145
asS'blueprint'
p9146
(lp9147
S'blueprints'
p9148
aS'blueprinting'
p9149
aS'blueprinted'
p9150
aS'blueprinted'
p9151
asS'encipher'
p9152
(lp9153
S'enciphers'
p9154
aS'enciphering'
p9155
aS'enciphered'
p9156
aS'enciphered'
p9157
asS'litigate'
p9158
(lp9159
S'litigates'
p9160
aS'litigating'
p9161
aS'litigated'
p9162
aS'litigated'
p9163
asS'fidge'
p9164
(lp9165
S'fidges'
p9166
aS'fidging'
p9167
aS'fidged'
p9168
aS'fidged'
p9169
asS'tally'
p9170
(lp9171
S'tallies'
p9172
aS'tallying'
p9173
aS'tallied'
p9174
aS'tallied'
p9175
asS'coedit'
p9176
(lp9177
S'coedits'
p9178
aS'coediting'
p9179
aS'coedited'
p9180
aS'coedited'
p9181
asS'link'
p9182
(lp9183
S'links'
p9184
aS'linking'
p9185
aS'linked'
p9186
aS'linked'
p9187
asS'line'
p9188
(lp9189
S'lines'
p9190
aS'lining'
p9191
aS'lined'
p9192
aS'lined'
p9193
asS'photosynthesize'
p9194
(lp9195
S'photosynthesizes'
p9196
aS'photosynthesizing'
p9197
aS'photosynthesized'
p9198
aS'photosynthesized'
p9199
asS'angle-park'
p9200
(lp9201
S'angle-parks'
p9202
aS'angle-parking'
p9203
aS'angle-parked'
p9204
aS'angle-parked'
p9205
asS'harangue'
p9206
(lp9207
S'harangues'
p9208
aS'haranguing'
p9209
aS'harangued'
p9210
aS'harangued'
p9211
asS'up'
p9212
(lp9213
S'upping'
p9214
aS'upped'
p9215
aS'upped'
p9216
asS'slander'
p9217
(lp9218
S'slanders'
p9219
aS'slandering'
p9220
aS'slandered'
p9221
aS'slandered'
p9222
asS'dropkick'
p9223
(lp9224
S'dropkicks'
p9225
aS'dropkicking'
p9226
aS'dropkicked'
p9227
aS'dropkicked'
p9228
asS'mature'
p9229
(lp9230
S'matures'
p9231
aS'maturing'
p9232
aS'matured'
p9233
aS'matured'
p9234
asS'dehumidify'
p9235
(lp9236
S'dehumidifies'
p9237
aS'dehumidifying'
p9238
aS'dehumidified'
p9239
aS'dehumidified'
p9240
asS'reconcile'
p9241
(lp9242
S'reconciles'
p9243
aS'reconciling'
p9244
aS'reconciled'
p9245
aS'reconciled'
p9246
asS'confiscate'
p9247
(lp9248
S'confiscates'
p9249
aS'confiscating'
p9250
aS'confiscated'
p9251
aS'confiscated'
p9252
asS'overland'
p9253
(lp9254
S'overlands'
p9255
aS'overlanding'
p9256
aS'overlanded'
p9257
aS'overlanded'
p9258
asS'influence'
p9259
(lp9260
S'influences'
p9261
aS'influencing'
p9262
aS'influenced'
p9263
aS'influenced'
p9264
asS'haunt'
p9265
(lp9266
S'haunts'
p9267
aS'haunting'
p9268
aS'haunted'
p9269
aS'haunted'
p9270
asS'snaffle'
p9271
(lp9272
S'snaffles'
p9273
aS'snaffling'
p9274
aS'snaffled'
p9275
aS'snaffled'
p9276
asS'char'
p9277
(lp9278
S'chars'
p9279
aS'charring'
p9280
aS'charred'
p9281
aS'charred'
p9282
asS'chap'
p9283
(lp9284
S'chaps'
p9285
aS'chapping'
p9286
aS'chapped'
p9287
aS'chapped'
p9288
asS'muckrake'
p9289
(lp9290
S'muckrakes'
p9291
aS'muckraking'
p9292
aS'muckraked'
p9293
aS'muckraked'
p9294
asS'chaw'
p9295
(lp9296
S'chaws'
p9297
aS'chawing'
p9298
aS'chawed'
p9299
aS'chawed'
p9300
asS'chat'
p9301
(lp9302
S'chats'
p9303
aS'chatting'
p9304
aS'chatted'
p9305
aS'chatted'
p9306
asS'disremember'
p9307
(lp9308
S'disremembers'
p9309
aS'disremembering'
p9310
aS'disremembered'
p9311
aS'disremembered'
p9312
asS'touzle'
p9313
(lp9314
S'touzles'
p9315
aS'touzling'
p9316
aS'touzled'
p9317
aS'touzled'
p9318
asS'copulate'
p9319
(lp9320
S'copulates'
p9321
aS'copulating'
p9322
aS'copulated'
p9323
aS'copulated'
p9324
asS'retrace'
p9325
(lp9326
S'retraces'
p9327
aS'retracing'
p9328
aS'retraced'
p9329
aS'retraced'
p9330
asS'metaphrase'
p9331
(lp9332
S'metaphrases'
p9333
aS'metaphrasing'
p9334
aS'metaphrased'
p9335
aS'metaphrased'
p9336
asS'invalid'
p9337
(lp9338
S'invalids'
p9339
aS'invaliding'
p9340
aS'invalided'
p9341
aS'invalided'
p9342
asS'mistime'
p9343
(lp9344
S'mistimes'
p9345
aS'mistiming'
p9346
aS'mistimed'
p9347
aS'mistimed'
p9348
asS'glair'
p9349
(lp9350
S'glairs'
p9351
aS'glairing'
p9352
aS'glaired'
p9353
aS'glaired'
p9354
asS'victual'
p9355
(lp9356
S'victuals'
p9357
aS'victualling'
p9358
aS'victualled'
p9359
aS'victualled'
p9360
asS'retract'
p9361
(lp9362
S'retracts'
p9363
aS'retracting'
p9364
aS'retracted'
p9365
aS'retracted'
p9366
asS'deviate'
p9367
(lp9368
S'deviates'
p9369
aS'deviating'
p9370
aS'deviated'
p9371
aS'deviated'
p9372
asS'remilitarize'
p9373
(lp9374
S'remilitarizes'
p9375
aS'remilitarizing'
p9376
aS'remilitarized'
p9377
aS'remilitarized'
p9378
asS'scrub'
p9379
(lp9380
S'scrubs'
p9381
aS'scrubbing'
p9382
aS'scrubbed'
p9383
aS'scrubbed'
p9384
asS'besiege'
p9385
(lp9386
S'besieges'
p9387
aS'besieging'
p9388
aS'besieged'
p9389
aS'besieged'
p9390
asS'oblige'
p9391
(lp9392
S'obliges'
p9393
aS'obliging'
p9394
aS'obliged'
p9395
aS'obliged'
p9396
asS'kerfuffle'
p9397
(lp9398
S'kerfuffles'
p9399
aS'kerfuffling'
p9400
aS'kerfuffled'
p9401
aS'kerfuffled'
p9402
asS'scrum'
p9403
(lp9404
S'scrums'
p9405
aS'scrumming'
p9406
aS'scrummed'
p9407
aS'scrummed'
p9408
asS'hackney'
p9409
(lp9410
S'hackneys'
p9411
aS'hackneying'
p9412
aS'hackneyed'
p9413
aS'hackneyed'
p9414
asS'land'
p9415
(lp9416
S'lands'
p9417
aS'landing'
p9418
aS'landed'
p9419
aS'landed'
p9420
asS'wafer'
p9421
(lp9422
S'wafers'
p9423
aS'wafering'
p9424
aS'wafered'
p9425
aS'wafered'
p9426
asS'overtop'
p9427
(lp9428
S'overtops'
p9429
aS'overtopping'
p9430
aS'overtopped'
p9431
aS'overtopped'
p9432
asS'metabolize'
p9433
(lp9434
S'metabolizes'
p9435
aS'metabolizing'
p9436
aS'metabolized'
p9437
aS'metabolized'
p9438
asS'crease'
p9439
(lp9440
S'creases'
p9441
aS'creasing'
p9442
aS'creased'
p9443
aS'creased'
p9444
asS'feud'
p9445
(lp9446
S'feuds'
p9447
aS'feuding'
p9448
aS'feuded'
p9449
aS'feuded'
p9450
asS'disencumber'
p9451
(lp9452
S'disencumbers'
p9453
aS'disencumbering'
p9454
aS'disencumbered'
p9455
aS'disencumbered'
p9456
asS'crinkle'
p9457
(lp9458
S'crinkles'
p9459
aS'crinkling'
p9460
aS'crinkled'
p9461
aS'crinkled'
p9462
asS'fresh'
p9463
(lp9464
S'freshes'
p9465
aS'freshing'
p9466
aS'freshed'
p9467
aS'freshed'
p9468
asS'menace'
p9469
(lp9470
S'menaces'
p9471
aS'menacing'
p9472
aS'menaced'
p9473
aS'menaced'
p9474
asS'essay'
p9475
(lp9476
S'essays'
p9477
aS'essaying'
p9478
aS'essayed'
p9479
aS'essayed'
p9480
asS'code'
p9481
(lp9482
S'codes'
p9483
aS'coding'
p9484
aS'coded'
p9485
aS'coded'
p9486
asS'piddle'
p9487
(lp9488
S'piddles'
p9489
aS'piddling'
p9490
aS'piddled'
p9491
aS'piddled'
p9492
asS'scratch'
p9493
(lp9494
S'scratches'
p9495
aS'scratching'
p9496
aS'scratched'
p9497
aS'scratched'
p9498
asS'broaden'
p9499
(lp9500
S'broadens'
p9501
aS'broadening'
p9502
aS'broadened'
p9503
aS'broadened'
p9504
asS'guerdon'
p9505
(lp9506
S'guerdons'
p9507
aS'guerdoning'
p9508
aS'guerdoned'
p9509
aS'guerdoned'
p9510
asS'soften'
p9511
(lp9512
S'softens'
p9513
aS'softening'
p9514
aS'softened'
p9515
aS'softened'
p9516
asS'toggle'
p9517
(lp9518
S'toggles'
p9519
aS'toggling'
p9520
aS'toggled'
p9521
aS'toggled'
p9522
asS'euhemerize'
p9523
(lp9524
S'euhemerizes'
p9525
aS'euhemerizing'
p9526
aS'euhemerized'
p9527
aS'euhemerized'
p9528
asS'gossip'
p9529
(lp9530
S'gossips'
p9531
aS'gossipping'
p9532
aS'gossipped'
p9533
aS'gossipped'
p9534
asS'resonate'
p9535
(lp9536
S'resonates'
p9537
aS'resonating'
p9538
aS'resonated'
p9539
aS'resonated'
p9540
asS'impanel'
p9541
(lp9542
S'impanels'
p9543
aS'impanelling'
p9544
aS'impanelled'
p9545
aS'impanelled'
p9546
asS'send'
p9547
(lp9548
S'sends'
p9549
aS'sending'
p9550
aS'sent'
p9551
aS'sent'
p9552
asS'mimeograph'
p9553
(lp9554
S'mimeographs'
p9555
aS'mimeographing'
p9556
aS'mimeographed'
p9557
aS'mimeographed'
p9558
asS'niello'
p9559
(lp9560
S'niellos'
p9561
aS'nielloing'
p9562
aS'nielloed'
p9563
aS'nielloed'
p9564
asS'dislike'
p9565
(lp9566
S'dislikes'
p9567
aS'disliking'
p9568
aS'disliked'
p9569
aS'disliked'
p9570
asS'overstrain'
p9571
(lp9572
S'overstrains'
p9573
aS'overstraining'
p9574
aS'overstrained'
p9575
aS'overstrained'
p9576
asS'garden'
p9577
(lp9578
S'gardens'
p9579
aS'gardening'
p9580
aS'gardened'
p9581
aS'gardened'
p9582
asS'torture'
p9583
(lp9584
S'tortures'
p9585
aS'torturing'
p9586
aS'tortured'
p9587
aS'tortured'
p9588
asS'nonplus'
p9589
(lp9590
S'nonplusses'
p9591
aS'nonplussing'
p9592
aS'nonplussed'
p9593
aS'nonplussed'
p9594
asS'snowshoe'
p9595
(lp9596
S'snowshoes'
p9597
aS'snowshoeing'
p9598
aS'snowshoed'
p9599
aS'snowshoed'
p9600
asS'promise'
p9601
(lp9602
S'promises'
p9603
aS'promising'
p9604
aS'promised'
p9605
aS'promised'
p9606
asS'wipe'
p9607
(lp9608
S'wipes'
p9609
aS'wiping'
p9610
aS'wiped'
p9611
aS'wiped'
p9612
asS'marry'
p9613
(lp9614
S'marries'
p9615
aS'marrying'
p9616
aS'married'
p9617
aS'married'
p9618
asS'try'
p9619
(lp9620
S'tries'
p9621
aS'trying'
p9622
aS'tried'
p9623
aS'tried'
p9624
asS'race'
p9625
(lp9626
S'races'
p9627
aS'racing'
p9628
aS'raced'
p9629
aS'raced'
p9630
asS'gauge'
p9631
(lp9632
S'gauges'
p9633
aS'gauging'
p9634
aS'gauged'
p9635
aS'gauged'
p9636
asS'stodge'
p9637
(lp9638
S'stodges'
p9639
aS'stodging'
p9640
aS'stodged'
p9641
aS'stodged'
p9642
asS'sextuplicate'
p9643
(lp9644
S'sextuplicates'
p9645
aS'sextuplicating'
p9646
aS'sextuplicated'
p9647
aS'sextuplicated'
p9648
asS'abet'
p9649
(lp9650
S'abets'
p9651
aS'abetting'
p9652
aS'abetted'
p9653
aS'abetted'
p9654
asS'pledge'
p9655
(lp9656
S'pledges'
p9657
aS'pledging'
p9658
aS'pledged'
p9659
aS'pledged'
p9660
asS'ligate'
p9661
(lp9662
S'ligates'
p9663
aS'ligating'
p9664
aS'ligated'
p9665
aS'ligated'
p9666
asS'tittup'
p9667
(lp9668
S'tittups'
p9669
aS'tittupping'
p9670
aS'tittupped'
p9671
aS'tittupped'
p9672
asS'crook'
p9673
(lp9674
S'crooks'
p9675
aS'crooking'
p9676
aS'crooked'
p9677
aS'crooked'
p9678
asS'imply'
p9679
(lp9680
S'implies'
p9681
aS'implying'
p9682
aS'implied'
p9683
aS'implied'
p9684
asS'croon'
p9685
(lp9686
S'croons'
p9687
aS'crooning'
p9688
aS'crooned'
p9689
aS'crooned'
p9690
asS'pour'
p9691
(lp9692
S'pours'
p9693
aS'pouring'
p9694
aS'poured'
p9695
aS'poured'
p9696
asS'carillon'
p9697
(lp9698
S'carillons'
p9699
aS'carillonning'
p9700
aS'carillonned'
p9701
aS'carillonned'
p9702
asS'index'
p9703
(lp9704
S'indexes'
p9705
aS'indexing'
p9706
aS'indexed'
p9707
aS'indexed'
p9708
asS'twine'
p9709
(lp9710
S'twines'
p9711
aS'twining'
p9712
aS'twined'
p9713
aS'twined'
p9714
asS'reforest'
p9715
(lp9716
S'reforests'
p9717
aS'reforesting'
p9718
aS'reforested'
p9719
aS'reforested'
p9720
asS'randomize'
p9721
(lp9722
S'randomizes'
p9723
aS'randomizing'
p9724
aS'randomized'
p9725
aS'randomized'
p9726
asS'birr'
p9727
(lp9728
S'birrs'
p9729
aS'birring'
p9730
aS'birred'
p9731
aS'birred'
p9732
asS'glissade'
p9733
(lp9734
S'glissades'
p9735
aS'glissading'
p9736
aS'glissaded'
p9737
aS'glissaded'
p9738
asS'inmesh'
p9739
(lp9740
S'inmeshes'
p9741
aS'inmeshing'
p9742
aS'inmeshed'
p9743
aS'inmeshed'
p9744
asS'throb'
p9745
(lp9746
S'throbs'
p9747
aS'throbbing'
p9748
aS'throbbed'
p9749
aS'throbbed'
p9750
asS'birl'
p9751
(lp9752
S'birls'
p9753
aS'birling'
p9754
aS'birled'
p9755
aS'birled'
p9756
asS'proffer'
p9757
(lp9758
S'proffers'
p9759
aS'proffering'
p9760
aS'proffered'
p9761
aS'proffered'
p9762
asS'blowdry'
p9763
(lp9764
S'blowdries'
p9765
aS'blowdrying'
p9766
aS'blowdried'
p9767
aS'blowdried'
p9768
asS'unmask'
p9769
(lp9770
S'unmasks'
p9771
aS'unmasking'
p9772
aS'unmasked'
p9773
aS'unmasked'
p9774
asS'rollerskate'
p9775
(lp9776
S'rollerskates'
p9777
aS'rollerskating'
p9778
aS'rollerskated'
p9779
aS'rollerskated'
p9780
asS'leg'
p9781
(lp9782
S'legs'
p9783
aS'legging'
p9784
aS'legged'
p9785
aS'legged'
p9786
asS'cosset'
p9787
(lp9788
S'cossets'
p9789
aS'cosseting'
p9790
aS'cosseted'
p9791
aS'cosseted'
p9792
asS'let'
p9793
(lp9794
S'lets'
p9795
aS'letting'
p9796
aS'let'
p9797
aS'let'
p9798
asS'reduplicate'
p9799
(lp9800
S'reduplicates'
p9801
aS'reduplicating'
p9802
aS'reduplicated'
p9803
aS'reduplicated'
p9804
asS'licence'
p9805
(lp9806
S'licences'
p9807
aS'licencing'
p9808
aS'licenced'
p9809
aS'licenced'
p9810
asS'denitrify'
p9811
(lp9812
S'denitrifies'
p9813
aS'denitrifying'
p9814
aS'denitrified'
p9815
aS'denitrified'
p9816
asS'playact'
p9817
(lp9818
S'playacts'
p9819
aS'playacting'
p9820
aS'playacted'
p9821
aS'playacted'
p9822
asS'vinegar'
p9823
(lp9824
S'vinegars'
p9825
aS'vinegaring'
p9826
aS'vinegared'
p9827
aS'vinegared'
p9828
asS'engage'
p9829
(lp9830
S'engages'
p9831
aS'engaging'
p9832
aS'engaged'
p9833
aS'engaged'
p9834
asS'coopt'
p9835
(lp9836
S'coopts'
p9837
aS'coopting'
p9838
aS'coopted'
p9839
aS'coopted'
p9840
asS'receive'
p9841
(lp9842
S'receives'
p9843
aS'receiving'
p9844
aS'received'
p9845
aS'received'
p9846
asS'cartelize'
p9847
(lp9848
S'cartelizes'
p9849
aS'cartelizing'
p9850
aS'cartelized'
p9851
aS'cartelized'
p9852
asS'scatter'
p9853
(lp9854
S'scatters'
p9855
aS'scattering'
p9856
aS'scattered'
p9857
aS'scattered'
p9858
asS'disenfranchise'
p9859
(lp9860
S'disenfranchises'
p9861
aS'disenfranchising'
p9862
aS'disenfranchised'
p9863
aS'disenfranchised'
p9864
asS'defeat'
p9865
(lp9866
S'defeats'
p9867
aS'defeating'
p9868
aS'defeated'
p9869
aS'defeated'
p9870
asS'atomize'
p9871
(lp9872
S'atomizes'
p9873
aS'atomizing'
p9874
aS'atomized'
p9875
aS'atomized'
p9876
asS'rive'
p9877
(lp9878
S'rives'
p9879
aS'riving'
p9880
aS'rived'
p9881
aS'riven'
p9882
asS'recriminate'
p9883
(lp9884
S'recriminates'
p9885
aS'recriminating'
p9886
aS'recriminated'
p9887
aS'recriminated'
p9888
asS'countervail'
p9889
(lp9890
S'countervails'
p9891
aS'countervailing'
p9892
aS'countervailed'
p9893
aS'countervailed'
p9894
asS'sire'
p9895
(lp9896
S'sires'
p9897
aS'siring'
p9898
aS'sired'
p9899
aS'sired'
p9900
asS'disobey'
p9901
(lp9902
S'disobeys'
p9903
aS'disobeying'
p9904
aS'disobeyed'
p9905
aS'disobeyed'
p9906
asS'extricate'
p9907
(lp9908
S'extricates'
p9909
aS'extricating'
p9910
aS'extricated'
p9911
aS'extricated'
p9912
asS'repugn'
p9913
(lp9914
S'repugns'
p9915
aS'repugning'
p9916
aS'repugned'
p9917
aS'repugned'
p9918
asS'reckon'
p9919
(lp9920
S'reckons'
p9921
aS'reckoning'
p9922
aS'reckoned'
p9923
aS'reckoned'
p9924
asS'extirpate'
p9925
(lp9926
S'extirpates'
p9927
aS'extirpating'
p9928
aS'extirpated'
p9929
aS'extirpated'
p9930
asS'clype'
p9931
(lp9932
S'clypes'
p9933
aS'clyping'
p9934
aS'clyped'
p9935
aS'clyped'
p9936
asS'mortify'
p9937
(lp9938
S'mortifies'
p9939
aS'mortifying'
p9940
aS'mortified'
p9941
aS'mortified'
p9942
asS'soliloquize'
p9943
(lp9944
S'soliloquizes'
p9945
aS'soliloquizing'
p9946
aS'soliloquized'
p9947
aS'soliloquized'
p9948
asS'mutch'
p9949
(lp9950
S'mutches'
p9951
aS'mutching'
p9952
aS'mutched'
p9953
aS'mutched'
p9954
asS'certificate'
p9955
(lp9956
S'certificates'
p9957
aS'certificating'
p9958
aS'certificated'
p9959
aS'certificated'
p9960
asS'vocalize'
p9961
(lp9962
S'vocalizes'
p9963
aS'vocalizing'
p9964
aS'vocalized'
p9965
aS'vocalized'
p9966
asS'levant'
p9967
(lp9968
S'levants'
p9969
aS'levanting'
p9970
aS'levanted'
p9971
aS'levanted'
p9972
asS'reexport'
p9973
(lp9974
S'reexports'
p9975
aS'reexporting'
p9976
aS'reexported'
p9977
aS'reexported'
p9978
asS'process'
p9979
(lp9980
S'processes'
p9981
aS'processing'
p9982
aS'processed'
p9983
aS'processed'
p9984
asS'duplicate'
p9985
(lp9986
S'duplicates'
p9987
aS'duplicating'
p9988
aS'duplicated'
p9989
aS'duplicated'
p9990
asS'doubt'
p9991
(lp9992
S'doubts'
p9993
aS'doubting'
p9994
aS'doubted'
p9995
aS'doubted'
p9996
asS'pencil'
p9997
(lp9998
S'pencils'
p9999
aS'pencilling'
p10000
aS'pencilled'
p10001
aS'pencilled'
p10002
asS'shipwreck'
p10003
(lp10004
S'shipwrecks'
p10005
aS'shipwrecking'
p10006
aS'shipwrecked'
p10007
aS'shipwrecked'
p10008
asS'unplug'
p10009
(lp10010
S'unplugs'
p10011
aS'unplugging'
p10012
aS'unplugged'
p10013
aS'unplugged'
p10014
asS'Aryanize'
p10015
(lp10016
S'Aryanizes'
p10017
aS'Aryanizing'
p10018
aS'Aryanized'
p10019
aS'Aryanized'
p10020
asS'rubbish'
p10021
(lp10022
S'rubbishes'
p10023
aS'rubbishing'
p10024
aS'rubbished'
p10025
aS'rubbished'
p10026
asS'baby'
p10027
(lp10028
S'babies'
p10029
aS'babying'
p10030
aS'babied'
p10031
aS'babied'
p10032
asS'chivy'
p10033
(lp10034
S'chivvies'
p10035
aS'chivying'
p10036
aS'chivvied'
p10037
aS'chivvied'
p10038
asS'getter'
p10039
(lp10040
S'getters'
p10041
aS'gettering'
p10042
aS'gettered'
p10043
aS'gettered'
p10044
asS'casserole'
p10045
(lp10046
S'casseroles'
p10047
aS'casseroling'
p10048
aS'casseroled'
p10049
aS'casseroled'
p10050
asS'entangle'
p10051
(lp10052
S'entangles'
p10053
aS'entangling'
p10054
aS'entangled'
p10055
aS'entangled'
p10056
asS'forelock'
p10057
(lp10058
S'forelocks'
p10059
aS'forelocking'
p10060
aS'forelocked'
p10061
aS'forelocked'
p10062
asS'pout'
p10063
(lp10064
S'pouts'
p10065
aS'pouting'
p10066
aS'pouted'
p10067
aS'pouted'
p10068
asS'challenge'
p10069
(lp10070
S'challenges'
p10071
aS'challenging'
p10072
aS'challenged'
p10073
aS'challenged'
p10074
asS'inculpate'
p10075
(lp10076
S'inculpates'
p10077
aS'inculpating'
p10078
aS'inculpated'
p10079
aS'inculpated'
p10080
asS'reproduce'
p10081
(lp10082
S'reproduces'
p10083
aS'reproducing'
p10084
aS'reproduced'
p10085
aS'reproduced'
p10086
asS'retell'
p10087
(lp10088
S'retells'
p10089
aS'retelling'
p10090
aS'retold'
p10091
aS'retold'
p10092
asS'thin'
p10093
(lp10094
S'thins'
p10095
aS'thinning'
p10096
aS'thinned'
p10097
aS'thinned'
p10098
asS'drill'
p10099
(lp10100
S'drills'
p10101
aS'drilling'
p10102
aS'drilled'
p10103
aS'drilled'
p10104
asS'fulfill'
p10105
(lp10106
S'fulfils'
p10107
aS'fulfilling'
p10108
aS'fulfilled'
p10109
aS'fulfilled'
p10110
asS'plug'
p10111
(lp10112
S'plugs'
p10113
aS'pluging'
p10114
aS'pluged'
p10115
aS'pluged'
p10116
asS'wedge'
p10117
(lp10118
S'wedges'
p10119
aS'wedging'
p10120
aS'wedged'
p10121
aS'wedged'
p10122
asS'anglify'
p10123
(lp10124
S'anglifies'
p10125
aS'anglifying'
p10126
aS'anglified'
p10127
aS'anglified'
p10128
asS'pawn'
p10129
(lp10130
S'pawns'
p10131
aS'pawning'
p10132
aS'pawned'
p10133
aS'pawned'
p10134
asS'diabolize'
p10135
(lp10136
S'diabolizes'
p10137
aS'diabolizing'
p10138
aS'diabolized'
p10139
aS'diabolized'
p10140
asS'lock'
p10141
(lp10142
S'locks'
p10143
aS'locking'
p10144
aS'locked'
p10145
aS'locked'
p10146
asS'slim'
p10147
(lp10148
S'slims'
p10149
ag5463
ag5464
ag5465
asS'loco'
p10150
(lp10151
S'locos'
p10152
aS'locoing'
p10153
aS'locoed'
p10154
aS'locoed'
p10155
asS'spruce'
p10156
(lp10157
S'spruces'
p10158
aS'sprucing'
p10159
aS'spruced'
p10160
aS'spruced'
p10161
asS'slit'
p10162
(lp10163
S'slits'
p10164
aS'slitting'
p10165
aS'slit'
p10166
aS'slit'
p10167
asS'bend'
p10168
(lp10169
S'bends'
p10170
aS'bending'
p10171
aS'bent'
p10172
aS'bent'
p10173
asS'slip'
p10174
(lp10175
S'slips'
p10176
aS'slipping'
p10177
aS'slipped'
p10178
aS'slipped'
p10179
asS'martyr'
p10180
(lp10181
S'martyrs'
p10182
aS'martyring'
p10183
aS'martyred'
p10184
aS'martyred'
p10185
asS'trumpet'
p10186
(lp10187
S'trumpets'
p10188
aS'trumpeting'
p10189
aS'trumpeted'
p10190
aS'trumpeted'
p10191
asS'weaken'
p10192
(lp10193
S'weakens'
p10194
aS'weakening'
p10195
aS'weakened'
p10196
aS'weakened'
p10197
asS'rhubarb'
p10198
(lp10199
S'rhubarbs'
p10200
aS'rhubarbing'
p10201
aS'rhubarbed'
p10202
aS'rhubarbed'
p10203
asS'portage'
p10204
(lp10205
S'portages'
p10206
aS'portaging'
p10207
aS'portaged'
p10208
aS'portaged'
p10209
asS'delay'
p10210
(lp10211
S'delays'
p10212
aS'delaying'
p10213
aS'delayed'
p10214
aS'delayed'
p10215
asS'belly-laugh'
p10216
(lp10217
g2
ag3
ag4
ag5
asS'opine'
p10218
(lp10219
S'opines'
p10220
aS'opining'
p10221
aS'opined'
p10222
aS'opined'
p10223
asS'smut'
p10224
(lp10225
S'smuts'
p10226
aS'smutting'
p10227
aS'smutted'
p10228
aS'smutted'
p10229
asS'stang'
p10230
(lp10231
S'stangs'
p10232
aS'stanging'
p10233
aS'stanged'
p10234
aS'stanged'
p10235
asS'halter'
p10236
(lp10237
sS'await'
p10238
(lp10239
S'awaits'
p10240
aS'awaiting'
p10241
aS'awaited'
p10242
aS'awaited'
p10243
asS'electroform'
p10244
(lp10245
S'electroforms'
p10246
aS'electroforming'
p10247
aS'electroformed'
p10248
aS'electroformed'
p10249
asS'ozonize'
p10250
(lp10251
S'ozonizes'
p10252
aS'ozonizing'
p10253
aS'ozonized'
p10254
aS'ozonized'
p10255
asS'tier'
p10256
(lp10257
S'tiers'
p10258
aS'tiering'
p10259
aS'tiered'
p10260
aS'tiered'
p10261
asS'jumpstart'
p10262
(lp10263
S'jumpstarts'
p10264
aS'jumpstarting'
p10265
aS'jumpstarted'
p10266
aS'jumpstarted'
p10267
asS'cabbage'
p10268
(lp10269
S'cabbages'
p10270
aS'cabbaging'
p10271
aS'cabbaged'
p10272
aS'cabbaged'
p10273
asS'hawk'
p10274
(lp10275
S'hawks'
p10276
aS'hawking'
p10277
aS'hawked'
p10278
aS'hawked'
p10279
asS'autograph'
p10280
(lp10281
S'autographs'
p10282
aS'autographing'
p10283
aS'autographed'
p10284
aS'autographed'
p10285
asS'counter'
p10286
(lp10287
S'counters'
p10288
aS'countering'
p10289
aS'countered'
p10290
aS'countered'
p10291
asS'writ'
p10292
(lp10293
S'writs'
p10294
aS'writing'
p10295
aS'writed'
p10296
aS'writed'
p10297
asS'allot'
p10298
(lp10299
S'allots'
p10300
aS'allotting'
p10301
aS'allotted'
p10302
aS'allotted'
p10303
asS'allow'
p10304
(lp10305
S'allows'
p10306
aS'allowing'
p10307
aS'allowed'
p10308
aS'allowed'
p10309
asS'lactate'
p10310
(lp10311
S'lactates'
p10312
aS'lactating'
p10313
aS'lactated'
p10314
aS'lactated'
p10315
asS'alloy'
p10316
(lp10317
S'alloys'
p10318
aS'alloying'
p10319
aS'alloyed'
p10320
aS'alloyed'
p10321
asS'sweettalk'
p10322
(lp10323
S'sweettalks'
p10324
aS'sweettalking'
p10325
aS'sweettalked'
p10326
aS'sweettalked'
p10327
asS'presuppose'
p10328
(lp10329
S'presupposes'
p10330
aS'presupposing'
p10331
aS'presupposed'
p10332
aS'presupposed'
p10333
asS'incandesce'
p10334
(lp10335
S'incandesces'
p10336
aS'incandescing'
p10337
aS'incandesced'
p10338
aS'incandesced'
p10339
asS'placekick'
p10340
(lp10341
S'placekicks'
p10342
aS'placekicking'
p10343
aS'placekicked'
p10344
aS'placekicked'
p10345
asS'interstratify'
p10346
(lp10347
S'interstratifies'
p10348
aS'interstratifying'
p10349
aS'interstratified'
p10350
aS'interstratified'
p10351
asS'mute'
p10352
(lp10353
S'mutes'
p10354
aS'muting'
p10355
aS'muted'
p10356
aS'muted'
p10357
asS'move'
p10358
(lp10359
S'moves'
p10360
aS'moving'
p10361
aS'moved'
p10362
aS'moved'
p10363
asS'macerate'
p10364
(lp10365
S'macerates'
p10366
aS'macerating'
p10367
aS'macerated'
p10368
aS'macerated'
p10369
asS'parleyvoo'
p10370
(lp10371
S'parleyvoos'
p10372
aS'parleyvooing'
p10373
aS'parleyvooed'
p10374
aS'parleyvooed'
p10375
asS'phenolate'
p10376
(lp10377
S'phenolates'
p10378
aS'phenolating'
p10379
aS'phenolated'
p10380
aS'phenolated'
p10381
asS'bellyland'
p10382
(lp10383
S'bellylands'
p10384
aS'bellylanding'
p10385
aS'bellylanded'
p10386
aS'bellylanded'
p10387
asS'perfect'
p10388
(lp10389
S'perfects'
p10390
aS'perfecting'
p10391
aS'perfected'
p10392
aS'perfected'
p10393
asS'decay'
p10394
(lp10395
S'decays'
p10396
aS'decaying'
p10397
aS'decayed'
p10398
aS'decayed'
p10399
asS'hypothesize'
p10400
(lp10401
S'hypothesizes'
p10402
aS'hypothesizing'
p10403
aS'hypothesized'
p10404
aS'hypothesized'
p10405
asS'dispose'
p10406
(lp10407
S'disposes'
p10408
aS'disposing'
p10409
aS'disposed'
p10410
aS'disposed'
p10411
asS'interlink'
p10412
(lp10413
S'interlinks'
p10414
aS'interlinking'
p10415
aS'interlinked'
p10416
aS'interlinked'
p10417
asS'shudder'
p10418
(lp10419
S'shudders'
p10420
aS'shuddering'
p10421
aS'shuddered'
p10422
aS'shuddered'
p10423
asS'decal'
p10424
(lp10425
S'decals'
p10426
aS'decaling'
p10427
aS'decaled'
p10428
aS'decaled'
p10429
asS'prosper'
p10430
(lp10431
S'prospers'
p10432
aS'prospering'
p10433
aS'prospered'
p10434
aS'prospered'
p10435
asS'impetrate'
p10436
(lp10437
S'impetrates'
p10438
aS'impetrating'
p10439
aS'impetrated'
p10440
aS'impetrated'
p10441
asS'belch'
p10442
(lp10443
S'belches'
p10444
aS'belching'
p10445
aS'belched'
p10446
aS'belched'
p10447
asS'Hebraize'
p10448
(lp10449
S'Hebraizes'
p10450
aS'Hebraizing'
p10451
aS'Hebraized'
p10452
aS'Hebraized'
p10453
asS'earn'
p10454
(lp10455
S'earns'
p10456
aS'earning'
p10457
aS'earned'
p10458
aS'earned'
p10459
asS'launder'
p10460
(lp10461
S'launders'
p10462
aS'laundering'
p10463
aS'laundered'
p10464
aS'laundered'
p10465
asS'dock'
p10466
(lp10467
S'docks'
p10468
aS'docking'
p10469
aS'docked'
p10470
aS'docked'
p10471
asS'sandpaper'
p10472
(lp10473
S'sandpapers'
p10474
aS'sandpapering'
p10475
aS'sandpapered'
p10476
aS'sandpapered'
p10477
asS'kiss'
p10478
(lp10479
S'kisses'
p10480
aS'kissing'
p10481
aS'kissed'
p10482
aS'kissed'
p10483
asS'cage'
p10484
(lp10485
S'cages'
p10486
aS'caging'
p10487
aS'caged'
p10488
aS'caged'
p10489
asS'realize'
p10490
(lp10491
S'realizes'
p10492
aS'realizing'
p10493
aS'realized'
p10494
aS'realized'
p10495
asS'renovate'
p10496
(lp10497
S'renovates'
p10498
aS'renovating'
p10499
aS'renovated'
p10500
aS'renovated'
p10501
asS'vernalize'
p10502
(lp10503
S'vernalizes'
p10504
aS'vernalizing'
p10505
aS'vernalized'
p10506
aS'vernalized'
p10507
asS'concave'
p10508
(lp10509
S'concaves'
p10510
aS'concaving'
p10511
aS'concaved'
p10512
aS'concaved'
p10513
asS'feminize'
p10514
(lp10515
S'feminizes'
p10516
aS'feminizing'
p10517
aS'feminized'
p10518
aS'feminized'
p10519
asS'colonize'
p10520
(lp10521
S'colonizes'
p10522
aS'colonizing'
p10523
aS'colonized'
p10524
aS'colonized'
p10525
asS'effuse'
p10526
(lp10527
S'effuses'
p10528
aS'effusing'
p10529
aS'effused'
p10530
aS'effused'
p10531
asS'scorch'
p10532
(lp10533
S'scorches'
p10534
aS'scorching'
p10535
aS'scorched'
p10536
aS'scorched'
p10537
asS'bump'
p10538
(lp10539
S'bumps'
p10540
aS'bumping'
p10541
aS'bumped'
p10542
aS'bumped'
p10543
asS'variegate'
p10544
(lp10545
S'variegates'
p10546
aS'variegating'
p10547
aS'variegated'
p10548
aS'variegated'
p10549
asS'tack'
p10550
(lp10551
S'tacks'
p10552
aS'tacking'
p10553
aS'tacked'
p10554
aS'tacked'
p10555
asS'xylograph'
p10556
(lp10557
S'xylographs'
p10558
aS'xylographing'
p10559
aS'xylographed'
p10560
aS'xylographed'
p10561
asS'castigate'
p10562
(lp10563
S'castigates'
p10564
aS'castigating'
p10565
aS'castigated'
p10566
aS'castigated'
p10567
asS'mete'
p10568
(lp10569
S'metes'
p10570
aS'meting'
p10571
aS'meted'
p10572
aS'meted'
p10573
asS'differ'
p10574
(lp10575
S'differs'
p10576
aS'differing'
p10577
aS'differed'
p10578
aS'differed'
p10579
asS'hackle'
p10580
(lp10581
S'hackles'
p10582
aS'hackling'
p10583
aS'hackled'
p10584
aS'hackled'
p10585
asS'wander'
p10586
(lp10587
S'wanders'
p10588
aS'wandering'
p10589
aS'wandered'
p10590
aS'wandered'
p10591
asS'witness'
p10592
(lp10593
S'witnesses'
p10594
aS'witnessing'
p10595
aS'witnessed'
p10596
aS'witnessed'
p10597
asS'scape'
p10598
(lp10599
S'scapes'
p10600
aS'scaping'
p10601
aS'scaped'
p10602
aS'scaped'
p10603
asS'cess'
p10604
(lp10605
S'cesses'
p10606
aS'cessing'
p10607
aS'cessed'
p10608
aS'cessed'
p10609
asS'burke'
p10610
(lp10611
S'burkes'
p10612
aS'burking'
p10613
aS'burked'
p10614
aS'burked'
p10615
asS'stare'
p10616
(lp10617
S'stares'
p10618
aS'staring'
p10619
aS'stared'
p10620
aS'stared'
p10621
asS'shut'
p10622
(lp10623
S'shuts'
p10624
aS'shutting'
p10625
aS'shut'
p10626
aS'shut'
p10627
asS'wallpaper'
p10628
(lp10629
S'wallpapers'
p10630
aS'wallpapering'
p10631
aS'wallpapered'
p10632
aS'wallpapered'
p10633
asS'perish'
p10634
(lp10635
S'perishes'
p10636
aS'perishing'
p10637
aS'perished'
p10638
aS'perished'
p10639
asS'expurgate'
p10640
(lp10641
S'expurgates'
p10642
aS'expurgating'
p10643
aS'expurgated'
p10644
aS'expurgated'
p10645
asS'decoct'
p10646
(lp10647
S'decocts'
p10648
aS'decocting'
p10649
aS'decocted'
p10650
aS'decocted'
p10651
asS'graze'
p10652
(lp10653
S'grazes'
p10654
aS'grazing'
p10655
aS'grazed'
p10656
aS'grazed'
p10657
asS'tempt'
p10658
(lp10659
S'tempts'
p10660
aS'tempting'
p10661
aS'tempted'
p10662
aS'tempted'
p10663
asS'initialize'
p10664
(lp10665
S'initializes'
p10666
aS'initializing'
p10667
aS'initialized'
p10668
aS'initialized'
p10669
asS'embarrass'
p10670
(lp10671
S'embarrasses'
p10672
aS'embarrassing'
p10673
aS'embarrassed'
p10674
aS'embarrassed'
p10675
asS'gusset'
p10676
(lp10677
S'gussets'
p10678
aS'gusseting'
p10679
aS'gusseted'
p10680
aS'gusseted'
p10681
asS'prepare'
p10682
(lp10683
S'prepares'
p10684
aS'preparing'
p10685
aS'prepared'
p10686
aS'prepared'
p10687
asS'spill'
p10688
(lp10689
S'spills'
p10690
aS'spilling'
p10691
aS'spilt'
p10692
aS'spilt'
p10693
asS'scarp'
p10694
(lp10695
S'scarps'
p10696
aS'scarping'
p10697
aS'scarped'
p10698
aS'scarped'
p10699
asS'put'
p10700
(lp10701
S'puts'
p10702
aS'putting'
p10703
aS'put'
p10704
aS'put'
p10705
asS'spile'
p10706
(lp10707
S'spiles'
p10708
aS'spiling'
p10709
aS'spiled'
p10710
aS'spiled'
p10711
asS'scare'
p10712
(lp10713
S'scares'
p10714
aS'scaring'
p10715
aS'scared'
p10716
aS'scared'
p10717
asS'cannonball'
p10718
(lp10719
S'cannonballs'
p10720
aS'cannonballing'
p10721
aS'cannonballed'
p10722
aS'cannonballed'
p10723
asS'scend'
p10724
(lp10725
S'scends'
p10726
aS'scending'
p10727
aS'sended'
p10728
aS'sended'
p10729
asS'dogmatize'
p10730
(lp10731
S'dogmatizes'
p10732
aS'dogmatizing'
p10733
aS'dogmatized'
p10734
aS'dogmatized'
p10735
asS'scent'
p10736
(lp10737
S'scents'
p10738
aS'scenting'
p10739
aS'scented'
p10740
aS'scented'
p10741
asS'prank'
p10742
(lp10743
S'pranks'
p10744
aS'pranking'
p10745
aS'pranked'
p10746
aS'pranked'
p10747
asS'impulse-buy'
p10748
(lp10749
S'impulse-buys'
p10750
aS'impulse-buying'
p10751
aS'impulse-bought'
p10752
aS'impulse-bought'
p10753
asS'dilapidate'
p10754
(lp10755
S'dilapidates'
p10756
aS'dilapidating'
p10757
aS'dilapidated'
p10758
aS'dilapidated'
p10759
asS'fray'
p10760
(lp10761
S'frays'
p10762
aS'fraying'
p10763
aS'frayed'
p10764
aS'frayed'
p10765
asS'haver'
p10766
(lp10767
S'havers'
p10768
aS'havering'
p10769
aS'havered'
p10770
aS'havered'
p10771
asS'accompany'
p10772
(lp10773
S'accompanies'
p10774
aS'accompanying'
p10775
aS'accompanied'
p10776
aS'accompanied'
p10777
asS'aerate'
p10778
(lp10779
S'aerates'
p10780
aS'aerating'
p10781
aS'aerated'
p10782
aS'aerated'
p10783
asS'chagrin'
p10784
(lp10785
S'chagrins'
p10786
aS'chagrining'
p10787
aS'chagrined'
p10788
aS'chagrined'
p10789
asS'barnstorm'
p10790
(lp10791
S'barnstorms'
p10792
aS'barnstorming'
p10793
aS'barnstormed'
p10794
aS'barnstormed'
p10795
asS'burlesque'
p10796
(lp10797
S'burlesques'
p10798
aS'burlesquing'
p10799
aS'burlesqued'
p10800
aS'burlesqued'
p10801
asS'nebulize'
p10802
(lp10803
S'nebulizes'
p10804
aS'nebulizing'
p10805
aS'nebulized'
p10806
aS'nebulized'
p10807
asS'thresh'
p10808
(lp10809
S'threshes'
p10810
aS'threshing'
p10811
aS'threshed'
p10812
aS'threshed'
p10813
asS'haven'
p10814
(lp10815
S'havens'
p10816
aS'havening'
p10817
aS'havened'
p10818
aS'havened'
p10819
asS'steel'
p10820
(lp10821
S'steels'
p10822
aS'steeling'
p10823
aS'steeled'
p10824
aS'steeled'
p10825
asS'copyread'
p10826
(lp10827
S'copyreads'
p10828
aS'copyreading'
p10829
aS'copyread'
p10830
aS'copyread'
p10831
asS'wet'
p10832
(lp10833
S'wets'
p10834
aS'wetting'
p10835
aS'wetted'
p10836
aS'wetted'
p10837
asS'dower'
p10838
(lp10839
S'dowers'
p10840
aS'dowering'
p10841
aS'dowered'
p10842
aS'dowered'
p10843
asS'caponize'
p10844
(lp10845
S'caponizes'
p10846
aS'caponizing'
p10847
aS'caponized'
p10848
aS'caponized'
p10849
asS'traipse'
p10850
(lp10851
S'traipses'
p10852
aS'traipsing'
p10853
aS'traipsed'
p10854
aS'traipsed'
p10855
asS'intertwine'
p10856
(lp10857
S'intertwines'
p10858
aS'intertwining'
p10859
aS'intertwined'
p10860
aS'intertwined'
p10861
asS'disband'
p10862
(lp10863
S'disbands'
p10864
aS'disbanding'
p10865
aS'disbanded'
p10866
aS'disbanded'
p10867
asS'unman'
p10868
(lp10869
S'unmans'
p10870
aS'unmanning'
p10871
aS'unmanned'
p10872
aS'unmanned'
p10873
asS'amble'
p10874
(lp10875
S'ambles'
p10876
aS'ambling'
p10877
aS'ambled'
p10878
aS'ambled'
p10879
asS'misunderstand'
p10880
(lp10881
S'misunderstands'
p10882
aS'misunderstanding'
p10883
aS'misunderstood'
p10884
aS'misunderstood'
p10885
asS'prefabricate'
p10886
(lp10887
S'prefabricates'
p10888
aS'prefabricating'
p10889
aS'prefabricated'
p10890
aS'prefabricated'
p10891
asS'beggar'
p10892
(lp10893
S'beggars'
p10894
aS'beggaring'
p10895
aS'beggared'
p10896
aS'beggared'
p10897
asS'leach'
p10898
(lp10899
S'leaches'
p10900
aS'leaching'
p10901
aS'leached'
p10902
aS'leached'
p10903
asS'gentle'
p10904
(lp10905
S'gentles'
p10906
aS'gentling'
p10907
aS'gentled'
p10908
aS'gentled'
p10909
asS'delaminate'
p10910
(lp10911
S'delaminates'
p10912
aS'delaminating'
p10913
aS'delaminated'
p10914
aS'delaminated'
p10915
asS'outplay'
p10916
(lp10917
S'outplays'
p10918
aS'outplaying'
p10919
aS'outplayed'
p10920
aS'outplayed'
p10921
asS'heft'
p10922
(lp10923
S'hefts'
p10924
aS'hefting'
p10925
aS'hefted'
p10926
aS'hefted'
p10927
asS'soak'
p10928
(lp10929
S'soaks'
p10930
aS'soaking'
p10931
aS'soaked'
p10932
aS'soaked'
p10933
asS'photolithograph'
p10934
(lp10935
S'photolithographs'
p10936
aS'photolithographing'
p10937
aS'photolithographed'
p10938
aS'photolithographed'
p10939
asS'lilt'
p10940
(lp10941
S'lilts'
p10942
aS'lilting'
p10943
aS'lilted'
p10944
aS'lilted'
p10945
asS'cozen'
p10946
(lp10947
S'cozens'
p10948
aS'cozening'
p10949
aS'cozened'
p10950
aS'cozened'
p10951
asS'soap'
p10952
(lp10953
S'soaps'
p10954
aS'soaping'
p10955
aS'soaped'
p10956
aS'soaped'
p10957
asS'soar'
p10958
(lp10959
S'soars'
p10960
aS'soaring'
p10961
aS'soared'
p10962
aS'soared'
p10963
asS'voyage'
p10964
(lp10965
S'voyages'
p10966
aS'voyaging'
p10967
aS'voyaged'
p10968
aS'voyaged'
p10969
asS'cipher'
p10970
(lp10971
S'ciphers'
p10972
aS'ciphering'
p10973
aS'ciphered'
p10974
aS'ciphered'
p10975
asS'vise'
p10976
(lp10977
S'vises'
p10978
aS'vising'
p10979
aS'vised'
p10980
aS'vised'
p10981
asS'medal'
p10982
(lp10983
S'medals'
p10984
aS'medalling'
p10985
aS'medalled'
p10986
aS'medalled'
p10987
asS'tergiversate'
p10988
(lp10989
S'tergiversates'
p10990
aS'tergiversating'
p10991
aS'tergiversated'
p10992
aS'tergiversated'
p10993
asS'underset'
p10994
(lp10995
S'undersets'
p10996
aS'undersetting'
p10997
aS'underset'
p10998
aS'underset'
p10999
asS'amortize'
p11000
(lp11001
S'amortizes'
p11002
aS'amortizing'
p11003
aS'amortized'
p11004
aS'amortized'
p11005
asS'reignite'
p11006
(lp11007
S'reignites'
p11008
aS'reigniting'
p11009
aS'reignited'
p11010
aS'reignited'
p11011
asS'enlist'
p11012
(lp11013
S'enlists'
p11014
aS'enlisting'
p11015
aS'enlisted'
p11016
aS'enlisted'
p11017
asS'brey'
p11018
(lp11019
S'breys'
p11020
aS'breying'
p11021
aS'breyed'
p11022
aS'breyed'
p11023
asS'sideslip'
p11024
(lp11025
sS'brew'
p11026
(lp11027
S'brews'
p11028
aS'brewing'
p11029
aS'brewed'
p11030
aS'brewed'
p11031
asS'overrate'
p11032
(lp11033
S'overrates'
p11034
aS'overrating'
p11035
aS'overrated'
p11036
aS'overrated'
p11037
asS'terminate'
p11038
(lp11039
S'terminates'
p11040
aS'terminating'
p11041
aS'terminated'
p11042
aS'terminated'
p11043
asS'dissociate'
p11044
(lp11045
S'dissociates'
p11046
aS'dissociating'
p11047
aS'dissociated'
p11048
aS'dissociated'
p11049
asS'crimple'
p11050
(lp11051
S'crimples'
p11052
aS'crimpling'
p11053
aS'crimpled'
p11054
aS'crimpled'
p11055
asS'brine'
p11056
(lp11057
S'brines'
p11058
aS'brining'
p11059
aS'brined'
p11060
aS'brined'
p11061
asS'rouge'
p11062
(lp11063
S'rouges'
p11064
aS'rouging'
p11065
aS'rouged'
p11066
aS'rouged'
p11067
asS'rough'
p11068
(lp11069
S'roughs'
p11070
aS'roughing'
p11071
aS'roughed'
p11072
aS'roughed'
p11073
asS'miniaturize'
p11074
(lp11075
S'miniaturizes'
p11076
aS'miniaturizing'
p11077
aS'miniaturized'
p11078
aS'miniaturized'
p11079
asS'redirect'
p11080
(lp11081
S'redirects'
p11082
aS'redirecting'
p11083
aS'redirected'
p11084
aS'redirected'
p11085
asS'foredoom'
p11086
(lp11087
S'foredooms'
p11088
aS'foredooming'
p11089
aS'foredoomed'
p11090
aS'foredoomed'
p11091
asS'disillusion'
p11092
(lp11093
S'disillusions'
p11094
aS'disillusioning'
p11095
aS'disillusioned'
p11096
aS'disillusioned'
p11097
asS'pause'
p11098
(lp11099
S'pauses'
p11100
aS'pausing'
p11101
aS'paused'
p11102
aS'paused'
p11103
asS'typewrite'
p11104
(lp11105
S'typewrites'
p11106
aS'typewriting'
p11107
aS'typewrote'
p11108
aS'typewritten'
p11109
asS'jaw'
p11110
(lp11111
S'jaws'
p11112
aS'jawing'
p11113
aS'jawed'
p11114
aS'jawed'
p11115
asS'transfix'
p11116
(lp11117
S'transfixes'
p11118
aS'transfixing'
p11119
aS'transfixed'
p11120
aS'transfixed'
p11121
asS'jar'
p11122
(lp11123
S'jars'
p11124
aS'jarring'
p11125
aS'jarred'
p11126
aS'jarred'
p11127
asS'should'
p11128
(lp11129
S'shoulds'
p11130
aS'shoulding'
p11131
aS'shoulded'
p11132
aS'shoulded'
p11133
aS"shouldn't"
p11134
asS'cocainize'
p11135
(lp11136
S'cocainizes'
p11137
aS'cocainizing'
p11138
aS'cocainized'
p11139
aS'cocainized'
p11140
asS'jam'
p11141
(lp11142
S'jams'
p11143
aS'jamming'
p11144
aS'jammed'
p11145
aS'jammed'
p11146
asS'tape'
p11147
(lp11148
S'tapes'
p11149
aS'taping'
p11150
aS'taped'
p11151
aS'taped'
p11152
asS'unhallow'
p11153
(lp11154
S'unhallows'
p11155
aS'unhallowing'
p11156
aS'unhallowed'
p11157
aS'unhallowed'
p11158
asS'enwomb'
p11159
(lp11160
S'enwombs'
p11161
aS'enwombing'
p11162
aS'enwombed'
p11163
aS'enwombed'
p11164
asS'confederate'
p11165
(lp11166
S'confederates'
p11167
aS'confederating'
p11168
aS'confederated'
p11169
aS'confederated'
p11170
asS'anneal'
p11171
(lp11172
S'anneals'
p11173
aS'annealing'
p11174
aS'annealed'
p11175
aS'annealed'
p11176
asS'flinch'
p11177
(lp11178
S'flinches'
p11179
aS'flinching'
p11180
aS'flinched'
p11181
aS'flinched'
p11182
asS'hope'
p11183
(lp11184
S'hopes'
p11185
aS'hoping'
p11186
aS'hoped'
p11187
aS'hoped'
p11188
asS'handle'
p11189
(lp11190
S'handles'
p11191
aS'handling'
p11192
aS'handled'
p11193
aS'handled'
p11194
asS'winterkill'
p11195
(lp11196
S'winterkills'
p11197
aS'winterkilling'
p11198
aS'winterkilled'
p11199
aS'winterkilled'
p11200
asS'scutch'
p11201
(lp11202
S'scutches'
p11203
aS'scutching'
p11204
aS'scutched'
p11205
aS'scutched'
p11206
asS'wiggle'
p11207
(lp11208
S'wiggles'
p11209
aS'wiggling'
p11210
aS'wiggled'
p11211
aS'wiggled'
p11212
asS'rubricate'
p11213
(lp11214
S'rubricates'
p11215
aS'rubricating'
p11216
aS'rubricated'
p11217
aS'rubricated'
p11218
asS'wring'
p11219
(lp11220
S'wrings'
p11221
aS'wringing'
p11222
aS'wrung'
p11223
aS'wrung'
p11224
asS'smash'
p11225
(lp11226
S'smashes'
p11227
aS'smashing'
p11228
aS'smashed'
p11229
aS'smashed'
p11230
asS'dishearten'
p11231
(lp11232
S'disheartens'
p11233
aS'disheartening'
p11234
aS'disheartened'
p11235
aS'disheartened'
p11236
asS'transpierce'
p11237
(lp11238
S'transpierces'
p11239
aS'transpiercing'
p11240
aS'transpierced'
p11241
aS'transpierced'
p11242
asS'rappel'
p11243
(lp11244
S'rappels'
p11245
aS'rappelling'
p11246
aS'rappelled'
p11247
aS'rappelled'
p11248
asS'stuff'
p11249
(lp11250
S'stuffs'
p11251
aS'stuffing'
p11252
aS'stuffed'
p11253
aS'stuffed'
p11254
asS'levigate'
p11255
(lp11256
S'levigates'
p11257
aS'levigating'
p11258
aS'levigated'
p11259
aS'levigated'
p11260
asS'shortchange'
p11261
(lp11262
S'shortchanges'
p11263
aS'shortchanging'
p11264
aS'shortchanged'
p11265
aS'shortchanged'
p11266
asS'rein'
p11267
(lp11268
S'reins'
p11269
aS'reining'
p11270
aS'reined'
p11271
aS'reined'
p11272
asS'exude'
p11273
(lp11274
S'exudes'
p11275
aS'exuding'
p11276
aS'exuded'
p11277
aS'exuded'
p11278
asS'preserve'
p11279
(lp11280
S'preserves'
p11281
aS'preserving'
p11282
aS'preserved'
p11283
aS'preserved'
p11284
asS'frame'
p11285
(lp11286
S'frames'
p11287
aS'framing'
p11288
aS'framed'
p11289
aS'framed'
p11290
asS'packet'
p11291
(lp11292
S'packets'
p11293
aS'packeting'
p11294
aS'packeted'
p11295
aS'packeted'
p11296
asS'sclaff'
p11297
(lp11298
S'sclaffs'
p11299
aS'sclaffing'
p11300
aS'sclaffed'
p11301
aS'sclaffed'
p11302
asS'tiptoe'
p11303
(lp11304
S'tiptoes'
p11305
aS'tiptoeing'
p11306
aS'tiptoed'
p11307
aS'tiptoed'
p11308
asS'airmail'
p11309
(lp11310
S'airmails'
p11311
aS'airmailing'
p11312
aS'airmailed'
p11313
aS'airmailed'
p11314
asS'wire'
p11315
(lp11316
S'wires'
p11317
aS'wiring'
p11318
aS'wired'
p11319
aS'wired'
p11320
asS'cense'
p11321
(lp11322
S'censes'
p11323
aS'censing'
p11324
aS'censed'
p11325
aS'censed'
p11326
asS'posse'
p11327
(lp11328
S'possing'
p11329
aS'possed'
p11330
aS'possed'
p11331
asS'macadamize'
p11332
(lp11333
S'macadamizes'
p11334
aS'macadamizing'
p11335
aS'macadamized'
p11336
aS'macadamized'
p11337
asS'legitimize'
p11338
(lp11339
S'legitimizes'
p11340
aS'legitimizing'
p11341
aS'legitimized'
p11342
aS'legitimized'
p11343
asS'destine'
p11344
(lp11345
S'destines'
p11346
aS'destining'
p11347
aS'destined'
p11348
aS'destined'
p11349
asS'pistol'
p11350
(lp11351
S'pistols'
p11352
aS'pistolling'
p11353
aS'pistolled'
p11354
aS'pistolled'
p11355
asS'corrode'
p11356
(lp11357
S'corrodes'
p11358
aS'corroding'
p11359
aS'corroded'
p11360
aS'corroded'
p11361
asS'browbeat'
p11362
(lp11363
S'browbeats'
p11364
aS'browbeating'
p11365
aS'browbeat'
p11366
aS'browbeaten'
p11367
asS'keynote'
p11368
(lp11369
S'keynotes'
p11370
aS'keynoting'
p11371
aS'keynoted'
p11372
aS'keynoted'
p11373
asS'tenter'
p11374
(lp11375
S'tenters'
p11376
aS'tentering'
p11377
aS'tentered'
p11378
aS'tentered'
p11379
asS'interpolate'
p11380
(lp11381
S'interpolates'
p11382
aS'interpolating'
p11383
aS'interpolated'
p11384
aS'interpolated'
p11385
asS'weary'
p11386
(lp11387
S'wearies'
p11388
aS'wearying'
p11389
aS'wearied'
p11390
aS'wearied'
p11391
asS'drum'
p11392
(lp11393
S'drums'
p11394
aS'drumming'
p11395
aS'drummed'
p11396
aS'drummed'
p11397
asS'drub'
p11398
(lp11399
S'drubs'
p11400
aS'drubbing'
p11401
aS'drubbed'
p11402
aS'drubbed'
p11403
asS'ramp'
p11404
(lp11405
S'ramps'
p11406
aS'ramping'
p11407
aS'ramped'
p11408
aS'ramped'
p11409
asS'drug'
p11410
(lp11411
S'drugs'
p11412
aS'drugging'
p11413
aS'drugged'
p11414
aS'drugged'
p11415
asS'dogear'
p11416
(lp11417
S'dogears'
p11418
aS'dogearing'
p11419
aS'dogeared'
p11420
aS'dogeared'
p11421
asS'cinder'
p11422
(lp11423
S'cinders'
p11424
aS'cindering'
p11425
aS'cindered'
p11426
aS'cindered'
p11427
asS'itemize'
p11428
(lp11429
S'itemizes'
p11430
aS'itemizing'
p11431
aS'itemized'
p11432
aS'itemized'
p11433
asS'ticktock'
p11434
(lp11435
S'ticktocks'
p11436
aS'ticktocking'
p11437
aS'ticktocked'
p11438
aS'ticktocked'
p11439
asS'roughen'
p11440
(lp11441
S'roughens'
p11442
aS'roughening'
p11443
aS'roughened'
p11444
aS'roughened'
p11445
asS'conclude'
p11446
(lp11447
S'concludes'
p11448
aS'concluding'
p11449
aS'concluded'
p11450
aS'concluded'
p11451
asS'revamp'
p11452
(lp11453
S'revamps'
p11454
aS'revamping'
p11455
aS'revamped'
p11456
aS'revamped'
p11457
asS'typify'
p11458
(lp11459
S'typifies'
p11460
aS'typifying'
p11461
aS'typified'
p11462
aS'typified'
p11463
asS'lustrate'
p11464
(lp11465
S'lustrates'
p11466
aS'lustrating'
p11467
aS'lustrated'
p11468
aS'lustrated'
p11469
asS'indict'
p11470
(lp11471
S'indicts'
p11472
aS'indicting'
p11473
aS'indicted'
p11474
aS'indicted'
p11475
asS'denitrate'
p11476
(lp11477
S'denitrates'
p11478
aS'denitrating'
p11479
aS'denitrated'
p11480
aS'denitrated'
p11481
asS'jubilate'
p11482
(lp11483
S'jubilates'
p11484
aS'jubilating'
p11485
aS'jubilated'
p11486
aS'jubilated'
p11487
asS'elute'
p11488
(lp11489
S'elutes'
p11490
aS'eluting'
p11491
aS'eluted'
p11492
aS'eluted'
p11493
asS'reexamine'
p11494
(lp11495
S'reexamines'
p11496
aS'reexamining'
p11497
aS'reexamined'
p11498
aS'reexamined'
p11499
asS'disject'
p11500
(lp11501
S'disjects'
p11502
aS'disjecting'
p11503
aS'disjected'
p11504
aS'disjected'
p11505
asS'quaver'
p11506
(lp11507
S'quavers'
p11508
aS'quavering'
p11509
aS'quavered'
p11510
aS'quavered'
p11511
asS'mismanage'
p11512
(lp11513
S'mismanages'
p11514
aS'mismanaging'
p11515
aS'mismanaged'
p11516
aS'mismanaged'
p11517
asS'divebomb'
p11518
(lp11519
S'divebombs'
p11520
aS'divebombing'
p11521
aS'divebombed'
p11522
aS'divebombed'
p11523
asS'entitle'
p11524
(lp11525
S'entitles'
p11526
aS'entitling'
p11527
aS'entitled'
p11528
aS'entitled'
p11529
asS'feather'
p11530
(lp11531
S'feathers'
p11532
aS'feathering'
p11533
aS'feathered'
p11534
aS'feathered'
p11535
asS'waste'
p11536
(lp11537
S'wastes'
p11538
aS'wasting'
p11539
aS'wasted'
p11540
aS'wasted'
p11541
asS'deflower'
p11542
(lp11543
S'deflowers'
p11544
aS'deflowering'
p11545
aS'deflowered'
p11546
aS'deflowered'
p11547
asS'ballast'
p11548
(lp11549
S'ballasts'
p11550
aS'ballasting'
p11551
aS'ballasted'
p11552
aS'ballasted'
p11553
asS'crisscross'
p11554
(lp11555
S'crisscrosses'
p11556
aS'crisscrossing'
p11557
aS'crisscrossed'
p11558
aS'crisscrossed'
p11559
asS'huggermugger'
p11560
(lp11561
S'huggermuggers'
p11562
aS'huggermuggering'
p11563
aS'huggermuggered'
p11564
aS'huggermuggered'
p11565
asS'neighbour'
p11566
(lp11567
S'neighbours'
p11568
aS'neighbouring'
p11569
aS'neighboured'
p11570
aS'neighboured'
p11571
asS'globe-trot'
p11572
(lp11573
S'globe-trots'
p11574
aS'globe-trotting'
p11575
aS'globe-trotted'
p11576
aS'globe-trotted'
p11577
asS'misguide'
p11578
(lp11579
S'misguides'
p11580
aS'misguiding'
p11581
aS'misguided'
p11582
aS'misguided'
p11583
asS'blackmarket'
p11584
(lp11585
S'blackmarkets'
p11586
aS'blackmarketing'
p11587
aS'blackmarketed'
p11588
aS'blackmarketed'
p11589
asS'banish'
p11590
(lp11591
S'banishes'
p11592
aS'banishing'
p11593
aS'banished'
p11594
aS'banished'
p11595
asS'afforest'
p11596
(lp11597
S'afforests'
p11598
aS'afforesting'
p11599
aS'afforested'
p11600
aS'afforested'
p11601
asS'bespangle'
p11602
(lp11603
S'bespangles'
p11604
aS'bespangling'
p11605
aS'bespangled'
p11606
aS'bespangled'
p11607
asS'fornicate'
p11608
(lp11609
S'fornicates'
p11610
aS'fornicating'
p11611
aS'fornicated'
p11612
aS'fornicated'
p11613
asS'sentimentalize'
p11614
(lp11615
S'sentimentalizes'
p11616
aS'sentimentalizing'
p11617
aS'sentimentalized'
p11618
aS'sentimentalized'
p11619
asS'work-to-rule'
p11620
(lp11621
S'work-to-ruling'
p11622
aS'work-to-ruled'
p11623
aS'work-to-ruled'
p11624
asS'maul'
p11625
(lp11626
S'mauls'
p11627
aS'mauling'
p11628
aS'mauled'
p11629
aS'mauled'
p11630
asS'groin'
p11631
(lp11632
S'groins'
p11633
aS'groining'
p11634
aS'groined'
p11635
aS'groined'
p11636
asS'inarch'
p11637
(lp11638
S'inarches'
p11639
aS'inarching'
p11640
aS'inarched'
p11641
aS'inarched'
p11642
asS'eyeball'
p11643
(lp11644
S'eyeballs'
p11645
aS'eyeballing'
p11646
aS'eyeballed'
p11647
aS'eyeballed'
p11648
asS'nictitate'
p11649
(lp11650
S'nictitates'
p11651
aS'nictitating'
p11652
aS'nictitated'
p11653
aS'nictitated'
p11654
asS'tenon'
p11655
(lp11656
S'tenons'
p11657
aS'tenoning'
p11658
aS'tenoned'
p11659
aS'tenoned'
p11660
asS'lush'
p11661
(lp11662
S'lushes'
p11663
aS'lushing'
p11664
aS'lushed'
p11665
aS'lushed'
p11666
asS'site'
p11667
(lp11668
S'sites'
p11669
aS'siting'
p11670
aS'sited'
p11671
aS'sited'
p11672
asS'lust'
p11673
(lp11674
S'lusts'
p11675
aS'lusting'
p11676
aS'lusted'
p11677
aS'lusted'
p11678
asS'denuclearize'
p11679
(lp11680
S'denuclearizes'
p11681
aS'denuclearizing'
p11682
aS'denuclearized'
p11683
aS'denuclearized'
p11684
asS'dag'
p11685
(lp11686
S'dags'
p11687
aS'dagging'
p11688
aS'dagged'
p11689
aS'dagged'
p11690
asS'overspend'
p11691
(lp11692
S'overspends'
p11693
aS'overspending'
p11694
aS'overspent'
p11695
aS'overspent'
p11696
asS'conserve'
p11697
(lp11698
S'conserves'
p11699
aS'conserving'
p11700
aS'conserved'
p11701
aS'conserved'
p11702
asS'ransom'
p11703
(lp11704
S'ransoms'
p11705
aS'ransoming'
p11706
aS'ransomed'
p11707
aS'ransomed'
p11708
asS'tattoo'
p11709
(lp11710
S'tattoos'
p11711
aS'tattooing'
p11712
aS'tattooed'
p11713
aS'tattooed'
p11714
asS'dilate'
p11715
(lp11716
S'dilates'
p11717
aS'dilating'
p11718
aS'dilated'
p11719
aS'dilated'
p11720
asS'ligature'
p11721
(lp11722
S'ligatures'
p11723
aS'ligaturing'
p11724
aS'ligatured'
p11725
aS'ligatured'
p11726
asS'incarnadine'
p11727
(lp11728
S'incarnadines'
p11729
aS'incarnadining'
p11730
aS'incarnadined'
p11731
aS'incarnadined'
p11732
asS'romance'
p11733
(lp11734
S'romances'
p11735
aS'romancing'
p11736
aS'romanced'
p11737
aS'romanced'
p11738
asS'unteach'
p11739
(lp11740
S'unteaches'
p11741
aS'unteaching'
p11742
aS'untaught'
p11743
aS'untaught'
p11744
asS'covenant'
p11745
(lp11746
S'covenants'
p11747
aS'covenanting'
p11748
aS'covenanted'
p11749
aS'covenanted'
p11750
asS'ball'
p11751
(lp11752
S'balls'
p11753
aS'balling'
p11754
aS'balled'
p11755
aS'balled'
p11756
asS'dusk'
p11757
(lp11758
S'dusks'
p11759
aS'dusking'
p11760
aS'dusked'
p11761
aS'dusked'
p11762
asS'bale'
p11763
(lp11764
S'bales'
p11765
aS'baling'
p11766
aS'baled'
p11767
aS'baled'
p11768
asS'drink'
p11769
(lp11770
S'drinks'
p11771
aS'drinking'
p11772
aS'drank'
p11773
aS'drunk'
p11774
asS'tassel'
p11775
(lp11776
S'tassels'
p11777
aS'tasselling'
p11778
aS'tasselled'
p11779
aS'tasselled'
p11780
asS'weigh'
p11781
(lp11782
S'weighs'
p11783
aS'weighing'
p11784
aS'weighed'
p11785
aS'weighed'
p11786
asS'dust'
p11787
(lp11788
S'dusts'
p11789
aS'dusting'
p11790
aS'dusted'
p11791
aS'dusted'
p11792
asS'nidify'
p11793
(lp11794
S'nidifies'
p11795
aS'nidifying'
p11796
aS'nidified'
p11797
aS'nidified'
p11798
asS'expand'
p11799
(lp11800
S'expands'
p11801
aS'expanding'
p11802
aS'expanded'
p11803
aS'expanded'
p11804
asS'audit'
p11805
(lp11806
S'audits'
p11807
aS'auditing'
p11808
aS'audited'
p11809
aS'audited'
p11810
asS'dislocate'
p11811
(lp11812
S'dislocates'
p11813
aS'dislocating'
p11814
aS'dislocated'
p11815
aS'dislocated'
p11816
asS'fascinate'
p11817
(lp11818
S'fascinates'
p11819
aS'fascinating'
p11820
aS'fascinated'
p11821
aS'fascinated'
p11822
asS'trudge'
p11823
(lp11824
S'trudges'
p11825
aS'trudging'
p11826
aS'trudged'
p11827
aS'trudged'
p11828
asS'shotgun'
p11829
(lp11830
S'shotguns'
p11831
aS'shotgunning'
p11832
aS'shotgunned'
p11833
aS'shotgunned'
p11834
asS'colour'
p11835
(lp11836
S'colours'
p11837
aS'colouring'
p11838
aS'coloured'
p11839
aS'coloured'
p11840
asS'undernourish'
p11841
(lp11842
S'undernourishes'
p11843
aS'undernourishing'
p11844
aS'undernourished'
p11845
aS'undernourished'
p11846
asS'enrage'
p11847
(lp11848
S'enrages'
p11849
aS'enraging'
p11850
aS'enraged'
p11851
aS'enraged'
p11852
asS'depurate'
p11853
(lp11854
S'depurates'
p11855
aS'depurating'
p11856
aS'depurated'
p11857
aS'depurated'
p11858
asS'command'
p11859
(lp11860
S'commands'
p11861
aS'commanding'
p11862
aS'commanded'
p11863
aS'commanded'
p11864
asS'circumstantiate'
p11865
(lp11866
S'circumstantiates'
p11867
aS'circumstantiating'
p11868
aS'circumstantiated'
p11869
aS'circumstantiated'
p11870
asS'disrelish'
p11871
(lp11872
S'disrelishes'
p11873
aS'disrelishing'
p11874
aS'disrelished'
p11875
aS'disrelished'
p11876
asS'methodize'
p11877
(lp11878
S'methodizes'
p11879
aS'methodizing'
p11880
aS'methodized'
p11881
aS'methodized'
p11882
asS'snake'
p11883
(lp11884
S'snakes'
p11885
aS'snaking'
p11886
aS'snaked'
p11887
aS'snaked'
p11888
asS'gully'
p11889
(lp11890
S'gullies'
p11891
aS'gullying'
p11892
aS'gullied'
p11893
aS'gullied'
p11894
asS'restructure'
p11895
(lp11896
S'restructures'
p11897
aS'restructuring'
p11898
aS'restructured'
p11899
aS'restructured'
p11900
asS'flesh'
p11901
(lp11902
S'fleshes'
p11903
aS'fleshing'
p11904
aS'fleshed'
p11905
aS'fleshed'
p11906
asS'overcloud'
p11907
(lp11908
S'overclouds'
p11909
aS'overclouding'
p11910
aS'overclouded'
p11911
aS'overclouded'
p11912
asS'glut'
p11913
(lp11914
S'gluts'
p11915
aS'glutting'
p11916
aS'glutted'
p11917
aS'glutted'
p11918
asS'parabolize'
p11919
(lp11920
S'parabolizes'
p11921
aS'parabolizing'
p11922
aS'parabolized'
p11923
aS'parabolized'
p11924
asS'glue'
p11925
(lp11926
S'glues'
p11927
aS'gluing'
p11928
aS'glued'
p11929
aS'glued'
p11930
asS'permute'
p11931
(lp11932
S'permutes'
p11933
aS'permuting'
p11934
aS'permuted'
p11935
aS'permuted'
p11936
asS'web'
p11937
(lp11938
S'webs'
p11939
aS'webbing'
p11940
aS'webbed'
p11941
aS'webbed'
p11942
asS'wed'
p11943
(lp11944
S'weds'
p11945
aS'wedding'
p11946
aS'wedded'
p11947
aS'wedded'
p11948
asS'upraise'
p11949
(lp11950
S'upraises'
p11951
aS'upraising'
p11952
aS'upraised'
p11953
aS'upraised'
p11954
asS'lattice'
p11955
(lp11956
S'lattices'
p11957
aS'latticing'
p11958
aS'latticed'
p11959
aS'latticed'
p11960
asS'combine'
p11961
(lp11962
S'combines'
p11963
aS'combining'
p11964
aS'combined'
p11965
aS'combined'
p11966
asS'exempt'
p11967
(lp11968
S'exempts'
p11969
aS'exempting'
p11970
aS'exempted'
p11971
aS'exempted'
p11972
asS'practise'
p11973
(lp11974
S'practises'
p11975
aS'practising'
p11976
aS'practised'
p11977
aS'practised'
p11978
asS'syncopate'
p11979
(lp11980
S'syncopates'
p11981
aS'syncopating'
p11982
aS'syncopated'
p11983
aS'syncopated'
p11984
asS'magnify'
p11985
(lp11986
S'magnifies'
p11987
aS'magnifying'
p11988
aS'magnified'
p11989
aS'magnified'
p11990
asS'taunt'
p11991
(lp11992
S'taunts'
p11993
aS'taunting'
p11994
aS'taunted'
p11995
aS'taunted'
p11996
asS'criminalize'
p11997
(lp11998
S'criminalizes'
p11999
aS'criminalizing'
p12000
aS'criminalized'
p12001
aS'criminalized'
p12002
asS'haul'
p12003
(lp12004
S'hauls'
p12005
aS'hauling'
p12006
aS'hauled'
p12007
aS'hauled'
p12008
asS'supervise'
p12009
(lp12010
S'supervises'
p12011
aS'supervising'
p12012
aS'supervised'
p12013
aS'supervised'
p12014
asS'atrophy'
p12015
(lp12016
S'atrophies'
p12017
aS'atrophying'
p12018
aS'atrophied'
p12019
aS'atrophied'
p12020
asS'tick'
p12021
(lp12022
S'ticks'
p12023
aS'ticking'
p12024
aS'ticked'
p12025
aS'ticked'
p12026
asS'crisp'
p12027
(lp12028
S'crisps'
p12029
aS'crisping'
p12030
aS'crisped'
p12031
aS'crisped'
p12032
asS'bulge'
p12033
(lp12034
S'bulges'
p12035
aS'bulging'
p12036
aS'bulged'
p12037
aS'bulged'
p12038
asS'resin'
p12039
(lp12040
S'resins'
p12041
aS'resining'
p12042
aS'resined'
p12043
aS'resined'
p12044
asS'garage'
p12045
(lp12046
S'garages'
p12047
aS'garaging'
p12048
aS'garaged'
p12049
aS'garaged'
p12050
asS'stagger'
p12051
(lp12052
S'staggers'
p12053
aS'staggering'
p12054
aS'staggered'
p12055
aS'staggered'
p12056
asS'resit'
p12057
(lp12058
S'resits'
p12059
aS'resitting'
p12060
aS'resat'
p12061
aS'resat'
p12062
asS'imprison'
p12063
(lp12064
S'imprisons'
p12065
aS'imprisoning'
p12066
aS'imprisoned'
p12067
aS'imprisoned'
p12068
asS'become'
p12069
(lp12070
S'becomes'
p12071
aS'becoming'
p12072
aS'became'
p12073
aS'become'
p12074
asS'sprain'
p12075
(lp12076
S'sprains'
p12077
aS'spraining'
p12078
aS'sprained'
p12079
aS'sprained'
p12080
asS'guaranty'
p12081
(lp12082
S'guaranties'
p12083
aS'guarantying'
p12084
aS'guarantied'
p12085
aS'guarantied'
p12086
asS'insphere'
p12087
(lp12088
S'inspheres'
p12089
aS'insphering'
p12090
aS'insphered'
p12091
aS'insphered'
p12092
asS'mure'
p12093
(lp12094
S'mures'
p12095
aS'muring'
p12096
aS'mured'
p12097
aS'mured'
p12098
asS'gride'
p12099
(lp12100
S'grides'
p12101
aS'griding'
p12102
aS'grided'
p12103
aS'grided'
p12104
asS'soothsay'
p12105
(lp12106
S'soothsays'
p12107
aS'soothsaying'
p12108
aS'soothsaid'
p12109
aS'soothsaid'
p12110
asS'flush'
p12111
(lp12112
S'flushes'
p12113
aS'flushing'
p12114
aS'flushed'
p12115
aS'flushed'
p12116
asS'wisecrack'
p12117
(lp12118
S'wisecracks'
p12119
aS'wisecracking'
p12120
aS'wisecracked'
p12121
aS'wisecracked'
p12122
asS'ballot'
p12123
(lp12124
S'ballots'
p12125
aS'balloting'
p12126
aS'balloted'
p12127
aS'balloted'
p12128
asS'transport'
p12129
(lp12130
S'transports'
p12131
aS'transporting'
p12132
aS'transported'
p12133
aS'transported'
p12134
asS'merge'
p12135
(lp12136
S'merges'
p12137
aS'merging'
p12138
aS'merged'
p12139
aS'merged'
p12140
asS'avoid'
p12141
(lp12142
S'avoids'
p12143
aS'avoiding'
p12144
aS'avoided'
p12145
aS'avoided'
p12146
asS'mezzotint'
p12147
(lp12148
S'mezzotints'
p12149
aS'mezzotinting'
p12150
aS'mezzotinted'
p12151
aS'mezzotinted'
p12152
asS'sustain'
p12153
(lp12154
S'sustains'
p12155
aS'sustaining'
p12156
aS'sustained'
p12157
aS'sustained'
p12158
asS'Hispanicize'
p12159
(lp12160
S'Hispanicizes'
p12161
aS'Hispanicizing'
p12162
aS'Hispanicized'
p12163
aS'Hispanicized'
p12164
asS'disfeature'
p12165
(lp12166
S'disfeatures'
p12167
aS'disfeaturing'
p12168
aS'disfeatured'
p12169
aS'disfeatured'
p12170
asS'demarcate'
p12171
(lp12172
S'demarcates'
p12173
aS'demarcating'
p12174
aS'demarcated'
p12175
aS'demarcated'
p12176
asS'pilfer'
p12177
(lp12178
S'pilfers'
p12179
aS'pilfering'
p12180
aS'pilfered'
p12181
aS'pilfered'
p12182
asS'putt'
p12183
(lp12184
S'putts'
p12185
ag10703
aS'putted'
p12186
aS'putted'
p12187
asS'cumber'
p12188
(lp12189
S'cumbers'
p12190
aS'cumbering'
p12191
aS'cumbered'
p12192
aS'cumbered'
p12193
asS'pressure'
p12194
(lp12195
S'pressures'
p12196
aS'pressuring'
p12197
aS'pressured'
p12198
aS'pressured'
p12199
asS'tint'
p12200
(lp12201
S'tints'
p12202
aS'tinting'
p12203
aS'tinted'
p12204
aS'tinted'
p12205
asS'belay'
p12206
(lp12207
S'belays'
p12208
aS'belaying'
p12209
aS'belayed'
p12210
aS'belayed'
p12211
asS'subsume'
p12212
(lp12213
S'subsumes'
p12214
aS'subsuming'
p12215
aS'subsumed'
p12216
aS'subsumed'
p12217
asS'stage'
p12218
(lp12219
S'stages'
p12220
aS'staging'
p12221
aS'staged'
p12222
aS'staged'
p12223
asS'overreach'
p12224
(lp12225
S'overreaches'
p12226
aS'overreaching'
p12227
aS'overreached'
p12228
aS'overreached'
p12229
asS'ingest'
p12230
(lp12231
S'ingests'
p12232
aS'ingesting'
p12233
aS'ingested'
p12234
aS'ingested'
p12235
asS'idolize'
p12236
(lp12237
S'idolizes'
p12238
aS'idolizing'
p12239
aS'idolized'
p12240
aS'idolized'
p12241
asS'grangerize'
p12242
(lp12243
S'grangerizes'
p12244
aS'grangerizing'
p12245
aS'grangerized'
p12246
aS'grangerized'
p12247
asS'revise'
p12248
(lp12249
S'revises'
p12250
aS'revising'
p12251
aS'revised'
p12252
aS'revised'
p12253
asS'concretize'
p12254
(lp12255
S'concretizes'
p12256
aS'concretizing'
p12257
aS'concretized'
p12258
aS'concretized'
p12259
asS'rectify'
p12260
(lp12261
S'rectifies'
p12262
aS'rectifying'
p12263
aS'rectified'
p12264
aS'rectified'
p12265
asS'stultify'
p12266
(lp12267
S'stultifies'
p12268
aS'stultifying'
p12269
aS'stultified'
p12270
aS'stultified'
p12271
asS'vituperate'
p12272
(lp12273
S'vituperates'
p12274
aS'vituperating'
p12275
aS'vituperated'
p12276
aS'vituperated'
p12277
asS'assess'
p12278
(lp12279
S'assesses'
p12280
aS'assessing'
p12281
aS'assessed'
p12282
aS'assessed'
p12283
asS'muck'
p12284
(lp12285
S'mucks'
p12286
aS'mucking'
p12287
aS'mucked'
p12288
aS'mucked'
p12289
asS'copolymerize'
p12290
(lp12291
S'copolymerizes'
p12292
aS'copolymerizing'
p12293
aS'copolymerized'
p12294
aS'copolymerized'
p12295
asS'reactivate'
p12296
(lp12297
S'reactivates'
p12298
aS'reactivating'
p12299
aS'reactivated'
p12300
aS'reactivated'
p12301
asS'overestimate'
p12302
(lp12303
S'overestimates'
p12304
aS'overestimating'
p12305
aS'overestimated'
p12306
aS'overestimated'
p12307
asS'imbibe'
p12308
(lp12309
S'imbibes'
p12310
aS'imbibing'
p12311
aS'imbibed'
p12312
aS'imbibed'
p12313
asS'discant'
p12314
(lp12315
S'discants'
p12316
aS'discanting'
p12317
aS'discanted'
p12318
aS'discanted'
p12319
asS'paganize'
p12320
(lp12321
S'paganizes'
p12322
aS'paganizing'
p12323
aS'paganized'
p12324
aS'paganized'
p12325
asS'function'
p12326
(lp12327
S'functions'
p12328
aS'functioning'
p12329
aS'functioned'
p12330
aS'functioned'
p12331
asS'funnel'
p12332
(lp12333
S'funnels'
p12334
aS'funnelling'
p12335
aS'funnelled'
p12336
aS'funnelled'
p12337
asS'frisk'
p12338
(lp12339
S'frisks'
p12340
aS'frisking'
p12341
aS'frisked'
p12342
aS'frisked'
p12343
asS'unbind'
p12344
(lp12345
S'unbinds'
p12346
aS'unbinding'
p12347
aS'unbound'
p12348
aS'unbound'
p12349
asS'unstick'
p12350
(lp12351
S'unsticks'
p12352
aS'unsticking'
p12353
aS'unstuck'
p12354
aS'unstuck'
p12355
asS'foretaste'
p12356
(lp12357
S'foretastes'
p12358
aS'foretasting'
p12359
aS'foretasted'
p12360
aS'foretasted'
p12361
asS'grate'
p12362
(lp12363
S'grates'
p12364
aS'grating'
p12365
aS'grated'
p12366
aS'grated'
p12367
asS'count'
p12368
(lp12369
S'counts'
p12370
aS'counting'
p12371
aS'counted'
p12372
aS'counted'
p12373
asS'compute'
p12374
(lp12375
S'computes'
p12376
aS'computing'
p12377
aS'computed'
p12378
aS'computed'
p12379
asS'shrunk'
p12380
(lp12381
S'shrunks'
p12382
aS'shrunking'
p12383
aS'shrunked'
p12384
aS'shrunked'
p12385
asS'chaperone'
p12386
(lp12387
S'chaperons'
p12388
aS'chaperoning'
p12389
aS'chaperoned'
p12390
aS'chaperoned'
p12391
asS'convince'
p12392
(lp12393
S'convinces'
p12394
aS'convincing'
p12395
aS'convinced'
p12396
aS'convinced'
p12397
asS'freewheel'
p12398
(lp12399
S'freewheels'
p12400
aS'freewheeling'
p12401
aS'freewheeled'
p12402
aS'freewheeled'
p12403
asS'enthrone'
p12404
(lp12405
S'enthrones'
p12406
aS'enthroning'
p12407
aS'enthroned'
p12408
aS'enthroned'
p12409
asS'spreadeagle'
p12410
(lp12411
S'spreadeagles'
p12412
aS'spreadeagling'
p12413
aS'spreadeagled'
p12414
aS'spreadeagled'
p12415
asS'appraise'
p12416
(lp12417
S'appraises'
p12418
aS'appraising'
p12419
aS'appraised'
p12420
aS'appraised'
p12421
asS'kowtow'
p12422
(lp12423
S'kowtows'
p12424
aS'kowtowing'
p12425
aS'kowtowed'
p12426
aS'kowtowed'
p12427
asS'fractionate'
p12428
(lp12429
S'fractionates'
p12430
aS'fractionating'
p12431
aS'fractionated'
p12432
aS'fractionated'
p12433
asS'recognize'
p12434
(lp12435
S'recognizes'
p12436
aS'recognizing'
p12437
aS'recognized'
p12438
aS'recognized'
p12439
asS'gasconade'
p12440
(lp12441
S'gasconades'
p12442
aS'gasconading'
p12443
aS'gasconaded'
p12444
aS'gasconaded'
p12445
asS'contribute'
p12446
(lp12447
S'contributes'
p12448
aS'contributing'
p12449
aS'contributed'
p12450
aS'contributed'
p12451
asS'denote'
p12452
(lp12453
S'denotes'
p12454
aS'denoting'
p12455
aS'denoted'
p12456
aS'denoted'
p12457
asS'withstand'
p12458
(lp12459
S'withstands'
p12460
aS'withstanding'
p12461
aS'withstood'
p12462
aS'withstood'
p12463
asS'ink'
p12464
(lp12465
S'inks'
p12466
aS'inking'
p12467
aS'inked'
p12468
aS'inked'
p12469
asS'letch'
p12470
(lp12471
S'letches'
p12472
aS'letching'
p12473
aS'letched'
p12474
aS'letched'
p12475
asS'engorge'
p12476
(lp12477
S'engorges'
p12478
aS'engorging'
p12479
aS'engorged'
p12480
aS'engorged'
p12481
asS'warsle'
p12482
(lp12483
S'warsles'
p12484
aS'warsling'
p12485
aS'warsled'
p12486
aS'warsled'
p12487
asS'flummox'
p12488
(lp12489
S'flummoxes'
p12490
aS'flummoxing'
p12491
aS'flummoxed'
p12492
aS'flummoxed'
p12493
asS'decarbonate'
p12494
(lp12495
S'decarbonates'
p12496
aS'decarbonating'
p12497
aS'decarbonated'
p12498
aS'decarbonated'
p12499
asS'stockpile'
p12500
(lp12501
S'stockpiles'
p12502
aS'stockpiling'
p12503
aS'stockpiled'
p12504
aS'stockpiled'
p12505
asS'disforest'
p12506
(lp12507
S'disforests'
p12508
aS'disforesting'
p12509
aS'disforested'
p12510
aS'disforested'
p12511
asS'behold'
p12512
(lp12513
S'beholds'
p12514
aS'beholding'
p12515
aS'beheld'
p12516
aS'beheld'
p12517
asS'vulgarize'
p12518
(lp12519
S'vulgarizes'
p12520
aS'vulgarizing'
p12521
aS'vulgarized'
p12522
aS'vulgarized'
p12523
asS'satirize'
p12524
(lp12525
S'satirizes'
p12526
aS'satirizing'
p12527
aS'satirized'
p12528
aS'satirized'
p12529
asS'dismiss'
p12530
(lp12531
S'dismisses'
p12532
aS'dismissing'
p12533
aS'dismissed'
p12534
aS'dismissed'
p12535
asS'freeboot'
p12536
(lp12537
S'freeboots'
p12538
aS'freebooting'
p12539
aS'freebooted'
p12540
aS'freebooted'
p12541
asS'dismantle'
p12542
(lp12543
S'dismantles'
p12544
aS'dismantling'
p12545
aS'dismantled'
p12546
aS'dismantled'
p12547
asS'vignette'
p12548
(lp12549
S'vignettes'
p12550
aS'vignetting'
p12551
aS'vignetted'
p12552
aS'vignetted'
p12553
asS'crosscut'
p12554
(lp12555
S'crosscuts'
p12556
aS'crosscutting'
p12557
aS'crosscut'
p12558
aS'crosscut'
p12559
asS'chance'
p12560
(lp12561
S'chances'
p12562
aS'chancing'
p12563
aS'chanced'
p12564
aS'chanced'
p12565
asS'pacify'
p12566
(lp12567
S'pacifies'
p12568
aS'pacifying'
p12569
aS'pacified'
p12570
aS'pacified'
p12571
asS'scintillate'
p12572
(lp12573
S'scintillates'
p12574
aS'scintillating'
p12575
aS'scintillated'
p12576
aS'scintillated'
p12577
asS'repeal'
p12578
(lp12579
S'repeals'
p12580
aS'repealing'
p12581
aS'repealed'
p12582
aS'repealed'
p12583
asS'mastermind'
p12584
(lp12585
S'masterminds'
p12586
aS'masterminding'
p12587
aS'masterminded'
p12588
aS'masterminded'
p12589
asS'vein'
p12590
(lp12591
S'veins'
p12592
aS'veining'
p12593
aS'veined'
p12594
aS'veined'
p12595
asS'ghost'
p12596
(lp12597
S'ghosts'
p12598
aS'ghosting'
p12599
aS'ghosted'
p12600
aS'ghosted'
p12601
asS'disgruntle'
p12602
(lp12603
S'disgruntles'
p12604
aS'disgruntling'
p12605
aS'disgruntled'
p12606
aS'disgruntled'
p12607
asS're-sound'
p12608
(lp12609
S're-sounds'
p12610
aS're-sounding'
p12611
aS'resounded'
p12612
aS're-sounded'
p12613
asS'rule'
p12614
(lp12615
S'rules'
p12616
aS'ruling'
p12617
aS'ruled'
p12618
aS'ruled'
p12619
asS'compete'
p12620
(lp12621
S'competes'
p12622
aS'competing'
p12623
aS'competed'
p12624
aS'competed'
p12625
asS'pension'
p12626
(lp12627
S'pensions'
p12628
aS'pensioning'
p12629
aS'pensioned'
p12630
aS'pensioned'
p12631
asS'upspring'
p12632
(lp12633
S'upsprings'
p12634
aS'upspringing'
p12635
aS'upsprung'
p12636
aS'upsprung'
p12637
asS'abhor'
p12638
(lp12639
S'abhors'
p12640
aS'abhorring'
p12641
aS'abhorred'
p12642
aS'abhorred'
p12643
asS'buoy'
p12644
(lp12645
S'buoys'
p12646
aS'buoying'
p12647
aS'buoyed'
p12648
aS'buoyed'
p12649
asS'rubefy'
p12650
(lp12651
S'rubefies'
p12652
aS'rubefying'
p12653
aS'rubefied'
p12654
aS'rubefied'
p12655
asS'brevet'
p12656
(lp12657
S'brevets'
p12658
aS'brevetting'
p12659
aS'brevetted'
p12660
aS'brevetted'
p12661
asS'divaricate'
p12662
(lp12663
S'divaricates'
p12664
aS'divaricating'
p12665
aS'divaricated'
p12666
aS'divaricated'
p12667
asS'copy'
p12668
(lp12669
S'copies'
p12670
aS'copying'
p12671
aS'copied'
p12672
aS'copied'
p12673
asS'precondition'
p12674
(lp12675
S'preconditions'
p12676
aS'preconditioning'
p12677
aS'preconditioned'
p12678
aS'preconditioned'
p12679
asS'rekindle'
p12680
(lp12681
S'rekindles'
p12682
aS'rekindling'
p12683
aS'rekindled'
p12684
aS'rekindled'
p12685
asS'defraud'
p12686
(lp12687
S'defrauds'
p12688
aS'defrauding'
p12689
aS'defrauded'
p12690
aS'defrauded'
p12691
asS'lace'
p12692
(lp12693
S'laces'
p12694
aS'lacing'
p12695
aS'laced'
p12696
aS'laced'
p12697
asS'aquatint'
p12698
(lp12699
S'aquatints'
p12700
aS'aquatinting'
p12701
aS'aquatinted'
p12702
aS'aquatinted'
p12703
asS'spew'
p12704
(lp12705
S'spews'
p12706
aS'spewing'
p12707
aS'spewed'
p12708
aS'spewed'
p12709
asS'automatize'
p12710
(lp12711
S'automatizes'
p12712
aS'automatizing'
p12713
aS'automatized'
p12714
aS'automatized'
p12715
asS'bludgeon'
p12716
(lp12717
S'bludgeons'
p12718
aS'bludgeoning'
p12719
aS'bludgeoned'
p12720
aS'bludgeoned'
p12721
asS'tickle'
p12722
(lp12723
S'tickles'
p12724
aS'tickling'
p12725
aS'tickled'
p12726
aS'tickled'
p12727
asS'bike'
p12728
(lp12729
S'bikes'
p12730
aS'biking'
p12731
aS'biked'
p12732
aS'biked'
p12733
asS'man-handle'
p12734
(lp12735
S'man-handles'
p12736
aS'man-handling'
p12737
aS'manhandled'
p12738
aS'man-handled'
p12739
asS'daze'
p12740
(lp12741
S'dazes'
p12742
aS'dazing'
p12743
aS'dazed'
p12744
aS'dazed'
p12745
asS'dapple'
p12746
(lp12747
S'dapples'
p12748
aS'dappling'
p12749
aS'dappled'
p12750
aS'dappled'
p12751
asS'wildcat'
p12752
(lp12753
S'wildcats'
p12754
aS'wildcatting'
p12755
aS'wildcatted'
p12756
aS'wildcatted'
p12757
asS'psychologize'
p12758
(lp12759
S'psychologizes'
p12760
aS'psychologizing'
p12761
aS'psychologized'
p12762
aS'psychologized'
p12763
asS'whack'
p12764
(lp12765
S'whacks'
p12766
aS'whacking'
p12767
aS'whacked'
p12768
aS'whacked'
p12769
asS'rainproof'
p12770
(lp12771
S'rainproofs'
p12772
aS'rainproofing'
p12773
aS'rainproofed'
p12774
aS'rainproofed'
p12775
asS'tarry'
p12776
(lp12777
S'tarries'
p12778
aS'tarrying'
p12779
aS'tarried'
p12780
aS'tarried'
p12781
asS'denudate'
p12782
(lp12783
S'denudates'
p12784
aS'denudating'
p12785
aS'denudated'
p12786
aS'denudated'
p12787
asS'thermalize'
p12788
(lp12789
S'thermalizes'
p12790
aS'thermalizing'
p12791
aS'thermalized'
p12792
aS'thermalized'
p12793
asS'blanket'
p12794
(lp12795
S'blankets'
p12796
aS'blanketing'
p12797
aS'blanketed'
p12798
aS'blanketed'
p12799
asS'distort'
p12800
(lp12801
S'distorts'
p12802
aS'distorting'
p12803
aS'distorted'
p12804
aS'distorted'
p12805
asS'begrudge'
p12806
(lp12807
S'begrudges'
p12808
aS'begrudging'
p12809
aS'begrudged'
p12810
aS'begrudged'
p12811
asS'retrocede'
p12812
(lp12813
S'retrocedes'
p12814
aS'retroceding'
p12815
aS'retroceded'
p12816
aS'retroceded'
p12817
asS'sherardize'
p12818
(lp12819
S'sherardizes'
p12820
aS'sherardizing'
p12821
aS'sherardized'
p12822
aS'sherardized'
p12823
asS'whish'
p12824
(lp12825
S'whishes'
p12826
aS'whishing'
p12827
aS'whished'
p12828
aS'whished'
p12829
asS'daydream'
p12830
(lp12831
S'daydreams'
p12832
aS'daydreaming'
p12833
aS'daydreamed'
p12834
aS'daydreamed'
p12835
asS'pinch'
p12836
(lp12837
S'pinches'
p12838
aS'pinching'
p12839
aS'pinched'
p12840
aS'pinched'
p12841
asS'affirm'
p12842
(lp12843
S'affirms'
p12844
aS'affirming'
p12845
aS'affirmed'
p12846
aS'affirmed'
p12847
asS'undersign'
p12848
(lp12849
S'undersigns'
p12850
aS'undersigning'
p12851
aS'undersigned'
p12852
aS'undersigned'
p12853
asS'generalize'
p12854
(lp12855
S'generalizes'
p12856
aS'generalizing'
p12857
aS'generalized'
p12858
aS'generalized'
p12859
asS'whist'
p12860
(lp12861
S'whists'
p12862
aS'whisting'
p12863
aS'whisted'
p12864
aS'whisted'
p12865
asS'reinvent'
p12866
(lp12867
S'reinvents'
p12868
aS'reinventing'
p12869
aS'reinvented'
p12870
aS'reinvented'
p12871
asS'triumph'
p12872
(lp12873
S'triumphs'
p12874
aS'triumphing'
p12875
aS'triumphed'
p12876
aS'triumphed'
p12877
asS'chew'
p12878
(lp12879
S'chews'
p12880
aS'chewing'
p12881
aS'chewed'
p12882
aS'chewed'
p12883
asS'pandy'
p12884
(lp12885
S'pandies'
p12886
aS'pandying'
p12887
aS'pandied'
p12888
aS'pandied'
p12889
asS'disbud'
p12890
(lp12891
S'disbuds'
p12892
aS'disbudding'
p12893
aS'disbudded'
p12894
aS'disbudded'
p12895
asS'horn'
p12896
(lp12897
S'horns'
p12898
aS'horning'
p12899
aS'horned'
p12900
aS'horned'
p12901
asS'blaspheme'
p12902
(lp12903
S'blasphemes'
p12904
aS'blaspheming'
p12905
aS'blasphemed'
p12906
aS'blasphemed'
p12907
asS'guillotine'
p12908
(lp12909
S'guillotines'
p12910
aS'guillotining'
p12911
aS'guillotined'
p12912
aS'guillotined'
p12913
asS'homologize'
p12914
(lp12915
S'homologizes'
p12916
aS'homologizing'
p12917
aS'homologized'
p12918
aS'homologized'
p12919
asS'levitate'
p12920
(lp12921
S'levitates'
p12922
aS'levitating'
p12923
aS'levitated'
p12924
aS'levitated'
p12925
asS'contemn'
p12926
(lp12927
S'contemns'
p12928
aS'contemning'
p12929
aS'contemned'
p12930
aS'contemned'
p12931
asS'taway'
p12932
(lp12933
S'taways'
p12934
aS'tawaying'
p12935
aS'tawayed'
p12936
aS'tawayed'
p12937
asS'deliberate'
p12938
(lp12939
S'deliberates'
p12940
aS'deliberating'
p12941
aS'deliberated'
p12942
aS'deliberated'
p12943
asS'revolutionize'
p12944
(lp12945
S'revolutionizes'
p12946
aS'revolutionizing'
p12947
aS'revolutionized'
p12948
aS'revolutionized'
p12949
asS'disserve'
p12950
(lp12951
S'disserves'
p12952
aS'disserving'
p12953
aS'disserved'
p12954
aS'disserved'
p12955
asS'bleep'
p12956
(lp12957
S'bleeps'
p12958
aS'bleeping'
p12959
aS'bleeped'
p12960
aS'bleeped'
p12961
asS'unhand'
p12962
(lp12963
S'unhands'
p12964
aS'unhanding'
p12965
aS'unhanded'
p12966
aS'unhanded'
p12967
asS'murther'
p12968
(lp12969
S'murthers'
p12970
aS'murthering'
p12971
aS'murthered'
p12972
aS'murthered'
p12973
asS'swive'
p12974
(lp12975
S'swives'
p12976
aS'swiving'
p12977
aS'swived'
p12978
aS'swived'
p12979
asS'crunch'
p12980
(lp12981
S'crunches'
p12982
aS'crunching'
p12983
aS'crunched'
p12984
aS'crunched'
p12985
asS'redeploy'
p12986
(lp12987
S'redeploys'
p12988
aS'redeploying'
p12989
aS'redeployed'
p12990
aS'redeployed'
p12991
asS'conglomerate'
p12992
(lp12993
S'conglomerates'
p12994
aS'conglomerating'
p12995
aS'conglomerated'
p12996
aS'conglomerated'
p12997
asS'poleaxe'
p12998
(lp12999
S'poleaxeing'
p13000
aS'poleaxeed'
p13001
aS'poleaxeed'
p13002
asS'undershot'
p13003
(lp13004
S'undershot'
p13005
aS'undershot'
p13006
asS'burgle'
p13007
(lp13008
S'burgles'
p13009
aS'burgling'
p13010
aS'burgled'
p13011
aS'burgled'
p13012
asS'X-ray'
p13013
(lp13014
S'X-rays'
p13015
aS'X-raying'
p13016
aS'X-rayed'
p13017
aS'X-rayed'
p13018
asS'overcall'
p13019
(lp13020
S'overcalls'
p13021
aS'overcalling'
p13022
aS'overcalled'
p13023
aS'overcalled'
p13024
asS'study'
p13025
(lp13026
S'studies'
p13027
aS'studying'
p13028
aS'studied'
p13029
aS'studied'
p13030
asS'reappraise'
p13031
(lp13032
S'reappraises'
p13033
aS'reappraising'
p13034
aS'reappraised'
p13035
aS'reappraised'
p13036
asS'displode'
p13037
(lp13038
S'displodes'
p13039
aS'disploding'
p13040
aS'disploded'
p13041
aS'disploded'
p13042
asS'bunker'
p13043
(lp13044
S'bunkers'
p13045
aS'bunkering'
p13046
aS'bunkered'
p13047
aS'bunkered'
p13048
asS'maunder'
p13049
(lp13050
S'maunders'
p13051
aS'maundering'
p13052
aS'maundered'
p13053
aS'maundered'
p13054
asS'Jew'
p13055
(lp13056
S'Jews'
p13057
aS'Jewing'
p13058
aS'Jewed'
p13059
aS'Jewed'
p13060
asS'synonymize'
p13061
(lp13062
S'synonymizes'
p13063
aS'synonymizing'
p13064
aS'synonymized'
p13065
aS'synonymized'
p13066
asS'federalize'
p13067
(lp13068
S'federalizes'
p13069
aS'federalizing'
p13070
aS'federalized'
p13071
aS'federalized'
p13072
asS'nauseate'
p13073
(lp13074
S'nauseates'
p13075
aS'nauseating'
p13076
aS'nauseated'
p13077
aS'nauseated'
p13078
asS'shun'
p13079
(lp13080
S'shuns'
p13081
aS'shunning'
p13082
aS'shunned'
p13083
aS'shunned'
p13084
asS'glance'
p13085
(lp13086
S'glances'
p13087
aS'glancing'
p13088
aS'glanced'
p13089
aS'glanced'
p13090
asS'total'
p13091
(lp13092
S'totals'
p13093
aS'totalling'
p13094
aS'totalled'
p13095
aS'totalled'
p13096
asS'plot'
p13097
(lp13098
S'plots'
p13099
aS'plotting'
p13100
aS'plotted'
p13101
aS'plotted'
p13102
asS'plow'
p13103
(lp13104
S'plows'
p13105
aS'plowing'
p13106
aS'plowed'
p13107
aS'plowed'
p13108
asS'reflate'
p13109
(lp13110
S'reflates'
p13111
aS'reflating'
p13112
aS'reflated'
p13113
aS'reflated'
p13114
asS'plop'
p13115
(lp13116
S'plops'
p13117
aS'plopping'
p13118
aS'plopped'
p13119
aS'plopped'
p13120
asS'acculturate'
p13121
(lp13122
S'acculturates'
p13123
aS'acculturating'
p13124
aS'acculturated'
p13125
aS'acculturated'
p13126
asS'gloss'
p13127
(lp13128
S'glosses'
p13129
aS'glossing'
p13130
aS'glossed'
p13131
aS'glossed'
p13132
asS'insult'
p13133
(lp13134
S'insults'
p13135
aS'insulting'
p13136
aS'insulted'
p13137
aS'insulted'
p13138
asS'plod'
p13139
(lp13140
S'plods'
p13141
aS'plodding'
p13142
aS'plodded'
p13143
aS'plodded'
p13144
asS'knoll'
p13145
(lp13146
S'knolls'
p13147
aS'knolling'
p13148
aS'knolled'
p13149
aS'knolled'
p13150
asS'beeswax'
p13151
(lp13152
S'beeswaxes'
p13153
aS'beeswaxing'
p13154
aS'beeswaxed'
p13155
aS'beeswaxed'
p13156
asS'vegetate'
p13157
(lp13158
S'vegetates'
p13159
aS'vegetating'
p13160
aS'vegetated'
p13161
aS'vegetated'
p13162
asS'plagiarize'
p13163
(lp13164
S'plagiarizes'
p13165
aS'plagiarizing'
p13166
aS'plagiarized'
p13167
aS'plagiarized'
p13168
asS'canulate'
p13169
(lp13170
S'canulates'
p13171
aS'canulating'
p13172
aS'canulated'
p13173
aS'canulated'
p13174
asS'inflect'
p13175
(lp13176
S'inflects'
p13177
aS'inflecting'
p13178
aS'inflected'
p13179
aS'inflected'
p13180
asS'ascribe'
p13181
(lp13182
S'ascribes'
p13183
aS'ascribing'
p13184
aS'ascribed'
p13185
aS'ascribed'
p13186
asS'award'
p13187
(lp13188
S'awards'
p13189
aS'awarding'
p13190
aS'awarded'
p13191
aS'awarded'
p13192
asS'scribble'
p13193
(lp13194
S'scribbles'
p13195
aS'scribbling'
p13196
aS'scribbled'
p13197
aS'scribbled'
p13198
asS'overrun'
p13199
(lp13200
S'overruns'
p13201
aS'overrunning'
p13202
aS'overran'
p13203
aS'overrun'
p13204
asS'word'
p13205
(lp13206
S'words'
p13207
aS'wording'
p13208
aS'worded'
p13209
aS'worded'
p13210
asS'err'
p13211
(lp13212
S'errs'
p13213
aS'erring'
p13214
aS'erred'
p13215
aS'erred'
p13216
asS'shame'
p13217
(lp13218
S'shames'
p13219
aS'shaming'
p13220
aS'shamed'
p13221
aS'shamed'
p13222
asS'work'
p13223
(lp13224
S'works'
p13225
aS'working'
p13226
aS'worked'
p13227
aS'worked'
p13228
asS'eclipse'
p13229
(lp13230
S'eclipses'
p13231
aS'eclipsing'
p13232
aS'eclipsed'
p13233
aS'eclipsed'
p13234
asS'grovel'
p13235
(lp13236
S'grovels'
p13237
aS'grovelling'
p13238
aS'grovelled'
p13239
aS'grovelled'
p13240
asS'cuddle'
p13241
(lp13242
S'cuddles'
p13243
aS'cuddling'
p13244
aS'cuddled'
p13245
aS'cuddled'
p13246
asS'elbow'
p13247
(lp13248
S'elbows'
p13249
aS'elbowing'
p13250
aS'elbowed'
p13251
aS'elbowed'
p13252
asS'versify'
p13253
(lp13254
S'versifies'
p13255
aS'versifying'
p13256
aS'versified'
p13257
aS'versified'
p13258
asS'quiver'
p13259
(lp13260
S'quivers'
p13261
aS'quivering'
p13262
aS'quivered'
p13263
aS'quivered'
p13264
asS'pollute'
p13265
(lp13266
S'pollutes'
p13267
aS'polluting'
p13268
aS'polluted'
p13269
aS'polluted'
p13270
asS'flunk'
p13271
(lp13272
S'flunks'
p13273
aS'flunking'
p13274
aS'flunked'
p13275
aS'flunked'
p13276
asS'federate'
p13277
(lp13278
S'federates'
p13279
aS'federating'
p13280
aS'federated'
p13281
aS'federated'
p13282
asS'repot'
p13283
(lp13284
S'repots'
p13285
aS'repotting'
p13286
aS'repotted'
p13287
aS'repotted'
p13288
asS'impair'
p13289
(lp13290
S'impairs'
p13291
aS'impairing'
p13292
aS'impaired'
p13293
aS'impaired'
p13294
asS'woman'
p13295
(lp13296
S'womans'
p13297
aS'womaning'
p13298
aS'womaned'
p13299
aS'womaned'
p13300
asS'radiotelegraph'
p13301
(lp13302
S'radiotelegraphs'
p13303
aS'radiotelegraphing'
p13304
aS'radiotelegraphed'
p13305
aS'radiotelegraphed'
p13306
asS'electrodeposit'
p13307
(lp13308
S'electrodeposits'
p13309
aS'electrodepositing'
p13310
aS'electrodeposited'
p13311
aS'electrodeposited'
p13312
asS'betide'
p13313
(lp13314
S'betides'
p13315
aS'betiding'
p13316
aS'betided'
p13317
aS'betided'
p13318
asS'secern'
p13319
(lp13320
S'secerns'
p13321
aS'secerning'
p13322
aS'secerned'
p13323
aS'secerned'
p13324
asS'farce'
p13325
(lp13326
S'farces'
p13327
aS'farcing'
p13328
aS'farced'
p13329
aS'farced'
p13330
asS'particularize'
p13331
(lp13332
S'particularizes'
p13333
aS'particularizing'
p13334
aS'particularized'
p13335
aS'particularized'
p13336
asS'verify'
p13337
(lp13338
S'verifies'
p13339
aS'verifying'
p13340
aS'verified'
p13341
aS'verified'
p13342
asS'photocopy'
p13343
(lp13344
S'photocopies'
p13345
aS'photocopying'
p13346
aS'photocopied'
p13347
aS'photocopied'
p13348
asS'sever'
p13349
(lp13350
S'severs'
p13351
aS'severing'
p13352
aS'severed'
p13353
aS'severed'
p13354
asS'rewind'
p13355
(lp13356
S'rewinds'
p13357
aS'rewinding'
p13358
aS'rewound'
p13359
aS'rewound'
p13360
asS'interview'
p13361
(lp13362
S'interviews'
p13363
aS'interviewing'
p13364
aS'interviewed'
p13365
aS'interviewed'
p13366
asS'disappoint'
p13367
(lp13368
S'disappoints'
p13369
aS'disappointing'
p13370
aS'disappointed'
p13371
aS'disappointed'
p13372
asS'beach'
p13373
(lp13374
S'beaches'
p13375
aS'beaching'
p13376
aS'beached'
p13377
aS'beached'
p13378
asS'underexpose'
p13379
(lp13380
S'underexposes'
p13381
aS'underexposing'
p13382
aS'underexposed'
p13383
aS'underexposed'
p13384
asS'countersink'
p13385
(lp13386
S'countersinks'
p13387
aS'countersinking'
p13388
aS'countersank'
p13389
aS'countersunk'
p13390
asS'deliquesce'
p13391
(lp13392
S'deliquesces'
p13393
aS'deliquescing'
p13394
aS'deliquesced'
p13395
aS'deliquesced'
p13396
asS'lam'
p13397
(lp13398
S'lams'
p13399
aS'lamming'
p13400
aS'lammed'
p13401
aS'lammed'
p13402
asS'fever'
p13403
(lp13404
S'fevers'
p13405
aS'fevering'
p13406
aS'fevered'
p13407
aS'fevered'
p13408
asS'aggrade'
p13409
(lp13410
S'aggrades'
p13411
aS'aggrading'
p13412
aS'aggraded'
p13413
aS'aggraded'
p13414
asS'ladder'
p13415
(lp13416
S'ladders'
p13417
aS'laddering'
p13418
aS'laddered'
p13419
aS'laddered'
p13420
asS'lag'
p13421
(lp13422
S'lags'
p13423
aS'lagging'
p13424
aS'lagged'
p13425
aS'lagged'
p13426
asS'fat'
p13427
(lp13428
S'fats'
p13429
aS'fatting'
p13430
aS'fatted'
p13431
aS'fatted'
p13432
asS'disentomb'
p13433
(lp13434
S'disentombs'
p13435
aS'disentombing'
p13436
aS'disentombed'
p13437
aS'disentombed'
p13438
asS'unreeve'
p13439
(lp13440
S'unreeves'
p13441
aS'unreeving'
p13442
aS'unrove'
p13443
aS'unrove'
p13444
asS'arch'
p13445
(lp13446
S'arches'
p13447
aS'arching'
p13448
aS'arched'
p13449
aS'arched'
p13450
asS'scrummage'
p13451
(lp13452
S'scrummages'
p13453
aS'scrummaging'
p13454
aS'scrummaged'
p13455
aS'scrummaged'
p13456
asS'scull'
p13457
(lp13458
S'sculls'
p13459
aS'sculling'
p13460
aS'sculled'
p13461
aS'sculled'
p13462
asS'invaginate'
p13463
(lp13464
S'invaginates'
p13465
aS'invaginating'
p13466
aS'invaginated'
p13467
aS'invaginated'
p13468
asS'alienate'
p13469
(lp13470
S'alienates'
p13471
aS'alienating'
p13472
aS'alienated'
p13473
aS'alienated'
p13474
asS'appreciate'
p13475
(lp13476
S'appreciates'
p13477
aS'appreciating'
p13478
aS'appreciated'
p13479
aS'appreciated'
p13480
asS'greet'
p13481
(lp13482
S'greets'
p13483
aS'greeting'
p13484
aS'greeted'
p13485
aS'greeted'
p13486
asS'stimulate'
p13487
(lp13488
S'stimulates'
p13489
aS'stimulating'
p13490
aS'stimulated'
p13491
aS'stimulated'
p13492
asS'haste'
p13493
(lp13494
S'hastes'
p13495
aS'hasting'
p13496
aS'hasted'
p13497
aS'hasted'
p13498
asS'scarf'
p13499
(lp13500
S'scarfs'
p13501
aS'scarfing'
p13502
aS'scarfed'
p13503
aS'scarfed'
p13504
asS'worst'
p13505
(lp13506
S'worsts'
p13507
aS'worsting'
p13508
aS'worsted'
p13509
aS'worsted'
p13510
asS'remonstrate'
p13511
(lp13512
S'remonstrates'
p13513
aS'remonstrating'
p13514
aS'remonstrated'
p13515
aS'remonstrated'
p13516
asS'order'
p13517
(lp13518
S'orders'
p13519
aS'ordering'
p13520
aS'ordered'
p13521
aS'ordered'
p13522
asS'devote'
p13523
(lp13524
S'devotes'
p13525
aS'devoting'
p13526
aS'devoted'
p13527
aS'devoted'
p13528
asS'consent'
p13529
(lp13530
S'consents'
p13531
aS'consenting'
p13532
aS'consented'
p13533
aS'consented'
p13534
asS'enshrinshrine'
p13535
(lp13536
S'enshrinshrines'
p13537
aS'enshrinshrining'
p13538
aS'enshrinshrined'
p13539
aS'enshrinshrined'
p13540
asS'natter'
p13541
(lp13542
S'natters'
p13543
aS'nattering'
p13544
aS'nattered'
p13545
aS'nattered'
p13546
asS'japan'
p13547
(lp13548
S'japans'
p13549
aS'japanning'
p13550
aS'japanned'
p13551
aS'japanned'
p13552
asS'estrange'
p13553
(lp13554
S'estranges'
p13555
aS'estranging'
p13556
aS'estranged'
p13557
aS'estranged'
p13558
asS'casefy'
p13559
(lp13560
S'casefies'
p13561
aS'casefying'
p13562
aS'casefied'
p13563
aS'casefied'
p13564
asS'sheaf'
p13565
(lp13566
S'sheaves'
p13567
aS'sheafing'
p13568
aS'sheafed'
p13569
aS'sheafed'
p13570
asS'Xerox'
p13571
(lp13572
S'Xeroxes'
p13573
aS'Xeroxing'
p13574
aS'Xeroxed'
p13575
aS'Xeroxed'
p13576
asS'fag'
p13577
(lp13578
S'fags'
p13579
aS'fagging'
p13580
aS'fagged'
p13581
aS'fagged'
p13582
asS'strafe'
p13583
(lp13584
S'strafes'
p13585
aS'strafing'
p13586
aS'strafed'
p13587
aS'strafed'
p13588
asS'bespeak'
p13589
(lp13590
S'bespeaks'
p13591
aS'bespeaking'
p13592
aS'bespoke'
p13593
aS'bespoken'
p13594
asS'precipitate'
p13595
(lp13596
S'precipitates'
p13597
aS'precipitating'
p13598
aS'precipitated'
p13599
aS'precipitated'
p13600
asS'savour'
p13601
(lp13602
S'savours'
p13603
aS'savouring'
p13604
aS'savoured'
p13605
aS'savoured'
p13606
asS'shear'
p13607
(lp13608
S'shears'
p13609
aS'shearing'
p13610
aS'sheared'
p13611
aS'shorn'
p13612
asS'bant'
p13613
(lp13614
S'bants'
p13615
aS'banting'
p13616
aS'banted'
p13617
aS'banted'
p13618
asS'swound'
p13619
(lp13620
S'swounds'
p13621
aS'swounding'
p13622
aS'swounded'
p13623
aS'swounded'
p13624
asS'fragment'
p13625
(lp13626
S'fragments'
p13627
aS'fragmenting'
p13628
aS'fragmented'
p13629
aS'fragmented'
p13630
asS'collide'
p13631
(lp13632
S'collides'
p13633
aS'colliding'
p13634
aS'collided'
p13635
aS'collided'
p13636
asS'break'
p13637
(lp13638
S'breaks'
p13639
aS'breaking'
p13640
aS'broke'
p13641
aS'broken'
p13642
asS'band'
p13643
(lp13644
S'bands'
p13645
aS'banding'
p13646
aS'banded'
p13647
aS'banded'
p13648
asS'bang'
p13649
(lp13650
S'bangs'
p13651
aS'banging'
p13652
aS'banged'
p13653
aS'banged'
p13654
asS'coffer'
p13655
(lp13656
S'coffers'
p13657
aS'coffering'
p13658
aS'coffered'
p13659
aS'coffered'
p13660
asS'bream'
p13661
(lp13662
S'breams'
p13663
aS'breaming'
p13664
aS'breamed'
p13665
aS'breamed'
p13666
asS'declutch'
p13667
(lp13668
S'declutches'
p13669
aS'declutching'
p13670
aS'declutched'
p13671
aS'declutched'
p13672
asS'bread'
p13673
(lp13674
S'breads'
p13675
aS'breading'
p13676
aS'breaded'
p13677
aS'breaded'
p13678
asS'crock'
p13679
(lp13680
S'crocks'
p13681
aS'crocking'
p13682
aS'crocked'
p13683
aS'crocked'
p13684
asS'absolve'
p13685
(lp13686
S'absolves'
p13687
aS'absolving'
p13688
aS'absolved'
p13689
aS'absolved'
p13690
asS'naysay'
p13691
(lp13692
S'naysays'
p13693
aS'naysaying'
p13694
aS'naysayed'
p13695
aS'naysayed'
p13696
asS'misbehave'
p13697
(lp13698
S'misbehaves'
p13699
aS'misbehaving'
p13700
aS'misbehaved'
p13701
aS'misbehaved'
p13702
asS'outstretch'
p13703
(lp13704
S'outstretches'
p13705
aS'outstretching'
p13706
aS'outstretched'
p13707
aS'outstretched'
p13708
asS'flock'
p13709
(lp13710
S'flocks'
p13711
aS'flocking'
p13712
aS'flocked'
p13713
aS'flocked'
p13714
asS'trench'
p13715
(lp13716
S'trenches'
p13717
aS'trenching'
p13718
aS'trenched'
p13719
aS'trenched'
p13720
asS'network'
p13721
(lp13722
S'networks'
p13723
aS'networking'
p13724
aS'networked'
p13725
aS'networked'
p13726
asS'engrave'
p13727
(lp13728
S'engraves'
p13729
aS'engraving'
p13730
aS'engraved'
p13731
aS'engraved'
p13732
asS'monotonize'
p13733
(lp13734
S'monotonizes'
p13735
aS'monotonizing'
p13736
aS'monotonized'
p13737
aS'monotonized'
p13738
asS'redevelop'
p13739
(lp13740
S'redevelops'
p13741
aS'redeveloping'
p13742
aS'redeveloped'
p13743
aS'redeveloped'
p13744
asS'veto'
p13745
(lp13746
S'vetoes'
p13747
aS'vetoing'
p13748
aS'vetoed'
p13749
aS'vetoed'
p13750
asS'apotheosize'
p13751
(lp13752
S'apotheosizes'
p13753
aS'apotheosizing'
p13754
aS'apotheosized'
p13755
aS'apotheosized'
p13756
asS'putty'
p13757
(lp13758
S'putties'
p13759
aS'puttying'
p13760
aS'puttied'
p13761
aS'puttied'
p13762
asS'mutilate'
p13763
(lp13764
S'mutilates'
p13765
aS'mutilating'
p13766
aS'mutilated'
p13767
aS'mutilated'
p13768
asS'drench'
p13769
(lp13770
S'drenches'
p13771
aS'drenching'
p13772
aS'drenched'
p13773
aS'drenched'
p13774
asS'renew'
p13775
(lp13776
S'renews'
p13777
aS'renewing'
p13778
aS'renewed'
p13779
aS'renewed'
p13780
asS'oppose'
p13781
(lp13782
S'opposes'
p13783
aS'opposing'
p13784
aS'opposed'
p13785
aS'opposed'
p13786
asS'recondition'
p13787
(lp13788
S'reconditions'
p13789
aS'reconditioning'
p13790
aS'reconditioned'
p13791
aS'reconditioned'
p13792
asS'regress'
p13793
(lp13794
S'regresses'
p13795
aS'regressing'
p13796
aS'regressed'
p13797
aS'regressed'
p13798
asS'disafforest'
p13799
(lp13800
S'disafforests'
p13801
aS'disafforesting'
p13802
aS'disafforested'
p13803
aS'disafforested'
p13804
asS'vanquish'
p13805
(lp13806
S'vanquishes'
p13807
aS'vanquishing'
p13808
aS'vanquished'
p13809
aS'vanquished'
p13810
asS'organize'
p13811
(lp13812
S'organizes'
p13813
aS'organizing'
p13814
aS'organized'
p13815
aS'organized'
p13816
asS'render'
p13817
(lp13818
S'renders'
p13819
aS'rendering'
p13820
aS'rendered'
p13821
aS'rendered'
p13822
asS'skive'
p13823
(lp13824
S'skives'
p13825
aS'skiving'
p13826
aS'skived'
p13827
aS'skived'
p13828
asS'jackknife'
p13829
(lp13830
sS'hamstring'
p13831
(lp13832
S'hamstrings'
p13833
aS'hamstringing'
p13834
aS'hamstrung'
p13835
aS'hamstrung'
p13836
asS'operatize'
p13837
(lp13838
S'operatizes'
p13839
aS'operatizing'
p13840
aS'operatized'
p13841
aS'operatized'
p13842
asS'guzzle'
p13843
(lp13844
S'guzzles'
p13845
aS'guzzling'
p13846
aS'guzzled'
p13847
aS'guzzled'
p13848
asS'unsnap'
p13849
(lp13850
S'unsnaps'
p13851
aS'unsnapping'
p13852
aS'unsnapped'
p13853
aS'unsnapped'
p13854
asS'disembark'
p13855
(lp13856
S'disembarks'
p13857
aS'disembarking'
p13858
aS'disembarked'
p13859
aS'disembarked'
p13860
asS'headreach'
p13861
(lp13862
S'headreaches'
p13863
aS'headreaching'
p13864
aS'headreached'
p13865
aS'headreached'
p13866
asS'tangle'
p13867
(lp13868
S'tangles'
p13869
aS'tangling'
p13870
aS'tangled'
p13871
aS'tangled'
p13872
asS'equipoise'
p13873
(lp13874
S'equipoises'
p13875
aS'equipoising'
p13876
aS'equipoised'
p13877
aS'equipoised'
p13878
asS'illustrate'
p13879
(lp13880
S'illustrates'
p13881
aS'illustrating'
p13882
aS'illustrated'
p13883
aS'illustrated'
p13884
asS'centrifuge'
p13885
(lp13886
S'centrifuges'
p13887
aS'centrifuging'
p13888
aS'centrifuged'
p13889
aS'centrifuged'
p13890
asS'unfetter'
p13891
(lp13892
S'unfetters'
p13893
aS'unfettering'
p13894
aS'unfettered'
p13895
aS'unfettered'
p13896
asS'vibrate'
p13897
(lp13898
S'vibrates'
p13899
aS'vibrating'
p13900
aS'vibrated'
p13901
aS'vibrated'
p13902
asS'compromise'
p13903
(lp13904
S'compromises'
p13905
aS'compromising'
p13906
aS'compromised'
p13907
aS'compromised'
p13908
asS'fumble'
p13909
(lp13910
S'fumbles'
p13911
aS'fumbling'
p13912
aS'fumbled'
p13913
aS'fumbled'
p13914
asS'gate-crash'
p13915
(lp13916
S'gate-crashes'
p13917
aS'gate-crashing'
p13918
aS'gate-crashed'
p13919
aS'gate-crashed'
p13920
asS'inflate'
p13921
(lp13922
S'inflates'
p13923
aS'inflating'
p13924
aS'inflated'
p13925
aS'inflated'
p13926
asS'filibuster'
p13927
(lp13928
S'filibusters'
p13929
aS'filibustering'
p13930
aS'filibustered'
p13931
aS'filibustered'
p13932
asS'efface'
p13933
(lp13934
S'effaces'
p13935
aS'effacing'
p13936
aS'effaced'
p13937
aS'effaced'
p13938
asS'decentralize'
p13939
(lp13940
S'decentralizes'
p13941
aS'decentralizing'
p13942
aS'decentralized'
p13943
aS'decentralized'
p13944
asS'scant'
p13945
(lp13946
S'scants'
p13947
aS'scanting'
p13948
aS'scanted'
p13949
aS'scanted'
p13950
asS'tithe'
p13951
(lp13952
S'tithes'
p13953
aS'tithing'
p13954
aS'tithed'
p13955
aS'tithed'
p13956
asS'rebuff'
p13957
(lp13958
S'rebuffs'
p13959
aS'rebuffing'
p13960
aS'rebuffed'
p13961
aS'rebuffed'
p13962
asS'earbash'
p13963
(lp13964
S'earbashes'
p13965
aS'earbashing'
p13966
aS'earbashed'
p13967
aS'earbashed'
p13968
asS'septuple'
p13969
(lp13970
S'septuples'
p13971
aS'septupling'
p13972
aS'septupled'
p13973
aS'septupled'
p13974
asS'hike'
p13975
(lp13976
S'hikes'
p13977
aS'hiking'
p13978
aS'hiked'
p13979
aS'hiked'
p13980
asS'iron'
p13981
(lp13982
S'irons'
p13983
aS'ironing'
p13984
aS'ironed'
p13985
aS'ironed'
p13986
asS'encash'
p13987
(lp13988
S'encashes'
p13989
aS'encashing'
p13990
aS'encashed'
p13991
aS'encashed'
p13992
asS'tritiate'
p13993
(lp13994
S'tritiates'
p13995
aS'tritiating'
p13996
aS'tritiated'
p13997
aS'tritiated'
p13998
asS'effectuate'
p13999
(lp14000
S'effectuates'
p14001
aS'effectuating'
p14002
aS'effectuated'
p14003
aS'effectuated'
p14004
asS'rewrite'
p14005
(lp14006
S'rewrites'
p14007
aS'rewriting'
p14008
aS'rewrote'
p14009
aS'rewritten'
p14010
asS'temporize'
p14011
(lp14012
S'temporizes'
p14013
aS'temporizing'
p14014
aS'temporized'
p14015
aS'temporized'
p14016
asS'navigate'
p14017
(lp14018
S'navigates'
p14019
aS'navigating'
p14020
aS'navigated'
p14021
aS'navigated'
p14022
asS'resound'
p14023
(lp14024
S'resounds'
p14025
aS'resounding'
p14026
ag12612
aS'resounded'
p14027
asS'metathesize'
p14028
(lp14029
S'metathesizes'
p14030
aS'metathesizing'
p14031
aS'metathesized'
p14032
aS'metathesized'
p14033
asS'sconce'
p14034
(lp14035
S'sconces'
p14036
aS'sconcing'
p14037
aS'sconced'
p14038
aS'sconced'
p14039
asS'lull'
p14040
(lp14041
S'lulls'
p14042
aS'lulling'
p14043
aS'lulled'
p14044
aS'lulled'
p14045
asS'cadge'
p14046
(lp14047
S'cadges'
p14048
aS'cadging'
p14049
aS'cadged'
p14050
aS'cadged'
p14051
asS'crossexamine'
p14052
(lp14053
S'crossexamines'
p14054
aS'crossexamining'
p14055
aS'crossexamined'
p14056
aS'crossexamined'
p14057
asS'ponder'
p14058
(lp14059
S'ponders'
p14060
aS'pondering'
p14061
aS'pondered'
p14062
aS'pondered'
p14063
asS'quarry'
p14064
(lp14065
S'quarries'
p14066
aS'quarrying'
p14067
aS'quarried'
p14068
aS'quarried'
p14069
asS'widen'
p14070
(lp14071
S'widens'
p14072
aS'widening'
p14073
aS'widened'
p14074
aS'widened'
p14075
asS'indorse'
p14076
(lp14077
S'indorses'
p14078
aS'indorsing'
p14079
aS'indorsed'
p14080
aS'indorsed'
p14081
asS'rehouse'
p14082
(lp14083
S'rehouses'
p14084
aS'rehousing'
p14085
aS'rehoused'
p14086
aS'rehoused'
p14087
asS'transmit'
p14088
(lp14089
S'transmits'
p14090
aS'transmitting'
p14091
aS'transmitted'
p14092
aS'transmitted'
p14093
asS'pilgrimage'
p14094
(lp14095
S'pilgrimages'
p14096
aS'pilgrimaging'
p14097
aS'pilgrimaged'
p14098
aS'pilgrimaged'
p14099
asS'finagle'
p14100
(lp14101
S'finagles'
p14102
aS'finagling'
p14103
aS'finagled'
p14104
aS'finagled'
p14105
asS'quieten'
p14106
(lp14107
S'quietens'
p14108
aS'quietening'
p14109
aS'quietened'
p14110
aS'quietened'
p14111
asS'writhe'
p14112
(lp14113
S'writhes'
p14114
aS'writhing'
p14115
aS'writhed'
p14116
aS'writhed'
p14117
asS'backcross'
p14118
(lp14119
S'backcrosses'
p14120
aS'backcrossing'
p14121
aS'backcrossed'
p14122
aS'backcrossed'
p14123
asS'affiance'
p14124
(lp14125
S'affiances'
p14126
aS'affiancing'
p14127
aS'affianced'
p14128
aS'affianced'
p14129
asS'fillagree'
p14130
(lp14131
sS'phase'
p14132
(lp14133
S'phases'
p14134
aS'phasing'
p14135
aS'phased'
p14136
aS'phased'
p14137
asS'grave'
p14138
(lp14139
S'graves'
p14140
aS'graving'
p14141
aS'graven'
p14142
aS'graven'
p14143
asS'unship'
p14144
(lp14145
S'unships'
p14146
aS'unshipping'
p14147
aS'unshipped'
p14148
aS'unshipped'
p14149
asS'heattreat'
p14150
(lp14151
S'heattreats'
p14152
aS'heattreating'
p14153
aS'heattreated'
p14154
aS'heattreated'
p14155
asS'syllabize'
p14156
(lp14157
S'syllabizes'
p14158
aS'syllabizing'
p14159
aS'syllabized'
p14160
aS'syllabized'
p14161
asS'demagnetize'
p14162
(lp14163
S'demagnetizes'
p14164
aS'demagnetizing'
p14165
aS'demagnetized'
p14166
aS'demagnetized'
p14167
asS'vouch'
p14168
(lp14169
S'vouches'
p14170
aS'vouching'
p14171
aS'vouched'
p14172
aS'vouched'
p14173
asS'swamp'
p14174
(lp14175
S'swamps'
p14176
aS'swamping'
p14177
aS'swamped'
p14178
aS'swamped'
p14179
asS'bracket'
p14180
(lp14181
S'brackets'
p14182
aS'bracketing'
p14183
aS'bracketed'
p14184
aS'bracketed'
p14185
asS'oppress'
p14186
(lp14187
S'oppresses'
p14188
aS'oppressing'
p14189
aS'oppressed'
p14190
aS'oppressed'
p14191
asS'reserve'
p14192
(lp14193
S'reserves'
p14194
aS'reserving'
p14195
aS'reserved'
p14196
aS'reserved'
p14197
asS'iodate'
p14198
(lp14199
S'iodates'
p14200
aS'iodating'
p14201
aS'iodated'
p14202
aS'iodated'
p14203
asS'toast'
p14204
(lp14205
S'toasts'
p14206
aS'toasting'
p14207
aS'toasted'
p14208
aS'toasted'
p14209
asS'tauten'
p14210
(lp14211
S'tautens'
p14212
aS'tautening'
p14213
aS'tautened'
p14214
aS'tautened'
p14215
asS'struggle'
p14216
(lp14217
S'struggles'
p14218
aS'struggling'
p14219
aS'struggled'
p14220
aS'struggled'
p14221
asS're-dress'
p14222
(lp14223
S're-dresses'
p14224
aS're-dressing'
p14225
aS'redressed'
p14226
aS're-dressed'
p14227
asS'do'
p14228
(lp14229
S'does'
p14230
aS'doing'
p14231
aS'did'
p14232
aS'done'
p14233
aS"don't"
p14234
aS"doesn't"
p14235
aS"didn't"
p14236
asS'reorientate'
p14237
(lp14238
S'reorientates'
p14239
aS'reorientating'
p14240
aS'reorientated'
p14241
aS'reorientated'
p14242
asS'aestivate'
p14243
(lp14244
S'aestivates'
p14245
aS'aestivating'
p14246
aS'aestivated'
p14247
aS'aestivated'
p14248
asS'wham'
p14249
(lp14250
S'whams'
p14251
aS'whamming'
p14252
aS'whammed'
p14253
aS'whammed'
p14254
asS'photostat'
p14255
(lp14256
S'photostats'
p14257
aS'photostatting'
p14258
aS'photostatted'
p14259
aS'photostatted'
p14260
asS'stead'
p14261
(lp14262
S'steads'
p14263
aS'steading'
p14264
aS'steaded'
p14265
aS'steaded'
p14266
asS'recurve'
p14267
(lp14268
S'recurves'
p14269
aS'recurving'
p14270
aS'recurved'
p14271
aS'recurved'
p14272
asS'disincline'
p14273
(lp14274
S'disinclines'
p14275
aS'disinclining'
p14276
aS'disinclined'
p14277
aS'disinclined'
p14278
asS'bother'
p14279
(lp14280
S'bothers'
p14281
aS'bothering'
p14282
aS'bothered'
p14283
aS'bothered'
p14284
asS'compere'
p14285
(lp14286
S'comperes'
p14287
aS'compering'
p14288
aS'compered'
p14289
aS'compered'
p14290
asS'reread'
p14291
(lp14292
S'rereads'
p14293
aS'rereading'
p14294
aS'reread'
p14295
aS'reread'
p14296
asS'misdirect'
p14297
(lp14298
S'misdirects'
p14299
aS'misdirecting'
p14300
aS'misdirected'
p14301
aS'misdirected'
p14302
asS'unmake'
p14303
(lp14304
S'unmakes'
p14305
aS'unmaking'
p14306
aS'unmade'
p14307
aS'unmade'
p14308
asS'misname'
p14309
(lp14310
S'misnames'
p14311
aS'misnaming'
p14312
aS'misnamed'
p14313
aS'misnamed'
p14314
asS'ruffle'
p14315
(lp14316
S'ruffles'
p14317
aS'ruffling'
p14318
aS'ruffled'
p14319
aS'ruffled'
p14320
asS'mitch'
p14321
(lp14322
S'mitches'
p14323
aS'mitching'
p14324
aS'mitched'
p14325
aS'mitched'
p14326
asS'begrime'
p14327
(lp14328
S'begrimes'
p14329
aS'begriming'
p14330
aS'begrimed'
p14331
aS'begrimed'
p14332
asS'drawl'
p14333
(lp14334
S'drawls'
p14335
aS'drawling'
p14336
aS'drawled'
p14337
aS'drawled'
p14338
asS'breakaway'
p14339
(lp14340
S'breakaways'
p14341
aS'breakawaying'
p14342
aS'breakawayed'
p14343
aS'breakawayed'
p14344
asS'disorganize'
p14345
(lp14346
S'disorganizes'
p14347
aS'disorganizing'
p14348
aS'disorganized'
p14349
aS'disorganized'
p14350
asS'embody'
p14351
(lp14352
S'embodies'
p14353
aS'embodying'
p14354
aS'embodied'
p14355
aS'embodied'
p14356
asS'emulsify'
p14357
(lp14358
S'emulsifies'
p14359
aS'emulsifying'
p14360
aS'emulsified'
p14361
aS'emulsified'
p14362
asS'unfold'
p14363
(lp14364
S'unfolds'
p14365
aS'unfolding'
p14366
aS'unfolded'
p14367
aS'unfolded'
p14368
asS'anele'
p14369
(lp14370
S'aneles'
p14371
aS'aneling'
p14372
aS'aneled'
p14373
aS'aneled'
p14374
asS'cop'
p14375
(lp14376
S'cops'
p14377
aS'copping'
p14378
aS'copped'
p14379
aS'copped'
p14380
asS'cow'
p14381
(lp14382
S'cows'
p14383
aS'cowing'
p14384
aS'cowed'
p14385
aS'cowed'
p14386
asS'cox'
p14387
(lp14388
S'coxes'
p14389
aS'coxing'
p14390
aS'coxed'
p14391
aS'coxed'
p14392
asS'bray'
p14393
(lp14394
S'brays'
p14395
aS'braying'
p14396
aS'brayed'
p14397
aS'brayed'
p14398
asS'cob'
p14399
(lp14400
S'cobs'
p14401
aS'cobbing'
p14402
aS'cobbed'
p14403
aS'cobbed'
p14404
asS'brag'
p14405
(lp14406
S'brags'
p14407
aS'bragging'
p14408
aS'bragged'
p14409
aS'bragged'
p14410
asS'cod'
p14411
(lp14412
S'cods'
p14413
aS'codding'
p14414
aS'codded'
p14415
aS'codded'
p14416
asS'cog'
p14417
(lp14418
S'cogs'
p14419
aS'cogging'
p14420
aS'cogged'
p14421
aS'cogged'
p14422
asS'coo'
p14423
(lp14424
S'coos'
p14425
aS'cooing'
p14426
aS'cooed'
p14427
aS'cooed'
p14428
asS'tone'
p14429
(lp14430
S'tones'
p14431
aS'toning'
p14432
aS'toned'
p14433
aS'toned'
p14434
asS'abbreviate'
p14435
(lp14436
S'abbreviates'
p14437
aS'abbreviating'
p14438
aS'abbreviated'
p14439
aS'abbreviated'
p14440
asS'spear'
p14441
(lp14442
S'spears'
p14443
aS'spearing'
p14444
aS'speared'
p14445
aS'speared'
p14446
asS'boxhaul'
p14447
(lp14448
S'boxhauls'
p14449
aS'boxhauling'
p14450
aS'boxhauled'
p14451
aS'boxhauled'
p14452
asS'refile'
p14453
(lp14454
S'refiles'
p14455
aS'refiling'
p14456
aS'refiled'
p14457
aS'refiled'
p14458
asS'edulcorate'
p14459
(lp14460
S'edulcorates'
p14461
aS'edulcorating'
p14462
aS'edulcorated'
p14463
aS'edulcorated'
p14464
asS'speak'
p14465
(lp14466
S'speaks'
p14467
aS'speaking'
p14468
aS'spoke'
p14469
aS'spoken'
p14470
asS'impersonalize'
p14471
(lp14472
S'impersonalizes'
p14473
aS'impersonalizing'
p14474
aS'impersonalized'
p14475
aS'impersonalized'
p14476
asS'revegetate'
p14477
(lp14478
S'revegetates'
p14479
aS'revegetating'
p14480
aS'revegetated'
p14481
aS'revegetated'
p14482
asS'accentuate'
p14483
(lp14484
S'accentuates'
p14485
aS'accentuating'
p14486
aS'accentuated'
p14487
aS'accentuated'
p14488
asS'backwash'
p14489
(lp14490
S'backwashes'
p14491
aS'backwashing'
p14492
aS'backwashed'
p14493
aS'backwashed'
p14494
asS'Christianize'
p14495
(lp14496
S'Christianizes'
p14497
aS'Christianizing'
p14498
aS'Christianized'
p14499
aS'Christianized'
p14500
asS'revoice'
p14501
(lp14502
S'revoices'
p14503
aS'revoicing'
p14504
aS'revoiced'
p14505
aS'revoiced'
p14506
asS'excite'
p14507
(lp14508
S'excites'
p14509
aS'exciting'
p14510
aS'excited'
p14511
aS'excited'
p14512
asS'hacksaw'
p14513
(lp14514
S'hacksaws'
p14515
aS'hacksawing'
p14516
aS'hacksawed'
p14517
aS'hacksawn'
p14518
asS'overtax'
p14519
(lp14520
S'overtaxes'
p14521
aS'overtaxing'
p14522
aS'overtaxed'
p14523
aS'overtaxed'
p14524
asS'hap'
p14525
(lp14526
S'haps'
p14527
aS'happing'
p14528
aS'happed'
p14529
aS'happed'
p14530
asS'hoist'
p14531
(lp14532
S'hoists'
p14533
aS'hoisting'
p14534
aS'hoisted'
p14535
aS'hoisted'
p14536
asS'spellbind'
p14537
(lp14538
S'spellbinds'
p14539
aS'spellbinding'
p14540
aS'spellbound'
p14541
aS'spellbound'
p14542
asS'disarrange'
p14543
(lp14544
S'disarranges'
p14545
aS'disarranging'
p14546
aS'disarranged'
p14547
aS'disarranged'
p14548
asS'inhibit'
p14549
(lp14550
S'inhibits'
p14551
aS'inhibiting'
p14552
aS'inhibited'
p14553
aS'inhibited'
p14554
asS'solvate'
p14555
(lp14556
S'solvates'
p14557
aS'solvating'
p14558
aS'solvated'
p14559
aS'solvated'
p14560
asS'sculpt'
p14561
(lp14562
S'sculpts'
p14563
aS'sculpting'
p14564
aS'sculpted'
p14565
aS'sculpted'
p14566
asS'air'
p14567
(lp14568
S'airs'
p14569
aS'airing'
p14570
aS'aired'
p14571
aS'aired'
p14572
asS'aim'
p14573
(lp14574
S'aims'
p14575
aS'aiming'
p14576
aS'aimed'
p14577
aS'aimed'
p14578
asS'ail'
p14579
(lp14580
S'ails'
p14581
aS'ailing'
p14582
aS'ailed'
p14583
aS'ailed'
p14584
asS'thrash'
p14585
(lp14586
S'thrashes'
p14587
aS'thrashing'
p14588
aS'thrashed'
p14589
aS'thrashed'
p14590
asS'aid'
p14591
(lp14592
S'aids'
p14593
aS'aiding'
p14594
aS'aided'
p14595
aS'aided'
p14596
asS'voice'
p14597
(lp14598
S'voices'
p14599
aS'voicing'
p14600
aS'voiced'
p14601
aS'voiced'
p14602
asS'mistake'
p14603
(lp14604
S'mistakes'
p14605
aS'mistaking'
p14606
aS'mistook'
p14607
aS'mistaken'
p14608
asS'souse'
p14609
(lp14610
S'souses'
p14611
aS'sousing'
p14612
aS'soused'
p14613
aS'soused'
p14614
asS'dislimn'
p14615
(lp14616
S'dislimns'
p14617
aS'dislimning'
p14618
aS'dislimned'
p14619
aS'dislimned'
p14620
asS'sting'
p14621
(lp14622
S'stings'
p14623
aS'stinging'
p14624
aS'stung'
p14625
aS'stung'
p14626
asS'dizzy'
p14627
(lp14628
S'dizzies'
p14629
aS'dizzying'
p14630
aS'dizzied'
p14631
aS'dizzied'
p14632
asS'brake'
p14633
(lp14634
S'brakes'
p14635
aS'braking'
p14636
aS'braked'
p14637
aS'braked'
p14638
asS'cone'
p14639
(lp14640
S'cones'
p14641
aS'coning'
p14642
aS'coned'
p14643
aS'coned'
p14644
asS'exile'
p14645
(lp14646
S'exiles'
p14647
aS'exiling'
p14648
aS'exiled'
p14649
aS'exiled'
p14650
asS'uplift'
p14651
(lp14652
S'uplifts'
p14653
aS'uplifting'
p14654
aS'uplifted'
p14655
aS'uplifted'
p14656
asS'conk'
p14657
(lp14658
S'conks'
p14659
aS'conking'
p14660
aS'conked'
p14661
aS'conked'
p14662
asS'stint'
p14663
(lp14664
S'stints'
p14665
aS'stinting'
p14666
aS'stinted'
p14667
aS'stinted'
p14668
asS'conn'
p14669
(lp14670
S'cons'
p14671
aS'conning'
p14672
aS'conned'
p14673
aS'conned'
p14674
asS'deadhead'
p14675
(lp14676
S'deadheads'
p14677
aS'deadheading'
p14678
aS'deadheaded'
p14679
aS'deadheaded'
p14680
asS'feaze'
p14681
(lp14682
S'feazes'
p14683
aS'feazing'
p14684
aS'feazed'
p14685
aS'feazed'
p14686
asS'perform'
p14687
(lp14688
S'performs'
p14689
aS'performing'
p14690
aS'performed'
p14691
aS'performed'
p14692
asS'grapple'
p14693
(lp14694
S'grapples'
p14695
aS'grappling'
p14696
aS'grappled'
p14697
aS'grappled'
p14698
asS'descend'
p14699
(lp14700
S'descends'
p14701
aS'descending'
p14702
aS'descended'
p14703
aS'descended'
p14704
asS'hank'
p14705
(lp14706
S'hanks'
p14707
aS'hanking'
p14708
aS'hanked'
p14709
aS'hanked'
p14710
asS'raid'
p14711
(lp14712
S'raids'
p14713
aS'raiding'
p14714
aS'raided'
p14715
aS'raided'
p14716
asS'fuss'
p14717
(lp14718
S'fusses'
p14719
aS'fussing'
p14720
aS'fussed'
p14721
aS'fussed'
p14722
asS'recce'
p14723
(lp14724
S'recces'
p14725
aS'recceing'
p14726
aS'recced'
p14727
aS'recced'
p14728
asS'swell'
p14729
(lp14730
S'swells'
p14731
aS'swelling'
p14732
aS'swelled'
p14733
aS'swollen'
p14734
asS'hang'
p14735
(lp14736
S'hangs'
p14737
aS'hanging'
p14738
aS'hung'
p14739
aS'hung'
p14740
asS'rain'
p14741
(lp14742
S'rains'
p14743
aS'raining'
p14744
aS'rained'
p14745
aS'rained'
p14746
asS'hand'
p14747
(lp14748
S'hands'
p14749
aS'handing'
p14750
aS'handed'
p14751
aS'handed'
p14752
asS'larrup'
p14753
(lp14754
S'larrups'
p14755
aS'larruping'
p14756
aS'larruped'
p14757
aS'larruped'
p14758
asS'ingraft'
p14759
(lp14760
S'ingrafts'
p14761
aS'ingrafting'
p14762
aS'ingrafted'
p14763
aS'ingrafted'
p14764
asS'depict'
p14765
(lp14766
S'depicts'
p14767
aS'depicting'
p14768
aS'depicted'
p14769
aS'depicted'
p14770
asS'descry'
p14771
(lp14772
S'descries'
p14773
aS'descrying'
p14774
aS'descried'
p14775
aS'descried'
p14776
asS'nip'
p14777
(lp14778
S'nips'
p14779
aS'nipping'
p14780
aS'nipped'
p14781
aS'nippped'
p14782
asS'jangle'
p14783
(lp14784
S'jangles'
p14785
aS'jangling'
p14786
aS'jangled'
p14787
aS'jangled'
p14788
asS'humble'
p14789
(lp14790
S'humbles'
p14791
aS'humbling'
p14792
aS'humbled'
p14793
aS'humbled'
p14794
asS'drip'
p14795
(lp14796
S'drips'
p14797
aS'dripping'
p14798
aS'dripped'
p14799
aS'dripped'
p14800
asS'gratulate'
p14801
(lp14802
S'gratulates'
p14803
aS'gratulating'
p14804
aS'gratulated'
p14805
aS'gratulated'
p14806
asS'jay-walk'
p14807
(lp14808
S'jay-walks'
p14809
aS'jaywalking'
p14810
aS'jaywalked'
p14811
aS'jay-walked'
p14812
asS'contact'
p14813
(lp14814
S'contacts'
p14815
aS'contacting'
p14816
aS'contacted'
p14817
aS'contacted'
p14818
asS'snigger'
p14819
(lp14820
S'sniggers'
p14821
aS'sniggering'
p14822
aS'sniggered'
p14823
aS'sniggered'
p14824
asS'skivvy'
p14825
(lp14826
S'skivvies'
p14827
aS'skivvying'
p14828
aS'skivvied'
p14829
aS'skivvied'
p14830
asS'bereave'
p14831
(lp14832
S'bereaves'
p14833
aS'bereaving'
p14834
aS'bereaved'
p14835
aS'bereaved'
p14836
asS'mingle'
p14837
(lp14838
S'mingles'
p14839
aS'mingling'
p14840
aS'mingled'
p14841
aS'mingled'
p14842
asS'halloo'
p14843
(lp14844
S'halloos'
p14845
aS'hallooing'
p14846
aS'hallooed'
p14847
aS'hallooed'
p14848
asS'dignify'
p14849
(lp14850
S'dignifies'
p14851
aS'dignifying'
p14852
aS'dignified'
p14853
aS'dignified'
p14854
asS'repose'
p14855
(lp14856
S'reposes'
p14857
aS'reposing'
p14858
aS'reposed'
p14859
aS'reposed'
p14860
asS'hallow'
p14861
(lp14862
S'hallows'
p14863
aS'hallowing'
p14864
aS'hallowed'
p14865
aS'hallowed'
p14866
asS'interweave'
p14867
(lp14868
S'interweaves'
p14869
aS'interweaving'
p14870
aS'interwove'
p14871
aS'interwoven'
p14872
asS'varitype'
p14873
(lp14874
S'varitypes'
p14875
aS'varityping'
p14876
aS'varityped'
p14877
aS'varityped'
p14878
asS'attemper'
p14879
(lp14880
S'attempers'
p14881
aS'attempering'
p14882
aS'attempered'
p14883
aS'attempered'
p14884
asS'exalt'
p14885
(lp14886
S'exalts'
p14887
aS'exalting'
p14888
aS'exalted'
p14889
aS'exalted'
p14890
asS'shout'
p14891
(lp14892
S'shouts'
p14893
aS'shouting'
p14894
aS'shouted'
p14895
aS'shouted'
p14896
asS'spread'
p14897
(lp14898
S'spreads'
p14899
aS'spreading'
p14900
aS'spread'
p14901
aS'spread'
p14902
asS'board'
p14903
(lp14904
S'boards'
p14905
aS'boarding'
p14906
aS'boarded'
p14907
aS'boarded'
p14908
asS'basset'
p14909
(lp14910
S'bassets'
p14911
aS'basseting'
p14912
aS'basseted'
p14913
aS'basseted'
p14914
asS'retread'
p14915
(lp14916
S'retreads'
p14917
aS'retreading'
p14918
aS'retreaded'
p14919
aS'retreaded'
p14920
asS'botanize'
p14921
(lp14922
S'botanizes'
p14923
aS'botanizing'
p14924
aS'botanized'
p14925
aS'botanized'
p14926
asS'barge'
p14927
(lp14928
S'barges'
p14929
aS'barging'
p14930
aS'barged'
p14931
aS'barged'
p14932
asS'retreat'
p14933
(lp14934
S'retreats'
p14935
aS'retreating'
p14936
aS'retreated'
p14937
aS'retreated'
p14938
asS'disadvantage'
p14939
(lp14940
S'disadvantages'
p14941
aS'disadvantaging'
p14942
aS'disadvantaged'
p14943
aS'disadvantaged'
p14944
asS'rustle'
p14945
(lp14946
S'rustles'
p14947
aS'rustling'
p14948
aS'rustled'
p14949
aS'rustled'
p14950
asS'overfly'
p14951
(lp14952
S'overflies'
p14953
aS'overflying'
p14954
aS'overflew'
p14955
aS'overflown'
p14956
asS'airdrop'
p14957
(lp14958
S'airdrops'
p14959
aS'airdropping'
p14960
aS'airdropped'
p14961
aS'airdropped'
p14962
asS'kyanize'
p14963
(lp14964
S'kyanizes'
p14965
aS'kyanizing'
p14966
aS'kyanized'
p14967
aS'kyanized'
p14968
asS'snug'
p14969
(lp14970
S'snugs'
p14971
aS'snugging'
p14972
aS'snugged'
p14973
aS'snugged'
p14974
asS'revalorize'
p14975
(lp14976
S'revalorizes'
p14977
aS'revalorizing'
p14978
aS'revalorized'
p14979
aS'revalorized'
p14980
asS'grizzle'
p14981
(lp14982
S'grizzles'
p14983
aS'grizzling'
p14984
aS'grizzled'
p14985
aS'grizzled'
p14986
asS'reassign'
p14987
(lp14988
S'reassigns'
p14989
aS'reassigning'
p14990
aS'reassigned'
p14991
aS'reassigned'
p14992
asS'augur'
p14993
(lp14994
S'augurs'
p14995
aS'auguring'
p14996
aS'augured'
p14997
aS'augured'
p14998
asS'thole'
p14999
(lp15000
S'tholes'
p15001
aS'tholing'
p15002
aS'tholed'
p15003
aS'tholed'
p15004
asS'antique'
p15005
(lp15006
S'antiques'
p15007
aS'antiquing'
p15008
aS'antiqued'
p15009
aS'antiqued'
p15010
asS'aircool'
p15011
(lp15012
S'aircools'
p15013
aS'aircooling'
p15014
aS'aircooled'
p15015
aS'aircooled'
p15016
asS'flatter'
p15017
(lp15018
sS'rile'
p15019
(lp15020
S'riles'
p15021
aS'riling'
p15022
aS'riled'
p15023
aS'riled'
p15024
asS'hassle'
p15025
(lp15026
S'hassles'
p15027
aS'hassling'
p15028
aS'hassled'
p15029
aS'hassled'
p15030
asS'flatten'
p15031
(lp15032
S'flattens'
p15033
aS'flattening'
p15034
aS'flattened'
p15035
aS'flattened'
p15036
asS'bore'
p15037
(lp15038
S'bores'
p15039
aS'boring'
p15040
aS'bored'
p15041
aS'bored'
p15042
asS'cede'
p15043
(lp15044
S'cedes'
p15045
aS'ceding'
p15046
aS'ceded'
p15047
aS'ceded'
p15048
asS'matriculate'
p15049
(lp15050
S'matriculates'
p15051
aS'matriculating'
p15052
aS'matriculated'
p15053
aS'matriculated'
p15054
asS'vassalize'
p15055
(lp15056
S'vassalizes'
p15057
aS'vassalizing'
p15058
aS'vassalized'
p15059
aS'vassalized'
p15060
asS'peek'
p15061
(lp15062
S'peeks'
p15063
aS'peeking'
p15064
aS'peeked'
p15065
aS'peeked'
p15066
asS'peen'
p15067
(lp15068
S'peens'
p15069
aS'peening'
p15070
aS'peened'
p15071
aS'peened'
p15072
asS'peel'
p15073
(lp15074
S'peels'
p15075
aS'peeling'
p15076
aS'peeled'
p15077
aS'peeled'
p15078
asS'pulverize'
p15079
(lp15080
S'pulverizes'
p15081
aS'pulverizing'
p15082
aS'pulverized'
p15083
aS'pulverized'
p15084
asS'elucidate'
p15085
(lp15086
S'elucidates'
p15087
aS'elucidating'
p15088
aS'elucidated'
p15089
aS'elucidated'
p15090
asS'pose'
p15091
(lp15092
S'poses'
p15093
aS'posing'
p15094
aS'posed'
p15095
aS'posed'
p15096
asS'confer'
p15097
(lp15098
S'confers'
p15099
aS'conferring'
p15100
aS'conferred'
p15101
aS'conferred'
p15102
asS'ply'
p15103
(lp15104
S'plies'
p15105
aS'plying'
p15106
aS'plied'
p15107
aS'plied'
p15108
asS'depoliticize'
p15109
(lp15110
S'depoliticizes'
p15111
aS'depoliticizing'
p15112
aS'depoliticized'
p15113
aS'depoliticized'
p15114
asS'outrival'
p15115
(lp15116
S'outrivals'
p15117
aS'outrivalling'
p15118
aS'outrivalled'
p15119
aS'outrivalled'
p15120
asS'peep'
p15121
(lp15122
S'peeps'
p15123
aS'peeping'
p15124
aS'peeped'
p15125
aS'peeped'
p15126
asS'vault'
p15127
(lp15128
S'vaults'
p15129
aS'vaulting'
p15130
aS'vaulted'
p15131
aS'vaulted'
p15132
asS'poss'
p15133
(lp15134
S'posses'
p15135
ag11329
ag11330
ag11331
asS'chafe'
p15136
(lp15137
S'chafes'
p15138
aS'chafing'
p15139
aS'chafed'
p15140
aS'chafed'
p15141
asS'chaff'
p15142
(lp15143
S'chaffs'
p15144
aS'chaffing'
p15145
aS'chaffed'
p15146
aS'chaffed'
p15147
asS'tryst'
p15148
(lp15149
S'trysts'
p15150
aS'trysting'
p15151
aS'trysted'
p15152
aS'trysted'
p15153
asS'visa'
p15154
(lp15155
S'visas'
p15156
aS'visaing'
p15157
aS'visaed'
p15158
aS'visaed'
p15159
asS'plenish'
p15160
(lp15161
S'plenishes'
p15162
aS'plenishing'
p15163
aS'plenished'
p15164
aS'plenished'
p15165
asS'cherish'
p15166
(lp15167
S'cherishes'
p15168
aS'cherishing'
p15169
aS'cherished'
p15170
aS'cherished'
p15171
asS'croak'
p15172
(lp15173
S'croaks'
p15174
aS'croaking'
p15175
aS'croaked'
p15176
aS'croaked'
p15177
asS'clomb'
p15178
(lp15179
S'clombs'
p15180
aS'clombing'
p15181
aS'clombed'
p15182
aS'clombed'
p15183
asS'mantle'
p15184
(lp15185
S'mantles'
p15186
aS'mantling'
p15187
aS'mantled'
p15188
aS'mantled'
p15189
asS'float'
p15190
(lp15191
S'floats'
p15192
aS'floating'
p15193
aS'floated'
p15194
aS'floated'
p15195
asS'bound'
p15196
(lp15197
sS'clomp'
p15198
(lp15199
S'clomps'
p15200
aS'clomping'
p15201
aS'clomped'
p15202
aS'clomped'
p15203
asS'obligate'
p15204
(lp15205
S'obligates'
p15206
aS'obligating'
p15207
aS'obligated'
p15208
aS'obligated'
p15209
asS'stumble'
p15210
(lp15211
S'stumbles'
p15212
aS'stumbling'
p15213
aS'stumbled'
p15214
aS'stumbled'
p15215
asS'wan'
p15216
(lp15217
S'wans'
p15218
aS'wanning'
p15219
aS'wanned'
p15220
aS'wanned'
p15221
asS'familiarize'
p15222
(lp15223
S'familiarizes'
p15224
aS'familiarizing'
p15225
aS'familiarized'
p15226
aS'familiarized'
p15227
asS'connote'
p15228
(lp15229
S'connotes'
p15230
aS'connoting'
p15231
aS'connoted'
p15232
aS'connoted'
p15233
asS'wag'
p15234
(lp15235
S'wags'
p15236
aS'wagging'
p15237
aS'wagged'
p15238
aS'wagged'
p15239
asS'segment'
p15240
(lp15241
S'segments'
p15242
aS'segmenting'
p15243
aS'segmented'
p15244
aS'segmented'
p15245
asS'wad'
p15246
(lp15247
S'wads'
p15248
aS'wadding'
p15249
aS'wadded'
p15250
aS'wadded'
p15251
asS'frill'
p15252
(lp15253
S'frills'
p15254
aS'frilling'
p15255
aS'frilled'
p15256
aS'frilled'
p15257
asS'fight'
p15258
(lp15259
S'fights'
p15260
aS'fighting'
p15261
aS'fought'
p15262
aS'fought'
p15263
asS'gybe'
p15264
(lp15265
S'gybes'
p15266
aS'gybing'
p15267
aS'gybed'
p15268
aS'gybed'
p15269
asS'tartarize'
p15270
(lp15271
S'tartarizes'
p15272
aS'tartarizing'
p15273
aS'tartarized'
p15274
aS'tartarized'
p15275
asS'fizz'
p15276
(lp15277
S'fizzes'
p15278
aS'fizzing'
p15279
aS'fizzed'
p15280
aS'fizzed'
p15281
asS'pirouette'
p15282
(lp15283
S'pirouettes'
p15284
aS'pirouetting'
p15285
aS'pirouetted'
p15286
aS'pirouetted'
p15287
asS'bespatter'
p15288
(lp15289
S'bespatters'
p15290
aS'bespattering'
p15291
aS'bespattered'
p15292
aS'bespattered'
p15293
asS'converse'
p15294
(lp15295
S'converses'
p15296
aS'conversing'
p15297
aS'conversed'
p15298
aS'conversed'
p15299
asS'imparadise'
p15300
(lp15301
S'imparadises'
p15302
aS'imparadising'
p15303
aS'imparadised'
p15304
aS'imparadised'
p15305
asS'true'
p15306
(lp15307
S'trues'
p15308
aS'truing'
p15309
aS'trued'
p15310
aS'trued'
p15311
asS'reset'
p15312
(lp15313
S'resets'
p15314
aS'resetting'
p15315
aS'reset'
p15316
aS'reset'
p15317
asS'absent'
p15318
(lp15319
S'absents'
p15320
aS'absenting'
p15321
aS'absented'
p15322
aS'absented'
p15323
asS'scrimmage'
p15324
(lp15325
S'scrimmages'
p15326
aS'scrimmaging'
p15327
aS'scrimmaged'
p15328
aS'scrimmaged'
p15329
asS'detribalize'
p15330
(lp15331
S'detribalizes'
p15332
aS'detribalizing'
p15333
aS'detribalized'
p15334
aS'detribalized'
p15335
asS'variolate'
p15336
(lp15337
S'variolates'
p15338
aS'variolating'
p15339
aS'variolated'
p15340
aS'variolated'
p15341
asS'emit'
p15342
(lp15343
S'emits'
p15344
aS'emitting'
p15345
aS'emitted'
p15346
aS'emitted'
p15347
asS'corrade'
p15348
(lp15349
S'corrades'
p15350
aS'corrading'
p15351
aS'corraded'
p15352
aS'corraded'
p15353
asS'abstract'
p15354
(lp15355
S'abstracts'
p15356
aS'abstracting'
p15357
aS'abstracted'
p15358
aS'abstracted'
p15359
asS'molt'
p15360
(lp15361
S'molts'
p15362
aS'molting'
p15363
aS'molted'
p15364
aS'molted'
p15365
asS'evidence'
p15366
(lp15367
S'evidences'
p15368
aS'evidencing'
p15369
aS'evidenced'
p15370
aS'evidenced'
p15371
asS'manure'
p15372
(lp15373
S'manures'
p15374
aS'manuring'
p15375
aS'manured'
p15376
aS'manured'
p15377
asS'subsist'
p15378
(lp15379
S'subsists'
p15380
aS'subsisting'
p15381
aS'subsisted'
p15382
aS'subsisted'
p15383
asS'face'
p15384
(lp15385
S'faces'
p15386
aS'facing'
p15387
aS'faced'
p15388
aS'faced'
p15389
asS'chainsmoke'
p15390
(lp15391
S'chainsmokes'
p15392
aS'chainsmoking'
p15393
aS'chainsmoked'
p15394
aS'chainsmoked'
p15395
asS'stake'
p15396
(lp15397
S'stakes'
p15398
aS'staking'
p15399
aS'staked'
p15400
aS'staked'
p15401
asS'shrine'
p15402
(lp15403
S'shrines'
p15404
aS'shrining'
p15405
aS'shrined'
p15406
aS'shrined'
p15407
asS'test'
p15408
(lp15409
S'tests'
p15410
aS'testing'
p15411
aS'tested'
p15412
aS'tested'
p15413
asS'upholster'
p15414
(lp15415
S'upholsters'
p15416
aS'upholstering'
p15417
aS'upholstered'
p15418
aS'upholstered'
p15419
asS'outmanoeuvre'
p15420
(lp15421
S'outmanoeuvres'
p15422
aS'outmanoeuvring'
p15423
aS'outmanoeuvred'
p15424
aS'outmanoeuvred'
p15425
asS'frolic'
p15426
(lp15427
S'frolics'
p15428
aS'frolicking'
p15429
aS'frolicked'
p15430
aS'frolicked'
p15431
asS'cicatrize'
p15432
(lp15433
S'cicatrizes'
p15434
aS'cicatrizing'
p15435
aS'cicatrized'
p15436
aS'cicatrized'
p15437
asS'orate'
p15438
(lp15439
S'orates'
p15440
aS'orating'
p15441
aS'orated'
p15442
aS'orated'
p15443
asS'unscramble'
p15444
(lp15445
S'unscrambles'
p15446
aS'unscrambling'
p15447
aS'unscrambled'
p15448
aS'unscrambled'
p15449
asS'truncate'
p15450
(lp15451
S'truncates'
p15452
aS'truncating'
p15453
aS'truncated'
p15454
aS'truncated'
p15455
asS'welcome'
p15456
(lp15457
S'welcomes'
p15458
aS'welcoming'
p15459
aS'welcomed'
p15460
aS'welcomed'
p15461
asS'outreach'
p15462
(lp15463
S'outreaches'
p15464
aS'outreaching'
p15465
aS'outreached'
p15466
aS'outreached'
p15467
asS'troupe'
p15468
(lp15469
S'troupes'
p15470
aS'trouping'
p15471
aS'trouped'
p15472
aS'trouped'
p15473
asS'volcanize'
p15474
(lp15475
S'volcanizes'
p15476
aS'volcanizing'
p15477
aS'volcanized'
p15478
aS'volcanized'
p15479
asS'ramify'
p15480
(lp15481
S'ramifies'
p15482
aS'ramifying'
p15483
aS'ramified'
p15484
aS'ramified'
p15485
asS'contango'
p15486
(lp15487
S'contangoes'
p15488
aS'contangoing'
p15489
aS'contangoed'
p15490
aS'contangoed'
p15491
asS'faze'
p15492
(lp15493
S'fazes'
p15494
aS'fazing'
p15495
aS'fazed'
p15496
aS'fazed'
p15497
asS'tautologize'
p15498
(lp15499
S'tautologizes'
p15500
aS'tautologizing'
p15501
aS'tautologized'
p15502
aS'tautologized'
p15503
asS'bottom'
p15504
(lp15505
S'bottoms'
p15506
aS'bottoming'
p15507
aS'bottomed'
p15508
aS'bottomed'
p15509
asS'urbanize'
p15510
(lp15511
S'urbanizes'
p15512
aS'urbanizing'
p15513
aS'urbanized'
p15514
aS'urbanized'
p15515
asS'gyrate'
p15516
(lp15517
S'gyrates'
p15518
aS'gyrating'
p15519
aS'gyrated'
p15520
aS'gyrated'
p15521
asS're-trace'
p15522
(lp15523
S're-traces'
p15524
aS're-tracing'
p15525
ag9329
aS're-traced'
p15526
asS'denunciate'
p15527
(lp15528
S'denunciates'
p15529
aS'denunciating'
p15530
aS'denunciated'
p15531
aS'denunciated'
p15532
asS'platemark'
p15533
(lp15534
S'platemarks'
p15535
aS'platemarking'
p15536
aS'platemarked'
p15537
aS'platemarked'
p15538
asS'incarcerate'
p15539
(lp15540
S'incarcerates'
p15541
aS'incarcerating'
p15542
aS'incarcerated'
p15543
aS'incarcerated'
p15544
asS'dance'
p15545
(lp15546
S'dances'
p15547
aS'dancing'
p15548
aS'danced'
p15549
aS'danced'
p15550
asS'debauch'
p15551
(lp15552
S'debauches'
p15553
aS'debauching'
p15554
aS'debauched'
p15555
aS'debauched'
p15556
asS'supplement'
p15557
(lp15558
S'supplements'
p15559
aS'supplementing'
p15560
aS'supplemented'
p15561
aS'supplemented'
p15562
asS'battle'
p15563
(lp15564
S'battles'
p15565
aS'battling'
p15566
aS'battled'
p15567
aS'battled'
p15568
asS'suffumigate'
p15569
(lp15570
S'suffumigates'
p15571
aS'suffumigating'
p15572
aS'suffumigated'
p15573
aS'suffumigated'
p15574
asS'extoll'
p15575
(lp15576
S'extols'
p15577
aS'extolling'
p15578
aS'extolled'
p15579
aS'extolled'
p15580
asS'matchmark'
p15581
(lp15582
S'matchmarks'
p15583
aS'matchmarking'
p15584
aS'matchmarked'
p15585
aS'matchmarked'
p15586
asS'zone'
p15587
(lp15588
S'zones'
p15589
aS'zoning'
p15590
aS'zoned'
p15591
aS'zoned'
p15592
asS'graph'
p15593
(lp15594
S'graphs'
p15595
aS'graphing'
p15596
aS'graphed'
p15597
aS'graphed'
p15598
asS'hump'
p15599
(lp15600
S'humps'
p15601
aS'humping'
p15602
aS'humped'
p15603
aS'humped'
p15604
asS'flash'
p15605
(lp15606
S'flashes'
p15607
aS'flashing'
p15608
aS'flashed'
p15609
aS'flashed'
p15610
asS'compensate'
p15611
(lp15612
S'compensates'
p15613
aS'compensating'
p15614
aS'compensated'
p15615
aS'compensated'
p15616
asS'tusk'
p15617
(lp15618
S'tusks'
p15619
aS'tusking'
p15620
aS'tusked'
p15621
aS'tusked'
p15622
asS'overbuild'
p15623
(lp15624
S'overbuilds'
p15625
aS'overbuilding'
p15626
aS'overbuilt'
p15627
aS'overbuilt'
p15628
asS'brown'
p15629
(lp15630
S'browns'
p15631
aS'browning'
p15632
aS'browned'
p15633
aS'browned'
p15634
asS'predicate'
p15635
(lp15636
S'predicates'
p15637
aS'predicating'
p15638
aS'predicated'
p15639
aS'predicated'
p15640
asS'congest'
p15641
(lp15642
S'congests'
p15643
aS'congesting'
p15644
aS'congested'
p15645
aS'congested'
p15646
asS'chirrup'
p15647
(lp15648
S'chirrups'
p15649
aS'chirruping'
p15650
aS'chirruped'
p15651
aS'chirruped'
p15652
asS'sunbathe'
p15653
(lp15654
S'sunbathes'
p15655
aS'sunbathing'
p15656
aS'sunbathed'
p15657
aS'sunbathed'
p15658
asS'kitten'
p15659
(lp15660
S'kittens'
p15661
aS'kittening'
p15662
aS'kittened'
p15663
aS'kittened'
p15664
asS'trouble'
p15665
(lp15666
S'troubles'
p15667
aS'troubling'
p15668
aS'troubled'
p15669
aS'troubled'
p15670
asS'blast'
p15671
(lp15672
S'blasts'
p15673
aS'blasting'
p15674
aS'blasted'
p15675
aS'blasted'
p15676
asS'pitterpatter'
p15677
(lp15678
S'pitterpatters'
p15679
aS'pitterpattering'
p15680
aS'pitterpattered'
p15681
aS'pitterpattered'
p15682
asS'bring'
p15683
(lp15684
S'brings'
p15685
aS'bringing'
p15686
aS'brought'
p15687
aS'brought'
p15688
asS'subinfeudate'
p15689
(lp15690
S'subinfeudates'
p15691
aS'subinfeudating'
p15692
aS'subinfeudated'
p15693
aS'subinfeudated'
p15694
asS'sightread'
p15695
(lp15696
S'sightreads'
p15697
aS'sightreading'
p15698
aS'sightread'
p15699
aS'sightread'
p15700
asS'Latinize'
p15701
(lp15702
S'Latinizes'
p15703
aS'Latinizing'
p15704
aS'Latinized'
p15705
aS'Latinized'
p15706
asS'gun'
p15707
(lp15708
S'guns'
p15709
aS'gunning'
p15710
aS'gunned'
p15711
aS'gunned'
p15712
asS'gum'
p15713
(lp15714
S'gums'
p15715
aS'gumming'
p15716
aS'gummed'
p15717
aS'gummed'
p15718
asS'stylopize'
p15719
(lp15720
S'stylopizes'
p15721
aS'stylopizing'
p15722
aS'stylopized'
p15723
aS'stylopized'
p15724
asS'burgeon'
p15725
(lp15726
S'burgeons'
p15727
aS'burgeoning'
p15728
aS'burgeoned'
p15729
aS'burgeoned'
p15730
asS'guy'
p15731
(lp15732
S'guys'
p15733
aS'guying'
p15734
aS'guyed'
p15735
aS'guyed'
p15736
asS'disqualify'
p15737
(lp15738
S'disqualifies'
p15739
aS'disqualifying'
p15740
aS'disqualified'
p15741
aS'disqualified'
p15742
asS'Grecize'
p15743
(lp15744
S'Grecizes'
p15745
aS'Grecizing'
p15746
aS'Grecized'
p15747
aS'Grecized'
p15748
asS'brave'
p15749
(lp15750
S'braves'
p15751
aS'braving'
p15752
aS'braved'
p15753
aS'braved'
p15754
asS'regret'
p15755
(lp15756
S'regrets'
p15757
aS'regretting'
p15758
aS'regretted'
p15759
aS'regretted'
p15760
asS'trill'
p15761
(lp15762
S'trills'
p15763
aS'trilling'
p15764
aS'trilled'
p15765
aS'trilled'
p15766
asS'discover'
p15767
(lp15768
S'discovers'
p15769
aS'discovering'
p15770
aS'discovered'
p15771
aS'discovered'
p15772
asS'agitate'
p15773
(lp15774
S'agitates'
p15775
aS'agitating'
p15776
aS'agitated'
p15777
aS'agitated'
p15778
asS'cosh'
p15779
(lp15780
S'coshes'
p15781
aS'coshing'
p15782
aS'coshed'
p15783
aS'coshed'
p15784
asS'circumnutate'
p15785
(lp15786
S'circumnutates'
p15787
aS'circumnutating'
p15788
aS'circumnutated'
p15789
aS'circumnutated'
p15790
asS'grump'
p15791
(lp15792
S'grumps'
p15793
aS'grumping'
p15794
aS'grumped'
p15795
aS'grumped'
p15796
asS'cost'
p15797
(lp15798
S'costs'
p15799
aS'costing'
p15800
aS'cost'
p15801
aS'cost'
p15802
asS'stupefy'
p15803
(lp15804
S'stupefies'
p15805
aS'stupefying'
p15806
aS'stupefied'
p15807
aS'stupefied'
p15808
asS'tempest'
p15809
(lp15810
S'tempests'
p15811
aS'tempesting'
p15812
aS'tempested'
p15813
aS'tempested'
p15814
asS'curse'
p15815
(lp15816
S'curses'
p15817
aS'cursing'
p15818
aS'curst'
p15819
aS'curst'
p15820
asS'appear'
p15821
(lp15822
S'appears'
p15823
aS'appearing'
p15824
aS'appeared'
p15825
aS'appeared'
p15826
asS'avouch'
p15827
(lp15828
S'avouches'
p15829
aS'avouching'
p15830
aS'avouched'
p15831
aS'avouched'
p15832
asS'galumph'
p15833
(lp15834
S'galumphs'
p15835
aS'galumphing'
p15836
aS'galumphed'
p15837
aS'galumphed'
p15838
asS'havoc'
p15839
(lp15840
S'havocs'
p15841
aS'havocking'
p15842
aS'havocked'
p15843
aS'havocked'
p15844
asS'chuff'
p15845
(lp15846
S'chuffs'
p15847
aS'chuffing'
p15848
aS'chuffed'
p15849
aS'chuffed'
p15850
asS'telex'
p15851
(lp15852
S'telexes'
p15853
aS'telexing'
p15854
aS'telexed'
p15855
aS'telexed'
p15856
asS'appeal'
p15857
(lp15858
S'appeals'
p15859
aS'appealing'
p15860
aS'appealed'
p15861
aS'appealed'
p15862
asS'satisfy'
p15863
(lp15864
S'satisfies'
p15865
aS'satisfying'
p15866
aS'satisfied'
p15867
aS'satisfied'
p15868
asS'trampoline'
p15869
(lp15870
S'trampolines'
p15871
aS'trampolining'
p15872
aS'trampolined'
p15873
aS'trampolined'
p15874
asS'unbosom'
p15875
(lp15876
S'unbosoms'
p15877
aS'unbosoming'
p15878
aS'unbosomed'
p15879
aS'unbosomed'
p15880
asS'aline'
p15881
(lp15882
S'alines'
p15883
aS'alining'
p15884
aS'alined'
p15885
aS'alined'
p15886
asS'widow'
p15887
(lp15888
S'widows'
p15889
aS'widowing'
p15890
aS'widowed'
p15891
aS'widowed'
p15892
asS'gawk'
p15893
(lp15894
S'gawks'
p15895
aS'gawking'
p15896
aS'gawked'
p15897
aS'gawked'
p15898
asS'disclaim'
p15899
(lp15900
S'disclaims'
p15901
aS'disclaiming'
p15902
aS'disclaimed'
p15903
aS'disclaimed'
p15904
asS'illumine'
p15905
(lp15906
S'illumines'
p15907
aS'illumining'
p15908
aS'illumined'
p15909
aS'illumined'
p15910
asS'gawp'
p15911
(lp15912
S'gawps'
p15913
aS'gawping'
p15914
aS'gawped'
p15915
aS'gawped'
p15916
asS'English'
p15917
(lp15918
S'Englishes'
p15919
aS'Englishing'
p15920
aS'Englished'
p15921
aS'Englished'
p15922
asS'gorge'
p15923
(lp15924
S'gorges'
p15925
aS'gorging'
p15926
aS'gorged'
p15927
aS'gorged'
p15928
asS'sieve'
p15929
(lp15930
S'sieves'
p15931
aS'sieving'
p15932
aS'sieved'
p15933
aS'sieved'
p15934
asS'tubulate'
p15935
(lp15936
S'tubulates'
p15937
aS'tubulating'
p15938
aS'tubulated'
p15939
aS'tubulated'
p15940
asS'change'
p15941
(lp15942
S'changes'
p15943
aS'changing'
p15944
aS'changed'
p15945
aS'changed'
p15946
asS'buck'
p15947
(lp15948
S'bucks'
p15949
aS'bucking'
p15950
aS'bucked'
p15951
aS'bucked'
p15952
asS'theorize'
p15953
(lp15954
S'theorizes'
p15955
aS'theorizing'
p15956
aS'theorized'
p15957
aS'theorized'
p15958
asS'eke'
p15959
(lp15960
S'ekes'
p15961
aS'eking'
p15962
aS'eked'
p15963
aS'eked'
p15964
asS'disavow'
p15965
(lp15966
S'disavows'
p15967
aS'disavowing'
p15968
aS'disavowed'
p15969
aS'disavowed'
p15970
asS'detonate'
p15971
(lp15972
S'detonates'
p15973
aS'detonating'
p15974
aS'detonated'
p15975
aS'detonated'
p15976
asS'conciliate'
p15977
(lp15978
S'conciliates'
p15979
aS'conciliating'
p15980
aS'conciliated'
p15981
aS'conciliated'
p15982
asS'pillow'
p15983
(lp15984
S'pillows'
p15985
aS'pillowing'
p15986
aS'pillowed'
p15987
aS'pillowed'
p15988
asS'sewer'
p15989
(lp15990
S'sewers'
p15991
aS'sewering'
p15992
aS'sewered'
p15993
aS'sewered'
p15994
asS'solfa'
p15995
(lp15996
S'solfas'
p15997
aS'solfaing'
p15998
aS'solfaed'
p15999
aS'solfaed'
p16000
asS'infract'
p16001
(lp16002
S'infracts'
p16003
aS'infracting'
p16004
aS'infracted'
p16005
aS'infracted'
p16006
asS'paragon'
p16007
(lp16008
S'paragons'
p16009
aS'paragoning'
p16010
aS'paragoned'
p16011
aS'paragoned'
p16012
asS'gesticulate'
p16013
(lp16014
S'gesticulates'
p16015
aS'gesticulating'
p16016
aS'gesticulated'
p16017
aS'gesticulated'
p16018
asS'market'
p16019
(lp16020
S'markets'
p16021
aS'marketing'
p16022
aS'marketed'
p16023
aS'marketed'
p16024
asS'desalinize'
p16025
(lp16026
S'desalinizes'
p16027
aS'desalinizing'
p16028
aS'desalinized'
p16029
aS'desalinized'
p16030
asS'knurl'
p16031
(lp16032
S'knurls'
p16033
aS'knurling'
p16034
aS'knurled'
p16035
aS'knurled'
p16036
asS'subvert'
p16037
(lp16038
S'subverts'
p16039
aS'subverting'
p16040
aS'subverted'
p16041
aS'subverted'
p16042
asS'captivate'
p16043
(lp16044
S'captivates'
p16045
aS'captivating'
p16046
aS'captivated'
p16047
aS'captivated'
p16048
asS'rejuvenate'
p16049
(lp16050
S'rejuvenates'
p16051
aS'rejuvenating'
p16052
aS'rejuvenated'
p16053
aS'rejuvenated'
p16054
asS'coalesce'
p16055
(lp16056
S'coalesces'
p16057
aS'coalescing'
p16058
aS'coalesced'
p16059
aS'coalesced'
p16060
asS'live'
p16061
(lp16062
S'lives'
p16063
aS'living'
p16064
aS'lived'
p16065
aS'lived'
p16066
asS'slough'
p16067
(lp16068
S'sloughs'
p16069
aS'sloughing'
p16070
aS'sloughed'
p16071
aS'sloughed'
p16072
asS'meliorate'
p16073
(lp16074
S'meliorates'
p16075
aS'meliorating'
p16076
aS'meliorated'
p16077
aS'meliorated'
p16078
asS'stomach'
p16079
(lp16080
S'stomaches'
p16081
aS'stomaching'
p16082
aS'stomached'
p16083
aS'stomached'
p16084
asS'privateer'
p16085
(lp16086
S'privateers'
p16087
aS'privateering'
p16088
aS'privateered'
p16089
aS'privateered'
p16090
asS'entrance'
p16091
(lp16092
S'entrances'
p16093
aS'entrancing'
p16094
aS'entranced'
p16095
aS'entranced'
p16096
asS'club'
p16097
(lp16098
S'clubs'
p16099
aS'clubbing'
p16100
aS'clubbed'
p16101
aS'clubbed'
p16102
asS'cluck'
p16103
(lp16104
S'clucks'
p16105
aS'clucking'
p16106
aS'clucked'
p16107
aS'clucked'
p16108
asS'clue'
p16109
(lp16110
S'clues'
p16111
aS'cluing'
p16112
aS'clued'
p16113
aS'clued'
p16114
asS'interdigitate'
p16115
(lp16116
S'interdigitates'
p16117
aS'interdigitating'
p16118
aS'interdigitated'
p16119
aS'interdigitated'
p16120
asS'reunify'
p16121
(lp16122
S'reunifies'
p16123
aS'reunifying'
p16124
aS'reunified'
p16125
aS'reunified'
p16126
asS'judder'
p16127
(lp16128
S'judders'
p16129
aS'juddering'
p16130
aS'juddered'
p16131
aS'juddered'
p16132
asS'slither'
p16133
(lp16134
S'slithers'
p16135
aS'slithering'
p16136
aS'slithered'
p16137
aS'slithered'
p16138
asS'pedestrianize'
p16139
(lp16140
S'pedestrianizes'
p16141
aS'pedestrianizing'
p16142
aS'pedestrianized'
p16143
aS'pedestrianized'
p16144
asS'eructate'
p16145
(lp16146
S'eructs'
p16147
aS'eructing'
p16148
aS'eructed'
p16149
aS'eructed'
p16150
asS'douche'
p16151
(lp16152
S'douches'
p16153
aS'douching'
p16154
aS'douched'
p16155
aS'douched'
p16156
asS'machicolate'
p16157
(lp16158
S'machicolates'
p16159
aS'machicolating'
p16160
aS'machicolated'
p16161
aS'machicolated'
p16162
asS'cap'
p16163
(lp16164
S'caps'
p16165
aS'capping'
p16166
aS'capped'
p16167
aS'capped'
p16168
asS'caw'
p16169
(lp16170
S'caws'
p16171
aS'cawing'
p16172
aS'cawed'
p16173
aS'cawed'
p16174
asS'cat'
p16175
(lp16176
S'cats'
p16177
aS'catting'
p16178
aS'catted'
p16179
aS'catted'
p16180
asS'purge'
p16181
(lp16182
S'purges'
p16183
aS'purging'
p16184
aS'purged'
p16185
aS'purged'
p16186
asS'can'
p16187
(lp16188
S'could'
p16189
aS"can't"
p16190
aS"couldn't"
p16191
asS'heart'
p16192
(lp16193
S'hearts'
p16194
aS'hearting'
p16195
aS'hearted'
p16196
aS'hearted'
p16197
asS'attribute'
p16198
(lp16199
S'attributes'
p16200
aS'attributing'
p16201
aS'attributed'
p16202
aS'attributed'
p16203
asS'chip'
p16204
(lp16205
S'chips'
p16206
aS'chipping'
p16207
aS'chipped'
p16208
aS'chipped'
p16209
asS'nock'
p16210
(lp16211
S'nocks'
p16212
aS'nocking'
p16213
aS'nocked'
p16214
aS'nocked'
p16215
asS'waterski'
p16216
(lp16217
S'waterskis'
p16218
aS'waterskiing'
p16219
aS'waterskied'
p16220
aS'waterskied'
p16221
asS'chondrify'
p16222
(lp16223
S'chondrifies'
p16224
aS'chondrifying'
p16225
aS'chondrified'
p16226
aS'chondrified'
p16227
asS'abort'
p16228
(lp16229
S'aborts'
p16230
aS'aborting'
p16231
aS'aborted'
p16232
aS'aborted'
p16233
asS'chin'
p16234
(lp16235
S'chins'
p16236
aS'chinning'
p16237
aS'chinned'
p16238
aS'chinned'
p16239
asS'refine'
p16240
(lp16241
S'refines'
p16242
aS'refining'
p16243
aS'refined'
p16244
aS'refined'
p16245
asS'exclude'
p16246
(lp16247
S'excludes'
p16248
aS'excluding'
p16249
aS'excluded'
p16250
aS'excluded'
p16251
asS'occur'
p16252
(lp16253
S'occurs'
p16254
aS'occurring'
p16255
aS'occurred'
p16256
aS'occurred'
p16257
asS'proportionate'
p16258
(lp16259
S'proportionates'
p16260
aS'proportionating'
p16261
aS'proportionated'
p16262
aS'proportionated'
p16263
asS'bankrupt'
p16264
(lp16265
S'bankrupts'
p16266
aS'bankrupting'
p16267
aS'bankrupted'
p16268
aS'bankrupted'
p16269
asS'lounge'
p16270
(lp16271
S'lounges'
p16272
aS'lounging'
p16273
aS'lounged'
p16274
aS'lounged'
p16275
asS'despair'
p16276
(lp16277
S'despairs'
p16278
aS'despairing'
p16279
aS'despaired'
p16280
aS'despaired'
p16281
asS'deteriorate'
p16282
(lp16283
S'deteriorates'
p16284
aS'deteriorating'
p16285
aS'deteriorated'
p16286
aS'deteriorated'
p16287
asS'escalate'
p16288
(lp16289
S'escalates'
p16290
aS'escalating'
p16291
aS'escalated'
p16292
aS'escalated'
p16293
asS'dive'
p16294
(lp16295
S'dives'
p16296
aS'diving'
p16297
aS'dove'
p16298
aS'dived'
p16299
asS'bawl'
p16300
(lp16301
S'bawls'
p16302
aS'bawling'
p16303
aS'bawled'
p16304
aS'bawled'
p16305
asS'countermand'
p16306
(lp16307
S'countermands'
p16308
aS'countermanding'
p16309
aS'countermanded'
p16310
aS'countermanded'
p16311
asS'produce'
p16312
(lp16313
S'produces'
p16314
aS'producing'
p16315
aS'produced'
p16316
aS'produced'
p16317
asS'pave'
p16318
(lp16319
S'paves'
p16320
aS'paving'
p16321
aS'paved'
p16322
aS'paved'
p16323
asS'restate'
p16324
(lp16325
S'restates'
p16326
aS'restating'
p16327
aS'restated'
p16328
aS'restated'
p16329
asS'coagulate'
p16330
(lp16331
S'coagulates'
p16332
aS'coagulating'
p16333
aS'coagulated'
p16334
aS'coagulated'
p16335
asS'flourish'
p16336
(lp16337
S'flourishes'
p16338
aS'flourishing'
p16339
aS'flourished'
p16340
aS'flourished'
p16341
asS'wainscot'
p16342
(lp16343
S'wainscots'
p16344
aS'wainscoting'
p16345
aS'wainscoted'
p16346
aS'wainscoted'
p16347
asS'crepe'
p16348
(lp16349
S'crepes'
p16350
aS'creping'
p16351
aS'creped'
p16352
aS'creped'
p16353
asS'remember'
p16354
(lp16355
S'remembers'
p16356
aS'remembering'
p16357
aS'remembered'
p16358
aS'remembered'
p16359
asS'ammonify'
p16360
(lp16361
S'ammonifies'
p16362
aS'ammonifying'
p16363
aS'ammonified'
p16364
aS'ammonified'
p16365
asS'rebut'
p16366
(lp16367
S'rebuts'
p16368
aS'rebutting'
p16369
aS'rebutted'
p16370
aS'rebutted'
p16371
asS'denaturalize'
p16372
(lp16373
S'denaturalizes'
p16374
aS'denaturalizing'
p16375
aS'denaturalized'
p16376
aS'denaturalized'
p16377
asS'offend'
p16378
(lp16379
S'offends'
p16380
aS'offending'
p16381
aS'offended'
p16382
aS'offended'
p16383
asS'crumple'
p16384
(lp16385
S'crumples'
p16386
aS'crumpling'
p16387
aS'crumpled'
p16388
aS'crumpled'
p16389
asS'stilt'
p16390
(lp16391
S'stilts'
p16392
aS'stilting'
p16393
aS'stilted'
p16394
aS'stilted'
p16395
asS'forfeit'
p16396
(lp16397
S'forfeits'
p16398
aS'forfeiting'
p16399
aS'forfeited'
p16400
aS'forfeited'
p16401
asS'utilize'
p16402
(lp16403
S'utilizes'
p16404
aS'utilizing'
p16405
aS'utilized'
p16406
aS'utilized'
p16407
asS'brain'
p16408
(lp16409
S'brains'
p16410
aS'braining'
p16411
aS'brained'
p16412
aS'brained'
p16413
asS'brail'
p16414
(lp16415
S'brails'
p16416
aS'brailing'
p16417
aS'brailed'
p16418
aS'brailed'
p16419
asS'birdy'
p16420
(lp16421
S'birdies'
p16422
aS'birdying'
p16423
aS'birdied'
p16424
aS'birdied'
p16425
asS'cachinnate'
p16426
(lp16427
S'cachinnates'
p16428
aS'cachinnating'
p16429
aS'cachinnated'
p16430
aS'cachinnated'
p16431
asS'cold'
p16432
(lp16433
S'colds'
p16434
aS'colding'
p16435
aS'colded'
p16436
aS'colded'
p16437
asS'still'
p16438
(lp16439
S'stills'
p16440
aS'stilling'
p16441
aS'stilled'
p16442
aS'stilled'
p16443
asS'trifle'
p16444
(lp16445
S'trifles'
p16446
aS'trifling'
p16447
aS'trifled'
p16448
aS'trifled'
p16449
asS'cosponsor'
p16450
(lp16451
S'cosponsors'
p16452
aS'cosponsoring'
p16453
aS'cosponsored'
p16454
aS'cosponsored'
p16455
asS'acknowledge'
p16456
(lp16457
S'acknowledges'
p16458
aS'acknowledging'
p16459
aS'acknowledged'
p16460
aS'acknowledged'
p16461
asS'moisturize'
p16462
(lp16463
S'moisturizes'
p16464
aS'moisturizing'
p16465
aS'moisturized'
p16466
aS'moisturized'
p16467
asS'window'
p16468
(lp16469
S'windows'
p16470
aS'windowing'
p16471
aS'windowed'
p16472
aS'windowed'
p16473
asS'suffocate'
p16474
(lp16475
S'suffocates'
p16476
aS'suffocating'
p16477
aS'suffocated'
p16478
aS'suffocated'
p16479
asS'waggle'
p16480
(lp16481
S'waggles'
p16482
aS'waggling'
p16483
aS'waggled'
p16484
aS'waggled'
p16485
asS'interrelate'
p16486
(lp16487
S'interrelates'
p16488
aS'interrelating'
p16489
aS'interrelated'
p16490
aS'interrelated'
p16491
asS'fling'
p16492
(lp16493
S'flings'
p16494
aS'flinging'
p16495
aS'flung'
p16496
aS'flung'
p16497
asS'nod'
p16498
(lp16499
S'nods'
p16500
aS'nodding'
p16501
aS'nodded'
p16502
aS'nodded'
p16503
asS'rake'
p16504
(lp16505
S'rakes'
p16506
aS'raking'
p16507
aS'raked'
p16508
aS'raked'
p16509
asS'overcrowd'
p16510
(lp16511
S'overcrowds'
p16512
aS'overcrowding'
p16513
aS'overcrowded'
p16514
aS'overcrowded'
p16515
asS'introduce'
p16516
(lp16517
S'introduces'
p16518
aS'introducing'
p16519
aS'introduced'
p16520
aS'introduced'
p16521
asS'flint'
p16522
(lp16523
S'flints'
p16524
aS'flinting'
p16525
aS'flinted'
p16526
aS'flinted'
p16527
asS'recap'
p16528
(lp16529
S'recaps'
p16530
aS'recaping'
p16531
aS'recaped'
p16532
aS'recaped'
p16533
asS'damnify'
p16534
(lp16535
S'damnifies'
p16536
aS'damnifying'
p16537
aS'damnified'
p16538
aS'damnified'
p16539
asS'provision'
p16540
(lp16541
S'provisions'
p16542
aS'provisioning'
p16543
aS'provisioned'
p16544
aS'provisioned'
p16545
asS'discuss'
p16546
(lp16547
S'discusses'
p16548
aS'discussing'
p16549
aS'discussed'
p16550
aS'discussed'
p16551
asS'expedite'
p16552
(lp16553
S'expedites'
p16554
aS'expediting'
p16555
aS'expedited'
p16556
aS'expedited'
p16557
asS'wont'
p16558
(lp16559
S'wonts'
p16560
aS'wonting'
p16561
aS'wonted'
p16562
aS'wonted'
p16563
asS'daub'
p16564
(lp16565
S'daubs'
p16566
aS'daubing'
p16567
aS'daubed'
p16568
aS'daubed'
p16569
asS'placate'
p16570
(lp16571
S'placates'
p16572
aS'placating'
p16573
aS'placated'
p16574
aS'placated'
p16575
asS'sop'
p16576
(lp16577
S'sops'
p16578
aS'sopping'
p16579
aS'sopped'
p16580
aS'sopped'
p16581
asS'drop'
p16582
(lp16583
S'drops'
p16584
aS'dropping'
p16585
aS'dropped'
p16586
aS'dropped'
p16587
asS'deify'
p16588
(lp16589
S'deifies'
p16590
aS'deifying'
p16591
aS'deified'
p16592
aS'deified'
p16593
asS'degauss'
p16594
(lp16595
S'degausses'
p16596
aS'degaussing'
p16597
aS'degaussed'
p16598
aS'degaussed'
p16599
asS'outsail'
p16600
(lp16601
S'outsails'
p16602
aS'outsailing'
p16603
aS'outsailed'
p16604
aS'outsailed'
p16605
asS'pommel'
p16606
(lp16607
S'pommels'
p16608
aS'pommelling'
p16609
aS'pommelled'
p16610
aS'pommelled'
p16611
asS'double-fault'
p16612
(lp16613
S'double-faults'
p16614
aS'double-faulting'
p16615
aS'double-faulted'
p16616
aS'double-faulted'
p16617
asS'enisle'
p16618
(lp16619
S'enisles'
p16620
aS'enisling'
p16621
aS'enisled'
p16622
aS'enisled'
p16623
asS'grouse'
p16624
(lp16625
S'grouses'
p16626
aS'grousing'
p16627
aS'groused'
p16628
aS'groused'
p16629
asS'yean'
p16630
(lp16631
S'yeans'
p16632
aS'yeaning'
p16633
aS'yeaned'
p16634
aS'yeaned'
p16635
asS'obturate'
p16636
(lp16637
S'obturates'
p16638
aS'obturating'
p16639
aS'obturated'
p16640
aS'obturated'
p16641
asS'replay'
p16642
(lp16643
S'replays'
p16644
aS'replaying'
p16645
aS'replayed'
p16646
aS'replayed'
p16647
asS'forgat'
p16648
(lp16649
S'forgats'
p16650
aS'forgating'
p16651
aS'forgated'
p16652
aS'forgated'
p16653
asS'counteract'
p16654
(lp16655
S'counteracts'
p16656
aS'counteracting'
p16657
aS'counteracted'
p16658
aS'counteracted'
p16659
asS'accomplish'
p16660
(lp16661
S'accomplishes'
p16662
aS'accomplishing'
p16663
aS'accomplished'
p16664
aS'accomplished'
p16665
asS'precontract'
p16666
(lp16667
S'precontracts'
p16668
aS'precontracting'
p16669
aS'precontracted'
p16670
aS'precontracted'
p16671
asS'space'
p16672
(lp16673
S'spaces'
p16674
aS'spacing'
p16675
aS'spaced'
p16676
aS'spaced'
p16677
asS'showd'
p16678
(lp16679
S'showds'
p16680
aS'showding'
p16681
aS'showded'
p16682
aS'showded'
p16683
asS'thirst'
p16684
(lp16685
S'thirsts'
p16686
aS'thirsting'
p16687
aS'thirsted'
p16688
aS'thirsted'
p16689
asS'increase'
p16690
(lp16691
S'increases'
p16692
aS'increasing'
p16693
aS'increased'
p16694
aS'increased'
p16695
asS'hallucinate'
p16696
(lp16697
S'hallucinates'
p16698
aS'hallucinating'
p16699
aS'hallucinated'
p16700
aS'hallucinated'
p16701
asS'instate'
p16702
(lp16703
S'instates'
p16704
aS'instating'
p16705
aS'instated'
p16706
aS'instated'
p16707
asS'circumscribe'
p16708
(lp16709
S'circumscribes'
p16710
aS'circumscribing'
p16711
aS'circumscribed'
p16712
aS'circumscribed'
p16713
asS'tweeze'
p16714
(lp16715
S'tweezes'
p16716
aS'tweezing'
p16717
aS'tweezed'
p16718
aS'tweezed'
p16719
asS'scandalize'
p16720
(lp16721
S'scandalizes'
p16722
aS'scandalizing'
p16723
aS'scandalized'
p16724
aS'scandalized'
p16725
asS'carp'
p16726
(lp16727
S'carps'
p16728
aS'carping'
p16729
aS'carped'
p16730
aS'carped'
p16731
asS'preoccupy'
p16732
(lp16733
S'preoccupies'
p16734
aS'preoccupying'
p16735
aS'preoccupied'
p16736
aS'preoccupied'
p16737
asS'cark'
p16738
(lp16739
S'carks'
p16740
aS'carking'
p16741
aS'carked'
p16742
aS'carked'
p16743
asS'conglutinate'
p16744
(lp16745
S'conglutinates'
p16746
aS'conglutinating'
p16747
aS'conglutinated'
p16748
aS'conglutinated'
p16749
asS'repurchase'
p16750
(lp16751
S'repurchases'
p16752
aS'repurchasing'
p16753
aS'repurchased'
p16754
aS'repurchased'
p16755
asS'card'
p16756
(lp16757
S'cards'
p16758
aS'carding'
p16759
aS'carded'
p16760
aS'carded'
p16761
asS'care'
p16762
(lp16763
S'cares'
p16764
aS'caring'
p16765
aS'cared'
p16766
aS'cared'
p16767
asS'moult'
p16768
(lp16769
S'moults'
p16770
aS'moulting'
p16771
aS'moulted'
p16772
aS'moulted'
p16773
asS'clarion'
p16774
(lp16775
S'clarions'
p16776
aS'clarioning'
p16777
aS'clarioned'
p16778
aS'clarioned'
p16779
asS'outcry'
p16780
(lp16781
S'outcries'
p16782
aS'outcrying'
p16783
aS'outcried'
p16784
aS'outcried'
p16785
asS'profess'
p16786
(lp16787
S'professes'
p16788
aS'professing'
p16789
aS'professed'
p16790
aS'professed'
p16791
asS'support'
p16792
(lp16793
S'supports'
p16794
aS'supporting'
p16795
aS'supported'
p16796
aS'supported'
p16797
asS'blind'
p16798
(lp16799
S'blinds'
p16800
aS'blinding'
p16801
aS'blinded'
p16802
aS'blinded'
p16803
asS'trode'
p16804
(lp16805
S'trodes'
p16806
aS'troding'
p16807
aS'troded'
p16808
aS'troded'
p16809
asS'antevert'
p16810
(lp16811
S'anteverts'
p16812
aS'anteverting'
p16813
aS'anteverted'
p16814
aS'anteverted'
p16815
asS'blink'
p16816
(lp16817
S'blinks'
p16818
aS'blinking'
p16819
aS'blinked'
p16820
aS'blinked'
p16821
asS'consecrate'
p16822
(lp16823
S'consecrates'
p16824
aS'consecrating'
p16825
aS'consecrated'
p16826
aS'consecrated'
p16827
asS'demote'
p16828
(lp16829
S'demotes'
p16830
aS'demoting'
p16831
aS'demoted'
p16832
aS'demoted'
p16833
asS'zap'
p16834
(lp16835
S'zaps'
p16836
aS'zapping'
p16837
aS'zapped'
p16838
aS'zapped'
p16839
asS'size'
p16840
(lp16841
S'sizes'
p16842
aS'sizing'
p16843
aS'sized'
p16844
aS'sized'
p16845
asS'imprecate'
p16846
(lp16847
S'imprecates'
p16848
aS'imprecating'
p16849
aS'imprecated'
p16850
aS'imprecated'
p16851
asS'sheer'
p16852
(lp16853
S'sheers'
p16854
aS'sheering'
p16855
aS'sheered'
p16856
aS'sheered'
p16857
asS'sheet'
p16858
(lp16859
S'sheets'
p16860
aS'sheeting'
p16861
aS'sheeted'
p16862
aS'sheeted'
p16863
asS'breed'
p16864
(lp16865
S'breeds'
p16866
aS'breeding'
p16867
aS'bred'
p16868
aS'bred'
p16869
asS'callous'
p16870
(lp16871
S'callouses'
p16872
aS'callousing'
p16873
aS'calloused'
p16874
aS'calloused'
p16875
asS'purloin'
p16876
(lp16877
S'purloins'
p16878
aS'purloining'
p16879
aS'purloined'
p16880
aS'purloined'
p16881
asS'checker'
p16882
(lp16883
S'checkers'
p16884
aS'checkering'
p16885
aS'checkered'
p16886
aS'checkered'
p16887
asS'trephine'
p16888
(lp16889
S'trephines'
p16890
aS'trephining'
p16891
aS'trephined'
p16892
aS'trephined'
p16893
asS'uncurl'
p16894
(lp16895
S'uncurls'
p16896
aS'uncurling'
p16897
aS'uncurled'
p16898
aS'uncurled'
p16899
asS'friend'
p16900
(lp16901
S'friends'
p16902
aS'friending'
p16903
aS'friended'
p16904
aS'friended'
p16905
asS'thaw'
p16906
(lp16907
S'thaws'
p16908
aS'thawing'
p16909
aS'thawed'
p16910
aS'thawed'
p16911
asS'fraction'
p16912
(lp16913
S'fractions'
p16914
aS'fractioning'
p16915
aS'fractioned'
p16916
aS'fractioned'
p16917
asS'delate'
p16918
(lp16919
S'delates'
p16920
aS'delating'
p16921
aS'delated'
p16922
aS'delated'
p16923
asS'repossess'
p16924
(lp16925
S'repossesses'
p16926
aS'repossessing'
p16927
aS'repossessed'
p16928
aS'repossessed'
p16929
asS'disabuse'
p16930
(lp16931
S'disabuses'
p16932
aS'disabusing'
p16933
aS'disabused'
p16934
aS'disabused'
p16935
asS'glimmer'
p16936
(lp16937
S'glimmers'
p16938
aS'glimmering'
p16939
aS'glimmered'
p16940
aS'glimmered'
p16941
asS'peck'
p16942
(lp16943
S'pecks'
p16944
aS'pecking'
p16945
aS'pecked'
p16946
aS'pecked'
p16947
asS'aromatize'
p16948
(lp16949
S'aromatizes'
p16950
aS'aromatizing'
p16951
aS'aromatized'
p16952
aS'aromatized'
p16953
asS'hypersensitize'
p16954
(lp16955
S'hypersensitizes'
p16956
aS'hypersensitizing'
p16957
aS'hypersensitized'
p16958
aS'hypersensitized'
p16959
asS'recruit'
p16960
(lp16961
S'recruits'
p16962
aS'recruiting'
p16963
aS'recruited'
p16964
aS'recruited'
p16965
asS'cockle'
p16966
(lp16967
S'cockles'
p16968
aS'cockling'
p16969
aS'cockled'
p16970
aS'cockled'
p16971
asS'double-bank'
p16972
(lp16973
S'double-banks'
p16974
aS'double-banking'
p16975
aS'double-banked'
p16976
aS'double-banked'
p16977
asS'impinge'
p16978
(lp16979
S'impinges'
p16980
aS'impinging'
p16981
aS'impinged'
p16982
aS'impinged'
p16983
asS'gobble'
p16984
(lp16985
S'gobbles'
p16986
aS'gobbling'
p16987
aS'gobbled'
p16988
aS'gobbled'
p16989
asS'extinguish'
p16990
(lp16991
S'extinguishes'
p16992
aS'extinguishing'
p16993
aS'extinguished'
p16994
aS'extinguished'
p16995
asS'intercalate'
p16996
(lp16997
S'intercalates'
p16998
aS'intercalating'
p16999
aS'intercalated'
p17000
aS'intercalated'
p17001
asS'decompose'
p17002
(lp17003
S'decomposes'
p17004
aS'decomposing'
p17005
aS'decomposed'
p17006
aS'decomposed'
p17007
asS'boult'
p17008
(lp17009
S'boults'
p17010
aS'boulting'
p17011
aS'boulted'
p17012
aS'boulted'
p17013
asS'surname'
p17014
(lp17015
S'surnames'
p17016
aS'surnaming'
p17017
aS'surnamed'
p17018
aS'surnamed'
p17019
asS'evanish'
p17020
(lp17021
S'evanishes'
p17022
aS'evanishing'
p17023
aS'evanished'
p17024
aS'evanished'
p17025
asS'slat'
p17026
(lp17027
S'slats'
p17028
aS'slatting'
p17029
aS'slatted'
p17030
aS'slatted'
p17031
asS'premier'
p17032
(lp17033
S'premiers'
p17034
aS'premiering'
p17035
aS'premiered'
p17036
aS'premiered'
p17037
asS'slap'
p17038
(lp17039
S'slaps'
p17040
aS'slapping'
p17041
aS'slapped'
p17042
aS'slapped'
p17043
asS'slam'
p17044
(lp17045
S'slams'
p17046
aS'slamming'
p17047
aS'slammed'
p17048
aS'slammed'
p17049
asS'anger'
p17050
(lp17051
S'angers'
p17052
aS'angering'
p17053
aS'angered'
p17054
aS'angered'
p17055
asS'breakfast'
p17056
(lp17057
S'breakfasts'
p17058
aS'breakfasting'
p17059
aS'breakfasted'
p17060
aS'breakfasted'
p17061
asS'recover'
p17062
(lp17063
S'recovers'
p17064
aS'recovering'
p17065
aS'recovered'
p17066
aS'recovered'
p17067
asS'slab'
p17068
(lp17069
S'slabs'
p17070
aS'slabbing'
p17071
aS'slabbed'
p17072
aS'slabbed'
p17073
asS'pong'
p17074
(lp17075
S'pongs'
p17076
aS'ponging'
p17077
aS'ponged'
p17078
aS'ponged'
p17079
asS'wassail'
p17080
(lp17081
S'wassails'
p17082
aS'wassailing'
p17083
aS'wassailed'
p17084
aS'wassailed'
p17085
asS'ladyfy'
p17086
(lp17087
S'ladyfies'
p17088
aS'ladyfying'
p17089
aS'ladyfied'
p17090
aS'ladyfied'
p17091
asS'gangrene'
p17092
(lp17093
S'gangrenes'
p17094
aS'gangrening'
p17095
aS'gangrened'
p17096
aS'gangrened'
p17097
asS'begin'
p17098
(lp17099
S'begins'
p17100
aS'beginning'
p17101
aS'began'
p17102
aS'begun'
p17103
asS'mountaineer'
p17104
(lp17105
S'mountaineers'
p17106
aS'mountaineering'
p17107
aS'mountaineered'
p17108
aS'mountaineered'
p17109
asS'sledge'
p17110
(lp17111
S'sleds'
p17112
aS'sleding'
p17113
aS'sledged'
p17114
aS'sledged'
p17115
asS'price'
p17116
(lp17117
S'prices'
p17118
aS'pricing'
p17119
aS'priced'
p17120
aS'priced'
p17121
asS'evaporate'
p17122
(lp17123
S'evaporates'
p17124
aS'evaporating'
p17125
aS'evaporated'
p17126
aS'evaporated'
p17127
asS'syncretize'
p17128
(lp17129
S'syncretizes'
p17130
aS'syncretizing'
p17131
aS'syncretized'
p17132
aS'syncretized'
p17133
asS'oxidate'
p17134
(lp17135
S'oxidates'
p17136
aS'oxidating'
p17137
aS'oxidated'
p17138
aS'oxidated'
p17139
asS'dream'
p17140
(lp17141
S'dreams'
p17142
aS'dreaming'
p17143
aS'dreamt'
p17144
aS'dreamt'
p17145
asS'reform'
p17146
(lp17147
S'reforms'
p17148
aS'reforming'
p17149
aS'reformed'
p17150
aS'reformed'
p17151
asS'steady'
p17152
(lp17153
S'steadies'
p17154
aS'steadying'
p17155
aS'steadied'
p17156
aS'steadied'
p17157
asS'tooth'
p17158
(lp17159
S'tooths'
p17160
aS'toothing'
p17161
aS'toothed'
p17162
aS'toothed'
p17163
asS'slaver'
p17164
(lp17165
S'slavers'
p17166
aS'slavering'
p17167
aS'slavered'
p17168
aS'slavered'
p17169
asS'claver'
p17170
(lp17171
S'clavers'
p17172
aS'clavering'
p17173
aS'clavered'
p17174
aS'clavered'
p17175
asS'overdye'
p17176
(lp17177
S'overdyes'
p17178
aS'overdying'
p17179
aS'overdyed'
p17180
aS'overdyed'
p17181
asS'boggle'
p17182
(lp17183
S'boggles'
p17184
aS'boggling'
p17185
aS'boggled'
p17186
aS'boggled'
p17187
asS'ground'
p17188
(lp17189
S'grounds'
p17190
aS'grounding'
p17191
aS'grounded'
p17192
aS'grounded'
p17193
asS'gnaw'
p17194
(lp17195
S'gnaws'
p17196
aS'gnawing'
p17197
aS'gnawn'
p17198
aS'gnawn'
p17199
asS'title'
p17200
(lp17201
S'titles'
p17202
aS'titling'
p17203
aS'titled'
p17204
aS'titled'
p17205
asS'waddy'
p17206
(lp17207
S'waddies'
p17208
aS'waddying'
p17209
aS'waddied'
p17210
aS'waddied'
p17211
asS'industrialize'
p17212
(lp17213
S'industrializes'
p17214
aS'industrializing'
p17215
aS'industrialized'
p17216
aS'industrialized'
p17217
asS'jolt'
p17218
(lp17219
S'jolts'
p17220
aS'jolting'
p17221
aS'jolted'
p17222
aS'jolted'
p17223
asS'transude'
p17224
(lp17225
S'transudes'
p17226
aS'transuding'
p17227
aS'transuded'
p17228
aS'transuded'
p17229
asS'unravel'
p17230
(lp17231
S'unravels'
p17232
aS'unravelling'
p17233
aS'unravelled'
p17234
aS'unravelled'
p17235
asS'stain'
p17236
(lp17237
S'stains'
p17238
aS'staining'
p17239
aS'stained'
p17240
aS'stained'
p17241
asS'skite'
p17242
(lp17243
S'skites'
p17244
aS'skiting'
p17245
aS'skited'
p17246
aS'skited'
p17247
asS'shrill'
p17248
(lp17249
S'shrills'
p17250
aS'shrilling'
p17251
aS'shrilled'
p17252
aS'shrilled'
p17253
asS'cannon'
p17254
(lp17255
S'cannons'
p17256
aS'cannoning'
p17257
aS'cannoned'
p17258
aS'cannoned'
p17259
asS'drydock'
p17260
(lp17261
S'drydocks'
p17262
aS'drydocking'
p17263
aS'drydocked'
p17264
aS'drydocked'
p17265
asS'celebrate'
p17266
(lp17267
S'celebrates'
p17268
aS'celebrating'
p17269
aS'celebrated'
p17270
aS'celebrated'
p17271
asS'deprecate'
p17272
(lp17273
S'deprecates'
p17274
aS'deprecating'
p17275
aS'deprecated'
p17276
aS'deprecated'
p17277
asS'leather'
p17278
(lp17279
S'leathers'
p17280
aS'leathering'
p17281
aS'leathered'
p17282
aS'leathered'
p17283
asS'bullwhip'
p17284
(lp17285
S'bullwhips'
p17286
aS'bullwhipping'
p17287
aS'bullwhipped'
p17288
aS'bullwhipped'
p17289
asS'entomb'
p17290
(lp17291
S'entombs'
p17292
aS'entombing'
p17293
aS'entombed'
p17294
aS'entombed'
p17295
asS'husband'
p17296
(lp17297
S'husbands'
p17298
aS'husbanding'
p17299
aS'husbanded'
p17300
aS'husbanded'
p17301
asS'murdabad'
p17302
(lp17303
S'murdabads'
p17304
aS'murdabading'
p17305
aS'murdabaded'
p17306
aS'murdabaded'
p17307
asS'burst'
p17308
(lp17309
S'bursts'
p17310
aS'bursting'
p17311
aS'burst'
p17312
aS'burst'
p17313
asS'allegorize'
p17314
(lp17315
S'allegorizes'
p17316
aS'allegorizing'
p17317
aS'allegorized'
p17318
aS'allegorized'
p17319
asS'whitewash'
p17320
(lp17321
S'whitewashes'
p17322
aS'whitewashing'
p17323
aS'whitewashed'
p17324
aS'whitewashed'
p17325
asS'unfit'
p17326
(lp17327
S'unfits'
p17328
aS'unfitting'
p17329
aS'unfitted'
p17330
aS'unfitted'
p17331
asS'inseminate'
p17332
(lp17333
S'inseminates'
p17334
aS'inseminating'
p17335
aS'inseminated'
p17336
aS'inseminated'
p17337
asS'habilitate'
p17338
(lp17339
S'habilitates'
p17340
aS'habilitating'
p17341
aS'habilitated'
p17342
aS'habilitated'
p17343
asS'sport'
p17344
(lp17345
S'sports'
p17346
aS'sporting'
p17347
aS'sported'
p17348
aS'sported'
p17349
asS're-tread'
p17350
(lp17351
S're-treads'
p17352
aS're-treading'
p17353
aS'retrod'
p17354
aS'retrodden'
p17355
asS'laicize'
p17356
(lp17357
S'laicizes'
p17358
aS'laicizing'
p17359
aS'laicized'
p17360
aS'laicized'
p17361
asS'concern'
p17362
(lp17363
S'concerns'
p17364
aS'concerning'
p17365
aS'concerned'
p17366
aS'concerned'
p17367
asS'canoodle'
p17368
(lp17369
S'canoodles'
p17370
aS'canoodling'
p17371
aS'canoodled'
p17372
aS'canoodled'
p17373
asS'pomade'
p17374
(lp17375
S'pomades'
p17376
aS'pomading'
p17377
aS'pomaded'
p17378
aS'pomaded'
p17379
asS'incite'
p17380
(lp17381
S'incites'
p17382
aS'inciting'
p17383
aS'incited'
p17384
aS'incited'
p17385
asS'glaze'
p17386
(lp17387
S'glazes'
p17388
aS'glazing'
p17389
aS'glazed'
p17390
aS'glazed'
p17391
asS'rephrase'
p17392
(lp17393
S'rephrases'
p17394
aS'rephrasing'
p17395
aS'rephrased'
p17396
aS'rephrased'
p17397
asS'gazette'
p17398
(lp17399
S'gazettes'
p17400
aS'gazetting'
p17401
aS'gazetted'
p17402
aS'gazetted'
p17403
asS'import'
p17404
(lp17405
S'imports'
p17406
aS'importing'
p17407
aS'imported'
p17408
aS'imported'
p17409
asS'clench'
p17410
(lp17411
S'clenches'
p17412
aS'clenching'
p17413
aS'clenched'
p17414
aS'clenched'
p17415
asS'orchestrate'
p17416
(lp17417
S'orchestrates'
p17418
aS'orchestrating'
p17419
aS'orchestrated'
p17420
aS'orchestrated'
p17421
asS'notice'
p17422
(lp17423
S'notices'
p17424
aS'noticing'
p17425
aS'noticed'
p17426
aS'noticed'
p17427
asS'pettifog'
p17428
(lp17429
S'pettifogs'
p17430
aS'pettifogging'
p17431
aS'pettifogged'
p17432
aS'pettifogged'
p17433
asS'transpose'
p17434
(lp17435
S'transposes'
p17436
aS'transposing'
p17437
aS'transposed'
p17438
aS'transposed'
p17439
asS'rerun'
p17440
(lp17441
S'reruns'
p17442
aS'rerunning'
p17443
aS'reran'
p17444
aS'rerun'
p17445
asS'pluck'
p17446
(lp17447
S'plucks'
p17448
aS'plucking'
p17449
aS'plucked'
p17450
aS'plucked'
p17451
asS'blame'
p17452
(lp17453
S'blames'
p17454
aS'blaming'
p17455
aS'blamed'
p17456
aS'blamed'
p17457
asS'powerdive'
p17458
(lp17459
S'powerdives'
p17460
aS'powerdiving'
p17461
aS'powerdived'
p17462
aS'powerdived'
p17463
asS'decoke'
p17464
(lp17465
S'decokes'
p17466
aS'decoking'
p17467
aS'decoked'
p17468
aS'decoked'
p17469
asS'hydrate'
p17470
(lp17471
S'hydrates'
p17472
aS'hydrating'
p17473
aS'hydrated'
p17474
aS'hydrated'
p17475
asS'animalize'
p17476
(lp17477
S'animalizes'
p17478
aS'animalizing'
p17479
aS'animalized'
p17480
aS'animalized'
p17481
asS'syllabify'
p17482
(lp17483
S'syllabifies'
p17484
aS'syllabifying'
p17485
aS'syllabified'
p17486
aS'syllabified'
p17487
asS'cleave'
p17488
(lp17489
S'cleaves'
p17490
aS'cleaving'
p17491
aS'clove'
p17492
aS'cloven'
p17493
asS'glide'
p17494
(lp17495
S'glides'
p17496
aS'gliding'
p17497
aS'glided'
p17498
aS'glided'
p17499
asS'guffaw'
p17500
(lp17501
S'guffaws'
p17502
aS'guffawing'
p17503
aS'guffawed'
p17504
aS'guffawed'
p17505
asS'pertain'
p17506
(lp17507
S'pertains'
p17508
aS'pertaining'
p17509
aS'pertained'
p17510
aS'pertained'
p17511
asS'adhibit'
p17512
(lp17513
S'adhibits'
p17514
aS'adhibiting'
p17515
aS'adhibited'
p17516
aS'adhibited'
p17517
asS'retort'
p17518
(lp17519
S'retorts'
p17520
aS'retorting'
p17521
aS'retorted'
p17522
aS'retorted'
p17523
asS'evict'
p17524
(lp17525
S'evicts'
p17526
aS'evicting'
p17527
aS'evicted'
p17528
aS'evicted'
p17529
asS'disentitle'
p17530
(lp17531
S'disentitles'
p17532
aS'disentitling'
p17533
aS'disentitled'
p17534
aS'disentitled'
p17535
asS'despond'
p17536
(lp17537
S'desponds'
p17538
aS'desponding'
p17539
aS'desponded'
p17540
aS'desponded'
p17541
asS'wreathe'
p17542
(lp17543
S'wreathes'
p17544
aS'wreathing'
p17545
aS'wreathed'
p17546
aS'wreathed'
p17547
asS'mummify'
p17548
(lp17549
S'mummifies'
p17550
aS'mummifying'
p17551
aS'mummified'
p17552
aS'mummified'
p17553
asS'dispatch'
p17554
(lp17555
S'dispatches'
p17556
aS'dispatching'
p17557
aS'dispatched'
p17558
aS'dispatched'
p17559
asS'exploit'
p17560
(lp17561
S'exploits'
p17562
aS'exploiting'
p17563
aS'exploited'
p17564
aS'exploited'
p17565
asS'forehand'
p17566
(lp17567
S'forehands'
p17568
aS'forehanding'
p17569
aS'forehanded'
p17570
aS'forehanded'
p17571
asS'labialize'
p17572
(lp17573
S'labializes'
p17574
aS'labializing'
p17575
aS'labialized'
p17576
aS'labialized'
p17577
asS'deregister'
p17578
(lp17579
S'deregisters'
p17580
aS'deregistering'
p17581
aS'deregistered'
p17582
aS'deregistered'
p17583
asS'uglify'
p17584
(lp17585
S'uglifies'
p17586
aS'uglifying'
p17587
aS'uglified'
p17588
aS'uglified'
p17589
asS'resort'
p17590
(lp17591
S'resorts'
p17592
aS'resorting'
p17593
aS'resorted'
p17594
aS'resorted'
p17595
asS'sket'
p17596
(lp17597
S'skets'
p17598
aS'sketting'
p17599
aS'sketted'
p17600
aS'sketted'
p17601
asS'invert'
p17602
(lp17603
S'inverts'
p17604
aS'inverting'
p17605
aS'inverted'
p17606
aS'inverted'
p17607
asS'overjoy'
p17608
(lp17609
S'overjoys'
p17610
aS'overjoying'
p17611
aS'overjoyed'
p17612
aS'overjoyed'
p17613
asS'toss'
p17614
(lp17615
S'tosses'
p17616
aS'tossing'
p17617
aS'tossed'
p17618
aS'tossed'
p17619
asS'asphyxiate'
p17620
(lp17621
S'asphyxiates'
p17622
aS'asphyxiating'
p17623
aS'asphyxiated'
p17624
aS'asphyxiated'
p17625
asS'conflate'
p17626
(lp17627
S'conflates'
p17628
aS'conflating'
p17629
aS'conflated'
p17630
aS'conflated'
p17631
asS'deescalate'
p17632
(lp17633
S'deescalates'
p17634
aS'deescalating'
p17635
aS'deescalated'
p17636
aS'deescalated'
p17637
asS'agglutinate'
p17638
(lp17639
S'agglutinates'
p17640
aS'agglutinating'
p17641
aS'agglutinated'
p17642
aS'agglutinated'
p17643
asS'disport'
p17644
(lp17645
S'disports'
p17646
aS'disporting'
p17647
aS'disported'
p17648
aS'disported'
p17649
asS'encage'
p17650
(lp17651
S'encages'
p17652
aS'encaging'
p17653
aS'encaged'
p17654
aS'encaged'
p17655
asS'crumb'
p17656
(lp17657
S'crumbs'
p17658
aS'crumbing'
p17659
aS'crumbed'
p17660
aS'crumbed'
p17661
asS'compartmentalize'
p17662
(lp17663
S'compartmentalizes'
p17664
aS'compartmentalizing'
p17665
aS'compartmentalized'
p17666
aS'compartmentalized'
p17667
asS'soft-solder'
p17668
(lp17669
S'soft-solders'
p17670
aS'soft-soldering'
p17671
aS'soft-soldered'
p17672
aS'soft-soldered'
p17673
asS'trick'
p17674
(lp17675
S'tricks'
p17676
aS'tricking'
p17677
aS'tricked'
p17678
aS'tricked'
p17679
asS'scud'
p17680
(lp17681
S'scuds'
p17682
aS'scudding'
p17683
aS'scudded'
p17684
aS'scudded'
p17685
asS'crump'
p17686
(lp17687
S'crumps'
p17688
aS'crumping'
p17689
aS'crumped'
p17690
aS'crumped'
p17691
asS'scum'
p17692
(lp17693
S'scums'
p17694
aS'scumming'
p17695
aS'scummed'
p17696
aS'scummed'
p17697
asS'prevue'
p17698
(lp17699
S'prevues'
p17700
aS'prevuing'
p17701
aS'prevued'
p17702
aS'prevued'
p17703
asS'trice'
p17704
(lp17705
S'trices'
p17706
aS'tricing'
p17707
aS'triced'
p17708
aS'triced'
p17709
asS'forbear'
p17710
(lp17711
S'forbears'
p17712
aS'forbearing'
p17713
aS'forbore'
p17714
aS'forborne'
p17715
asS'Americanize'
p17716
(lp17717
S'Americanizes'
p17718
aS'Americanizing'
p17719
aS'Americanized'
p17720
aS'Americanized'
p17721
asS'soil'
p17722
(lp17723
S'soils'
p17724
aS'soiling'
p17725
aS'soiled'
p17726
aS'soiled'
p17727
asS'suss'
p17728
(lp17729
S'susses'
p17730
aS'sussing'
p17731
aS'sussed'
p17732
aS'sussed'
p17733
asS'bias'
p17734
(lp17735
S'biases'
p17736
aS'biassing'
p17737
aS'biassed'
p17738
aS'biassed'
p17739
asS'embrace'
p17740
(lp17741
S'embraces'
p17742
aS'embracing'
p17743
aS'embraced'
p17744
aS'embraced'
p17745
asS'beaver'
p17746
(lp17747
S'beavers'
p17748
aS'beavering'
p17749
aS'beavered'
p17750
aS'beavered'
p17751
asS'hent'
p17752
(lp17753
S'hents'
p17754
aS'henting'
p17755
aS'hented'
p17756
aS'hented'
p17757
asS'worry'
p17758
(lp17759
S'worries'
p17760
aS'worrying'
p17761
aS'worried'
p17762
aS'worried'
p17763
asS'impassion'
p17764
(lp17765
S'impassions'
p17766
aS'impassioning'
p17767
aS'impassioned'
p17768
aS'impassioned'
p17769
asS'unbutton'
p17770
(lp17771
S'unbuttons'
p17772
aS'unbuttoning'
p17773
aS'unbuttoned'
p17774
aS'unbuttoned'
p17775
asS'inquire'
p17776
(lp17777
S'inquires'
p17778
aS'inquiring'
p17779
aS'inquired'
p17780
aS'inquired'
p17781
asS'pester'
p17782
(lp17783
S'pesters'
p17784
aS'pestering'
p17785
aS'pestered'
p17786
aS'pestered'
p17787
asS'coke'
p17788
(lp17789
S'cokes'
p17790
aS'coking'
p17791
aS'coked'
p17792
aS'coked'
p17793
asS'unthread'
p17794
(lp17795
S'unthreads'
p17796
aS'unthreading'
p17797
aS'unthreaded'
p17798
aS'unthreaded'
p17799
asS'about-turn'
p17800
(lp17801
S'about-turns'
p17802
aS'about-turning'
p17803
aS'about-turned'
p17804
aS'about-turned'
p17805
asS'document'
p17806
(lp17807
S'documents'
p17808
aS'documenting'
p17809
aS'documented'
p17810
aS'documented'
p17811
asS'finish'
p17812
(lp17813
S'finishes'
p17814
aS'finishing'
p17815
aS'finished'
p17816
aS'finished'
p17817
asS'iceskate'
p17818
(lp17819
S'iceskates'
p17820
aS'iceskating'
p17821
aS'iceskated'
p17822
aS'iceskated'
p17823
asS'unlace'
p17824
(lp17825
S'unlaces'
p17826
aS'unlacing'
p17827
aS'unlaced'
p17828
aS'unlaced'
p17829
asS'foal'
p17830
(lp17831
S'foals'
p17832
aS'foaling'
p17833
aS'foaled'
p17834
aS'foaled'
p17835
asS'foam'
p17836
(lp17837
S'foams'
p17838
aS'foaming'
p17839
aS'foamed'
p17840
aS'foamed'
p17841
asS'draghunt'
p17842
(lp17843
S'drags'
p17844
aS'draghunting'
p17845
aS'draghunted'
p17846
aS'draghunted'
p17847
asS'fruit'
p17848
(lp17849
S'fruits'
p17850
aS'fruiting'
p17851
aS'fruited'
p17852
aS'fruited'
p17853
asS'puff'
p17854
(lp17855
S'puffs'
p17856
aS'puffing'
p17857
aS'puffed'
p17858
aS'puffed'
p17859
asS'obvert'
p17860
(lp17861
S'obverts'
p17862
aS'obverting'
p17863
aS'obverted'
p17864
aS'obverted'
p17865
asS'smelt'
p17866
(lp17867
S'smelts'
p17868
aS'smelting'
p17869
aS'smelted'
p17870
aS'smelted'
p17871
asS'validate'
p17872
(lp17873
S'validates'
p17874
aS'validating'
p17875
aS'validated'
p17876
aS'validated'
p17877
asS'breeze'
p17878
(lp17879
S'breezes'
p17880
aS'breezing'
p17881
aS'breezed'
p17882
aS'breezed'
p17883
asS'demean'
p17884
(lp17885
S'demeans'
p17886
aS'demeaning'
p17887
aS'demeaned'
p17888
aS'demeaned'
p17889
asS'hypostatize'
p17890
(lp17891
S'hypostatizes'
p17892
aS'hypostatizing'
p17893
aS'hypostatized'
p17894
aS'hypostatized'
p17895
asS'alleviate'
p17896
(lp17897
S'alleviates'
p17898
aS'alleviating'
p17899
aS'alleviated'
p17900
aS'alleviated'
p17901
asS'perpend'
p17902
(lp17903
S'perpends'
p17904
aS'perpending'
p17905
aS'perpended'
p17906
aS'perpended'
p17907
asS'coordinate'
p17908
(lp17909
S'coordinates'
p17910
aS'coordinating'
p17911
aS'coordinated'
p17912
aS'coordinated'
p17913
asS'vomit'
p17914
(lp17915
S'vomits'
p17916
aS'vomiting'
p17917
aS'vomited'
p17918
aS'vomited'
p17919
asS'taxi'
p17920
(lp17921
S'taxies'
p17922
aS'taxying'
p17923
aS'taxied'
p17924
aS'taxied'
p17925
asS'vent'
p17926
(lp17927
S'vents'
p17928
aS'venting'
p17929
aS'vented'
p17930
aS'vented'
p17931
asS'centuplicate'
p17932
(lp17933
S'centuplicates'
p17934
aS'centuplicating'
p17935
aS'centuplicated'
p17936
aS'centuplicated'
p17937
asS'armour'
p17938
(lp17939
S'armours'
p17940
aS'armouring'
p17941
aS'armoured'
p17942
aS'armoured'
p17943
asS'jaup'
p17944
(lp17945
S'jaups'
p17946
aS'jauping'
p17947
aS'jauped'
p17948
aS'jauped'
p17949
asS'sulphate'
p17950
(lp17951
S'sulphates'
p17952
aS'sulphating'
p17953
aS'sulphated'
p17954
aS'sulphated'
p17955
asS'touch'
p17956
(lp17957
S'touches'
p17958
aS'touching'
p17959
aS'touched'
p17960
aS'touched'
p17961
asS'tare'
p17962
(lp17963
S'tares'
p17964
aS'taring'
p17965
aS'tared'
p17966
aS'tared'
p17967
asS'speed'
p17968
(lp17969
S'speeds'
p17970
aS'speeding'
p17971
aS'speeded'
p17972
aS'speeded'
p17973
asS'domicile'
p17974
(lp17975
S'domicils'
p17976
aS'domiciling'
p17977
aS'domiciled'
p17978
aS'domiciled'
p17979
asS'refurbish'
p17980
(lp17981
S'refurbishes'
p17982
aS'refurbishing'
p17983
aS'refurbished'
p17984
aS'refurbished'
p17985
asS'counterpunch'
p17986
(lp17987
S'counterpunches'
p17988
aS'counterpunching'
p17989
aS'counterpunched'
p17990
aS'counterpunched'
p17991
asS'allude'
p17992
(lp17993
S'alludes'
p17994
aS'alluding'
p17995
aS'alluded'
p17996
aS'alluded'
p17997
asS'verse'
p17998
(lp17999
S'verses'
p18000
aS'versing'
p18001
aS'versed'
p18002
aS'versed'
p18003
asS'cogitate'
p18004
(lp18005
S'cogitates'
p18006
aS'cogitating'
p18007
aS'cogitated'
p18008
aS'cogitated'
p18009
asS'Russianize'
p18010
(lp18011
S'Russianizes'
p18012
aS'Russianizing'
p18013
aS'Russianized'
p18014
aS'Russianized'
p18015
asS'disproportionate'
p18016
(lp18017
S'disproportionates'
p18018
aS'disproportionating'
p18019
aS'disproportionated'
p18020
aS'disproportionated'
p18021
asS'lade'
p18022
(lp18023
S'lades'
p18024
aS'lading'
p18025
aS'laded'
p18026
aS'laden'
p18027
asS'ream'
p18028
(lp18029
S'reams'
p18030
aS'reaming'
p18031
aS'reamed'
p18032
aS'reamed'
p18033
asS'hover'
p18034
(lp18035
S'hovers'
p18036
aS'hovering'
p18037
aS'hovered'
p18038
aS'hovered'
p18039
asS'frown'
p18040
(lp18041
S'frowns'
p18042
aS'frowning'
p18043
aS'frowned'
p18044
aS'frowned'
p18045
asS'stunk'
p18046
(lp18047
S'stunks'
p18048
aS'stunking'
p18049
aS'stunked'
p18050
aS'stunked'
p18051
asS'read'
p18052
(lp18053
S'reads'
p18054
aS'reading'
p18055
aS'read'
p18056
aS'read'
p18057
asS'swig'
p18058
(lp18059
S'swigs'
p18060
aS'swigging'
p18061
aS'swigged'
p18062
aS'swigged'
p18063
asS'plodge'
p18064
(lp18065
S'plodges'
p18066
aS'plodging'
p18067
aS'plodged'
p18068
aS'plodged'
p18069
asS'detoxify'
p18070
(lp18071
S'detoxifies'
p18072
aS'detoxifying'
p18073
aS'detoxified'
p18074
aS'detoxified'
p18075
asS'leapfrog'
p18076
(lp18077
S'leapfrogs'
p18078
aS'leapfrogging'
p18079
aS'leapfrogged'
p18080
aS'leapfrogged'
p18081
asS'detract'
p18082
(lp18083
S'detracts'
p18084
aS'detracting'
p18085
aS'detracted'
p18086
aS'detracted'
p18087
asS'stunt'
p18088
(lp18089
S'stunts'
p18090
aS'stunting'
p18091
aS'stunted'
p18092
aS'stunted'
p18093
asS'reap'
p18094
(lp18095
S'reaps'
p18096
aS'reaping'
p18097
aS'reaped'
p18098
aS'reaped'
p18099
asS'hovel'
p18100
(lp18101
S'hovels'
p18102
aS'hovelling'
p18103
aS'hovelled'
p18104
aS'hovelled'
p18105
asS'rear'
p18106
(lp18107
S'rears'
p18108
aS'rearing'
p18109
aS'reared'
p18110
aS'reared'
p18111
asS'secularize'
p18112
(lp18113
S'secularizes'
p18114
aS'secularizing'
p18115
aS'secularized'
p18116
aS'secularized'
p18117
asS'chainreact'
p18118
(lp18119
S'chainreacts'
p18120
aS'chainreacting'
p18121
aS'chainreacted'
p18122
aS'chainreacted'
p18123
asS'commove'
p18124
(lp18125
S'commoves'
p18126
aS'commoving'
p18127
aS'commoved'
p18128
aS'commoved'
p18129
asS'fortune'
p18130
(lp18131
S'fortunes'
p18132
aS'fortuning'
p18133
aS'fortuned'
p18134
aS'fortuned'
p18135
asS'misquote'
p18136
(lp18137
S'misquotes'
p18138
aS'misquoting'
p18139
aS'misquoted'
p18140
aS'misquoted'
p18141
asS'roll'
p18142
(lp18143
S'rolls'
p18144
aS'rolling'
p18145
aS'rolled'
p18146
aS'rolled'
p18147
asS'engross'
p18148
(lp18149
S'engrosses'
p18150
aS'engrossing'
p18151
aS'engrossed'
p18152
aS'engrossed'
p18153
asS'interleave'
p18154
(lp18155
S'interleaves'
p18156
aS'interleaving'
p18157
aS'interleaved'
p18158
aS'interleaved'
p18159
asS'benefit'
p18160
(lp18161
S'benefits'
p18162
aS'benefiting'
p18163
aS'benefited'
p18164
aS'benefited'
p18165
asS'hoarsen'
p18166
(lp18167
S'hoarsens'
p18168
aS'hoarsening'
p18169
aS'hoarsened'
p18170
aS'hoarsened'
p18171
asS'ensile'
p18172
(lp18173
S'ensiles'
p18174
aS'ensiling'
p18175
aS'ensiled'
p18176
aS'ensiled'
p18177
asS'laugh'
p18178
(lp18179
S'laughs'
p18180
aS'laughing'
p18181
aS'laughed'
p18182
aS'laughed'
p18183
asS'Orientalize'
p18184
(lp18185
S'Orientalizes'
p18186
aS'Orientalizing'
p18187
aS'Orientalized'
p18188
aS'Orientalized'
p18189
asS'hemorrhage'
p18190
(lp18191
S'hemorrhages'
p18192
aS'hemorrhaging'
p18193
aS'hemorrhaged'
p18194
aS'hemorrhaged'
p18195
asS'squirm'
p18196
(lp18197
S'squirms'
p18198
aS'squirming'
p18199
aS'squirmed'
p18200
aS'squirmed'
p18201
asS'hebetate'
p18202
(lp18203
S'hebetates'
p18204
aS'hebetating'
p18205
aS'hebetated'
p18206
aS'hebetated'
p18207
asS'putter'
p18208
(lp18209
S'putters'
p18210
aS'puttering'
p18211
aS'puttered'
p18212
aS'puttered'
p18213
asS'squire'
p18214
(lp18215
S'squires'
p18216
aS'squiring'
p18217
aS'squired'
p18218
aS'squired'
p18219
asS'touchtype'
p18220
(lp18221
S'touchtypes'
p18222
aS'touchtyping'
p18223
aS'touchtyped'
p18224
aS'touchtyped'
p18225
asS'circumnavigate'
p18226
(lp18227
S'circumnavigates'
p18228
aS'circumnavigating'
p18229
aS'circumnavigated'
p18230
aS'circumnavigated'
p18231
asS'squirt'
p18232
(lp18233
S'squirts'
p18234
aS'squirting'
p18235
aS'squirted'
p18236
aS'squirted'
p18237
asS'underbuy'
p18238
(lp18239
S'underbuys'
p18240
aS'underbuying'
p18241
aS'underbought'
p18242
aS'underbought'
p18243
asS'unstring'
p18244
(lp18245
S'unstrings'
p18246
aS'unstringing'
p18247
aS'unstrung'
p18248
aS'unstrung'
p18249
asS'hustle'
p18250
(lp18251
S'hustles'
p18252
aS'hustling'
p18253
aS'hustled'
p18254
aS'hustled'
p18255
asS'sadden'
p18256
(lp18257
S'saddens'
p18258
aS'saddening'
p18259
aS'saddened'
p18260
aS'saddened'
p18261
asS'revivify'
p18262
(lp18263
S'revivifies'
p18264
aS'revivifying'
p18265
aS'revivified'
p18266
aS'revivified'
p18267
asS'seine'
p18268
(lp18269
S'seines'
p18270
aS'seining'
p18271
aS'seined'
p18272
aS'seined'
p18273
asS'steam-heat'
p18274
(lp18275
S'steam-heats'
p18276
aS'steam-heating'
p18277
aS'steam-heated'
p18278
aS'steam-heated'
p18279
asS'restring'
p18280
(lp18281
S'restrings'
p18282
aS'restringing'
p18283
aS'restrung'
p18284
aS'restrung'
p18285
asS'assemble'
p18286
(lp18287
S'assembles'
p18288
aS'assembling'
p18289
aS'assembled'
p18290
aS'assembled'
p18291
asS'throw'
p18292
(lp18293
S'throws'
p18294
aS'throwing'
p18295
aS'threw'
p18296
aS'thrown'
p18297
asS'emasculate'
p18298
(lp18299
S'emasculates'
p18300
aS'emasculating'
p18301
aS'emasculated'
p18302
aS'emasculated'
p18303
asS'placard'
p18304
(lp18305
S'placards'
p18306
aS'placarding'
p18307
aS'placarded'
p18308
aS'placarded'
p18309
asS'cutinize'
p18310
(lp18311
S'cutinizes'
p18312
aS'cutinizing'
p18313
aS'cutinized'
p18314
aS'cutinized'
p18315
asS'chop'
p18316
(lp18317
S'chops'
p18318
aS'chopping'
p18319
aS'chopped'
p18320
aS'chopped'
p18321
asS'wolf'
p18322
(lp18323
S'wolfs'
p18324
aS'wolfing'
p18325
aS'wolfed'
p18326
aS'wolfed'
p18327
asS'internalize'
p18328
(lp18329
S'internalizes'
p18330
aS'internalizing'
p18331
aS'internalized'
p18332
aS'internalized'
p18333
asS'unquote'
p18334
(lp18335
S'unquotes'
p18336
aS'unquoting'
p18337
aS'unquoted'
p18338
aS'unquoted'
p18339
asS'skunks'
p18340
(lp18341
S'skunkses'
p18342
aS'skunksing'
p18343
aS'skunksed'
p18344
aS'skunksed'
p18345
asS'intromit'
p18346
(lp18347
S'intromits'
p18348
aS'intromitting'
p18349
aS'intromitted'
p18350
aS'intromitted'
p18351
asS'lionize'
p18352
(lp18353
S'lionizes'
p18354
aS'lionizing'
p18355
aS'lionized'
p18356
aS'lionized'
p18357
asS'resuscitate'
p18358
(lp18359
S'resuscitates'
p18360
aS'resuscitating'
p18361
aS'resuscitated'
p18362
aS'resuscitated'
p18363
asS'lob'
p18364
(lp18365
S'lobs'
p18366
aS'lobbing'
p18367
aS'lobbed'
p18368
aS'lobbed'
p18369
asS'log'
p18370
(lp18371
S'logs'
p18372
aS'logging'
p18373
aS'logged'
p18374
aS'logged'
p18375
asS'countermine'
p18376
(lp18377
S'countermines'
p18378
aS'countermining'
p18379
aS'countermined'
p18380
aS'countermined'
p18381
asS'preregister'
p18382
(lp18383
S'preregisters'
p18384
aS'preregistering'
p18385
aS'preregistered'
p18386
aS'preregistered'
p18387
asS'criminate'
p18388
(lp18389
S'criminates'
p18390
aS'criminating'
p18391
aS'criminated'
p18392
aS'criminated'
p18393
asS'wigwag'
p18394
(lp18395
S'wigwags'
p18396
aS'wigwagging'
p18397
aS'wigwagged'
p18398
aS'wigwagged'
p18399
asS'doublepark'
p18400
(lp18401
S'doubleparks'
p18402
aS'doubleparking'
p18403
aS'doubleparked'
p18404
aS'doubleparked'
p18405
asS'lop'
p18406
(lp18407
S'lops'
p18408
aS'lopping'
p18409
aS'lopped'
p18410
aS'lopped'
p18411
asS'lot'
p18412
(lp18413
S'lots'
p18414
aS'lotting'
p18415
aS'lotted'
p18416
aS'lotted'
p18417
asS'smock'
p18418
(lp18419
S'smocks'
p18420
aS'smocking'
p18421
aS'smocked'
p18422
aS'smocked'
p18423
asS'gudgeon'
p18424
(lp18425
S'gudgeons'
p18426
aS'gudgeoning'
p18427
aS'gudgeoned'
p18428
aS'gudgeoned'
p18429
asS'glaciate'
p18430
(lp18431
S'glaciates'
p18432
aS'glaciating'
p18433
aS'glaciated'
p18434
aS'glaciated'
p18435
asS'groan'
p18436
(lp18437
S'groans'
p18438
aS'groaning'
p18439
aS'groaned'
p18440
aS'groaned'
p18441
asS'garrotte'
p18442
(lp18443
S'garrottes'
p18444
aS'garrotting'
p18445
aS'garrotted'
p18446
aS'garrotted'
p18447
asS'deject'
p18448
(lp18449
S'dejects'
p18450
aS'dejecting'
p18451
aS'dejected'
p18452
aS'dejected'
p18453
asS'recoil'
p18454
(lp18455
S'recoils'
p18456
aS'recoiling'
p18457
aS'recoiled'
p18458
aS'recoiled'
p18459
asS'gatecrash'
p18460
(lp18461
S'gatecrashes'
p18462
aS'gatecrashing'
p18463
aS'gatecrashed'
p18464
aS'gatecrashed'
p18465
asS'hire'
p18466
(lp18467
S'hires'
p18468
aS'hiring'
p18469
aS'hired'
p18470
aS'hired'
p18471
asS'expropriate'
p18472
(lp18473
S'expropriates'
p18474
aS'expropriating'
p18475
aS'expropriated'
p18476
aS'expropriated'
p18477
asS'skedaddle'
p18478
(lp18479
S'skedaddles'
p18480
aS'skedaddling'
p18481
aS'skedaddled'
p18482
aS'skedaddled'
p18483
asS'hoiden'
p18484
(lp18485
S'hoidens'
p18486
aS'hoidening'
p18487
aS'hoidened'
p18488
aS'hoidened'
p18489
asS'default'
p18490
(lp18491
S'defaults'
p18492
aS'defaulting'
p18493
aS'defaulted'
p18494
aS'defaulted'
p18495
asS'enchase'
p18496
(lp18497
S'enchases'
p18498
aS'enchasing'
p18499
aS'enchased'
p18500
aS'enchased'
p18501
asS'bucket'
p18502
(lp18503
S'buckets'
p18504
aS'bucketing'
p18505
aS'bucketed'
p18506
aS'bucketed'
p18507
asS'overpay'
p18508
(lp18509
S'overpays'
p18510
aS'overpaying'
p18511
aS'overpaid'
p18512
aS'overpaid'
p18513
asS'cleck'
p18514
(lp18515
S'clecks'
p18516
aS'clecking'
p18517
aS'clecked'
p18518
aS'clecked'
p18519
asS'dander'
p18520
(lp18521
S'danders'
p18522
aS'dandering'
p18523
aS'dandered'
p18524
aS'dandered'
p18525
asS'popularize'
p18526
(lp18527
S'popularizes'
p18528
aS'popularizing'
p18529
aS'popularized'
p18530
aS'popularized'
p18531
asS'electrolyze'
p18532
(lp18533
S'electrolyzes'
p18534
aS'electrolyzing'
p18535
aS'electrolyzed'
p18536
aS'electrolyzed'
p18537
asS'undertake'
p18538
(lp18539
S'undertakes'
p18540
aS'undertaking'
p18541
aS'undertook'
p18542
aS'undertaken'
p18543
asS'subdue'
p18544
(lp18545
S'subdues'
p18546
aS'subduing'
p18547
aS'subdued'
p18548
aS'subdued'
p18549
asS'describe'
p18550
(lp18551
S'describes'
p18552
aS'describing'
p18553
aS'described'
p18554
aS'described'
p18555
asS'denationalize'
p18556
(lp18557
S'denationalizes'
p18558
aS'denationalizing'
p18559
aS'denationalized'
p18560
aS'denationalized'
p18561
asS'sheath'
p18562
(lp18563
S'sheaths'
p18564
aS'sheathing'
p18565
aS'sheathed'
p18566
aS'sheathed'
p18567
asS'impend'
p18568
(lp18569
S'impends'
p18570
aS'impending'
p18571
aS'impended'
p18572
aS'impended'
p18573
asS'confab'
p18574
(lp18575
S'confabs'
p18576
aS'confabbing'
p18577
aS'confabbed'
p18578
aS'confabbed'
p18579
asS'backstroke'
p18580
(lp18581
S'backstrokes'
p18582
aS'backstroking'
p18583
aS'backstroked'
p18584
aS'backstroked'
p18585
asS'trample'
p18586
(lp18587
S'tramples'
p18588
aS'trampling'
p18589
aS'trampled'
p18590
aS'trampled'
p18591
asS'colly'
p18592
(lp18593
S'collies'
p18594
aS'collying'
p18595
aS'collied'
p18596
aS'collied'
p18597
asS'quadrisect'
p18598
(lp18599
S'quadrisects'
p18600
aS'quadrisecting'
p18601
aS'quadrisected'
p18602
aS'quadrisected'
p18603
asS'poop'
p18604
(lp18605
S'poops'
p18606
aS'pooping'
p18607
aS'pooped'
p18608
aS'pooped'
p18609
asS'vaccinate'
p18610
(lp18611
S'vaccinates'
p18612
aS'vaccinating'
p18613
aS'vaccinated'
p18614
aS'vaccinated'
p18615
asS'drift'
p18616
(lp18617
S'drifts'
p18618
aS'drifting'
p18619
aS'drifted'
p18620
aS'drifted'
p18621
asS'carpenter'
p18622
(lp18623
S'carpenters'
p18624
aS'carpentering'
p18625
aS'carpentered'
p18626
aS'carpentered'
p18627
asS'overreact'
p18628
(lp18629
S'overreacts'
p18630
aS'overreacting'
p18631
aS'overreacted'
p18632
aS'overreacted'
p18633
asS'peal'
p18634
(lp18635
S'peals'
p18636
aS'pealing'
p18637
aS'pealed'
p18638
aS'pealed'
p18639
asS'peak'
p18640
(lp18641
S'peaks'
p18642
aS'peaking'
p18643
aS'peaked'
p18644
aS'peaked'
p18645
asS'pool'
p18646
(lp18647
S'pools'
p18648
aS'pooling'
p18649
aS'pooled'
p18650
aS'pooled'
p18651
asS'assert'
p18652
(lp18653
S'asserts'
p18654
aS'asserting'
p18655
aS'asserted'
p18656
aS'asserted'
p18657
asS'dabble'
p18658
(lp18659
S'dabbles'
p18660
aS'dabbling'
p18661
aS'dabbled'
p18662
aS'dabbled'
p18663
asS'smooch'
p18664
(lp18665
S'smooches'
p18666
aS'smooching'
p18667
aS'smooched'
p18668
aS'smooched'
p18669
asS'phonate'
p18670
(lp18671
S'phonates'
p18672
aS'phonating'
p18673
aS'phonated'
p18674
aS'phonated'
p18675
asS'untidy'
p18676
(lp18677
S'untidies'
p18678
aS'untidying'
p18679
aS'untidied'
p18680
aS'untidied'
p18681
asS'moonlight'
p18682
(lp18683
S'moonlights'
p18684
aS'moonlighting'
p18685
aS'moonlighted'
p18686
aS'moonlighted'
p18687
asS'head-load'
p18688
(lp18689
S'head-loads'
p18690
aS'head-loading'
p18691
aS'head-loaded'
p18692
aS'head-loaded'
p18693
asS'requisition'
p18694
(lp18695
S'requisitions'
p18696
aS'requisitioning'
p18697
aS'requisitioned'
p18698
aS'requisitioned'
p18699
asS'forswear'
p18700
(lp18701
S'forswears'
p18702
aS'forswearing'
p18703
aS'forswore'
p18704
aS'forsworn'
p18705
asS'disentail'
p18706
(lp18707
S'disentails'
p18708
aS'disentailing'
p18709
aS'disentailed'
p18710
aS'disentailed'
p18711
asS'overwatch'
p18712
(lp18713
S'overwatches'
p18714
aS'overwatching'
p18715
aS'overwatched'
p18716
aS'overwatched'
p18717
asS'peacock'
p18718
(lp18719
S'peacocks'
p18720
aS'peacocking'
p18721
aS'peacocked'
p18722
aS'peacocked'
p18723
asS'expatiate'
p18724
(lp18725
S'expatiates'
p18726
aS'expatiating'
p18727
aS'expatiated'
p18728
aS'expatiated'
p18729
asS'milt'
p18730
(lp18731
S'milts'
p18732
aS'milting'
p18733
aS'milted'
p18734
aS'milted'
p18735
asS'testify'
p18736
(lp18737
S'testifies'
p18738
aS'testifying'
p18739
aS'testified'
p18740
aS'testified'
p18741
asS'pique'
p18742
(lp18743
S'piques'
p18744
aS'piquing'
p18745
aS'piqued'
p18746
aS'piqued'
p18747
asS'bequeath'
p18748
(lp18749
S'bequeaths'
p18750
aS'bequeathing'
p18751
aS'bequeathed'
p18752
aS'bequeathed'
p18753
asS'rock-and-roll'
p18754
(lp18755
S'rock-and-rolls'
p18756
aS'rock-and-rolling'
p18757
aS'rock-and-rolled'
p18758
aS'rock-and-rolled'
p18759
asS'delocalize'
p18760
(lp18761
S'delocalizes'
p18762
aS'delocalizing'
p18763
aS'delocalized'
p18764
aS'delocalized'
p18765
asS'foreshow'
p18766
(lp18767
S'foreshows'
p18768
aS'foreshowing'
p18769
aS'foreshowed'
p18770
aS'foreshown'
p18771
asS'adhere'
p18772
(lp18773
S'adheres'
p18774
aS'adhering'
p18775
aS'adhered'
p18776
aS'adhered'
p18777
asS'obnubilate'
p18778
(lp18779
S'obnubilates'
p18780
aS'obnubilating'
p18781
aS'obnubilated'
p18782
aS'obnubilated'
p18783
asS'carpet'
p18784
(lp18785
S'carpets'
p18786
aS'carpeting'
p18787
aS'carpeted'
p18788
aS'carpeted'
p18789
asS'speechify'
p18790
(lp18791
S'speechifies'
p18792
aS'speechifying'
p18793
aS'speechified'
p18794
aS'speechified'
p18795
asS'disassociate'
p18796
(lp18797
S'disassociates'
p18798
aS'disassociating'
p18799
aS'disassociated'
p18800
aS'disassociated'
p18801
asS'carbolize'
p18802
(lp18803
S'carbolizes'
p18804
aS'carbolizing'
p18805
aS'carbolized'
p18806
aS'carbolized'
p18807
asS'insulate'
p18808
(lp18809
S'insulates'
p18810
aS'insulating'
p18811
aS'insulated'
p18812
aS'insulated'
p18813
asS'upbuild'
p18814
(lp18815
S'upbuilds'
p18816
aS'upbuilding'
p18817
aS'upbuilt'
p18818
aS'upbuilt'
p18819
asS'foster'
p18820
(lp18821
S'fosters'
p18822
aS'fostering'
p18823
aS'fostered'
p18824
aS'fostered'
p18825
asS'spearhead'
p18826
(lp18827
S'spearheads'
p18828
aS'spearheading'
p18829
aS'spearheaded'
p18830
aS'spearheaded'
p18831
asS'solicit'
p18832
(lp18833
S'solicits'
p18834
aS'soliciting'
p18835
aS'solicited'
p18836
aS'solicited'
p18837
asS'safety'
p18838
(lp18839
S'safeties'
p18840
aS'safetying'
p18841
aS'safetied'
p18842
aS'safetied'
p18843
asS'desiderate'
p18844
(lp18845
S'desiderates'
p18846
aS'desiderating'
p18847
aS'desiderated'
p18848
aS'desiderated'
p18849
asS'hearken'
p18850
(lp18851
S'hearkens'
p18852
aS'hearkening'
p18853
aS'hearkened'
p18854
aS'hearkened'
p18855
asS'serrate'
p18856
(lp18857
S'serrates'
p18858
aS'serrating'
p18859
aS'serrated'
p18860
aS'serrated'
p18861
asS'parry'
p18862
(lp18863
S'parries'
p18864
aS'parrying'
p18865
aS'parried'
p18866
aS'parried'
p18867
asS'cypher'
p18868
(lp18869
S'cyphers'
p18870
aS'cyphering'
p18871
aS'cyphered'
p18872
aS'cyphered'
p18873
asS'decide'
p18874
(lp18875
S'decides'
p18876
aS'deciding'
p18877
aS'decided'
p18878
aS'decided'
p18879
asS'lapidify'
p18880
(lp18881
S'lapidifies'
p18882
aS'lapidifying'
p18883
aS'lapidified'
p18884
aS'lapidified'
p18885
asS'underperform'
p18886
(lp18887
S'underperforms'
p18888
aS'underperforming'
p18889
aS'underperformed'
p18890
aS'underperformed'
p18891
asS'curdle'
p18892
(lp18893
S'curdles'
p18894
aS'curdling'
p18895
aS'curdled'
p18896
aS'curdled'
p18897
asS'fusillade'
p18898
(lp18899
S'fusillades'
p18900
aS'fusillading'
p18901
aS'fusilladed'
p18902
aS'fusilladed'
p18903
asS'shimmy'
p18904
(lp18905
S'shimmies'
p18906
aS'shimmying'
p18907
aS'shimmied'
p18908
aS'shimmied'
p18909
asS'skim'
p18910
(lp18911
S'skims'
p18912
aS'skimming'
p18913
aS'skimmed'
p18914
aS'skimmed'
p18915
asS'blackout'
p18916
(lp18917
S'blackouts'
p18918
aS'blackouting'
p18919
aS'blackouted'
p18920
aS'blackouted'
p18921
asS'dunk'
p18922
(lp18923
S'dunks'
p18924
aS'dunking'
p18925
aS'dunked'
p18926
aS'dunked'
p18927
asS'fence'
p18928
(lp18929
S'fences'
p18930
aS'fencing'
p18931
aS'fenced'
p18932
aS'fenced'
p18933
asS'French-polish'
p18934
(lp18935
S'French-polishes'
p18936
aS'French-polishing'
p18937
aS'French-polished'
p18938
aS'French-polished'
p18939
asS'archaize'
p18940
(lp18941
S'archaizes'
p18942
aS'archaizing'
p18943
aS'archaized'
p18944
aS'archaized'
p18945
asS'stigmatize'
p18946
(lp18947
S'stigmatizes'
p18948
aS'stigmatizing'
p18949
aS'stigmatized'
p18950
aS'stigmatized'
p18951
asS'rival'
p18952
(lp18953
S'rivals'
p18954
aS'rivalling'
p18955
aS'rivalled'
p18956
aS'rivalled'
p18957
asS'enfeeble'
p18958
(lp18959
S'enfeebles'
p18960
aS'enfeebling'
p18961
aS'enfeebled'
p18962
aS'enfeebled'
p18963
asS'enjoin'
p18964
(lp18965
S'enjoins'
p18966
aS'enjoining'
p18967
aS'enjoined'
p18968
aS'enjoined'
p18969
asS'hamper'
p18970
(lp18971
S'hampers'
p18972
aS'hampering'
p18973
aS'hampered'
p18974
aS'hampered'
p18975
asS'chuckle'
p18976
(lp18977
S'chuckles'
p18978
aS'chuckling'
p18979
aS'chuckled'
p18980
aS'chuckled'
p18981
asS'mediatize'
p18982
(lp18983
S'mediatizes'
p18984
aS'mediatizing'
p18985
aS'mediatized'
p18986
aS'mediatized'
p18987
asS'tussle'
p18988
(lp18989
S'tussles'
p18990
aS'tussling'
p18991
aS'tussled'
p18992
aS'tussled'
p18993
asS'f^ete'
p18994
(lp18995
S'f^etes'
p18996
aS'f^eting'
p18997
aS'f^eted'
p18998
aS'f^eted'
p18999
asS'lurch'
p19000
(lp19001
S'lurches'
p19002
aS'lurching'
p19003
aS'lurched'
p19004
aS'lurched'
p19005
asS'skid'
p19006
(lp19007
S'skids'
p19008
aS'skidding'
p19009
aS'skidded'
p19010
aS'skidded'
p19011
asS'overrule'
p19012
(lp19013
S'overrules'
p19014
aS'overruling'
p19015
aS'overruled'
p19016
aS'overruled'
p19017
asS'obtund'
p19018
(lp19019
S'obtunds'
p19020
aS'obtunding'
p19021
aS'obtunded'
p19022
aS'obtunded'
p19023
asS'burglarize'
p19024
(lp19025
S'burglarizes'
p19026
aS'burglarizing'
p19027
aS'burglarized'
p19028
aS'burglarized'
p19029
asS'loose'
p19030
(lp19031
S'looses'
p19032
aS'loosing'
p19033
aS'loosed'
p19034
aS'loosed'
p19035
asS'modify'
p19036
(lp19037
S'modifies'
p19038
aS'modifying'
p19039
aS'modified'
p19040
aS'modified'
p19041
asS'outdistance'
p19042
(lp19043
S'outdistances'
p19044
aS'outdistancing'
p19045
aS'outdistanced'
p19046
aS'outdistanced'
p19047
asS'whine'
p19048
(lp19049
S'whines'
p19050
aS'whining'
p19051
aS'whined'
p19052
aS'whined'
p19053
asS'soldier'
p19054
(lp19055
S'soldiers'
p19056
aS'soldiering'
p19057
aS'soldiered'
p19058
aS'soldiered'
p19059
asS'amount'
p19060
(lp19061
S'amounts'
p19062
aS'amounting'
p19063
aS'amounted'
p19064
aS'amounted'
p19065
asS'obtrude'
p19066
(lp19067
S'obtrudes'
p19068
aS'obtruding'
p19069
aS'obtruded'
p19070
aS'obtruded'
p19071
asS'invalidate'
p19072
(lp19073
S'invalidates'
p19074
aS'invalidating'
p19075
aS'invalidated'
p19076
aS'invalidated'
p19077
asS'polevault'
p19078
(lp19079
S'polevaults'
p19080
aS'polevaulting'
p19081
aS'polevaulted'
p19082
aS'polevaulted'
p19083
asS'shuffle'
p19084
(lp19085
S'shuffles'
p19086
aS'shuffling'
p19087
aS'shuffled'
p19088
aS'shuffled'
p19089
asS'misdemean'
p19090
(lp19091
S'misdemeans'
p19092
aS'misdemeaning'
p19093
aS'misdemeaned'
p19094
aS'misdemeaned'
p19095
asS'ask'
p19096
(lp19097
S'asks'
p19098
aS'asking'
p19099
aS'asked'
p19100
aS'asked'
p19101
asS'foretoken'
p19102
(lp19103
S'foretokens'
p19104
aS'foretokening'
p19105
aS'foretokened'
p19106
aS'foretokened'
p19107
asS'aggress'
p19108
(lp19109
S'aggresses'
p19110
aS'aggressing'
p19111
aS'aggressed'
p19112
aS'aggressed'
p19113
asS'decompound'
p19114
(lp19115
S'decompounds'
p19116
aS'decompounding'
p19117
aS'decompounded'
p19118
aS'decompounded'
p19119
asS'injure'
p19120
(lp19121
S'injures'
p19122
aS'injuring'
p19123
aS'injured'
p19124
aS'injured'
p19125
asS'generate'
p19126
(lp19127
S'generates'
p19128
aS'generating'
p19129
aS'generated'
p19130
aS'generated'
p19131
asS'enwreath'
p19132
(lp19133
S'enwreaths'
p19134
aS'enwreathing'
p19135
aS'enwreathed'
p19136
aS'enwreathed'
p19137
asS'handfeed'
p19138
(lp19139
S'handfeeds'
p19140
aS'handfeeding'
p19141
aS'handfed'
p19142
aS'handfed'
p19143
asS'telepathize'
p19144
(lp19145
S'telepathizes'
p19146
aS'telepathizing'
p19147
aS'telepathized'
p19148
aS'telepathized'
p19149
asS'coiffure'
p19150
(lp19151
S'coiffures'
p19152
aS'coiffuring'
p19153
aS'coiffured'
p19154
aS'coiffured'
p19155
asS'erode'
p19156
(lp19157
S'erodes'
p19158
aS'eroding'
p19159
aS'eroded'
p19160
aS'eroded'
p19161
asS'decrepitate'
p19162
(lp19163
S'decrepitates'
p19164
aS'decrepitating'
p19165
aS'decrepitated'
p19166
aS'decrepitated'
p19167
asS'splosh'
p19168
(lp19169
S'sploshes'
p19170
aS'sploshing'
p19171
aS'sploshed'
p19172
aS'sploshed'
p19173
asS'indenture'
p19174
(lp19175
S'indentures'
p19176
aS'indenturing'
p19177
aS'indentured'
p19178
aS'indentured'
p19179
asS'excuse'
p19180
(lp19181
S'excuses'
p19182
aS'excusing'
p19183
aS'excused'
p19184
aS'excused'
p19185
asS'hurry'
p19186
(lp19187
S'hurries'
p19188
aS'hurrying'
p19189
aS'hurried'
p19190
aS'hurried'
p19191
asS'italicize'
p19192
(lp19193
S'italicizes'
p19194
aS'italicizing'
p19195
aS'italicized'
p19196
aS'italicized'
p19197
asS'grill'
p19198
(lp19199
S'grills'
p19200
aS'grilling'
p19201
aS'grilled'
p19202
aS'grilled'
p19203
asS'unyoke'
p19204
(lp19205
S'unyokes'
p19206
aS'unyoking'
p19207
aS'unyoked'
p19208
aS'unyoked'
p19209
asS'titrate'
p19210
(lp19211
S'titrates'
p19212
aS'titrating'
p19213
aS'titrated'
p19214
aS'titrated'
p19215
asS'muzz'
p19216
(lp19217
S'muzzes'
p19218
aS'muzzing'
p19219
aS'muzzed'
p19220
aS'muzzed'
p19221
asS'swash'
p19222
(lp19223
S'swashes'
p19224
aS'swashing'
p19225
aS'swashed'
p19226
aS'swashed'
p19227
asS'cowk'
p19228
(lp19229
S'cowks'
p19230
aS'cowking'
p19231
aS'cowked'
p19232
aS'cowked'
p19233
asS'transcend'
p19234
(lp19235
S'transcends'
p19236
aS'transcending'
p19237
aS'transcended'
p19238
aS'transcended'
p19239
asS'cowl'
p19240
(lp19241
S'cowls'
p19242
aS'cowling'
p19243
aS'cowled'
p19244
aS'cowled'
p19245
asS'boycott'
p19246
(lp19247
S'boycotts'
p19248
aS'boycotting'
p19249
aS'boycotted'
p19250
aS'boycotted'
p19251
asS'henpeck'
p19252
(lp19253
S'henpecks'
p19254
aS'henpecking'
p19255
aS'henpecked'
p19256
aS'henpecked'
p19257
asS'appose'
p19258
(lp19259
S'apposes'
p19260
aS'apposing'
p19261
aS'apposed'
p19262
aS'apposed'
p19263
asS'surcingle'
p19264
(lp19265
S'surcingles'
p19266
aS'surcingling'
p19267
aS'surcingled'
p19268
aS'surcingled'
p19269
asS'phrase'
p19270
(lp19271
S'phrases'
p19272
aS'phrasing'
p19273
aS'phrased'
p19274
aS'phrased'
p19275
asS'cowp'
p19276
(lp19277
S'cowps'
p19278
aS'cowping'
p19279
aS'cowped'
p19280
aS'cowped'
p19281
asS'cornice'
p19282
(lp19283
S'cornices'
p19284
aS'cornicing'
p19285
aS'corniced'
p19286
aS'corniced'
p19287
asS'dimidiate'
p19288
(lp19289
S'dimidiates'
p19290
aS'dimidiating'
p19291
aS'dimidiated'
p19292
aS'dimidiated'
p19293
asS'fortress'
p19294
(lp19295
S'fortresses'
p19296
aS'fortressing'
p19297
aS'fortressed'
p19298
aS'fortressed'
p19299
asS'thieve'
p19300
(lp19301
S'thieves'
p19302
aS'thieving'
p19303
aS'thieved'
p19304
aS'thieved'
p19305
asS'ledger'
p19306
(lp19307
S'ledgers'
p19308
aS'ledgering'
p19309
aS'ledgered'
p19310
aS'ledgered'
p19311
asS'bioassay'
p19312
(lp19313
S'bioassays'
p19314
aS'bioassaying'
p19315
aS'bioassayed'
p19316
aS'bioassayed'
p19317
asS'gash'
p19318
(lp19319
S'gashes'
p19320
aS'gashing'
p19321
aS'gashed'
p19322
aS'gashed'
p19323
asS'slipsheet'
p19324
(lp19325
S'slipsheets'
p19326
aS'slipsheeting'
p19327
aS'slipsheeted'
p19328
aS'slipsheeted'
p19329
asS'threat'
p19330
(lp19331
S'threats'
p19332
aS'threating'
p19333
aS'threated'
p19334
aS'threated'
p19335
asS'whirl'
p19336
(lp19337
S'whirls'
p19338
aS'whirling'
p19339
aS'whirled'
p19340
aS'whirled'
p19341
asS'sneak'
p19342
(lp19343
S'sneaks'
p19344
aS'sneaking'
p19345
aS'snuck'
p19346
aS'snuck'
p19347
asS'keelhaul'
p19348
(lp19349
S'keelhauls'
p19350
aS'keelhauling'
p19351
aS'keelhauled'
p19352
aS'keelhauled'
p19353
asS'gasp'
p19354
(lp19355
S'gasps'
p19356
aS'gasping'
p19357
aS'gasped'
p19358
aS'gasped'
p19359
asS'reelect'
p19360
(lp19361
S'reelects'
p19362
aS'reelecting'
p19363
aS'reelected'
p19364
aS'reelected'
p19365
asS'hydrogenize'
p19366
(lp19367
S'hydrogenizes'
p19368
aS'hydrogenizing'
p19369
aS'hydrogenized'
p19370
aS'hydrogenized'
p19371
asS'humbug'
p19372
(lp19373
S'humbugs'
p19374
aS'humbugging'
p19375
aS'humbugged'
p19376
aS'humbugged'
p19377
asS'criticize'
p19378
(lp19379
S'criticizes'
p19380
aS'criticizing'
p19381
aS'criticized'
p19382
aS'criticized'
p19383
asS'deluge'
p19384
(lp19385
S'deluges'
p19386
aS'deluging'
p19387
aS'deluged'
p19388
aS'deluged'
p19389
asS'laminate'
p19390
(lp19391
S'laminates'
p19392
aS'laminating'
p19393
aS'laminated'
p19394
aS'laminated'
p19395
asS'genuflect'
p19396
(lp19397
S'genuflects'
p19398
aS'genuflecting'
p19399
aS'genuflected'
p19400
aS'genuflected'
p19401
asS'doublespace'
p19402
(lp19403
S'doublespaces'
p19404
aS'doublespacing'
p19405
aS'doublespaced'
p19406
aS'doublespaced'
p19407
asS'dread'
p19408
(lp19409
S'dreads'
p19410
aS'dreading'
p19411
aS'dreaded'
p19412
aS'dreaded'
p19413
asS'decamp'
p19414
(lp19415
S'decamps'
p19416
aS'decamping'
p19417
aS'decamped'
p19418
aS'decamped'
p19419
asS'egg'
p19420
(lp19421
S'eggs'
p19422
aS'egging'
p19423
aS'egged'
p19424
aS'egged'
p19425
asS'ding'
p19426
(lp19427
S'dings'
p19428
aS'dinging'
p19429
aS'dinged'
p19430
aS'dinged'
p19431
asS'splay'
p19432
(lp19433
S'splays'
p19434
aS'splaying'
p19435
aS'splayed'
p19436
aS'splayed'
p19437
asS'help'
p19438
(lp19439
S'helps'
p19440
aS'helping'
p19441
aS'helped'
p19442
aS'helped'
p19443
asS'slouch'
p19444
(lp19445
S'slouches'
p19446
aS'slouching'
p19447
aS'slouched'
p19448
aS'slouched'
p19449
asS'preempt'
p19450
(lp19451
S'preempts'
p19452
aS'preempting'
p19453
aS'preempted'
p19454
aS'preempted'
p19455
asS'soot'
p19456
(lp19457
S'soots'
p19458
aS'sooting'
p19459
aS'sooted'
p19460
aS'sooted'
p19461
asS'helm'
p19462
(lp19463
S'helms'
p19464
aS'helming'
p19465
aS'helmed'
p19466
aS'helmed'
p19467
asS'staunch'
p19468
(lp19469
S'staunches'
p19470
aS'staunching'
p19471
aS'staunched'
p19472
aS'staunched'
p19473
asS'expectorate'
p19474
(lp19475
S'expectorates'
p19476
aS'expectorating'
p19477
aS'expectorated'
p19478
aS'expectorated'
p19479
asS'reseat'
p19480
(lp19481
S'reseats'
p19482
aS'reseating'
p19483
aS'reseated'
p19484
aS'reseated'
p19485
asS'autoclave'
p19486
(lp19487
S'autoclaves'
p19488
aS'autoclaving'
p19489
aS'autoclaved'
p19490
aS'autoclaved'
p19491
asS'astonish'
p19492
(lp19493
S'astonishes'
p19494
aS'astonishing'
p19495
aS'astonished'
p19496
aS'astonished'
p19497
asS'rabble'
p19498
(lp19499
S'rabbles'
p19500
aS'rabbling'
p19501
aS'rabbled'
p19502
aS'rabbled'
p19503
asS'team'
p19504
(lp19505
S'teams'
p19506
aS'teaming'
p19507
aS'teamed'
p19508
aS'teamed'
p19509
asS'flabbergast'
p19510
(lp19511
S'flabbergasts'
p19512
aS'flabbergasting'
p19513
aS'flabbergasted'
p19514
aS'flabbergasted'
p19515
asS'fool'
p19516
(lp19517
S'fools'
p19518
aS'fooling'
p19519
aS'fooled'
p19520
aS'fooled'
p19521
asS'stiffen'
p19522
(lp19523
S'stiffens'
p19524
aS'stiffening'
p19525
aS'stiffened'
p19526
aS'stiffened'
p19527
asS'programtrade'
p19528
(lp19529
S'programtrades'
p19530
aS'programtrading'
p19531
aS'programtraded'
p19532
aS'programtraded'
p19533
asS'decollate'
p19534
(lp19535
S'decollates'
p19536
aS'decollating'
p19537
aS'decollated'
p19538
aS'decollated'
p19539
asS'foot'
p19540
(lp19541
S'foots'
p19542
aS'footing'
p19543
aS'footed'
p19544
aS'footed'
p19545
asS'menstruate'
p19546
(lp19547
S'menstruates'
p19548
aS'menstruating'
p19549
aS'menstruated'
p19550
aS'menstruated'
p19551
asS'stopper'
p19552
(lp19553
S'stoppers'
p19554
aS'stoppering'
p19555
aS'stoppered'
p19556
aS'stoppered'
p19557
asS'chamfer'
p19558
(lp19559
S'chamfers'
p19560
aS'chamfering'
p19561
aS'chamfered'
p19562
aS'chamfered'
p19563
asS'intervene'
p19564
(lp19565
S'intervenes'
p19566
aS'intervening'
p19567
aS'intervened'
p19568
aS'intervened'
p19569
asS'fanaticize'
p19570
(lp19571
S'fanaticizes'
p19572
aS'fanaticizing'
p19573
aS'fanaticized'
p19574
aS'fanaticized'
p19575
asS'bless'
p19576
(lp19577
S'blesses'
p19578
aS'blessing'
p19579
aS'blest'
p19580
aS'blessed'
p19581
asS'dint'
p19582
(lp19583
S'dints'
p19584
aS'dinting'
p19585
aS'dinted'
p19586
aS'dinted'
p19587
asS'circularize'
p19588
(lp19589
S'circularizes'
p19590
aS'circularizing'
p19591
aS'circularized'
p19592
aS'circularized'
p19593
asS'blest'
p19594
(lp19595
S'blests'
p19596
aS'blesting'
p19597
aS'blested'
p19598
aS'blested'
p19599
asS'whirr'
p19600
(lp19601
S'whirs'
p19602
aS'whirring'
p19603
aS'whirred'
p19604
aS'whirred'
p19605
asS'oppugn'
p19606
(lp19607
S'oppugns'
p19608
aS'oppugning'
p19609
aS'oppugned'
p19610
aS'oppugned'
p19611
asS'contextualize'
p19612
(lp19613
S'contextualizes'
p19614
aS'contextualizing'
p19615
aS'contextualized'
p19616
aS'contextualized'
p19617
asS'transcribe'
p19618
(lp19619
S'transcribes'
p19620
aS'transcribing'
p19621
aS'transcribed'
p19622
aS'transcribed'
p19623
asS'pamper'
p19624
(lp19625
S'pampers'
p19626
aS'pampering'
p19627
aS'pampered'
p19628
aS'pampered'
p19629
asS'trapes'
p19630
(lp19631
S'trapesing'
p19632
aS'trapesed'
p19633
aS'trapesed'
p19634
asS'tighten'
p19635
(lp19636
S'tightens'
p19637
aS'tightening'
p19638
aS'tightened'
p19639
aS'tightened'
p19640
asS'deride'
p19641
(lp19642
S'derides'
p19643
aS'deriding'
p19644
aS'derided'
p19645
aS'derided'
p19646
asS'unharness'
p19647
(lp19648
S'unharnesses'
p19649
aS'unharnessing'
p19650
aS'unharnessed'
p19651
aS'unharnessed'
p19652
asS'unlead'
p19653
(lp19654
S'unleads'
p19655
aS'unleading'
p19656
aS'unleaded'
p19657
aS'unleaded'
p19658
asS'heave'
p19659
(lp19660
S'heaves'
p19661
aS'heaving'
p19662
aS'hove'
p19663
aS'hove'
p19664
asS'feoff'
p19665
(lp19666
S'feoffing'
p19667
aS'feoffed'
p19668
aS'feoffed'
p19669
asS'denaturize'
p19670
(lp19671
S'denaturizes'
p19672
aS'denaturizing'
p19673
aS'denaturized'
p19674
aS'denaturized'
p19675
asS'publish'
p19676
(lp19677
S'publishes'
p19678
aS'publishing'
p19679
aS'published'
p19680
aS'published'
p19681
asS'jolly'
p19682
(lp19683
S'jollies'
p19684
aS'jollying'
p19685
aS'jollied'
p19686
aS'jollied'
p19687
asS'equate'
p19688
(lp19689
S'equates'
p19690
aS'equating'
p19691
aS'equated'
p19692
aS'equated'
p19693
asS'desexualize'
p19694
(lp19695
S'desexualizes'
p19696
aS'desexualizing'
p19697
aS'desexualized'
p19698
aS'desexualized'
p19699
asS'lord'
p19700
(lp19701
S'lords'
p19702
aS'lording'
p19703
aS'lorded'
p19704
aS'lorded'
p19705
asS'issue'
p19706
(lp19707
S'issues'
p19708
aS'issuing'
p19709
aS'issued'
p19710
aS'issued'
p19711
asS'outrun'
p19712
(lp19713
S'outruns'
p19714
aS'outrunning'
p19715
aS'outran'
p19716
aS'outrun'
p19717
asS'coinsure'
p19718
(lp19719
S'coinsures'
p19720
aS'coinsuring'
p19721
aS'coinsured'
p19722
aS'coinsured'
p19723
asS'reck'
p19724
(lp19725
S'recks'
p19726
aS'recking'
p19727
aS'recked'
p19728
aS'recked'
p19729
asS'pun'
p19730
(lp19731
S'puns'
p19732
aS'punning'
p19733
aS'punned'
p19734
aS'punned'
p19735
asS'swob'
p19736
(lp19737
S'swobs'
p19738
aS'swobbing'
p19739
aS'swobbed'
p19740
aS'swobbed'
p19741
asS'pug'
p19742
(lp19743
S'pugs'
p19744
aS'pugging'
p19745
aS'pugged'
p19746
aS'pugged'
p19747
asS'dung'
p19748
(lp19749
S'dungs'
p19750
aS'dunging'
p19751
aS'dunged'
p19752
aS'dunged'
p19753
asS'derate'
p19754
(lp19755
S'derates'
p19756
aS'derating'
p19757
aS'derated'
p19758
aS'derated'
p19759
asS'housel'
p19760
(lp19761
S'housels'
p19762
aS'houselling'
p19763
aS'houselled'
p19764
aS'houselled'
p19765
asS'reason'
p19766
(lp19767
S'reasons'
p19768
aS'reasoning'
p19769
aS'reasoned'
p19770
aS'reasoned'
p19771
asS'base'
p19772
(lp19773
S'bases'
p19774
aS'basing'
p19775
aS'based'
p19776
aS'based'
p19777
asS'dirk'
p19778
(lp19779
S'dirks'
p19780
aS'dirking'
p19781
aS'dirked'
p19782
aS'dirked'
p19783
asS'resettle'
p19784
(lp19785
S'resettles'
p19786
aS'resettling'
p19787
aS'resettled'
p19788
aS'resettled'
p19789
asS'swop'
p19790
(lp19791
S'swops'
p19792
aS'swopping'
p19793
aS'swopped'
p19794
aS'swopped'
p19795
asS'pup'
p19796
(lp19797
S'pups'
p19798
aS'pupping'
p19799
aS'pupped'
p19800
aS'pupped'
p19801
asS'bask'
p19802
(lp19803
S'basks'
p19804
aS'basking'
p19805
aS'basked'
p19806
aS'basked'
p19807
asS'bash'
p19808
(lp19809
S'bashes'
p19810
aS'bashing'
p19811
aS'bashed'
p19812
aS'bashed'
p19813
asS'dunt'
p19814
(lp19815
S'dunts'
p19816
aS'dunting'
p19817
aS'dunted'
p19818
aS'dunted'
p19819
asS'palpebrate'
p19820
(lp19821
S'palpebrates'
p19822
aS'palpebrating'
p19823
aS'palpebrated'
p19824
aS'palpebrated'
p19825
asS'execrate'
p19826
(lp19827
S'execrates'
p19828
aS'execrating'
p19829
aS'execrated'
p19830
aS'execrated'
p19831
asS'launch'
p19832
(lp19833
S'launches'
p19834
aS'launching'
p19835
aS'launched'
p19836
aS'launched'
p19837
asS'caption'
p19838
(lp19839
S'captions'
p19840
aS'captioning'
p19841
aS'captioned'
p19842
aS'captioned'
p19843
asS'blush'
p19844
(lp19845
S'blushes'
p19846
aS'blushing'
p19847
aS'blushed'
p19848
aS'blushed'
p19849
asS'devolve'
p19850
(lp19851
S'devolves'
p19852
aS'devolving'
p19853
aS'devolved'
p19854
aS'devolved'
p19855
asS'assign'
p19856
(lp19857
S'assigns'
p19858
aS'assigning'
p19859
aS'assigned'
p19860
aS'assigned'
p19861
asS'prevent'
p19862
(lp19863
S'prevents'
p19864
aS'preventing'
p19865
aS'prevented'
p19866
aS'prevented'
p19867
asS'chain-stitch'
p19868
(lp19869
S'chain-stitches'
p19870
aS'chain-stitching'
p19871
aS'chain-stitched'
p19872
aS'chain-stitched'
p19873
asS'ingenerate'
p19874
(lp19875
S'ingenerates'
p19876
aS'ingenerating'
p19877
aS'ingenerated'
p19878
aS'ingenerated'
p19879
asS'besteaded'
p19880
(lp19881
S'besteads'
p19882
aS'besteading'
p19883
aS'besteadeded'
p19884
aS'besteadeded'
p19885
asS'mist'
p19886
(lp19887
S'mists'
p19888
aS'misting'
p19889
aS'misted'
p19890
aS'misted'
p19891
asS'miss'
p19892
(lp19893
S'misses'
p19894
aS'missing'
p19895
aS'missed'
p19896
aS'missed'
p19897
asS'horse'
p19898
(lp19899
S'horses'
p19900
aS'horsing'
p19901
aS'horsed'
p19902
aS'horsed'
p19903
asS'inure'
p19904
(lp19905
S'inures'
p19906
aS'inuring'
p19907
aS'inured'
p19908
aS'inured'
p19909
asS'ostracize'
p19910
(lp19911
S'ostracizes'
p19912
aS'ostracizing'
p19913
aS'ostracized'
p19914
aS'ostracized'
p19915
asS'blossom'
p19916
(lp19917
S'blossoms'
p19918
aS'blossoming'
p19919
aS'blossomed'
p19920
aS'blossomed'
p19921
asS'novelize'
p19922
(lp19923
S'novelizes'
p19924
aS'novelizing'
p19925
aS'novelized'
p19926
aS'novelized'
p19927
asS'purvey'
p19928
(lp19929
S'purveys'
p19930
aS'purveying'
p19931
aS'purveyed'
p19932
aS'purveyed'
p19933
asS'inurn'
p19934
(lp19935
S'inurns'
p19936
aS'inurning'
p19937
aS'inurned'
p19938
aS'inurned'
p19939
asS'eddy'
p19940
(lp19941
S'eddies'
p19942
aS'eddying'
p19943
aS'eddied'
p19944
aS'eddied'
p19945
asS'station'
p19946
(lp19947
S'stations'
p19948
aS'stationing'
p19949
aS'stationed'
p19950
aS'stationed'
p19951
asS'scheme'
p19952
(lp19953
S'schemes'
p19954
aS'scheming'
p19955
aS'schemed'
p19956
aS'schemed'
p19957
asS'demystify'
p19958
(lp19959
S'demystifies'
p19960
aS'demystifying'
p19961
aS'demystified'
p19962
aS'demystified'
p19963
asS'slosh'
p19964
(lp19965
S'sloshes'
p19966
aS'sloshing'
p19967
aS'sloshed'
p19968
aS'sloshed'
p19969
asS'underdevelop'
p19970
(lp19971
S'underdevelops'
p19972
aS'underdeveloping'
p19973
aS'underdeveloped'
p19974
aS'underdeveloped'
p19975
asS'interplead'
p19976
(lp19977
S'interpleads'
p19978
aS'interpleading'
p19979
aS'interpled'
p19980
aS'interpled'
p19981
asS'outrange'
p19982
(lp19983
S'outranges'
p19984
aS'outranging'
p19985
aS'outranged'
p19986
aS'outranged'
p19987
asS'overdrive'
p19988
(lp19989
S'overdrives'
p19990
aS'overdriving'
p19991
aS'overdrove'
p19992
aS'overdriven'
p19993
asS'dissemble'
p19994
(lp19995
S'dissembles'
p19996
aS'dissembling'
p19997
aS'dissembled'
p19998
aS'dissembled'
p19999
asS'apprentice'
p20000
(lp20001
S'apprentices'
p20002
aS'apprenticing'
p20003
aS'apprenticed'
p20004
aS'apprenticed'
p20005
asS'lament'
p20006
(lp20007
S'laments'
p20008
aS'lamenting'
p20009
aS'lamented'
p20010
aS'lamented'
p20011
asS'anticipate'
p20012
(lp20013
S'anticipates'
p20014
aS'anticipating'
p20015
aS'anticipated'
p20016
aS'anticipated'
p20017
asS'grey'
p20018
(lp20019
S'greys'
p20020
aS'greying'
p20021
aS'greyed'
p20022
aS'greyed'
p20023
asS'gree'
p20024
(lp20025
S'grees'
p20026
aS'greeing'
p20027
aS'greed'
p20028
aS'greed'
p20029
asS'obfuscate'
p20030
(lp20031
S'obfuscates'
p20032
aS'obfuscating'
p20033
aS'obfuscated'
p20034
aS'obfuscated'
p20035
asS'kindle'
p20036
(lp20037
S'kindles'
p20038
aS'kindling'
p20039
aS'kindled'
p20040
aS'kindled'
p20041
asS'garrison'
p20042
(lp20043
S'garrisons'
p20044
aS'garrisoning'
p20045
aS'garrisoned'
p20046
aS'garrisoned'
p20047
asS'sty'
p20048
(lp20049
S'sties'
p20050
aS'stying'
p20051
aS'stied'
p20052
aS'stied'
p20053
asS'bejewel'
p20054
(lp20055
S'bejewels'
p20056
aS'bejewelling'
p20057
aS'bejewelled'
p20058
aS'bejewelled'
p20059
asS'vitriolize'
p20060
(lp20061
S'vitriolizes'
p20062
aS'vitriolizing'
p20063
aS'vitriolized'
p20064
aS'vitriolized'
p20065
asS'footnote'
p20066
(lp20067
S'footnotes'
p20068
aS'footnoting'
p20069
aS'footnoted'
p20070
aS'footnoted'
p20071
asS'overstate'
p20072
(lp20073
S'overstates'
p20074
aS'overstating'
p20075
aS'overstated'
p20076
aS'overstated'
p20077
asS'controvert'
p20078
(lp20079
S'controverts'
p20080
aS'controverting'
p20081
aS'controverted'
p20082
aS'controverted'
p20083
asS'hallal'
p20084
(lp20085
S'hallals'
p20086
aS'hallaling'
p20087
aS'hallaled'
p20088
aS'hallaled'
p20089
asS'yowl'
p20090
(lp20091
S'yowls'
p20092
aS'yowling'
p20093
aS'yowled'
p20094
aS'yowled'
p20095
asS'disbranch'
p20096
(lp20097
S'disbranches'
p20098
aS'disbranching'
p20099
aS'disbranched'
p20100
aS'disbranched'
p20101
asS'upsweep'
p20102
(lp20103
S'upsweeps'
p20104
aS'upsweeping'
p20105
aS'upswept'
p20106
aS'upswept'
p20107
asS'lie'
p20108
(lp20109
S'lies'
p20110
aS'lying'
p20111
aS'lied'
p20112
aS'lied'
p20113
asS'trance'
p20114
(lp20115
S'trances'
p20116
aS'trancing'
p20117
aS'tranced'
p20118
aS'tranced'
p20119
asS'cave'
p20120
(lp20121
S'caves'
p20122
aS'caving'
p20123
aS'caved'
p20124
aS'caved'
p20125
asS'classicize'
p20126
(lp20127
S'classicizes'
p20128
aS'classicizing'
p20129
aS'classicized'
p20130
aS'classicized'
p20131
asS'camouflage'
p20132
(lp20133
S'camouflages'
p20134
aS'camouflaging'
p20135
aS'camouflaged'
p20136
aS'camouflaged'
p20137
asS'auctioneer'
p20138
(lp20139
S'auctioneers'
p20140
aS'auctioneering'
p20141
aS'auctioneered'
p20142
aS'auctioneered'
p20143
asS'lit'
p20144
(lp20145
S'lit'
p20146
aS'lit'
p20147
asS'steal'
p20148
(lp20149
S'steals'
p20150
aS'stealing'
p20151
aS'stole'
p20152
aS'stolen'
p20153
asS'labour'
p20154
(lp20155
S'labours'
p20156
aS'labouring'
p20157
aS'laboured'
p20158
aS'laboured'
p20159
asS'lip'
p20160
(lp20161
S'lips'
p20162
aS'lipping'
p20163
aS'lipped'
p20164
aS'lipped'
p20165
asS'honeycomb'
p20166
(lp20167
S'honeycombs'
p20168
aS'honeycombing'
p20169
aS'honeycombed'
p20170
aS'honeycombed'
p20171
asS'exsert'
p20172
(lp20173
S'exserts'
p20174
aS'exserting'
p20175
aS'exserted'
p20176
aS'exserted'
p20177
asS'quote'
p20178
(lp20179
S'quotes'
p20180
aS'quoting'
p20181
aS'quoth'
p20182
aS'quoted'
p20183
asS'venge'
p20184
(lp20185
S'venges'
p20186
aS'venging'
p20187
aS'venged'
p20188
aS'venged'
p20189
asS'promenade'
p20190
(lp20191
S'promenades'
p20192
aS'promenading'
p20193
aS'promenaded'
p20194
aS'promenaded'
p20195
asS'plunder'
p20196
(lp20197
S'plunders'
p20198
aS'plundering'
p20199
aS'plundered'
p20200
aS'plundered'
p20201
asS'bridle'
p20202
(lp20203
S'bridles'
p20204
aS'bridling'
p20205
aS'bridled'
p20206
aS'bridled'
p20207
asS'diversify'
p20208
(lp20209
S'diversifies'
p20210
aS'diversifying'
p20211
aS'diversified'
p20212
aS'diversified'
p20213
asS'deflocculate'
p20214
(lp20215
S'deflocculates'
p20216
aS'deflocculating'
p20217
aS'deflocculated'
p20218
aS'deflocculated'
p20219
asS'detoxicate'
p20220
(lp20221
S'detoxicates'
p20222
aS'detoxicating'
p20223
aS'detoxicated'
p20224
aS'detoxicated'
p20225
asS'ballyhoo'
p20226
(lp20227
S'ballyhoos'
p20228
aS'ballyhooing'
p20229
aS'ballyhooed'
p20230
aS'ballyhooed'
p20231
asS'scumble'
p20232
(lp20233
S'scumbles'
p20234
aS'scumbling'
p20235
aS'scumbled'
p20236
aS'scumbled'
p20237
asS'smoulder'
p20238
(lp20239
S'smoulders'
p20240
aS'smouldering'
p20241
aS'smouldered'
p20242
aS'smouldered'
p20243
asS'clear'
p20244
(lp20245
S'clears'
p20246
aS'clearing'
p20247
aS'cleared'
p20248
aS'cleared'
p20249
asS'cleat'
p20250
(lp20251
S'cleats'
p20252
aS'cleating'
p20253
aS'cleated'
p20254
aS'cleated'
p20255
asS'adulate'
p20256
(lp20257
S'adulates'
p20258
aS'adulating'
p20259
aS'adulated'
p20260
aS'adulated'
p20261
asS'clean'
p20262
(lp20263
S'cleans'
p20264
aS'cleaning'
p20265
aS'cleaned'
p20266
aS'cleaned'
p20267
asS'displant'
p20268
(lp20269
S'displants'
p20270
aS'displanting'
p20271
aS'displanted'
p20272
aS'displanted'
p20273
asS'blend'
p20274
(lp20275
S'blends'
p20276
aS'blending'
p20277
aS'blended'
p20278
aS'blended'
p20279
asS'counterplot'
p20280
(lp20281
S'counterplots'
p20282
aS'counterplotting'
p20283
aS'counterplotted'
p20284
aS'counterplotted'
p20285
asS'ennoble'
p20286
(lp20287
S'ennobles'
p20288
aS'ennobling'
p20289
aS'ennobled'
p20290
aS'ennobled'
p20291
asS'tincture'
p20292
(lp20293
S'tinctures'
p20294
aS'tincturing'
p20295
aS'tinctured'
p20296
aS'tinctured'
p20297
asS'adsorb'
p20298
(lp20299
S'adsorbs'
p20300
aS'adsorbing'
p20301
aS'adsorbed'
p20302
aS'adsorbed'
p20303
asS'booze'
p20304
(lp20305
S'boozes'
p20306
aS'boozing'
p20307
aS'boozed'
p20308
aS'boozed'
p20309
asS'crayon'
p20310
(lp20311
S'crayons'
p20312
aS'crayoning'
p20313
aS'crayoned'
p20314
aS'crayoned'
p20315
asS'illegalize'
p20316
(lp20317
S'illegalizes'
p20318
aS'illegalizing'
p20319
aS'illegalized'
p20320
aS'illegalized'
p20321
asS'sheave'
p20322
(lp20323
S'sheaving'
p20324
aS'sheaved'
p20325
aS'sheaved'
p20326
asS'acidulate'
p20327
(lp20328
S'acidulates'
p20329
aS'acidulating'
p20330
aS'acidulated'
p20331
aS'acidulated'
p20332
asS'inlace'
p20333
(lp20334
S'inlaces'
p20335
aS'inlacing'
p20336
aS'inlaced'
p20337
aS'inlaced'
p20338
asS'copyright'
p20339
(lp20340
S'copyrights'
p20341
aS'copyrighting'
p20342
aS'copyrighted'
p20343
aS'copyrighted'
p20344
asS'undersell'
p20345
(lp20346
S'undersells'
p20347
aS'underselling'
p20348
aS'undersold'
p20349
aS'undersold'
p20350
asS'circle'
p20351
(lp20352
S'circles'
p20353
aS'circling'
p20354
aS'circled'
p20355
aS'circled'
p20356
asS'waterproof'
p20357
(lp20358
S'waterproofs'
p20359
aS'waterproofing'
p20360
aS'waterproofed'
p20361
aS'waterproofed'
p20362
asS'outlast'
p20363
(lp20364
S'outlasts'
p20365
aS'outlasting'
p20366
aS'outlasted'
p20367
aS'outlasted'
p20368
asS'strut'
p20369
(lp20370
S'struts'
p20371
aS'strutting'
p20372
aS'strutted'
p20373
aS'strutted'
p20374
asS'bedew'
p20375
(lp20376
S'bedews'
p20377
aS'bedewing'
p20378
aS'bedewed'
p20379
aS'bedewed'
p20380
asS'strum'
p20381
(lp20382
S'strums'
p20383
aS'strumming'
p20384
aS'strummed'
p20385
aS'strummed'
p20386
asS'intensify'
p20387
(lp20388
S'intensifies'
p20389
aS'intensifying'
p20390
aS'intensified'
p20391
aS'intensified'
p20392
asS'adlib'
p20393
(lp20394
S'adlibs'
p20395
aS'adlibbing'
p20396
aS'adlibbed'
p20397
aS'adlibbed'
p20398
asS'fluff'
p20399
(lp20400
S'fluffs'
p20401
aS'fluffing'
p20402
aS'fluffed'
p20403
aS'fluffed'
p20404
asS'immerse'
p20405
(lp20406
S'immerses'
p20407
aS'immersing'
p20408
aS'immersed'
p20409
aS'immersed'
p20410
asS'withe'
p20411
(lp20412
S'withes'
p20413
aS'withing'
p20414
aS'withed'
p20415
aS'withed'
p20416
asS'perfume'
p20417
(lp20418
S'perfumes'
p20419
aS'perfuming'
p20420
aS'perfumed'
p20421
aS'perfumed'
p20422
asS'unsaddle'
p20423
(lp20424
S'unsaddles'
p20425
aS'unsaddling'
p20426
aS'unsaddled'
p20427
aS'unsaddled'
p20428
asS'rejig'
p20429
(lp20430
S'rejigs'
p20431
aS'rejigging'
p20432
aS'rejigged'
p20433
aS'rejigged'
p20434
asS'geld'
p20435
(lp20436
S'gelds'
p20437
aS'gelding'
p20438
aS'gelt'
p20439
aS'gelt'
p20440
asS'meld'
p20441
(lp20442
S'melds'
p20443
aS'melding'
p20444
aS'melded'
p20445
aS'melded'
p20446
asS'carnify'
p20447
(lp20448
S'carnifies'
p20449
aS'carnifying'
p20450
aS'carnified'
p20451
aS'carnified'
p20452
asS'dissertate'
p20453
(lp20454
S'dissertates'
p20455
aS'dissertating'
p20456
aS'dissertated'
p20457
aS'dissertated'
p20458
asS'cramp'
p20459
(lp20460
S'cramps'
p20461
aS'cramping'
p20462
aS'cramped'
p20463
aS'cramped'
p20464
asS'backtrack'
p20465
(lp20466
S'backtracks'
p20467
aS'backtracking'
p20468
aS'backtracked'
p20469
aS'backtracked'
p20470
asS'crackle'
p20471
(lp20472
S'crackles'
p20473
aS'crackling'
p20474
aS'crackled'
p20475
aS'crackled'
p20476
asS'plough'
p20477
(lp20478
S'ploughs'
p20479
aS'ploughing'
p20480
aS'ploughed'
p20481
aS'ploughed'
p20482
asS'culture'
p20483
(lp20484
S'cultures'
p20485
aS'culturing'
p20486
aS'cultured'
p20487
aS'cultured'
p20488
asS'venerate'
p20489
(lp20490
S'venerates'
p20491
aS'venerating'
p20492
aS'venerated'
p20493
aS'venerated'
p20494
asS'becloud'
p20495
(lp20496
S'beclouds'
p20497
aS'beclouding'
p20498
aS'beclouded'
p20499
aS'beclouded'
p20500
asS'despatch'
p20501
(lp20502
S'despatches'
p20503
aS'despatching'
p20504
aS'despatched'
p20505
aS'despatched'
p20506
asS'introject'
p20507
(lp20508
S'introjects'
p20509
aS'introjecting'
p20510
aS'introjected'
p20511
aS'introjected'
p20512
asS'bifurcate'
p20513
(lp20514
S'bifurcates'
p20515
aS'bifurcating'
p20516
aS'bifurcated'
p20517
aS'bifurcated'
p20518
asS'pish'
p20519
(lp20520
S'pishes'
p20521
aS'pishing'
p20522
aS'pished'
p20523
aS'pished'
p20524
asS'podzolize'
p20525
(lp20526
S'podzolizes'
p20527
aS'podzolizing'
p20528
aS'podzolized'
p20529
aS'podzolized'
p20530
asS'throve'
p20531
(lp20532
S'throves'
p20533
aS'throving'
p20534
aS'throved'
p20535
aS'throved'
p20536
asS'wow'
p20537
(lp20538
S'wows'
p20539
aS'wowing'
p20540
aS'wowed'
p20541
aS'wowed'
p20542
asS'wail'
p20543
(lp20544
S'wails'
p20545
aS'wailing'
p20546
aS'wailed'
p20547
aS'wailed'
p20548
asS'deepfry'
p20549
(lp20550
S'deepfries'
p20551
aS'deepfrying'
p20552
aS'deepfried'
p20553
aS'deepfried'
p20554
asS'woo'
p20555
(lp20556
S'woos'
p20557
aS'wooing'
p20558
aS'wooed'
p20559
aS'wooed'
p20560
asS'premeditate'
p20561
(lp20562
S'premeditates'
p20563
aS'premeditating'
p20564
aS'premeditated'
p20565
aS'premeditated'
p20566
asS'checkmate'
p20567
(lp20568
S'checkmates'
p20569
aS'checkmating'
p20570
aS'checkmated'
p20571
aS'checkmated'
p20572
asS'delouse'
p20573
(lp20574
S'delouses'
p20575
aS'delousing'
p20576
aS'deloused'
p20577
aS'deloused'
p20578
asS'philander'
p20579
(lp20580
S'philanders'
p20581
aS'philandering'
p20582
aS'philandered'
p20583
aS'philandered'
p20584
asS'vitalize'
p20585
(lp20586
S'vitalizes'
p20587
aS'vitalizing'
p20588
aS'vitalized'
p20589
aS'vitalized'
p20590
asS'piss'
p20591
(lp20592
S'pisses'
p20593
aS'pissing'
p20594
aS'pissed'
p20595
aS'pissed'
p20596
asS'backfill'
p20597
(lp20598
S'backfills'
p20599
aS'backfilling'
p20600
aS'backfilled'
p20601
aS'backfilled'
p20602
asS'conjoin'
p20603
(lp20604
S'conjoins'
p20605
aS'conjoining'
p20606
aS'conjoined'
p20607
aS'conjoined'
p20608
asS'spray'
p20609
(lp20610
S'sprays'
p20611
aS'spraying'
p20612
aS'sprayed'
p20613
aS'sprayed'
p20614
asS'aggrieve'
p20615
(lp20616
S'aggrieves'
p20617
aS'aggrieving'
p20618
aS'aggrieved'
p20619
aS'aggrieved'
p20620
asS'distinguish'
p20621
(lp20622
S'distinguishes'
p20623
aS'distinguishing'
p20624
aS'distinguished'
p20625
aS'distinguished'
p20626
asS'dally'
p20627
(lp20628
S'dallies'
p20629
aS'dallying'
p20630
aS'dallied'
p20631
aS'dallied'
p20632
asS'league'
p20633
(lp20634
S'leagues'
p20635
aS'leaguing'
p20636
aS'leagued'
p20637
aS'leagued'
p20638
asS'suspire'
p20639
(lp20640
S'suspires'
p20641
aS'suspiring'
p20642
aS'suspired'
p20643
aS'suspired'
p20644
asS'buzz'
p20645
(lp20646
S'buzzes'
p20647
aS'buzzing'
p20648
aS'buzzed'
p20649
aS'buzzed'
p20650
asS'stymy'
p20651
(lp20652
S'stymies'
p20653
aS'stymying'
p20654
aS'stymied'
p20655
aS'stymied'
p20656
asS'stargaze'
p20657
(lp20658
S'stargazes'
p20659
aS'stargazing'
p20660
aS'stargazed'
p20661
aS'stargazed'
p20662
asS'secrete'
p20663
(lp20664
S'secretes'
p20665
aS'secreting'
p20666
aS'secreted'
p20667
aS'secreted'
p20668
asS'oversleep'
p20669
(lp20670
S'oversleeps'
p20671
aS'oversleeping'
p20672
aS'overslept'
p20673
aS'overslept'
p20674
asS'liken'
p20675
(lp20676
S'likens'
p20677
aS'likening'
p20678
aS'likened'
p20679
aS'likened'
p20680
asS'rebate'
p20681
(lp20682
S'rebates'
p20683
aS'rebating'
p20684
aS'rebated'
p20685
aS'rebated'
p20686
asS'mumble'
p20687
(lp20688
S'mumbles'
p20689
aS'mumbling'
p20690
aS'mumbled'
p20691
aS'mumbled'
p20692
asS'arrest'
p20693
(lp20694
S'arrests'
p20695
aS'arresting'
p20696
aS'arrested'
p20697
aS'arrested'
p20698
asS'stamp'
p20699
(lp20700
S'stamps'
p20701
aS'stamping'
p20702
aS'stamped'
p20703
aS'stamped'
p20704
asS'damp'
p20705
(lp20706
S'damps'
p20707
aS'damping'
p20708
aS'damped'
p20709
aS'damped'
p20710
asS'bobsleigh'
p20711
(lp20712
S'bobsleighs'
p20713
aS'bobsleighing'
p20714
aS'bobsleighed'
p20715
aS'bobsleighed'
p20716
asS'reciprocate'
p20717
(lp20718
S'reciprocates'
p20719
aS'reciprocating'
p20720
aS'reciprocated'
p20721
aS'reciprocated'
p20722
asS'damn'
p20723
(lp20724
S'damns'
p20725
aS'damning'
p20726
aS'damned'
p20727
aS'damned'
p20728
asS'mutiny'
p20729
(lp20730
S'mutinies'
p20731
aS'mutinying'
p20732
aS'mutinied'
p20733
aS'mutinied'
p20734
asS'threaten'
p20735
(lp20736
S'threatens'
p20737
aS'threatening'
p20738
aS'threatened'
p20739
aS'threatened'
p20740
asS'empty'
p20741
(lp20742
S'empties'
p20743
aS'emptying'
p20744
aS'emptied'
p20745
aS'emptied'
p20746
asS'dialogue'
p20747
(lp20748
S'dialogues'
p20749
aS'dialoguing'
p20750
aS'dialogued'
p20751
aS'dialogued'
p20752
asS'regroup'
p20753
(lp20754
S'regroups'
p20755
aS'regrouping'
p20756
aS'regrouped'
p20757
aS'regrouped'
p20758
asS'liven'
p20759
(lp20760
S'livens'
p20761
aS'livening'
p20762
aS'livened'
p20763
aS'livened'
p20764
asS'hoodoo'
p20765
(lp20766
S'hoodoos'
p20767
aS'hoodooing'
p20768
aS'hoodooed'
p20769
aS'hoodooed'
p20770
asS'crack'
p20771
(lp20772
S'cracks'
p20773
aS'cracking'
p20774
aS'cracked'
p20775
aS'cracked'
p20776
asS'misconceive'
p20777
(lp20778
S'misconceives'
p20779
aS'misconceiving'
p20780
aS'misconceived'
p20781
aS'misconceived'
p20782
asS'deter'
p20783
(lp20784
S'deters'
p20785
aS'deterring'
p20786
aS'deterred'
p20787
aS'deterred'
p20788
asS'bight'
p20789
(lp20790
S'bights'
p20791
aS'bighting'
p20792
aS'bighted'
p20793
aS'bighted'
p20794
asS'panegyrize'
p20795
(lp20796
S'panegyrizes'
p20797
aS'panegyrizing'
p20798
aS'panegyrized'
p20799
aS'panegyrized'
p20800
asS'hobnob'
p20801
(lp20802
S'hobnobs'
p20803
aS'hobnobbing'
p20804
aS'hobnobbed'
p20805
aS'hobnobbed'
p20806
asS'furrow'
p20807
(lp20808
S'furrows'
p20809
aS'furrowing'
p20810
aS'furrowed'
p20811
aS'furrowed'
p20812
asS'loom'
p20813
(lp20814
S'looms'
p20815
aS'looming'
p20816
aS'loomed'
p20817
aS'loomed'
p20818
asS'overplay'
p20819
(lp20820
S'overplays'
p20821
aS'overplaying'
p20822
aS'overplayed'
p20823
aS'overplayed'
p20824
asS'look'
p20825
(lp20826
S'looks'
p20827
aS'looking'
p20828
aS'looked'
p20829
aS'looked'
p20830
asS'subjectify'
p20831
(lp20832
S'subjectifies'
p20833
aS'subjectifying'
p20834
aS'subjectified'
p20835
aS'subjectified'
p20836
asS'institute'
p20837
(lp20838
S'institutes'
p20839
aS'instituting'
p20840
aS'instituted'
p20841
aS'instituted'
p20842
asS'infamize'
p20843
(lp20844
S'infamizes'
p20845
aS'infamizing'
p20846
aS'infamized'
p20847
aS'infamized'
p20848
asS'match'
p20849
(lp20850
S'matches'
p20851
aS'matching'
p20852
aS'matched'
p20853
aS'matched'
p20854
asS'deplane'
p20855
(lp20856
S'deplanes'
p20857
aS'deplaning'
p20858
aS'deplaned'
p20859
aS'deplaned'
p20860
asS'immaterialize'
p20861
(lp20862
S'immaterializes'
p20863
aS'immaterializing'
p20864
aS'immaterialized'
p20865
aS'immaterialized'
p20866
asS'fleet'
p20867
(lp20868
S'fleets'
p20869
aS'fleeting'
p20870
aS'fleeted'
p20871
aS'fleeted'
p20872
asS'loot'
p20873
(lp20874
S'loots'
p20875
aS'looting'
p20876
aS'looted'
p20877
aS'looted'
p20878
asS'pinchhit'
p20879
(lp20880
S'pinchhits'
p20881
aS'pinchhitting'
p20882
aS'pinchhit'
p20883
aS'pinchhit'
p20884
asS'guide'
p20885
(lp20886
S'guides'
p20887
aS'guiding'
p20888
aS'guided'
p20889
aS'guided'
p20890
asS'loop'
p20891
(lp20892
S'loops'
p20893
aS'looping'
p20894
aS'looped'
p20895
aS'looped'
p20896
asS'pack'
p20897
(lp20898
S'packs'
p20899
aS'packing'
p20900
aS'packed'
p20901
aS'packed'
p20902
asS'consociate'
p20903
(lp20904
S'consociates'
p20905
aS'consociating'
p20906
aS'consociated'
p20907
aS'consociated'
p20908
asS'sluice'
p20909
(lp20910
S'sluices'
p20911
aS'sluicing'
p20912
aS'sluiced'
p20913
aS'sluiced'
p20914
asS'curette'
p20915
(lp20916
S'curettes'
p20917
aS'curetting'
p20918
aS'curetted'
p20919
aS'curetted'
p20920
asS'crossrefer'
p20921
(lp20922
S'crossrefers'
p20923
aS'crossrefering'
p20924
aS'crossrefered'
p20925
aS'crossrefered'
p20926
asS'sharecrop'
p20927
(lp20928
S'sharecrops'
p20929
aS'sharecropping'
p20930
aS'sharecropped'
p20931
aS'sharecropped'
p20932
asS'etherize'
p20933
(lp20934
S'etherizes'
p20935
aS'etherizing'
p20936
aS'etherized'
p20937
aS'etherized'
p20938
asS'grant'
p20939
(lp20940
S'grants'
p20941
aS'granting'
p20942
aS'granted'
p20943
aS'granted'
p20944
asS'fluorinate'
p20945
(lp20946
S'fluorinates'
p20947
aS'fluorinating'
p20948
aS'fluorinated'
p20949
aS'fluorinated'
p20950
asS'refocuse'
p20951
(lp20952
S'refocuses'
p20953
aS'refocusing'
p20954
aS'refocused'
p20955
aS'refocused'
p20956
asS'belong'
p20957
(lp20958
S'belongs'
p20959
aS'belonging'
p20960
aS'belonged'
p20961
aS'belonged'
p20962
asS'discredit'
p20963
(lp20964
S'discredits'
p20965
aS'discrediting'
p20966
aS'discredited'
p20967
aS'discredited'
p20968
asS'shag'
p20969
(lp20970
S'shags'
p20971
aS'shagging'
p20972
aS'shagged'
p20973
aS'shagged'
p20974
asS'vermiculate'
p20975
(lp20976
S'vermiculates'
p20977
aS'vermiculating'
p20978
aS'vermiculated'
p20979
aS'vermiculated'
p20980
asS'conflict'
p20981
(lp20982
S'conflicts'
p20983
aS'conflicting'
p20984
aS'conflicted'
p20985
aS'conflicted'
p20986
asS'sham'
p20987
(lp20988
S'shams'
p20989
aS'shamming'
p20990
aS'shammed'
p20991
aS'shammed'
p20992
asS'used'
p20993
(lp20994
S'uses'
p20995
aS'using'
p20996
aS'used'
p20997
aS'used'
p20998
asS'banter'
p20999
(lp21000
S'banters'
p21001
aS'bantering'
p21002
aS'bantered'
p21003
aS'bantered'
p21004
asS'overweight'
p21005
(lp21006
S'overweights'
p21007
aS'overweighting'
p21008
aS'overweighted'
p21009
aS'overweighted'
p21010
asS'dryclean'
p21011
(lp21012
S'drycleans'
p21013
aS'drycleaning'
p21014
aS'drycleaned'
p21015
aS'drycleaned'
p21016
asS'spiritualize'
p21017
(lp21018
S'spiritualizes'
p21019
aS'spiritualizing'
p21020
aS'spiritualized'
p21021
aS'spiritualized'
p21022
asS'racemize'
p21023
(lp21024
S'racemizes'
p21025
aS'racemizing'
p21026
aS'racemized'
p21027
aS'racemized'
p21028
asS'infibulate'
p21029
(lp21030
S'infibulates'
p21031
aS'infibulating'
p21032
aS'infibulated'
p21033
aS'infibulated'
p21034
asS'vitriol'
p21035
(lp21036
S'vitriols'
p21037
aS'vitrioling'
p21038
aS'vitrioled'
p21039
aS'vitrioled'
p21040
asS'faceoff'
p21041
(lp21042
S'facesoff'
p21043
aS'facingoff'
p21044
aS'facedoff'
p21045
aS'facedoff'
p21046
asS'unbalance'
p21047
(lp21048
S'unbalances'
p21049
aS'unbalancing'
p21050
aS'unbalanced'
p21051
aS'unbalanced'
p21052
asS'grind'
p21053
(lp21054
S'grinds'
p21055
aS'grinding'
p21056
aS'ground'
p21057
aS'grinded'
p21058
asS'reclaim'
p21059
(lp21060
S'reclaims'
p21061
aS'reclaiming'
p21062
aS'reclaimed'
p21063
aS'reclaimed'
p21064
asS'savvy'
p21065
(lp21066
S'savvies'
p21067
aS'savvying'
p21068
aS'savvied'
p21069
aS'savvied'
p21070
asS'docket'
p21071
(lp21072
S'dockets'
p21073
aS'docketing'
p21074
aS'docketed'
p21075
aS'docketed'
p21076
asS'romanticize'
p21077
(lp21078
S'romanticizes'
p21079
aS'romanticizing'
p21080
aS'romanticized'
p21081
aS'romanticized'
p21082
asS'abstain'
p21083
(lp21084
S'abstains'
p21085
aS'abstaining'
p21086
aS'abstained'
p21087
aS'abstained'
p21088
asS'pillory'
p21089
(lp21090
S'pillories'
p21091
aS'pillorying'
p21092
aS'pilloried'
p21093
aS'pilloried'
p21094
asS'rebellow'
p21095
(lp21096
S'rebellows'
p21097
aS'rebellowing'
p21098
aS'rebellowed'
p21099
aS'rebellowed'
p21100
asS'behove'
p21101
(lp21102
S'behoves'
p21103
aS'behoving'
p21104
aS'behoved'
p21105
aS'behoved'
p21106
asS'kedge'
p21107
(lp21108
S'kedges'
p21109
aS'kedging'
p21110
aS'kedged'
p21111
aS'kedged'
p21112
asS're-fund'
p21113
(lp21114
S're-funds'
p21115
aS're-funding'
p21116
aS'refunded'
p21117
aS're-funded'
p21118
asS'gormandize'
p21119
(lp21120
S'gormandizes'
p21121
aS'gormandizing'
p21122
aS'gormandized'
p21123
aS'gormandized'
p21124
asS'disseminate'
p21125
(lp21126
S'disseminates'
p21127
aS'disseminating'
p21128
aS'disseminated'
p21129
aS'disseminated'
p21130
asS'superheat'
p21131
(lp21132
S'superheats'
p21133
aS'superheating'
p21134
aS'superheated'
p21135
aS'superheated'
p21136
asS'exhilarate'
p21137
(lp21138
S'exhilarates'
p21139
aS'exhilarating'
p21140
aS'exhilarated'
p21141
aS'exhilarated'
p21142
asS'habituate'
p21143
(lp21144
S'habituates'
p21145
aS'habituating'
p21146
aS'habituated'
p21147
aS'habituated'
p21148
asS'oversteer'
p21149
(lp21150
S'oversteers'
p21151
aS'oversteering'
p21152
aS'oversteered'
p21153
aS'oversteered'
p21154
asS'doublebogey'
p21155
(lp21156
S'doublebogeys'
p21157
aS'doublebogeying'
p21158
aS'doublebogeyed'
p21159
aS'doublebogeyed'
p21160
asS'march'
p21161
(lp21162
S'marches'
p21163
aS'marching'
p21164
aS'marched'
p21165
aS'marched'
p21166
asS'filmset'
p21167
(lp21168
S'filmsets'
p21169
aS'filmseting'
p21170
aS'filmseted'
p21171
aS'filmseted'
p21172
asS'finalize'
p21173
(lp21174
S'finalizes'
p21175
aS'finalizing'
p21176
aS'finalized'
p21177
aS'finalized'
p21178
asS'sneck'
p21179
(lp21180
S'snecks'
p21181
aS'snecking'
p21182
aS'snecked'
p21183
aS'snecked'
p21184
asS'evaluate'
p21185
(lp21186
S'evaluates'
p21187
aS'evaluating'
p21188
aS'evaluated'
p21189
aS'evaluated'
p21190
asS'pullulate'
p21191
(lp21192
S'pullulates'
p21193
aS'pullulating'
p21194
aS'pullulated'
p21195
aS'pullulated'
p21196
asS'game'
p21197
(lp21198
S'games'
p21199
aS'gaming'
p21200
aS'gamed'
p21201
aS'gamed'
p21202
asS'jibe'
p21203
(lp21204
S'jibes'
p21205
aS'jibing'
p21206
aS'jibed'
p21207
aS'jibed'
p21208
asS'rusticate'
p21209
(lp21210
S'rusticates'
p21211
aS'rusticating'
p21212
aS'rusticated'
p21213
aS'rusticated'
p21214
asS'sandblast'
p21215
(lp21216
S'sandblasts'
p21217
aS'sandblasting'
p21218
aS'sandblasted'
p21219
aS'sandblasted'
p21220
asS'pillar'
p21221
(lp21222
S'pillars'
p21223
aS'pillaring'
p21224
aS'pillared'
p21225
aS'pillared'
p21226
asS'stagnate'
p21227
(lp21228
S'stagnates'
p21229
aS'stagnating'
p21230
aS'stagnated'
p21231
aS'stagnated'
p21232
asS'manifest'
p21233
(lp21234
S'manifests'
p21235
aS'manifesting'
p21236
aS'manifested'
p21237
aS'manifested'
p21238
asS'redound'
p21239
(lp21240
S'redounds'
p21241
aS'redounding'
p21242
aS'redounded'
p21243
aS'redounded'
p21244
asS'coldweld'
p21245
(lp21246
S'coldwelds'
p21247
aS'coldwelding'
p21248
aS'coldwelded'
p21249
aS'coldwelded'
p21250
asS'pre-digest'
p21251
(lp21252
S'pre-digests'
p21253
aS'pre-digesting'
p21254
aS'predigested'
p21255
aS'pre-digested'
p21256
asS'sleigh'
p21257
(lp21258
S'sleighs'
p21259
aS'sleighing'
p21260
aS'sleighed'
p21261
aS'sleighed'
p21262
asS'resole'
p21263
(lp21264
S'resoles'
p21265
aS'resoling'
p21266
aS'resoled'
p21267
aS'resoled'
p21268
asS'centralize'
p21269
(lp21270
S'centralizes'
p21271
aS'centralizing'
p21272
aS'centralized'
p21273
aS'centralized'
p21274
asS'sketch'
p21275
(lp21276
S'sketches'
p21277
aS'sketching'
p21278
aS'sketched'
p21279
aS'sketched'
p21280
asS'wrack'
p21281
(lp21282
S'wracks'
p21283
aS'wracking'
p21284
aS'wracked'
p21285
aS'wracked'
p21286
asS'parade'
p21287
(lp21288
S'parades'
p21289
aS'parading'
p21290
aS'paraded'
p21291
aS'paraded'
p21292
asS'aliment'
p21293
(lp21294
S'aliments'
p21295
aS'alimenting'
p21296
aS'alimented'
p21297
aS'alimented'
p21298
asS'furbish'
p21299
(lp21300
S'furbishes'
p21301
aS'furbishing'
p21302
aS'furbished'
p21303
aS'furbished'
p21304
asS'lathe'
p21305
(lp21306
S'lathes'
p21307
aS'lathing'
p21308
aS'lathed'
p21309
aS'lathed'
p21310
asS'undress'
p21311
(lp21312
S'undresses'
p21313
aS'undressing'
p21314
aS'undressed'
p21315
aS'undressed'
p21316
asS'outnumber'
p21317
(lp21318
S'outnumbers'
p21319
aS'outnumbering'
p21320
aS'outnumbered'
p21321
aS'outnumbered'
p21322
asS'collocate'
p21323
(lp21324
S'collocates'
p21325
aS'collocating'
p21326
aS'collocated'
p21327
aS'collocated'
p21328
asS'impoverish'
p21329
(lp21330
S'impoverishes'
p21331
aS'impoverishing'
p21332
aS'impoverished'
p21333
aS'impoverished'
p21334
asS'stir'
p21335
(lp21336
S'stirs'
p21337
aS'stirring'
p21338
aS'stirred'
p21339
aS'stirred'
p21340
asS'interlaminate'
p21341
(lp21342
S'interlaminates'
p21343
aS'interlaminating'
p21344
aS'interlaminated'
p21345
aS'interlaminated'
p21346
asS'savage'
p21347
(lp21348
S'savages'
p21349
aS'savaging'
p21350
aS'savaged'
p21351
aS'savaged'
p21352
asS'sheen'
p21353
(lp21354
S'sheens'
p21355
aS'sheening'
p21356
aS'sheened'
p21357
aS'sheened'
p21358
asS'fettle'
p21359
(lp21360
S'fettles'
p21361
aS'fettling'
p21362
aS'fettled'
p21363
aS'fettled'
p21364
asS'gild'
p21365
(lp21366
S'gilds'
p21367
aS'gilding'
p21368
aS'gilt'
p21369
aS'gilt'
p21370
asS'unbonnet'
p21371
(lp21372
S'unbonnets'
p21373
aS'unbonneting'
p21374
aS'unbonneted'
p21375
aS'unbonneted'
p21376
asS'simmer'
p21377
(lp21378
S'simmers'
p21379
aS'simmering'
p21380
aS'simmered'
p21381
aS'simmered'
p21382
asS'slash'
p21383
(lp21384
S'slashes'
p21385
aS'slashing'
p21386
aS'slashed'
p21387
aS'slashed'
p21388
asS'flameout'
p21389
(lp21390
S'flameouts'
p21391
aS'flameouting'
p21392
aS'flameouted'
p21393
aS'flameouted'
p21394
asS'dehydrate'
p21395
(lp21396
S'dehydrates'
p21397
aS'dehydrating'
p21398
aS'dehydrated'
p21399
aS'dehydrated'
p21400
asS'run'
p21401
(lp21402
S'runs'
p21403
aS'running'
p21404
aS'ran'
p21405
aS'run'
p21406
asS'rub'
p21407
(lp21408
S'rubs'
p21409
aS'rubbing'
p21410
aS'rubbed'
p21411
aS'rubbed'
p21412
asS'triple-tongue'
p21413
(lp21414
S'triple-tongues'
p21415
aS'triple-tonguing'
p21416
aS'triple-tongued'
p21417
aS'triple-tongued'
p21418
asS'rue'
p21419
(lp21420
S'rues'
p21421
aS'ruing'
p21422
aS'rued'
p21423
aS'rued'
p21424
asS'step'
p21425
(lp21426
S'steps'
p21427
aS'stepping'
p21428
aS'stepped'
p21429
aS'stepped'
p21430
asS'stew'
p21431
(lp21432
S'stews'
p21433
aS'stewing'
p21434
aS'stewed'
p21435
aS'stewed'
p21436
asS'bastinado'
p21437
(lp21438
S'bastinadoes'
p21439
aS'bastinadoing'
p21440
aS'bastinadoed'
p21441
aS'bastinadoed'
p21442
asS'ache'
p21443
(lp21444
S'aches'
p21445
aS'aching'
p21446
aS'ached'
p21447
aS'ached'
p21448
asS'panhandle'
p21449
(lp21450
S'panhandles'
p21451
aS'panhandling'
p21452
aS'panhandled'
p21453
aS'panhandled'
p21454
asS'ochre'
p21455
(lp21456
S'ochres'
p21457
aS'ochring'
p21458
aS'ochred'
p21459
aS'ochred'
p21460
asS'rut'
p21461
(lp21462
S'ruts'
p21463
aS'rutting'
p21464
aS'rutted'
p21465
aS'rutted'
p21466
asS'shine'
p21467
(lp21468
S'shines'
p21469
aS'shining'
p21470
aS'shone'
p21471
aS'shone'
p21472
asS'react'
p21473
(lp21474
S'reacts'
p21475
aS'reacting'
p21476
ag4454
aS'reacted'
p21477
asS'reappear'
p21478
(lp21479
S'reappears'
p21480
aS'reappearing'
p21481
aS'reappeared'
p21482
aS'reappeared'
p21483
asS'yirr'
p21484
(lp21485
S'yirrs'
p21486
aS'yirring'
p21487
aS'yirred'
p21488
aS'yirred'
p21489
asS'stonewall'
p21490
(lp21491
S'stonewalls'
p21492
aS'stonewalling'
p21493
aS'stonewalled'
p21494
aS'stonewalled'
p21495
asS'hinge'
p21496
(lp21497
S'hinges'
p21498
aS'hinging'
p21499
aS'hinged'
p21500
aS'hinged'
p21501
asS'perk'
p21502
(lp21503
S'perks'
p21504
aS'perking'
p21505
aS'perked'
p21506
aS'perked'
p21507
asS'ullage'
p21508
(lp21509
S'ullages'
p21510
aS'ullaging'
p21511
aS'ullaged'
p21512
aS'ullaged'
p21513
asS'posturize'
p21514
(lp21515
S'posturizes'
p21516
aS'posturizing'
p21517
aS'posturized'
p21518
aS'posturized'
p21519
asS'misspend'
p21520
(lp21521
S'misspends'
p21522
aS'misspending'
p21523
aS'misspent'
p21524
aS'misspent'
p21525
asS'block'
p21526
(lp21527
S'blocks'
p21528
aS'blocking'
p21529
aS'blocked'
p21530
aS'blocked'
p21531
asS'foreswear'
p21532
(lp21533
S'foreswears'
p21534
aS'foreswearing'
p21535
aS'foreswore'
p21536
aS'foresworn'
p21537
asS'decertify'
p21538
(lp21539
S'decertifies'
p21540
aS'decertifying'
p21541
aS'decertified'
p21542
aS'decertified'
p21543
asS'ensue'
p21544
(lp21545
S'ensues'
p21546
aS'ensuing'
p21547
aS'ensued'
p21548
aS'ensued'
p21549
asS'roughhew'
p21550
(lp21551
S'roughhews'
p21552
aS'roughhewing'
p21553
aS'roughhewn'
p21554
aS'roughhewn'
p21555
asS'calcine'
p21556
(lp21557
S'calcines'
p21558
aS'calcining'
p21559
aS'calcined'
p21560
aS'calcined'
p21561
asS'disbar'
p21562
(lp21563
S'disbars'
p21564
aS'disbarring'
p21565
aS'disbarred'
p21566
aS'disbarred'
p21567
asS'douse'
p21568
(lp21569
S'douses'
p21570
aS'dousing'
p21571
aS'doused'
p21572
aS'doused'
p21573
asS'manufacture'
p21574
(lp21575
S'manufactures'
p21576
aS'manufacturing'
p21577
aS'manufactured'
p21578
aS'manufactured'
p21579
asS'rummage'
p21580
(lp21581
S'rummages'
p21582
aS'rummaging'
p21583
aS'rummaged'
p21584
aS'rummaged'
p21585
asS'sizzle'
p21586
(lp21587
S'sizzles'
p21588
aS'sizzling'
p21589
aS'sizzled'
p21590
aS'sizzled'
p21591
asS'foredo'
p21592
(lp21593
S'foredoes'
p21594
aS'foredoing'
p21595
aS'foredid'
p21596
aS'foredone'
p21597
asS'sideswipe'
p21598
(lp21599
S'sideswipes'
p21600
aS'sideswiping'
p21601
aS'sideswiped'
p21602
aS'sideswiped'
p21603
asS'frost'
p21604
(lp21605
S'frosts'
p21606
aS'frosting'
p21607
aS'frosted'
p21608
aS'frosted'
p21609
asS'disaffirm'
p21610
(lp21611
S'disaffirms'
p21612
aS'disaffirming'
p21613
aS'disaffirmed'
p21614
aS'disaffirmed'
p21615
asS'inclose'
p21616
(lp21617
S'incloses'
p21618
aS'inclosing'
p21619
aS'inclosed'
p21620
aS'inclosed'
p21621
asS'higgle'
p21622
(lp21623
S'higgles'
p21624
aS'higgling'
p21625
aS'higgled'
p21626
aS'higgled'
p21627
asS'reef'
p21628
(lp21629
S'reefs'
p21630
aS'reefing'
p21631
aS'reefed'
p21632
aS'reefed'
p21633
asS'reek'
p21634
(lp21635
S'reeks'
p21636
aS'reeking'
p21637
aS'reeked'
p21638
aS'reeked'
p21639
asS'reel'
p21640
(lp21641
S'reels'
p21642
aS'reeling'
p21643
aS'reeled'
p21644
aS'reeled'
p21645
asS'dull'
p21646
(lp21647
S'dulls'
p21648
aS'dulling'
p21649
aS'dulled'
p21650
aS'dulled'
p21651
asS'maraud'
p21652
(lp21653
S'marauds'
p21654
aS'marauding'
p21655
aS'marauded'
p21656
aS'marauded'
p21657
asS'skulk'
p21658
(lp21659
S'skulks'
p21660
aS'skulking'
p21661
aS'skulked'
p21662
aS'skulked'
p21663
asS'chronicle'
p21664
(lp21665
S'chronicles'
p21666
aS'chronicling'
p21667
aS'chronicled'
p21668
aS'chronicled'
p21669
asS'immure'
p21670
(lp21671
S'immures'
p21672
aS'immuring'
p21673
aS'immured'
p21674
aS'immured'
p21675
asS'maffick'
p21676
(lp21677
S'mafficks'
p21678
aS'mafficking'
p21679
aS'mafficked'
p21680
aS'mafficked'
p21681
asS'nestle'
p21682
(lp21683
S'nestles'
p21684
aS'nestling'
p21685
aS'nestled'
p21686
aS'nestled'
p21687
asS'watercool'
p21688
(lp21689
S'watercools'
p21690
aS'watercooling'
p21691
aS'watercooled'
p21692
aS'watercooled'
p21693
asS'blent'
p21694
(lp21695
S'blents'
p21696
aS'blenting'
p21697
aS'blented'
p21698
aS'blented'
p21699
asS'seethe'
p21700
(lp21701
S'seethes'
p21702
aS'seething'
p21703
aS'seethed'
p21704
aS'seethed'
p21705
asS'underquote'
p21706
(lp21707
S'underquotes'
p21708
aS'underquoting'
p21709
aS'underquoted'
p21710
aS'underquoted'
p21711
asS'unwish'
p21712
(lp21713
S'unwishes'
p21714
aS'unwishing'
p21715
aS'unwished'
p21716
aS'unwished'
p21717
asS'surmise'
p21718
(lp21719
S'surmises'
p21720
aS'surmising'
p21721
aS'surmised'
p21722
aS'surmised'
p21723
asS'nab'
p21724
(lp21725
S'nabs'
p21726
aS'nabbing'
p21727
aS'nabbed'
p21728
aS'nabbed'
p21729
asS'liberalize'
p21730
(lp21731
S'liberalizes'
p21732
aS'liberalizing'
p21733
aS'liberalized'
p21734
aS'liberalized'
p21735
asS'nag'
p21736
(lp21737
S'nags'
p21738
aS'nagging'
p21739
aS'nagged'
p21740
aS'nagged'
p21741
asS'upstage'
p21742
(lp21743
S'upstages'
p21744
aS'upstaging'
p21745
aS'upstaged'
p21746
aS'upstaged'
p21747
asS'nap'
p21748
(lp21749
S'naps'
p21750
aS'napping'
p21751
aS'napped'
p21752
aS'napped'
p21753
asS'haft'
p21754
(lp21755
S'hafts'
p21756
aS'hafting'
p21757
aS'hafted'
p21758
aS'hafted'
p21759
asS'forge'
p21760
(lp21761
S'forges'
p21762
aS'forging'
p21763
aS'forged'
p21764
aS'forged'
p21765
asS'deuterate'
p21766
(lp21767
S'deuterates'
p21768
aS'deuterating'
p21769
aS'deuterated'
p21770
aS'deuterated'
p21771
asS'disfavour'
p21772
(lp21773
S'disfavours'
p21774
aS'disfavouring'
p21775
aS'disfavoured'
p21776
aS'disfavoured'
p21777
asS'kibitz'
p21778
(lp21779
S'kibitzes'
p21780
aS'kibitzing'
p21781
aS'kibitzed'
p21782
aS'kibitzed'
p21783
asS'drat'
p21784
(lp21785
S'drats'
p21786
aS'dratting'
p21787
aS'dratted'
p21788
aS'dratted'
p21789
asS'draw'
p21790
(lp21791
S'draws'
p21792
aS'drawing'
p21793
aS'drew'
p21794
aS'drawn'
p21795
asS'depolarize'
p21796
(lp21797
S'depolarizes'
p21798
aS'depolarizing'
p21799
aS'depolarized'
p21800
aS'depolarized'
p21801
asS'out-herod'
p21802
(lp21803
S'out-herods'
p21804
aS'out-heroding'
p21805
aS'out-heroded'
p21806
aS'out-heroded'
p21807
asS'recalesce'
p21808
(lp21809
S'recalesces'
p21810
aS'recalescing'
p21811
aS'recalesced'
p21812
aS'recalesced'
p21813
asS'resign'
p21814
(lp21815
S'resigns'
p21816
aS'resigning'
p21817
aS'resigned'
p21818
aS'resigned'
p21819
asS'tepefy'
p21820
(lp21821
S'tepefies'
p21822
aS'tepefying'
p21823
aS'tepefied'
p21824
aS'tepefied'
p21825
asS'diphthongize'
p21826
(lp21827
S'diphthongizes'
p21828
aS'diphthongizing'
p21829
aS'diphthongized'
p21830
aS'diphthongized'
p21831
asS'drab'
p21832
(lp21833
S'drabs'
p21834
aS'drabbing'
p21835
aS'drabbed'
p21836
aS'drabbed'
p21837
asS'structure'
p21838
(lp21839
S'structures'
p21840
aS'structuring'
p21841
aS'structured'
p21842
aS'structured'
p21843
asS'miscue'
p21844
(lp21845
S'miscues'
p21846
aS'miscuing'
p21847
aS'miscued'
p21848
aS'miscued'
p21849
asS'windlass'
p21850
(lp21851
S'windlasses'
p21852
aS'windlassing'
p21853
aS'windlassed'
p21854
aS'windlassed'
p21855
asS'demagogue'
p21856
(lp21857
S'demagogues'
p21858
aS'demagoguing'
p21859
aS'demagogued'
p21860
aS'demagogued'
p21861
asS'orbit'
p21862
(lp21863
S'orbits'
p21864
aS'orbiting'
p21865
aS'orbited'
p21866
aS'orbited'
p21867
asS'bribe'
p21868
(lp21869
S'bribes'
p21870
aS'bribing'
p21871
aS'bribed'
p21872
aS'bribed'
p21873
asS'rencounter'
p21874
(lp21875
S'rencounters'
p21876
aS'rencountering'
p21877
aS'rencountered'
p21878
aS'rencountered'
p21879
asS'pinion'
p21880
(lp21881
S'pinions'
p21882
aS'pinioning'
p21883
aS'pinioned'
p21884
aS'pinioned'
p21885
asS'psyche'
p21886
(lp21887
S'psyches'
p21888
aS'psyching'
p21889
aS'psyched'
p21890
aS'psyched'
p21891
asS'proposition'
p21892
(lp21893
S'propositions'
p21894
aS'propositioning'
p21895
aS'propositioned'
p21896
aS'propositioned'
p21897
asS'ionize'
p21898
(lp21899
S'ionizes'
p21900
aS'ionizing'
p21901
aS'ionized'
p21902
aS'ionized'
p21903
asS'go'
p21904
(lp21905
S'goes'
p21906
aS'going'
p21907
aS'went'
p21908
aS'gone'
p21909
asS'emboss'
p21910
(lp21911
S'embosses'
p21912
aS'embossing'
p21913
aS'embossed'
p21914
aS'embossed'
p21915
asS'compact'
p21916
(lp21917
S'compacts'
p21918
aS'compacting'
p21919
aS'compacted'
p21920
aS'compacted'
p21921
asS'asphalt'
p21922
(lp21923
S'asphalts'
p21924
aS'asphalting'
p21925
aS'asphalted'
p21926
aS'asphalted'
p21927
asS'analogize'
p21928
(lp21929
S'analogizes'
p21930
aS'analogizing'
p21931
aS'analogized'
p21932
aS'analogized'
p21933
asS'stave'
p21934
(lp21935
S'staves'
p21936
aS'staving'
p21937
aS'staved'
p21938
aS'staved'
p21939
asS'teethe'
p21940
(lp21941
S'teethes'
p21942
aS'teething'
p21943
aS'teethed'
p21944
aS'teethed'
p21945
asS'incrassate'
p21946
(lp21947
S'incrassates'
p21948
aS'incrassating'
p21949
aS'incrassated'
p21950
aS'incrassated'
p21951
asS'flicker'
p21952
(lp21953
S'flickers'
p21954
aS'flickering'
p21955
aS'flickered'
p21956
aS'flickered'
p21957
asS'chirre'
p21958
(lp21959
S'chirrs'
p21960
aS'chirring'
p21961
aS'chirred'
p21962
aS'chirred'
p21963
asS'concertize'
p21964
(lp21965
S'concertizes'
p21966
aS'concertizing'
p21967
aS'concertized'
p21968
aS'concertized'
p21969
asS'simulcast'
p21970
(lp21971
S'simulcasts'
p21972
aS'simulcasting'
p21973
aS'simulcasted'
p21974
aS'simulcasted'
p21975
asS'wave'
p21976
(lp21977
S'waves'
p21978
aS'waving'
p21979
aS'waved'
p21980
aS'waved'
p21981
asS'disinter'
p21982
(lp21983
S'disinters'
p21984
aS'disinterring'
p21985
aS'disinterred'
p21986
aS'disinterred'
p21987
asS'Germanize'
p21988
(lp21989
S'Germanizes'
p21990
aS'Germanizing'
p21991
aS'Germanized'
p21992
aS'Germanized'
p21993
asS'underscore'
p21994
(lp21995
S'underscores'
p21996
aS'underscoring'
p21997
aS'underscored'
p21998
aS'underscored'
p21999
asS'testfire'
p22000
(lp22001
S'testfires'
p22002
aS'testfiring'
p22003
aS'testfired'
p22004
aS'testfired'
p22005
asS'button'
p22006
(lp22007
S'buttons'
p22008
aS'buttoning'
p22009
aS'buttoned'
p22010
aS'buttoned'
p22011
asS'plasmolyze'
p22012
(lp22013
S'plasmolyzes'
p22014
aS'plasmolyzing'
p22015
aS'plasmolyzed'
p22016
aS'plasmolyzed'
p22017
asS'hive'
p22018
(lp22019
S'hives'
p22020
aS'hiving'
p22021
aS'hived'
p22022
aS'hived'
p22023
asS'mewl'
p22024
(lp22025
S'mewls'
p22026
aS'mewling'
p22027
aS'mewled'
p22028
aS'mewled'
p22029
asS'evangelize'
p22030
(lp22031
S'evangelizes'
p22032
aS'evangelizing'
p22033
aS'evangelized'
p22034
aS'evangelized'
p22035
asS'cloister'
p22036
(lp22037
S'cloisters'
p22038
aS'cloistering'
p22039
aS'cloistered'
p22040
aS'cloistered'
p22041
asS'castrate'
p22042
(lp22043
S'castrates'
p22044
aS'castrating'
p22045
aS'castrated'
p22046
aS'castrated'
p22047
asS'enforce'
p22048
(lp22049
S'enforces'
p22050
aS'enforcing'
p22051
aS'enforced'
p22052
aS'enforced'
p22053
asS'slow'
p22054
(lp22055
S'slows'
p22056
aS'slowing'
p22057
aS'slowed'
p22058
aS'slowed'
p22059
asS'dilute'
p22060
(lp22061
S'dilutes'
p22062
aS'diluting'
p22063
aS'diluted'
p22064
aS'diluted'
p22065
asS'renegotiate'
p22066
(lp22067
S'renegotiates'
p22068
aS'renegotiating'
p22069
aS'renegotiated'
p22070
aS'renegotiated'
p22071
asS'picket'
p22072
(lp22073
S'pickets'
p22074
aS'picketing'
p22075
aS'picketed'
p22076
aS'picketed'
p22077
asS'reline'
p22078
(lp22079
S'relines'
p22080
aS'relining'
p22081
aS'relined'
p22082
aS'relined'
p22083
asS'blitz'
p22084
(lp22085
S'blitzes'
p22086
aS'blitzing'
p22087
aS'blitzed'
p22088
aS'blitzed'
p22089
asS'jump'
p22090
(lp22091
S'jumps'
p22092
aS'jumping'
p22093
aS'jumped'
p22094
aS'jumped'
p22095
asS'hose'
p22096
(lp22097
S'hoses'
p22098
aS'hosing'
p22099
aS'hosed'
p22100
aS'hosed'
p22101
asS'click'
p22102
(lp22103
S'clicks'
p22104
aS'clicking'
p22105
aS'clicked'
p22106
aS'clicked'
p22107
asS'poke'
p22108
(lp22109
S'pokes'
p22110
aS'poking'
p22111
aS'poked'
p22112
aS'poked'
p22113
asS'impearl'
p22114
(lp22115
S'impearls'
p22116
aS'impearling'
p22117
aS'impearled'
p22118
aS'impearled'
p22119
asS'opaque'
p22120
(lp22121
S'opaques'
p22122
aS'opaquing'
p22123
aS'opaqued'
p22124
aS'opaqued'
p22125
asS'sepulchre'
p22126
(lp22127
S'sepulchres'
p22128
aS'sepulchring'
p22129
aS'sepulchred'
p22130
aS'sepulchred'
p22131
asS'schedule'
p22132
(lp22133
S'schedules'
p22134
aS'scheduling'
p22135
aS'scheduled'
p22136
aS'scheduled'
p22137
asS'exacerbate'
p22138
(lp22139
S'exacerbates'
p22140
aS'exacerbating'
p22141
aS'exacerbated'
p22142
aS'exacerbated'
p22143
asS'valet'
p22144
(lp22145
S'valets'
p22146
aS'valeting'
p22147
aS'valeted'
p22148
aS'valeted'
p22149
asS'experiment'
p22150
(lp22151
S'experiments'
p22152
aS'experimenting'
p22153
aS'experimented'
p22154
aS'experimented'
p22155
asS'unspeak'
p22156
(lp22157
S'unspeaks'
p22158
aS'unspeaking'
p22159
aS'unspoke'
p22160
aS'unspoken'
p22161
asS'infuse'
p22162
(lp22163
S'infuses'
p22164
aS'infusing'
p22165
aS'infused'
p22166
aS'infused'
p22167
asS'old-talk'
p22168
(lp22169
S'old-talks'
p22170
aS'old-talking'
p22171
aS'old-talked'
p22172
aS'old-talked'
p22173
asS'hysterectomize'
p22174
(lp22175
S'hysterectomizes'
p22176
aS'hysterectomizing'
p22177
aS'hysterectomized'
p22178
aS'hysterectomized'
p22179
asS'Teutonize'
p22180
(lp22181
S'Teutonizes'
p22182
aS'Teutonizing'
p22183
aS'Teutonized'
p22184
aS'Teutonized'
p22185
asS'embowel'
p22186
(lp22187
S'embowels'
p22188
aS'emboweling'
p22189
aS'emboweled'
p22190
aS'emboweled'
p22191
asS'prescribe'
p22192
(lp22193
S'prescribes'
p22194
aS'prescribing'
p22195
aS'prescribed'
p22196
aS'prescribed'
p22197
asS'mothproof'
p22198
(lp22199
sS'quell'
p22200
(lp22201
S'quells'
p22202
aS'quelling'
p22203
aS'quelled'
p22204
aS'quelled'
p22205
asS'bowdlerize'
p22206
(lp22207
S'bowdlerizes'
p22208
aS'bowdlerizing'
p22209
aS'bowdlerized'
p22210
aS'bowdlerized'
p22211
asS'adulterate'
p22212
(lp22213
S'adulterates'
p22214
aS'adulterating'
p22215
aS'adulterated'
p22216
aS'adulterated'
p22217
asS'traject'
p22218
(lp22219
S'trajects'
p22220
aS'trajecting'
p22221
aS'trajected'
p22222
aS'trajected'
p22223
asS'convert'
p22224
(lp22225
S'converts'
p22226
aS'converting'
p22227
aS'converted'
p22228
aS'converted'
p22229
asS'copper-bottom'
p22230
(lp22231
S'copper-bottoms'
p22232
aS'copper-bottoming'
p22233
aS'copper-bottomed'
p22234
aS'copper-bottomed'
p22235
asS'chant'
p22236
(lp22237
S'chants'
p22238
aS'chanting'
p22239
aS'chanted'
p22240
aS'chanted'
p22241
asS'perfuse'
p22242
(lp22243
S'perfuses'
p22244
aS'perfusing'
p22245
aS'perfused'
p22246
aS'perfused'
p22247
asS'repel'
p22248
(lp22249
S'repels'
p22250
aS'repelling'
p22251
aS'repelled'
p22252
aS'repelled'
p22253
asS'behead'
p22254
(lp22255
S'beheads'
p22256
aS'beheading'
p22257
aS'beheaded'
p22258
aS'beheaded'
p22259
asS'wig'
p22260
(lp22261
S'wigs'
p22262
aS'wigging'
p22263
aS'wigged'
p22264
aS'wigged'
p22265
asS'foresee'
p22266
(lp22267
S'foresees'
p22268
aS'foreseeing'
p22269
aS'foresaw'
p22270
aS'foreseen'
p22271
asS'shake'
p22272
(lp22273
S'shakes'
p22274
aS'shaking'
p22275
aS'shook'
p22276
aS'shaken'
p22277
asS'win'
p22278
(lp22279
S'wins'
p22280
aS'winning'
p22281
aS'won'
p22282
aS'won'
p22283
asS'manage'
p22284
(lp22285
S'manages'
p22286
aS'managing'
p22287
aS'managed'
p22288
aS'managed'
p22289
asS'clout'
p22290
(lp22291
S'clouts'
p22292
aS'clouting'
p22293
aS'clouted'
p22294
aS'clouted'
p22295
asS'subserve'
p22296
(lp22297
S'subserves'
p22298
aS'subserving'
p22299
aS'subserved'
p22300
aS'subserved'
p22301
asS'wis'
p22302
(lp22303
S'wises'
p22304
aS'wising'
p22305
aS'wised'
p22306
aS'wised'
p22307
asS'infest'
p22308
(lp22309
S'infests'
p22310
aS'infesting'
p22311
aS'infested'
p22312
aS'infested'
p22313
asS'submerse'
p22314
(lp22315
S'submerses'
p22316
aS'submersing'
p22317
aS'submersed'
p22318
aS'submersed'
p22319
asS'cybernate'
p22320
(lp22321
S'cybernates'
p22322
aS'cybernating'
p22323
aS'cybernated'
p22324
aS'cybernated'
p22325
asS'manipulate'
p22326
(lp22327
S'manipulates'
p22328
aS'manipulating'
p22329
aS'manipulated'
p22330
aS'manipulated'
p22331
asS'imbue'
p22332
(lp22333
S'imbues'
p22334
aS'imbuing'
p22335
aS'imbued'
p22336
aS'imbued'
p22337
asS'crap'
p22338
(lp22339
S'craps'
p22340
aS'crapping'
p22341
aS'crapped'
p22342
aS'crapped'
p22343
asS'opalesce'
p22344
(lp22345
S'opalesces'
p22346
aS'opalescing'
p22347
aS'opalesced'
p22348
aS'opalesced'
p22349
asS'snood'
p22350
(lp22351
S'snoods'
p22352
aS'snooding'
p22353
aS'snooded'
p22354
aS'snooded'
p22355
asS'plasticize'
p22356
(lp22357
S'plasticizes'
p22358
aS'plasticizing'
p22359
aS'plasticized'
p22360
aS'plasticized'
p22361
asS'platitudinize'
p22362
(lp22363
S'platitudinizes'
p22364
aS'platitudinizing'
p22365
aS'platitudinized'
p22366
aS'platitudinized'
p22367
asS'crab'
p22368
(lp22369
S'crabs'
p22370
aS'crabbing'
p22371
aS'crabbed'
p22372
aS'crabs'
p22373
asS'mercurate'
p22374
(lp22375
S'mercurates'
p22376
aS'mercurating'
p22377
aS'mercurated'
p22378
aS'mercurated'
p22379
asS'cram'
p22380
(lp22381
S'crams'
p22382
aS'cramming'
p22383
aS'crammed'
p22384
aS'crammed'
p22385
asS'recompose'
p22386
(lp22387
S'recomposes'
p22388
aS'recomposing'
p22389
aS'recomposed'
p22390
aS'recomposed'
p22391
asS'depreciate'
p22392
(lp22393
S'depreciates'
p22394
aS'depreciating'
p22395
aS'depreciated'
p22396
aS'depreciated'
p22397
asS'sand-blast'
p22398
(lp22399
S'sand-blasts'
p22400
ag21218
ag21219
ag21220
asS'stem'
p22401
(lp22402
S'stems'
p22403
aS'stemming'
p22404
aS'stemmed'
p22405
aS'stemmed'
p22406
asS'cackle'
p22407
(lp22408
S'cackles'
p22409
aS'cackling'
p22410
aS'cackled'
p22411
aS'cackled'
p22412
asS'lacerate'
p22413
(lp22414
S'lacerates'
p22415
aS'lacerating'
p22416
aS'lacerated'
p22417
aS'lacerated'
p22418
asS'mismatch'
p22419
(lp22420
S'mismatches'
p22421
aS'mismatching'
p22422
aS'mismatched'
p22423
aS'mismatched'
p22424
asS'hotfoot'
p22425
(lp22426
S'hotfoots'
p22427
aS'hotfooting'
p22428
aS'hotfooted'
p22429
aS'hotfooted'
p22430
asS'deschool'
p22431
(lp22432
S'deschools'
p22433
aS'deschooling'
p22434
aS'deschooled'
p22435
aS'deschooled'
p22436
asS'reindict'
p22437
(lp22438
S'reindicts'
p22439
aS'reindicting'
p22440
aS'reindicted'
p22441
aS'reindicted'
p22442
asS're-cover'
p22443
(lp22444
S're-covers'
p22445
aS're-covering'
p22446
ag17066
aS're-covered'
p22447
asS'felicitate'
p22448
(lp22449
S'felicitates'
p22450
aS'felicitating'
p22451
aS'felicitated'
p22452
aS'felicitated'
p22453
asS'disrobe'
p22454
(lp22455
S'disrobes'
p22456
aS'disrobing'
p22457
aS'disrobed'
p22458
aS'disrobed'
p22459
asS'consort'
p22460
(lp22461
S'consorts'
p22462
aS'consorting'
p22463
aS'consorted'
p22464
aS'consorted'
p22465
asS'lapse'
p22466
(lp22467
S'lapses'
p22468
aS'lapsing'
p22469
aS'lapsed'
p22470
aS'lapsed'
p22471
asS'squaredance'
p22472
(lp22473
S'squaredances'
p22474
aS'squaredancing'
p22475
aS'squaredanced'
p22476
aS'squaredanced'
p22477
asS'meet'
p22478
(lp22479
S'meets'
p22480
aS'meeting'
p22481
aS'met'
p22482
aS'met'
p22483
asS'nurture'
p22484
(lp22485
S'nurtures'
p22486
aS'nurturing'
p22487
aS'nurtured'
p22488
aS'nurtured'
p22489
asS'vaunt'
p22490
(lp22491
S'vaunts'
p22492
aS'vaunting'
p22493
aS'vaunted'
p22494
aS'vaunted'
p22495
asS'control'
p22496
(lp22497
S'controls'
p22498
aS'controlling'
p22499
aS'controlled'
p22500
aS'controlled'
p22501
asS'wharf'
p22502
(lp22503
S'wharfs'
p22504
aS'wharfing'
p22505
aS'wharfed'
p22506
aS'wharfed'
p22507
asS'skirl'
p22508
(lp22509
S'skirls'
p22510
aS'skirling'
p22511
aS'skirled'
p22512
aS'skirled'
p22513
asS'crevasse'
p22514
(lp22515
S'crevasses'
p22516
aS'crevassing'
p22517
aS'crevassed'
p22518
aS'crevassed'
p22519
asS'beleaguer'
p22520
(lp22521
S'beleaguers'
p22522
aS'beleaguering'
p22523
aS'beleaguered'
p22524
aS'beleaguered'
p22525
asS'uppercase'
p22526
(lp22527
S'uppercases'
p22528
aS'uppercasing'
p22529
aS'uppercased'
p22530
aS'uppercased'
p22531
asS'atone'
p22532
(lp22533
S'atones'
p22534
aS'atoning'
p22535
aS'atoned'
p22536
aS'atoned'
p22537
asS'skirr'
p22538
(lp22539
S'skirrs'
p22540
aS'skirring'
p22541
aS'skirred'
p22542
aS'skirred'
p22543
asS'skirt'
p22544
(lp22545
S'skirts'
p22546
aS'skirting'
p22547
aS'skirted'
p22548
aS'skirted'
p22549
asS'undeceive'
p22550
(lp22551
S'undeceives'
p22552
aS'undeceiving'
p22553
aS'undeceived'
p22554
aS'undeceived'
p22555
asS'hesitate'
p22556
(lp22557
S'hesitates'
p22558
aS'hesitating'
p22559
aS'hesitated'
p22560
aS'hesitated'
p22561
asS'over-expose'
p22562
(lp22563
S'over-exposes'
p22564
aS'over-exposing'
p22565
ag6400
aS'over-exposed'
p22566
asS'scramb'
p22567
(lp22568
S'scrambs'
p22569
aS'scrambing'
p22570
aS'scrambed'
p22571
aS'scrambed'
p22572
asS'perspire'
p22573
(lp22574
S'perspires'
p22575
aS'perspiring'
p22576
aS'perspired'
p22577
aS'perspired'
p22578
asS'nark'
p22579
(lp22580
S'narks'
p22581
aS'narking'
p22582
aS'narked'
p22583
aS'narked'
p22584
asS'reestablish'
p22585
(lp22586
S'reestablishes'
p22587
aS'reestablishing'
p22588
aS'reestablished'
p22589
aS'reestablished'
p22590
asS'deplore'
p22591
(lp22592
S'deplores'
p22593
aS'deploring'
p22594
aS'deplored'
p22595
aS'deplored'
p22596
asS'inweave'
p22597
(lp22598
S'inweaves'
p22599
aS'inweaving'
p22600
aS'inwove'
p22601
aS'inwoven'
p22602
asS'mislike'
p22603
(lp22604
S'mislikes'
p22605
aS'misliking'
p22606
aS'misliked'
p22607
aS'misliked'
p22608
asS'free-select'
p22609
(lp22610
S'free-selects'
p22611
aS'free-selecting'
p22612
aS'free-selected'
p22613
aS'free-selected'
p22614
asS'pink'
p22615
(lp22616
S'pinks'
p22617
aS'pinking'
p22618
aS'pinked'
p22619
aS'pinked'
p22620
asS'farm'
p22621
(lp22622
S'farms'
p22623
aS'farming'
p22624
aS'farmed'
p22625
aS'farmed'
p22626
asS'canker'
p22627
(lp22628
S'cankers'
p22629
aS'cankering'
p22630
aS'cankered'
p22631
aS'cankered'
p22632
asS'fart'
p22633
(lp22634
S'farts'
p22635
aS'farting'
p22636
aS'farted'
p22637
aS'farted'
p22638
asS'cantillate'
p22639
(lp22640
S'cantillates'
p22641
aS'cantillating'
p22642
aS'cantillated'
p22643
aS'cantillated'
p22644
asS'fatigue'
p22645
(lp22646
S'fatigues'
p22647
aS'fatiguing'
p22648
aS'fatigued'
p22649
aS'fatigued'
p22650
asS'prance'
p22651
(lp22652
S'prances'
p22653
aS'prancing'
p22654
aS'pranced'
p22655
aS'pranced'
p22656
asS'queer'
p22657
(lp22658
S'queers'
p22659
aS'queering'
p22660
aS'queered'
p22661
aS'queered'
p22662
asS'tomb'
p22663
(lp22664
S'tombs'
p22665
aS'tombing'
p22666
aS'tombed'
p22667
aS'tombed'
p22668
asS'foment'
p22669
(lp22670
S'foments'
p22671
aS'fomenting'
p22672
aS'fomented'
p22673
aS'fomented'
p22674
asS'unmuzzle'
p22675
(lp22676
S'unmuzzles'
p22677
aS'unmuzzling'
p22678
aS'unmuzzled'
p22679
aS'unmuzzled'
p22680
asS'prettify'
p22681
(lp22682
S'prettifies'
p22683
aS'prettifying'
p22684
aS'prettified'
p22685
aS'prettified'
p22686
asS'overdress'
p22687
(lp22688
S'overdresses'
p22689
aS'overdressing'
p22690
aS'overdressed'
p22691
aS'overdressed'
p22692
asS'encamp'
p22693
(lp22694
S'encamps'
p22695
aS'encamping'
p22696
aS'encamped'
p22697
aS'encamped'
p22698
asS'decorticate'
p22699
(lp22700
S'decorticates'
p22701
aS'decorticating'
p22702
aS'decorticated'
p22703
aS'decorticated'
p22704
asS'day-dream'
p22705
(lp22706
S"daydreams'"
p22707
aS'daydream'
p22708
ag12834
aS'day-dreamed'
p22709
asS'corral'
p22710
(lp22711
S'corrals'
p22712
aS'corralling'
p22713
aS'corralled'
p22714
aS'corralled'
p22715
asS'scoop'
p22716
(lp22717
S'scoops'
p22718
aS'scooping'
p22719
aS'scooped'
p22720
aS'scooped'
p22721
asS'scoot'
p22722
(lp22723
S'scoots'
p22724
aS'scooting'
p22725
aS'scooted'
p22726
aS'scooted'
p22727
asS'wadset'
p22728
(lp22729
S'wadsets'
p22730
aS'wadsetting'
p22731
aS'wadsetted'
p22732
aS'wadsetted'
p22733
asS'shush'
p22734
(lp22735
S'shushes'
p22736
aS'shushing'
p22737
aS'shushed'
p22738
aS'shushed'
p22739
asS'acetylate'
p22740
(lp22741
S'acetylates'
p22742
aS'acetylating'
p22743
aS'acetylated'
p22744
aS'acetylated'
p22745
asS'costume'
p22746
(lp22747
S'costumes'
p22748
aS'costuming'
p22749
aS'costumed'
p22750
aS'costumed'
p22751
asS'cruise'
p22752
(lp22753
S'cruises'
p22754
aS'cruising'
p22755
aS'cruised'
p22756
aS'cruised'
p22757
asS'embezzle'
p22758
(lp22759
S'embezzles'
p22760
aS'embezzling'
p22761
aS'embezzled'
p22762
aS'embezzled'
p22763
asS'vilify'
p22764
(lp22765
S'vilifies'
p22766
aS'vilifying'
p22767
aS'vilified'
p22768
aS'vilified'
p22769
asS'hock'
p22770
(lp22771
S'hocks'
p22772
aS'hocking'
p22773
aS'hocked'
p22774
aS'hocked'
p22775
asS'brood'
p22776
(lp22777
S'broods'
p22778
aS'brooding'
p22779
aS'brooded'
p22780
aS'brooded'
p22781
asS'brook'
p22782
(lp22783
S'brooks'
p22784
aS'brooking'
p22785
aS'brooked'
p22786
aS'brooked'
p22787
asS'intercrop'
p22788
(lp22789
S'intercrops'
p22790
aS'intercropping'
p22791
aS'intercropped'
p22792
aS'intercropped'
p22793
asS'stallfeed'
p22794
(lp22795
S'stallfeeds'
p22796
aS'stallfeeding'
p22797
aS'stallfed'
p22798
aS'stallfed'
p22799
asS'bestialize'
p22800
(lp22801
S'bestializes'
p22802
aS'bestializing'
p22803
aS'bestialized'
p22804
aS'bestialized'
p22805
asS'demoralize'
p22806
(lp22807
S'demoralizes'
p22808
aS'demoralizing'
p22809
aS'demoralized'
p22810
aS'demoralized'
p22811
asS'swaddle'
p22812
(lp22813
S'swaddles'
p22814
aS'swaddling'
p22815
aS'swaddled'
p22816
aS'swaddled'
p22817
asS'frogmarch'
p22818
(lp22819
S'frogmarches'
p22820
aS'frogmarching'
p22821
aS'frogmarched'
p22822
aS'frogmarched'
p22823
asS'dike'
p22824
(lp22825
S'dikes'
p22826
aS'diking'
p22827
aS'diked'
p22828
aS'diked'
p22829
asS'snorkel'
p22830
(lp22831
S'snorkels'
p22832
aS'snorkeling'
p22833
aS'snorkeled'
p22834
aS'snorkeled'
p22835
asS'propound'
p22836
(lp22837
S'propounds'
p22838
aS'propounding'
p22839
aS'propounded'
p22840
aS'propounded'
p22841
asS'front'
p22842
(lp22843
S'fronts'
p22844
aS'fronting'
p22845
aS'fronted'
p22846
aS'fronted'
p22847
asS'refuel'
p22848
(lp22849
S'refuels'
p22850
aS'refuelling'
p22851
aS'refuelled'
p22852
aS'refuelled'
p22853
asS'chasten'
p22854
(lp22855
S'chastens'
p22856
aS'chastening'
p22857
aS'chastened'
p22858
aS'chastened'
p22859
asS'spoon-feed'
p22860
(lp22861
S'spoon-feeds'
p22862
aS'spoon-feeding'
p22863
aS'spoon-fed'
p22864
aS'spoon-fed'
p22865
asS'muff'
p22866
(lp22867
S'muffs'
p22868
aS'muffing'
p22869
aS'muffed'
p22870
aS'muffed'
p22871
asS'beshrew'
p22872
(lp22873
S'beshrews'
p22874
aS'beshrewing'
p22875
aS'beshrewed'
p22876
aS'beshrewed'
p22877
asS'unwind'
p22878
(lp22879
S'unwinds'
p22880
aS'unwinding'
p22881
aS'unwound'
p22882
aS'unwound'
p22883
asS'illuminate'
p22884
(lp22885
S'illuminates'
p22886
aS'illuminating'
p22887
aS'illuminated'
p22888
aS'illuminated'
p22889
asS'globe'
p22890
(lp22891
S'globes'
p22892
aS'globing'
p22893
aS'globed'
p22894
aS'globed'
p22895
asS'constitute'
p22896
(lp22897
S'constitutes'
p22898
aS'constituting'
p22899
aS'constituted'
p22900
aS'constituted'
p22901
asS'seesaw'
p22902
(lp22903
S'seesaws'
p22904
aS'seesawing'
p22905
aS'seesawed'
p22906
aS'seesawed'
p22907
asS'muckamuck'
p22908
(lp22909
S'muckamucks'
p22910
aS'muckamucking'
p22911
aS'muckamucked'
p22912
aS'muckamucked'
p22913
asS'measure'
p22914
(lp22915
S'measures'
p22916
aS'measuring'
p22917
aS'measured'
p22918
aS'measured'
p22919
asS'gallant'
p22920
(lp22921
S'gallants'
p22922
aS'gallanting'
p22923
aS'gallanted'
p22924
aS'gallanted'
p22925
asS'bobol'
p22926
(lp22927
S'bobols'
p22928
aS'boboling'
p22929
aS'boboled'
p22930
aS'boboled'
p22931
asS'remise'
p22932
(lp22933
S'remises'
p22934
aS'remising'
p22935
aS'remised'
p22936
aS'remised'
p22937
asS'confess'
p22938
(lp22939
S'confesses'
p22940
aS'confessing'
p22941
aS'confessed'
p22942
aS'confessed'
p22943
asS'geologize'
p22944
(lp22945
S'geologizes'
p22946
aS'geologizing'
p22947
aS'geologized'
p22948
aS'geologized'
p22949
asS'prepay'
p22950
(lp22951
S'prepays'
p22952
aS'prepaying'
p22953
aS'prepaid'
p22954
aS'prepaid'
p22955
asS'complect'
p22956
(lp22957
S'complects'
p22958
aS'complecting'
p22959
aS'complected'
p22960
aS'complected'
p22961
asS'cause'
p22962
(lp22963
S'causes'
p22964
aS'causing'
p22965
aS'caused'
p22966
aS'caused'
p22967
asS'slush'
p22968
(lp22969
S'slushes'
p22970
aS'slushing'
p22971
aS'slushed'
p22972
aS'slushed'
p22973
asS'obsess'
p22974
(lp22975
S'obsesses'
p22976
aS'obsessing'
p22977
aS'obsessed'
p22978
aS'obsessed'
p22979
asS'contemporize'
p22980
(lp22981
S'contemporizes'
p22982
aS'contemporizing'
p22983
aS'contemporized'
p22984
aS'contemporized'
p22985
asS'watermark'
p22986
(lp22987
S'watermarks'
p22988
aS'watermarking'
p22989
aS'watermarked'
p22990
aS'watermarked'
p22991
asS'chitchat'
p22992
(lp22993
S'chitchats'
p22994
aS'chitchatting'
p22995
aS'chitchatted'
p22996
aS'chitchatted'
p22997
asS'chunter'
p22998
(lp22999
S'chunters'
p23000
aS'chuntering'
p23001
aS'chuntered'
p23002
aS'chuntered'
p23003
asS'jilt'
p23004
(lp23005
S'jilts'
p23006
aS'jilting'
p23007
aS'jilted'
p23008
aS'jilted'
p23009
asS'undo'
p23010
(lp23011
S'undoes'
p23012
aS'undoing'
p23013
aS'undid'
p23014
aS'undone'
p23015
asS'reive'
p23016
(lp23017
S'reives'
p23018
aS'reiving'
p23019
aS'reived'
p23020
aS'reived'
p23021
asS'darkle'
p23022
(lp23023
S'darkles'
p23024
aS'darkling'
p23025
aS'darkled'
p23026
aS'darkled'
p23027
asS'sneer'
p23028
(lp23029
S'sneers'
p23030
aS'sneering'
p23031
aS'sneered'
p23032
aS'sneered'
p23033
asS'brattice'
p23034
(lp23035
S'brattices'
p23036
aS'bratticing'
p23037
aS'bratticed'
p23038
aS'bratticed'
p23039
asS'route'
p23040
(lp23041
S'routes'
p23042
aS'routing'
p23043
aS'routed'
p23044
aS'routed'
p23045
asS'keep'
p23046
(lp23047
S'keeps'
p23048
aS'keeping'
p23049
aS'kept'
p23050
aS'kept'
p23051
asS'keen'
p23052
(lp23053
S'keens'
p23054
aS'keening'
p23055
aS'keened'
p23056
aS'keened'
p23057
asS'keel'
p23058
(lp23059
S'keels'
p23060
aS'keeling'
p23061
aS'keeled'
p23062
aS'keeled'
p23063
asS'keek'
p23064
(lp23065
S'keeks'
p23066
aS'keeking'
p23067
aS'keeked'
p23068
aS'keeked'
p23069
asS'bootlick'
p23070
(lp23071
S'bootlicks'
p23072
aS'bootlicking'
p23073
aS'bootlicked'
p23074
aS'bootlicked'
p23075
asS'manumit'
p23076
(lp23077
S'manumits'
p23078
aS'manumitting'
p23079
aS'manumitted'
p23080
aS'manumitted'
p23081
asS'incarnate'
p23082
(lp23083
S'incarnates'
p23084
aS'incarnating'
p23085
aS'incarnated'
p23086
aS'incarnated'
p23087
asS'clamour'
p23088
(lp23089
S'clamours'
p23090
aS'clamouring'
p23091
aS'clamoured'
p23092
aS'clamoured'
p23093
asS'confuse'
p23094
(lp23095
S'confuses'
p23096
aS'confusing'
p23097
aS'confused'
p23098
aS'confused'
p23099
asS'insnare'
p23100
(lp23101
S'insnares'
p23102
aS'insnaring'
p23103
aS'insnared'
p23104
aS'insnared'
p23105
asS'extrude'
p23106
(lp23107
S'extrudes'
p23108
aS'extruding'
p23109
aS'extruded'
p23110
aS'extruded'
p23111
asS'deplume'
p23112
(lp23113
S'deplumes'
p23114
aS'depluming'
p23115
aS'deplumed'
p23116
aS'deplumed'
p23117
asS'maturate'
p23118
(lp23119
S'maturates'
p23120
aS'maturating'
p23121
aS'maturated'
p23122
aS'maturated'
p23123
asS'stump'
p23124
(lp23125
S'stumps'
p23126
aS'stumping'
p23127
aS'stumped'
p23128
aS'stumped'
p23129
asS'conga'
p23130
(lp23131
S'congas'
p23132
aS'congaing'
p23133
aS'congaed'
p23134
aS'congaed'
p23135
asS'unsteel'
p23136
(lp23137
S'unsteels'
p23138
aS'unsteeling'
p23139
aS'unsteeled'
p23140
aS'unsteeled'
p23141
asS'metricate'
p23142
(lp23143
S'metricates'
p23144
aS'metricating'
p23145
aS'metricated'
p23146
aS'metricated'
p23147
asS'attach'
p23148
(lp23149
S'attaches'
p23150
aS'attaching'
p23151
aS'attached'
p23152
aS'attached'
p23153
asS'attack'
p23154
(lp23155
S'attacks'
p23156
aS'attacking'
p23157
aS'attacked'
p23158
aS'attacked'
p23159
asS'inearth'
p23160
(lp23161
S'inearths'
p23162
aS'inearthing'
p23163
aS'inearthed'
p23164
aS'inearthed'
p23165
asS'prolapse'
p23166
(lp23167
S'prolapses'
p23168
aS'prolapsing'
p23169
aS'prolapsed'
p23170
aS'prolapsed'
p23171
asS'man'
p23172
(lp23173
S'mans'
p23174
aS'manning'
p23175
aS'manned'
p23176
aS'manned'
p23177
asS'advertize'
p23178
(lp23179
S'advertizes'
p23180
aS'advertizing'
p23181
aS'advertized'
p23182
aS'advertized'
p23183
asS'circulate'
p23184
(lp23185
S'circulates'
p23186
aS'circulating'
p23187
aS'circulated'
p23188
aS'circulated'
p23189
asS'relinquish'
p23190
(lp23191
S'relinquishes'
p23192
aS'relinquishing'
p23193
aS'relinquished'
p23194
aS'relinquished'
p23195
asS'misspell'
p23196
(lp23197
S'misspells'
p23198
aS'misspelling'
p23199
aS'misspelt'
p23200
aS'misspelt'
p23201
asS'punish'
p23202
(lp23203
S'punishes'
p23204
aS'punishing'
p23205
aS'punished'
p23206
aS'punished'
p23207
asS'curarize'
p23208
(lp23209
S'curarizes'
p23210
aS'curarizing'
p23211
aS'curarized'
p23212
aS'curarized'
p23213
asS'minute'
p23214
(lp23215
S'minutes'
p23216
aS'minuting'
p23217
aS'minuted'
p23218
aS'minuted'
p23219
asS'innovate'
p23220
(lp23221
S'innovates'
p23222
aS'innovating'
p23223
aS'innovated'
p23224
aS'innovated'
p23225
asS'feint'
p23226
(lp23227
S'feints'
p23228
aS'feinting'
p23229
aS'feinted'
p23230
aS'feinted'
p23231
asS'neck'
p23232
(lp23233
S'necks'
p23234
aS'necking'
p23235
aS'necked'
p23236
aS'necked'
p23237
asS'photograph'
p23238
(lp23239
S'photographs'
p23240
aS'photographing'
p23241
aS'photographed'
p23242
aS'photographed'
p23243
asS'spurn'
p23244
(lp23245
S'spurns'
p23246
aS'spurning'
p23247
aS'spurned'
p23248
aS'spurned'
p23249
asS'bloat'
p23250
(lp23251
S'bloats'
p23252
aS'bloating'
p23253
aS'bloated'
p23254
aS'bloated'
p23255
asS'glisten'
p23256
(lp23257
S'glistens'
p23258
aS'glistening'
p23259
aS'glistened'
p23260
aS'glistened'
p23261
asS'girdle'
p23262
(lp23263
S'girdles'
p23264
aS'girdling'
p23265
aS'girdled'
p23266
aS'girdled'
p23267
asS'beg'
p23268
(lp23269
S'begs'
p23270
aS'begging'
p23271
aS'begged'
p23272
aS'begged'
p23273
asS'bed'
p23274
(lp23275
S'beds'
p23276
aS'bedding'
p23277
aS'bedded'
p23278
aS'bedded'
p23279
asS'spurt'
p23280
(lp23281
S'spurts'
p23282
aS'spurting'
p23283
aS'spurted'
p23284
aS'spurted'
p23285
asS'subjoin'
p23286
(lp23287
S'subjoins'
p23288
aS'subjoining'
p23289
aS'subjoined'
p23290
aS'subjoined'
p23291
asS'bet'
p23292
(lp23293
S'bets'
p23294
aS'betting'
p23295
aS'betted'
p23296
aS'betted'
p23297
asS'exhibit'
p23298
(lp23299
S'exhibits'
p23300
aS'exhibiting'
p23301
aS'exhibited'
p23302
aS'exhibited'
p23303
asS'tabu'
p23304
(lp23305
S'tabus'
p23306
aS'tabuing'
p23307
aS'tabued'
p23308
aS'tabued'
p23309
asS'torment'
p23310
(lp23311
S'torments'
p23312
aS'tormenting'
p23313
aS'tormented'
p23314
aS'tormented'
p23315
asS'close'
p23316
(lp23317
S'closes'
p23318
aS'closing'
p23319
aS'closed'
p23320
aS'closed'
p23321
asS'need'
p23322
(lp23323
S'needs'
p23324
aS'needing'
p23325
aS'needed'
p23326
aS'needed'
p23327
aS"needn't"
p23328
asS'border'
p23329
(lp23330
S'borders'
p23331
aS'bordering'
p23332
aS'bordered'
p23333
aS'bordered'
p23334
asS'sendoff'
p23335
(lp23336
S'sendoffs'
p23337
aS'sendoffing'
p23338
aS'sendoffed'
p23339
aS'sendoffed'
p23340
asS'screw'
p23341
(lp23342
S'screws'
p23343
aS'screwing'
p23344
aS'screwed'
p23345
aS'screwed'
p23346
asS'arrogate'
p23347
(lp23348
S'arrogates'
p23349
aS'arrogating'
p23350
aS'arrogated'
p23351
aS'arrogated'
p23352
asS'switch'
p23353
(lp23354
S'switches'
p23355
aS'switching'
p23356
aS'switched'
p23357
aS'switched'
p23358
asS'instance'
p23359
(lp23360
S'instances'
p23361
aS'instancing'
p23362
aS'instanced'
p23363
aS'instanced'
p23364
asS'jaunt'
p23365
(lp23366
S'jaunts'
p23367
aS'jaunting'
p23368
aS'jaunted'
p23369
aS'jaunted'
p23370
asS'singe'
p23371
(lp23372
S'singes'
p23373
aS'singeing'
p23374
aS'singed'
p23375
aS'singed'
p23376
asS'metricize'
p23377
(lp23378
S'metricizes'
p23379
aS'metricizing'
p23380
aS'metricized'
p23381
aS'metricized'
p23382
asS'visor'
p23383
(lp23384
S'visors'
p23385
aS'visoring'
p23386
aS'visored'
p23387
aS'visored'
p23388
asS'platinize'
p23389
(lp23390
S'platinizes'
p23391
aS'platinizing'
p23392
aS'platinized'
p23393
aS'platinized'
p23394
asS'redpencil'
p23395
(lp23396
S'redpencils'
p23397
aS'redpencilling'
p23398
aS'redpencilled'
p23399
aS'redpencilled'
p23400
asS'demist'
p23401
(lp23402
S'demists'
p23403
aS'demisting'
p23404
aS'demisted'
p23405
aS'demisted'
p23406
asS'deceive'
p23407
(lp23408
S'deceives'
p23409
aS'deceiving'
p23410
aS'deceived'
p23411
aS'deceived'
p23412
asS'deploy'
p23413
(lp23414
S'deploys'
p23415
aS'deploying'
p23416
aS'deployed'
p23417
aS'deployed'
p23418
asS'disgorge'
p23419
(lp23420
S'disgorges'
p23421
aS'disgorging'
p23422
aS'disgorged'
p23423
aS'disgorged'
p23424
asS'airdry'
p23425
(lp23426
S'airdries'
p23427
aS'airdrying'
p23428
aS'airdried'
p23429
aS'airdried'
p23430
asS'rackrent'
p23431
(lp23432
S'rackrents'
p23433
aS'rackrenting'
p23434
aS'rackrented'
p23435
aS'rackrented'
p23436
asS'demise'
p23437
(lp23438
S'demises'
p23439
aS'demising'
p23440
aS'demised'
p23441
aS'demised'
p23442
asS'counterbalance'
p23443
(lp23444
S'counterbalances'
p23445
aS'counterbalancing'
p23446
aS'counterbalanced'
p23447
aS'counterbalanced'
p23448
asS'pepsinate'
p23449
(lp23450
S'pepsinates'
p23451
aS'pepsinating'
p23452
aS'pepsinated'
p23453
aS'pepsinated'
p23454
asS'awe'
p23455
(lp23456
S'awes'
p23457
aS'awing'
p23458
aS'awed'
p23459
aS'awed'
p23460
asS'detrain'
p23461
(lp23462
S'detrains'
p23463
aS'detraining'
p23464
aS'detrained'
p23465
aS'detrained'
p23466
asS'damascene'
p23467
(lp23468
S'damascenes'
p23469
aS'damascening'
p23470
aS'damascened'
p23471
aS'damascened'
p23472
asS'gallivant'
p23473
(lp23474
S'gallivants'
p23475
aS'gallivanting'
p23476
aS'gallivanted'
p23477
aS'gallivanted'
p23478
asS'eject'
p23479
(lp23480
S'ejects'
p23481
aS'ejecting'
p23482
aS'ejected'
p23483
aS'ejected'
p23484
asS'upset'
p23485
(lp23486
S'upsets'
p23487
aS'upsetting'
p23488
aS'upset'
p23489
aS'upset'
p23490
asS'prickle'
p23491
(lp23492
S'prickles'
p23493
aS'prickling'
p23494
aS'prickled'
p23495
aS'prickled'
p23496
asS'carburize'
p23497
(lp23498
S'carburizes'
p23499
aS'carburizing'
p23500
aS'carburized'
p23501
aS'carburized'
p23502
asS'suture'
p23503
(lp23504
S'sutures'
p23505
aS'suturing'
p23506
aS'sutured'
p23507
aS'sutured'
p23508
asS'talk'
p23509
(lp23510
S'talks'
p23511
aS'talking'
p23512
aS'talked'
p23513
aS'talked'
p23514
asS'constrain'
p23515
(lp23516
S'constrains'
p23517
aS'constraining'
p23518
aS'constrained'
p23519
aS'constrained'
p23520
asS'deface'
p23521
(lp23522
S'defaces'
p23523
aS'defacing'
p23524
aS'defaced'
p23525
aS'defaced'
p23526
asS'unsettle'
p23527
(lp23528
S'unsettles'
p23529
aS'unsettling'
p23530
aS'unsettled'
p23531
aS'unsettled'
p23532
asS'seclude'
p23533
(lp23534
S'secludes'
p23535
aS'secluding'
p23536
aS'secluded'
p23537
aS'secluded'
p23538
asS'crate'
p23539
(lp23540
S'crates'
p23541
aS'crating'
p23542
aS'crated'
p23543
aS'crated'
p23544
asS'conventionalize'
p23545
(lp23546
S'conventionalizes'
p23547
aS'conventionalizing'
p23548
aS'conventionalized'
p23549
aS'conventionalized'
p23550
asS'molest'
p23551
(lp23552
S'molests'
p23553
aS'molesting'
p23554
aS'molested'
p23555
aS'molested'
p23556
asS'wrestle'
p23557
(lp23558
S'wrestles'
p23559
aS'wrestling'
p23560
aS'wrestled'
p23561
aS'wrestled'
p23562
asS'half-volley'
p23563
(lp23564
S'half-volleys'
p23565
aS'half-volleying'
p23566
aS'half-volleyed'
p23567
aS'half-volleyed'
p23568
asS'envy'
p23569
(lp23570
S'envies'
p23571
aS'envying'
p23572
aS'envied'
p23573
aS'envied'
p23574
asS'cavort'
p23575
(lp23576
S'cavorts'
p23577
aS'cavorting'
p23578
aS'cavorted'
p23579
aS'cavorted'
p23580
asS'tire'
p23581
(lp23582
S'tires'
p23583
aS'tiring'
p23584
aS'tired'
p23585
aS'tired'
p23586
asS'outflank'
p23587
(lp23588
S'outflanks'
p23589
aS'outflanking'
p23590
aS'outflanked'
p23591
aS'outflanked'
p23592
asS'hade'
p23593
(lp23594
S'hades'
p23595
aS'hading'
p23596
aS'haded'
p23597
aS'haded'
p23598
asS'brighten'
p23599
(lp23600
S'brightens'
p23601
aS'brightening'
p23602
aS'brightened'
p23603
aS'brightened'
p23604
asS'rash'
p23605
(lp23606
S'rashes'
p23607
aS'rashing'
p23608
aS'rashed'
p23609
aS'rashed'
p23610
asS'hector'
p23611
(lp23612
S'hectors'
p23613
aS'hectoring'
p23614
aS'hectored'
p23615
aS'hectored'
p23616
asS'rasp'
p23617
(lp23618
S'rasps'
p23619
aS'rasping'
p23620
aS'rasped'
p23621
aS'rasped'
p23622
asS'enface'
p23623
(lp23624
S'enfaces'
p23625
aS'enfacing'
p23626
aS'enfaced'
p23627
aS'enfaced'
p23628
asS'achieve'
p23629
(lp23630
S'achieves'
p23631
aS'achieving'
p23632
aS'achieved'
p23633
aS'achieved'
p23634
asS'dodge'
p23635
(lp23636
S'dodges'
p23637
aS'dodging'
p23638
aS'dodged'
p23639
aS'dodged'
p23640
asS'gratify'
p23641
(lp23642
S'gratifies'
p23643
aS'gratifying'
p23644
aS'gratified'
p23645
aS'gratified'
p23646
asS'tropicalize'
p23647
(lp23648
S'tropicalizes'
p23649
aS'tropicalizing'
p23650
aS'tropicalized'
p23651
aS'tropicalized'
p23652
asS'joint'
p23653
(lp23654
S'joints'
p23655
aS'jointing'
p23656
aS'jointed'
p23657
aS'jointed'
p23658
asS'legitimate'
p23659
(lp23660
S'legitimates'
p23661
aS'legitimating'
p23662
aS'legitimated'
p23663
aS'legitimated'
p23664
asS'computerize'
p23665
(lp23666
S'computerizes'
p23667
aS'computerizing'
p23668
aS'computerized'
p23669
aS'computerized'
p23670
asS'shy'
p23671
(lp23672
S'shies'
p23673
aS'shying'
p23674
aS'shied'
p23675
aS'shied'
p23676
asS'quarantine'
p23677
(lp23678
S'quarantines'
p23679
aS'quarantining'
p23680
aS'quarantined'
p23681
aS'quarantined'
p23682
asS'instantiate'
p23683
(lp23684
S'instantiates'
p23685
aS'instantiating'
p23686
aS'instantiated'
p23687
aS'instantiated'
p23688
asS'ordain'
p23689
(lp23690
S'ordains'
p23691
aS'ordaining'
p23692
aS'ordained'
p23693
aS'ordained'
p23694
asS'trammel'
p23695
(lp23696
S'trammels'
p23697
aS'trammelling'
p23698
aS'trammelled'
p23699
aS'trammelled'
p23700
asS'gush'
p23701
(lp23702
S'gushes'
p23703
aS'gushing'
p23704
aS'gushed'
p23705
aS'gushed'
p23706
asS'contain'
p23707
(lp23708
S'contains'
p23709
aS'containing'
p23710
aS'contained'
p23711
aS'contained'
p23712
asS'grab'
p23713
(lp23714
S'grabs'
p23715
aS'grabbing'
p23716
aS'grabbed'
p23717
aS'grabbed'
p23718
asS'preach'
p23719
(lp23720
S'preaches'
p23721
aS'preaching'
p23722
aS'preached'
p23723
aS'preached'
p23724
asS'Occidentalize'
p23725
(lp23726
S'Occidentalizes'
p23727
aS'Occidentalizing'
p23728
aS'Occidentalized'
p23729
aS'Occidentalized'
p23730
asS'smooth'
p23731
(lp23732
S'smooths'
p23733
aS'smoothing'
p23734
aS'smoothed'
p23735
aS'smoothed'
p23736
asS'encarnalize'
p23737
(lp23738
S'encarnalizes'
p23739
aS'encarnalizing'
p23740
aS'encarnalized'
p23741
aS'encarnalized'
p23742
asS'orphan'
p23743
(lp23744
S'orphans'
p23745
aS'orphaning'
p23746
aS'orphaned'
p23747
aS'orphaned'
p23748
asS'oversubscribe'
p23749
(lp23750
S'oversubscribes'
p23751
aS'oversubscribing'
p23752
aS'oversubscribed'
p23753
aS'oversubscribed'
p23754
asS'reinforce'
p23755
(lp23756
S'reinforces'
p23757
aS'reinforcing'
p23758
aS'reinforced'
p23759
aS'reinforced'
p23760
asS'powder'
p23761
(lp23762
S'powders'
p23763
aS'powdering'
p23764
aS'powdered'
p23765
aS'powdered'
p23766
asS'solder'
p23767
(lp23768
S'solders'
p23769
aS'soldering'
p23770
aS'soldered'
p23771
aS'soldered'
p23772
asS'joypop'
p23773
(lp23774
S'joypops'
p23775
aS'joypopping'
p23776
aS'joypopped'
p23777
aS'joypopped'
p23778
asS'unearth'
p23779
(lp23780
S'unearths'
p23781
aS'unearthing'
p23782
aS'unearthed'
p23783
aS'unearthed'
p23784
asS'metrify'
p23785
(lp23786
S'metrifies'
p23787
aS'metrifying'
p23788
aS'metrified'
p23789
aS'metrified'
p23790
asS'thumb'
p23791
(lp23792
S'thumbs'
p23793
aS'thumbing'
p23794
aS'thumbed'
p23795
aS'thumbed'
p23796
asS'tend'
p23797
(lp23798
S'tends'
p23799
aS'tending'
p23800
aS'tended'
p23801
aS'tended'
p23802
asS'realign'
p23803
(lp23804
S'realigns'
p23805
aS'realigning'
p23806
aS'realigned'
p23807
aS'realigned'
p23808
asS'state'
p23809
(lp23810
S'states'
p23811
aS'stating'
p23812
aS'stated'
p23813
aS'stated'
p23814
asS'beautify'
p23815
(lp23816
S'beautifies'
p23817
aS'beautifying'
p23818
aS'beautified'
p23819
aS'beautified'
p23820
asS'tyre'
p23821
(lp23822
S'tyres'
p23823
aS'tyring'
p23824
aS'tyred'
p23825
aS'tyred'
p23826
asS'lug'
p23827
(lp23828
S'lugs'
p23829
aS'lugging'
p23830
aS'lugged'
p23831
aS'lugged'
p23832
asS'juggle'
p23833
(lp23834
S'juggles'
p23835
aS'juggling'
p23836
aS'juggled'
p23837
aS'juggled'
p23838
asS'wouldst'
p23839
(lp23840
S'wouldsts'
p23841
aS'wouldsting'
p23842
aS'wouldsted'
p23843
aS'wouldsted'
p23844
asS'sabotage'
p23845
(lp23846
S'sabotages'
p23847
aS'sabotaging'
p23848
aS'sabotaged'
p23849
aS'sabotaged'
p23850
asS'tent'
p23851
(lp23852
S'tents'
p23853
aS'tenting'
p23854
aS'tented'
p23855
aS'tented'
p23856
asS'ken'
p23857
(lp23858
S'kens'
p23859
aS'kenning'
p23860
aS'kent'
p23861
aS'kent'
p23862
asS'castoff'
p23863
(lp23864
S'castoffs'
p23865
aS'castoffing'
p23866
aS'castoffed'
p23867
aS'castoffed'
p23868
asS'splurge'
p23869
(lp23870
S'splurges'
p23871
aS'splurging'
p23872
aS'splurged'
p23873
aS'splurged'
p23874
asS'demur'
p23875
(lp23876
S'demurs'
p23877
aS'demurring'
p23878
aS'demurred'
p23879
aS'demurred'
p23880
asS'interfere'
p23881
(lp23882
S'interferes'
p23883
aS'interfering'
p23884
aS'interfered'
p23885
aS'interfered'
p23886
asS'foreshadow'
p23887
(lp23888
S'foreshadows'
p23889
aS'foreshadowing'
p23890
aS'foreshadowed'
p23891
aS'foreshadowed'
p23892
asS'relegate'
p23893
(lp23894
S'relegates'
p23895
aS'relegating'
p23896
aS'relegated'
p23897
aS'relegated'
p23898
asS'key'
p23899
(lp23900
S'keys'
p23901
aS'keying'
p23902
aS'keyed'
p23903
aS'keyed'
p23904
asS'bedraggle'
p23905
(lp23906
S'bedraggles'
p23907
aS'bedraggling'
p23908
aS'bedraggled'
p23909
aS'bedraggled'
p23910
asS'disconnect'
p23911
(lp23912
S'disconnects'
p23913
aS'disconnecting'
p23914
aS'disconnected'
p23915
aS'disconnected'
p23916
asS'kep'
p23917
(lp23918
S'keps'
p23919
aS'keping'
p23920
aS'keped'
p23921
aS'keped'
p23922
asS'inundate'
p23923
(lp23924
S'inundates'
p23925
aS'inundating'
p23926
aS'inundated'
p23927
aS'inundated'
p23928
asS'sniff'
p23929
(lp23930
S'sniffs'
p23931
aS'sniffing'
p23932
aS'sniffed'
p23933
aS'sniffed'
p23934
asS'ballyrag'
p23935
(lp23936
S'ballyrags'
p23937
aS'ballyragging'
p23938
aS'ballyragged'
p23939
aS'ballyragged'
p23940
asS'career'
p23941
(lp23942
S'careers'
p23943
aS'careering'
p23944
aS'careered'
p23945
aS'careered'
p23946
asS'outrank'
p23947
(lp23948
S'outranks'
p23949
aS'outranking'
p23950
aS'outranked'
p23951
aS'outranked'
p23952
asS'delimitate'
p23953
(lp23954
S'delimits'
p23955
aS'delimiting'
p23956
aS'delimited'
p23957
aS'delimited'
p23958
asS'roil'
p23959
(lp23960
S'roils'
p23961
aS'roiling'
p23962
aS'roiled'
p23963
aS'roiled'
p23964
asS'admit'
p23965
(lp23966
S'admits'
p23967
aS'admitting'
p23968
aS'admitted'
p23969
aS'admitted'
p23970
asS'careen'
p23971
(lp23972
S'careens'
p23973
aS'careening'
p23974
aS'careened'
p23975
aS'careened'
p23976
asS'propagandize'
p23977
(lp23978
S'propagandizes'
p23979
aS'propagandizing'
p23980
aS'propagandized'
p23981
aS'propagandized'
p23982
asS'admix'
p23983
(lp23984
S'admixes'
p23985
aS'admixing'
p23986
aS'admixed'
p23987
aS'admixed'
p23988
asS'synthetize'
p23989
(lp23990
S'synthetizes'
p23991
aS'synthetizing'
p23992
aS'synthetized'
p23993
aS'synthetized'
p23994
asS'christen'
p23995
(lp23996
S'christens'
p23997
aS'christening'
p23998
aS'christened'
p23999
aS'christened'
p24000
asS'subtitle'
p24001
(lp24002
S'subtitles'
p24003
aS'subtitling'
p24004
aS'subtitled'
p24005
aS'subtitled'
p24006
asS'illude'
p24007
(lp24008
S'illudes'
p24009
aS'illuding'
p24010
aS'illuded'
p24011
aS'illuded'
p24012
asS'maximize'
p24013
(lp24014
S'maximizes'
p24015
aS'maximizing'
p24016
aS'maximized'
p24017
aS'maximized'
p24018
asS'cohere'
p24019
(lp24020
S'coheres'
p24021
aS'cohering'
p24022
aS'cohered'
p24023
aS'cohered'
p24024
asS'substantialize'
p24025
(lp24026
S'substantializes'
p24027
aS'substantializing'
p24028
aS'substantialized'
p24029
aS'substantialized'
p24030
asS'quit'
p24031
(lp24032
S'quits'
p24033
aS'quitting'
p24034
aS'quitted'
p24035
aS'quitted'
p24036
asS'inhale'
p24037
(lp24038
S'inhales'
p24039
aS'inhaling'
p24040
aS'inhaled'
p24041
aS'inhaled'
p24042
asS'quip'
p24043
(lp24044
S'quips'
p24045
aS'quipping'
p24046
aS'quipped'
p24047
aS'quipped'
p24048
asS'disintegrate'
p24049
(lp24050
S'disintegrates'
p24051
aS'disintegrating'
p24052
aS'disintegrated'
p24053
aS'disintegrated'
p24054
asS'yaw'
p24055
(lp24056
S'yaws'
p24057
aS'yawing'
p24058
aS'yawed'
p24059
aS'yawed'
p24060
asS'polka'
p24061
(lp24062
S'polkas'
p24063
aS'polkaing'
p24064
aS'polkaed'
p24065
aS'polkaed'
p24066
asS'yap'
p24067
(lp24068
S'yaps'
p24069
aS'yapping'
p24070
aS'yapped'
p24071
aS'yapped'
p24072
asS'undercoat'
p24073
(lp24074
S'undercoats'
p24075
aS'undercoating'
p24076
aS'undercoated'
p24077
aS'undercoated'
p24078
asS'quiz'
p24079
(lp24080
S'quizzes'
p24081
aS'quizzing'
p24082
aS'quizzed'
p24083
aS'quizzed'
p24084
asS'spoliate'
p24085
(lp24086
S'spoliates'
p24087
aS'spoliating'
p24088
aS'spoliated'
p24089
aS'spoliated'
p24090
asS'treat'
p24091
(lp24092
S'treats'
p24093
aS'treating'
p24094
aS'treated'
p24095
aS'treated'
p24096
asS'misapply'
p24097
(lp24098
S'misapplies'
p24099
aS'misapplying'
p24100
aS'misapplied'
p24101
aS'misapplied'
p24102
asS'disannul'
p24103
(lp24104
S'disannuls'
p24105
aS'disannulling'
p24106
aS'disannulled'
p24107
aS'disannulled'
p24108
asS'overprotect'
p24109
(lp24110
S'overprotects'
p24111
aS'overprotecting'
p24112
aS'overprotected'
p24113
aS'overprotected'
p24114
asS'snivel'
p24115
(lp24116
S'snivels'
p24117
aS'snivelling'
p24118
aS'snivelled'
p24119
aS'snivelled'
p24120
asS'undertrump'
p24121
(lp24122
S'undertrumps'
p24123
aS'undertrumping'
p24124
aS'undertrumped'
p24125
aS'undertrumped'
p24126
asS'titter'
p24127
(lp24128
S'titters'
p24129
aS'tittering'
p24130
aS'tittered'
p24131
aS'tittered'
p24132
asS'outspread'
p24133
(lp24134
S'outspreads'
p24135
aS'outspreading'
p24136
aS'outspread'
p24137
aS'outspread'
p24138
asS'steep'
p24139
(lp24140
S'steeps'
p24141
aS'steeping'
p24142
aS'steeped'
p24143
aS'steeped'
p24144
asS'ripen'
p24145
(lp24146
S'ripens'
p24147
aS'ripening'
p24148
aS'ripened'
p24149
aS'ripened'
p24150
asS'harden'
p24151
(lp24152
S'hardens'
p24153
aS'hardening'
p24154
aS'hardened'
p24155
aS'hardened'
p24156
asS'metaphysicize'
p24157
(lp24158
S'metaphysicizes'
p24159
aS'metaphysicizing'
p24160
aS'metaphysicized'
p24161
aS'metaphysicized'
p24162
asS'riposte'
p24163
(lp24164
S'riposts'
p24165
aS'riposting'
p24166
aS'riposted'
p24167
aS'riposted'
p24168
asS'dight'
p24169
(lp24170
S'dights'
p24171
aS'dighting'
p24172
aS'dighted'
p24173
aS'dighted'
p24174
asS'backcomb'
p24175
(lp24176
S'backcombs'
p24177
aS'backcombing'
p24178
aS'backcombed'
p24179
aS'backcombed'
p24180
asS'backdate'
p24181
(lp24182
S'backdates'
p24183
aS'backdating'
p24184
aS'backdated'
p24185
aS'backdated'
p24186
asS'surface'
p24187
(lp24188
S'surfaces'
p24189
aS'surfacing'
p24190
aS'surfaced'
p24191
aS'surfaced'
p24192
asS'unstop'
p24193
(lp24194
S'unstops'
p24195
aS'unstopping'
p24196
aS'unstopped'
p24197
aS'unstopped'
p24198
asS'equilibrate'
p24199
(lp24200
S'equilibrates'
p24201
aS'equilibrating'
p24202
aS'equilibrated'
p24203
aS'equilibrated'
p24204
asS'hearten'
p24205
(lp24206
S'heartens'
p24207
aS'heartening'
p24208
aS'heartened'
p24209
aS'heartened'
p24210
asS'wreck'
p24211
(lp24212
S'wrecks'
p24213
aS'wrecking'
p24214
aS'wrecked'
p24215
aS'wrecked'
p24216
asS'capture'
p24217
(lp24218
S'captures'
p24219
aS'capturing'
p24220
aS'captured'
p24221
aS'captured'
p24222
asS'steer'
p24223
(lp24224
S'steers'
p24225
aS'steering'
p24226
aS'steered'
p24227
aS'steered'
p24228
asS'balloon'
p24229
(lp24230
S'balloons'
p24231
aS'ballooning'
p24232
aS'ballooned'
p24233
aS'ballooned'
p24234
asS'wangle'
p24235
(lp24236
S'wangles'
p24237
aS'wangling'
p24238
aS'wangled'
p24239
aS'wangled'
p24240
asS'wheel'
p24241
(lp24242
S'wheels'
p24243
aS'wheeling'
p24244
aS'wheeled'
p24245
aS'wheeled'
p24246
asS'blight'
p24247
(lp24248
S'blights'
p24249
aS'blighting'
p24250
aS'blighted'
p24251
aS'blighted'
p24252
asS'insolate'
p24253
(lp24254
S'insolates'
p24255
aS'insolating'
p24256
aS'insolated'
p24257
aS'insolated'
p24258
asS'nonpros'
p24259
(lp24260
S'nonprosses'
p24261
aS'nonprossing'
p24262
aS'nonprossed'
p24263
aS'nonprossed'
p24264
asS'joist'
p24265
(lp24266
S'joists'
p24267
aS'joisting'
p24268
aS'joisted'
p24269
aS'joisted'
p24270
asS'absorb'
p24271
(lp24272
S'absorbs'
p24273
aS'absorbing'
p24274
aS'absorbed'
p24275
aS'absorbed'
p24276
asS'proscribe'
p24277
(lp24278
S'proscribes'
p24279
aS'proscribing'
p24280
aS'proscribed'
p24281
aS'proscribed'
p24282
asS'singularize'
p24283
(lp24284
S'singularizes'
p24285
aS'singularizing'
p24286
aS'singularized'
p24287
aS'singularized'
p24288
asS'effect'
p24289
(lp24290
S'effects'
p24291
aS'effecting'
p24292
aS'effected'
p24293
aS'effected'
p24294
asS'overset'
p24295
(lp24296
S'oversets'
p24297
aS'oversetting'
p24298
aS'overset'
p24299
aS'overset'
p24300
asS'oversew'
p24301
(lp24302
S'oversews'
p24303
aS'oversewing'
p24304
aS'oversewed'
p24305
aS'oversewn'
p24306
asS'rift'
p24307
(lp24308
S'rifts'
p24309
aS'rifting'
p24310
aS'rifted'
p24311
aS'rifted'
p24312
asS'weld'
p24313
(lp24314
S'welds'
p24315
aS'welding'
p24316
aS'welded'
p24317
aS'welded'
p24318
asS'intercede'
p24319
(lp24320
S'intercedes'
p24321
aS'interceding'
p24322
aS'interceded'
p24323
aS'interceded'
p24324
asS'glower'
p24325
(lp24326
S'glowers'
p24327
aS'glowering'
p24328
aS'glowered'
p24329
aS'glowered'
p24330
asS'universalize'
p24331
(lp24332
S'universalizes'
p24333
aS'universalizing'
p24334
aS'universalized'
p24335
aS'universalized'
p24336
asS'well'
p24337
(lp24338
S'wells'
p24339
aS'welling'
p24340
aS'welled'
p24341
aS'welled'
p24342
asS'scunge'
p24343
(lp24344
S'scunges'
p24345
aS'scunging'
p24346
aS'scunged'
p24347
aS'scunged'
p24348
asS'drone'
p24349
(lp24350
S'drones'
p24351
aS'droning'
p24352
aS'droned'
p24353
aS'droned'
p24354
asS'welt'
p24355
(lp24356
S'welts'
p24357
aS'welting'
p24358
aS'welted'
p24359
aS'welted'
p24360
asS'mottle'
p24361
(lp24362
S'mottles'
p24363
aS'mottling'
p24364
aS'mottled'
p24365
aS'mottled'
p24366
asS'barr_e'
p24367
(lp24368
S'barr_ing'
p24369
aS'barr_ed'
p24370
aS'barr_ed'
p24371
asS'wee-wee'
p24372
(lp24373
S'wee-wees'
p24374
aS'wee-weeing'
p24375
aS'wee-weed'
p24376
aS'wee-weed'
p24377
asS'restore'
p24378
(lp24379
S'restores'
p24380
aS'restoring'
p24381
aS'restored'
p24382
aS'restored'
p24383
asS'discord'
p24384
(lp24385
S'discords'
p24386
aS'discording'
p24387
aS'discorded'
p24388
aS'discorded'
p24389
asS'dose'
p24390
(lp24391
S'doses'
p24392
aS'dosing'
p24393
aS'dosed'
p24394
aS'dosed'
p24395
asS'doss'
p24396
(lp24397
S'dosses'
p24398
aS'dossing'
p24399
aS'dossed'
p24400
aS'dossed'
p24401
asS'snicker'
p24402
(lp24403
S'snickers'
p24404
aS'snickering'
p24405
aS'snickered'
p24406
aS'snickered'
p24407
asS'outvote'
p24408
(lp24409
S'outvotes'
p24410
aS'outvoting'
p24411
aS'outvoted'
p24412
aS'outvoted'
p24413
asS'mitre'
p24414
(lp24415
S'mitres'
p24416
aS'mitring'
p24417
aS'mitred'
p24418
aS'mitred'
p24419
asS'ensanguine'
p24420
(lp24421
S'ensanguines'
p24422
aS'ensanguining'
p24423
aS'ensanguined'
p24424
aS'ensanguined'
p24425
asS'warrant'
p24426
(lp24427
S'warrants'
p24428
aS'warranting'
p24429
aS'warranted'
p24430
aS'warranted'
p24431
asS'kick'
p24432
(lp24433
S'kicks'
p24434
aS'kicking'
p24435
aS'kicked'
p24436
aS'kicked'
p24437
asS'canter'
p24438
(lp24439
sS'kick-start'
p24440
(lp24441
S'kick-starts'
p24442
aS'kick-starting'
p24443
aS'kick-started'
p24444
aS'kick-started'
p24445
asS'fate'
p24446
(lp24447
S'fates'
p24448
aS'fating'
p24449
aS'fated'
p24450
aS'fated'
p24451
asS'interlap'
p24452
(lp24453
S'interlaps'
p24454
aS'interlapping'
p24455
aS'interlapped'
p24456
aS'interlapped'
p24457
asS'burden'
p24458
(lp24459
S'burdens'
p24460
aS'burdening'
p24461
aS'burdened'
p24462
aS'burdened'
p24463
asS'interlay'
p24464
(lp24465
S'interlays'
p24466
aS'interlaying'
p24467
aS'interlaid'
p24468
aS'interlaid'
p24469
asS'candy'
p24470
(lp24471
S'candies'
p24472
aS'candying'
p24473
aS'candied'
p24474
aS'candied'
p24475
asS'tipple'
p24476
(lp24477
S'tipples'
p24478
aS'tippling'
p24479
aS'tippled'
p24480
aS'tippled'
p24481
asS'lose'
p24482
(lp24483
S'loses'
p24484
aS'losing'
p24485
aS'lost'
p24486
aS'lost'
p24487
asS'divest'
p24488
(lp24489
S'divests'
p24490
aS'divesting'
p24491
aS'divested'
p24492
aS'divested'
p24493
asS'recrystallize'
p24494
(lp24495
S'recrystallizes'
p24496
aS'recrystallizing'
p24497
aS'recrystallized'
p24498
aS'recrystallized'
p24499
asS'page'
p24500
(lp24501
S'pages'
p24502
aS'paging'
p24503
aS'paged'
p24504
aS'paged'
p24505
asS'shed'
p24506
(lp24507
S'sheds'
p24508
aS'shedding'
p24509
aS'shed'
p24510
aS'shed'
p24511
asS'glare'
p24512
(lp24513
S'glares'
p24514
aS'glaring'
p24515
aS'glared'
p24516
aS'glared'
p24517
asS'startle'
p24518
(lp24519
S'startles'
p24520
aS'startling'
p24521
aS'startled'
p24522
aS'startled'
p24523
asS'twitter'
p24524
(lp24525
S'twitters'
p24526
aS'twittering'
p24527
aS'twittered'
p24528
aS'twittered'
p24529
asS'scuffle'
p24530
(lp24531
S'scuffles'
p24532
aS'scuffling'
p24533
aS'scuffled'
p24534
aS'scuffled'
p24535
asS'motive'
p24536
(lp24537
S'motives'
p24538
aS'motiving'
p24539
aS'motived'
p24540
aS'motived'
p24541
asS'shew'
p24542
(lp24543
S'shews'
p24544
aS'shewing'
p24545
aS'shewed'
p24546
aS'shewn'
p24547
asS'profiteer'
p24548
(lp24549
S'profiteers'
p24550
aS'profiteering'
p24551
aS'profiteered'
p24552
aS'profiteered'
p24553
asS'fumigate'
p24554
(lp24555
S'fumigates'
p24556
aS'fumigating'
p24557
aS'fumigated'
p24558
aS'fumigated'
p24559
asS'mizzle'
p24560
(lp24561
S'mizzles'
p24562
aS'mizzling'
p24563
aS'mizzled'
p24564
aS'mizzled'
p24565
asS'home'
p24566
(lp24567
S'homes'
p24568
aS'homing'
p24569
aS'homed'
p24570
aS'homed'
p24571
asS'peter'
p24572
(lp24573
S'peters'
p24574
aS'petering'
p24575
aS'petered'
p24576
aS'petered'
p24577
asS'drizzle'
p24578
(lp24579
S'drizzles'
p24580
aS'drizzling'
p24581
aS'drizzled'
p24582
aS'drizzled'
p24583
asS'pinpoint'
p24584
(lp24585
sS'overlay'
p24586
(lp24587
S'overlays'
p24588
aS'overlaying'
p24589
aS'overlaid'
p24590
aS'overlaid'
p24591
asS'swarth'
p24592
(lp24593
S'swarths'
p24594
aS'swarthing'
p24595
aS'swarthed'
p24596
aS'swarthed'
p24597
asS'upswing'
p24598
(lp24599
S'upswings'
p24600
aS'upswinging'
p24601
aS'upswung'
p24602
aS'upswung'
p24603
asS'overlap'
p24604
(lp24605
S'overlaps'
p24606
aS'overlapping'
p24607
aS'overlapped'
p24608
aS'overlapped'
p24609
asS'outgo'
p24610
(lp24611
S'outgoes'
p24612
aS'outgoing'
p24613
aS'outwent'
p24614
aS'outgone'
p24615
asS'percolate'
p24616
(lp24617
S'percolates'
p24618
aS'percolating'
p24619
aS'percolated'
p24620
aS'percolated'
p24621
asS'radiotelephone'
p24622
(lp24623
S'radiotelephones'
p24624
aS'radiotelephoning'
p24625
aS'radiotelephoned'
p24626
aS'radiotelephoned'
p24627
asS'miscreate'
p24628
(lp24629
S'miscreates'
p24630
aS'miscreating'
p24631
aS'miscreated'
p24632
aS'miscreated'
p24633
asS'prerecord'
p24634
(lp24635
S'prerecords'
p24636
aS'prerecording'
p24637
aS'prerecorded'
p24638
aS'prerecorded'
p24639
asS'disentangle'
p24640
(lp24641
S'disentangles'
p24642
aS'disentangling'
p24643
aS'disentangled'
p24644
aS'disentangled'
p24645
asS'superabound'
p24646
(lp24647
S'superabounds'
p24648
aS'superabounding'
p24649
aS'superabounded'
p24650
aS'superabounded'
p24651
asS'standardize'
p24652
(lp24653
S'standardizes'
p24654
aS'standardizing'
p24655
aS'standardized'
p24656
aS'standardized'
p24657
asS'offset'
p24658
(lp24659
S'offsets'
p24660
aS'offsetting'
p24661
aS'offset'
p24662
aS'offset'
p24663
asS'refuge'
p24664
(lp24665
S'refuges'
p24666
aS'refuging'
p24667
aS'refuged'
p24668
aS'refuged'
p24669
asS'eradiate'
p24670
(lp24671
S'eradiates'
p24672
aS'eradiating'
p24673
aS'eradiated'
p24674
aS'eradiated'
p24675
asS'spot-weld'
p24676
(lp24677
S'spot-welds'
p24678
aS'spot-welding'
p24679
aS'spot-welded'
p24680
aS'spot-welded'
p24681
asS'twirl'
p24682
(lp24683
S'twirls'
p24684
aS'twirling'
p24685
aS'twirled'
p24686
aS'twirled'
p24687
asS'formicate'
p24688
(lp24689
S'formicates'
p24690
aS'formicating'
p24691
aS'formicated'
p24692
aS'formicated'
p24693
asS'epitomize'
p24694
(lp24695
S'epitomizes'
p24696
aS'epitomizing'
p24697
aS'epitomized'
p24698
aS'epitomized'
p24699
asS'fuddle'
p24700
(lp24701
S'fuddles'
p24702
aS'fuddling'
p24703
aS'fuddled'
p24704
aS'fuddled'
p24705
asS'tongue'
p24706
(lp24707
S'tongues'
p24708
aS'tonguing'
p24709
aS'tongued'
p24710
aS'tongued'
p24711
asS'dub'
p24712
(lp24713
S'dubs'
p24714
aS'dubbing'
p24715
aS'dubbed'
p24716
aS'dubbed'
p24717
asS'attaint'
p24718
(lp24719
S'attaints'
p24720
aS'attainting'
p24721
aS'attainted'
p24722
aS'attainted'
p24723
asS'articulate'
p24724
(lp24725
S'articulates'
p24726
aS'articulating'
p24727
aS'articulated'
p24728
aS'articulated'
p24729
asS'black-lead'
p24730
(lp24731
S'black-leads'
p24732
aS'black-leading'
p24733
aS'black-leaded'
p24734
aS'black-leaded'
p24735
asS'congregate'
p24736
(lp24737
S'congregates'
p24738
aS'congregating'
p24739
aS'congregated'
p24740
aS'congregated'
p24741
asS'holpen'
p24742
(lp24743
S'holpens'
p24744
aS'holpening'
p24745
aS'holpened'
p24746
aS'holpened'
p24747
asS'miscount'
p24748
(lp24749
S'miscounts'
p24750
aS'miscounting'
p24751
aS'miscounted'
p24752
aS'miscounted'
p24753
asS'veil'
p24754
(lp24755
S'veils'
p24756
aS'veiling'
p24757
aS'veiled'
p24758
aS'veiled'
p24759
asS'jink'
p24760
(lp24761
S'jinks'
p24762
aS'jinking'
p24763
aS'jinked'
p24764
aS'jinked'
p24765
asS'jinx'
p24766
(lp24767
S'jinxes'
p24768
aS'jinxing'
p24769
aS'jinxed'
p24770
aS'jinxed'
p24771
asS'backhand'
p24772
(lp24773
S'backhands'
p24774
aS'backhanding'
p24775
aS'backhanded'
p24776
aS'backhanded'
p24777
asS'elate'
p24778
(lp24779
S'elates'
p24780
aS'elating'
p24781
aS'elated'
p24782
aS'elated'
p24783
asS'revalue'
p24784
(lp24785
S'revalues'
p24786
aS'revaluing'
p24787
aS'revalued'
p24788
aS'revalued'
p24789
asS'seise'
p24790
(lp24791
S'seises'
p24792
aS'seising'
p24793
aS'seised'
p24794
aS'seised'
p24795
asS'evacuate'
p24796
(lp24797
S'evacuates'
p24798
aS'evacuating'
p24799
aS'evacuated'
p24800
aS'evacuated'
p24801
asS'admonish'
p24802
(lp24803
S'admonishes'
p24804
aS'admonishing'
p24805
aS'admonished'
p24806
aS'admonished'
p24807
asS'gain'
p24808
(lp24809
S'gains'
p24810
aS'gaining'
p24811
aS'gained'
p24812
aS'gained'
p24813
asS'wince'
p24814
(lp24815
S'winces'
p24816
aS'wincing'
p24817
aS'winced'
p24818
aS'winced'
p24819
asS'overflow'
p24820
(lp24821
S'overflows'
p24822
aS'overflowing'
p24823
aS'overflowed'
p24824
aS'overflowed'
p24825
asS'ear'
p24826
(lp24827
S'ears'
p24828
aS'earing'
p24829
aS'eared'
p24830
aS'eared'
p24831
asS'eat'
p24832
(lp24833
S'eats'
p24834
aS'eating'
p24835
aS'ate'
p24836
aS'eaten'
p24837
asS'badmouth'
p24838
(lp24839
S'badmouths'
p24840
aS'badmouthing'
p24841
aS'badmouthed'
p24842
aS'badmouthed'
p24843
asS'denominate'
p24844
(lp24845
S'denominates'
p24846
aS'denominating'
p24847
aS'denominated'
p24848
aS'denominated'
p24849
asS'outgun'
p24850
(lp24851
S'outguns'
p24852
aS'outgunning'
p24853
aS'outgunned'
p24854
aS'outgunned'
p24855
asS'unlock'
p24856
(lp24857
S'unlocks'
p24858
aS'unlocking'
p24859
aS'unlocked'
p24860
aS'unlocked'
p24861
asS'pinprick'
p24862
(lp24863
S'pinpricks'
p24864
aS'pinpricking'
p24865
aS'pinpricked'
p24866
aS'pinpricked'
p24867
asS'rootle'
p24868
(lp24869
S'rootles'
p24870
aS'rootling'
p24871
aS'rootled'
p24872
aS'rootled'
p24873
asS'limit'
p24874
(lp24875
S'limits'
p24876
aS'limiting'
p24877
aS'limited'
p24878
aS'limited'
p24879
asS'piece'
p24880
(lp24881
S'pieces'
p24882
aS'piecing'
p24883
aS'pieced'
p24884
aS'pieced'
p24885
asS'display'
p24886
(lp24887
S'displays'
p24888
aS'displaying'
p24889
aS'displayed'
p24890
aS'displayed'
p24891
asS'signet'
p24892
(lp24893
S'signets'
p24894
aS'signeting'
p24895
aS'signeted'
p24896
aS'signeted'
p24897
asS'sponsor'
p24898
(lp24899
S'sponsors'
p24900
aS'sponsoring'
p24901
aS'sponsored'
p24902
aS'sponsored'
p24903
asS'steeplechase'
p24904
(lp24905
S'steeplechases'
p24906
aS'steeplechasing'
p24907
aS'steeplechased'
p24908
aS'steeplechased'
p24909
asS'devise'
p24910
(lp24911
S'devises'
p24912
aS'devising'
p24913
aS'devised'
p24914
aS'devised'
p24915
asS'hinny'
p24916
(lp24917
S'hinnies'
p24918
aS'hinnying'
p24919
aS'hinnied'
p24920
aS'hinnied'
p24921
asS'horsewhip'
p24922
(lp24923
S'horsewhips'
p24924
aS'horsewhipping'
p24925
aS'horsewhipped'
p24926
aS'horsewhipped'
p24927
asS'insoul'
p24928
(lp24929
S'insouls'
p24930
aS'insouling'
p24931
aS'insouled'
p24932
aS'insouled'
p24933
asS'Teletype'
p24934
(lp24935
S'Teletypes'
p24936
aS'Teletyping'
p24937
aS'Teletyped'
p24938
aS'Teletyped'
p24939
asS'baksheesh'
p24940
(lp24941
S'baksheeshes'
p24942
aS'baksheeshing'
p24943
aS'baksheeshed'
p24944
aS'baksheeshed'
p24945
asS'folio'
p24946
(lp24947
S'folios'
p24948
aS'folioing'
p24949
aS'folioed'
p24950
aS'folioed'
p24951
asS'contest'
p24952
(lp24953
S'contests'
p24954
aS'contesting'
p24955
aS'contested'
p24956
aS'contested'
p24957
asS'humidify'
p24958
(lp24959
S'humidifies'
p24960
aS'humidifying'
p24961
aS'humidified'
p24962
aS'humidified'
p24963
asS'fodder'
p24964
(lp24965
S'fodders'
p24966
aS'foddering'
p24967
aS'foddered'
p24968
aS'foddered'
p24969
asS'star'
p24970
(lp24971
S'stars'
p24972
aS'starring'
p24973
aS'starred'
p24974
aS'starred'
p24975
asS'lubricate'
p24976
(lp24977
S'lubricates'
p24978
aS'lubricating'
p24979
aS'lubricated'
p24980
aS'lubricated'
p24981
asS'stay'
p24982
(lp24983
S'stays'
p24984
aS'staying'
p24985
aS'stayed'
p24986
aS'stayed'
p24987
asS'foin'
p24988
(lp24989
S'foins'
p24990
aS'foining'
p24991
aS'foined'
p24992
aS'foined'
p24993
asS'dragoon'
p24994
(lp24995
S'dragoons'
p24996
aS'dragooning'
p24997
aS'dragooned'
p24998
aS'dragooned'
p24999
asS'foil'
p25000
(lp25001
S'foils'
p25002
aS'foiling'
p25003
aS'foiled'
p25004
aS'foiled'
p25005
asS'stab'
p25006
(lp25007
S'stabs'
p25008
aS'stabbing'
p25009
aS'stabbed'
p25010
aS'stabbed'
p25011
asS'entoil'
p25012
(lp25013
S'entoils'
p25014
aS'entoiling'
p25015
aS'entoiled'
p25016
aS'entoiled'
p25017
asS'photosensitize'
p25018
(lp25019
S'photosensitizes'
p25020
aS'photosensitizing'
p25021
aS'photosensitized'
p25022
aS'photosensitized'
p25023
asS'appoint'
p25024
(lp25025
S'appoints'
p25026
aS'appointing'
p25027
aS'appointed'
p25028
aS'appointed'
p25029
asS'shunt'
p25030
(lp25031
S'shunts'
p25032
aS'shunting'
p25033
aS'shunted'
p25034
aS'shunted'
p25035
asS'fertilize'
p25036
(lp25037
S'fertilizes'
p25038
aS'fertilizing'
p25039
aS'fertilized'
p25040
aS'fertilized'
p25041
asS'unlive'
p25042
(lp25043
S'unlives'
p25044
aS'unliving'
p25045
aS'unlived'
p25046
aS'unlived'
p25047
asS'inset'
p25048
(lp25049
S'insets'
p25050
aS'insetting'
p25051
aS'inset'
p25052
aS'inset'
p25053
asS'overleap'
p25054
(lp25055
S'overleaps'
p25056
aS'overleaping'
p25057
aS'overleapt'
p25058
aS'overleapt'
p25059
asS'pardon'
p25060
(lp25061
S'pardons'
p25062
aS'pardoning'
p25063
aS'pardoned'
p25064
aS'pardoned'
p25065
asS'predestine'
p25066
(lp25067
S'predestines'
p25068
aS'predestining'
p25069
aS'predestined'
p25070
aS'predestined'
p25071
asS'unfurl'
p25072
(lp25073
S'unfurls'
p25074
aS'unfurling'
p25075
aS'unfurled'
p25076
aS'unfurled'
p25077
asS'single-step'
p25078
(lp25079
S'single-steps'
p25080
aS'single-stepping'
p25081
aS'single-stepped'
p25082
aS'single-stepped'
p25083
asS'protest'
p25084
(lp25085
S'protests'
p25086
aS'protesting'
p25087
aS'protested'
p25088
aS'protested'
p25089
asS'psycho-analyse'
p25090
(lp25091
S'psycho-analyses'
p25092
aS'psycho-analysing'
p25093
aS'psycho-analysed'
p25094
aS'psycho-analysed'
p25095
asS'Romanize'
p25096
(lp25097
S'Romanizes'
p25098
aS'Romanizing'
p25099
aS'Romanized'
p25100
aS'Romanized'
p25101
asS'rampart'
p25102
(lp25103
S'ramparts'
p25104
aS'ramparting'
p25105
aS'ramparted'
p25106
aS'ramparted'
p25107
asS'toenail'
p25108
(lp25109
S'toenails'
p25110
aS'toenailing'
p25111
aS'toenailed'
p25112
aS'toenailed'
p25113
asS'captain'
p25114
(lp25115
S'captains'
p25116
aS'captaining'
p25117
aS'captained'
p25118
aS'captained'
p25119
asS'exenterate'
p25120
(lp25121
S'exenterates'
p25122
aS'exenterating'
p25123
aS'exenterated'
p25124
aS'exenterated'
p25125
asS'swag'
p25126
(lp25127
S'swags'
p25128
aS'swagging'
p25129
aS'swagged'
p25130
aS'swagged'
p25131
asS'calculate'
p25132
(lp25133
S'calculates'
p25134
aS'calculating'
p25135
aS'calculated'
p25136
aS'calculated'
p25137
asS'swab'
p25138
(lp25139
S'swabs'
p25140
aS'swabbing'
p25141
aS'swabbed'
p25142
aS'swabbed'
p25143
asS'disembarrass'
p25144
(lp25145
S'disembarrasses'
p25146
aS'disembarrassing'
p25147
aS'disembarrassed'
p25148
aS'disembarrassed'
p25149
asS'swat'
p25150
(lp25151
S'swats'
p25152
aS'swatting'
p25153
aS'swatted'
p25154
aS'swatted'
p25155
asS'unroll'
p25156
(lp25157
S'unrolls'
p25158
aS'unrolling'
p25159
aS'unrolled'
p25160
aS'unrolled'
p25161
asS'swap'
p25162
(lp25163
S'swaps'
p25164
aS'swapping'
p25165
ag19794
aS'swapped'
p25166
asS'recycle'
p25167
(lp25168
S'recycles'
p25169
aS'recycling'
p25170
aS'recycled'
p25171
aS'recycled'
p25172
asS'sway'
p25173
(lp25174
S'sways'
p25175
aS'swaying'
p25176
aS'swayed'
p25177
aS'swayed'
p25178
asS'collaborate'
p25179
(lp25180
S'collaborates'
p25181
aS'collaborating'
p25182
aS'collaborated'
p25183
aS'collaborated'
p25184
asS'rescue'
p25185
(lp25186
S'rescues'
p25187
aS'rescuing'
p25188
aS'rescued'
p25189
aS'rescued'
p25190
asS'void'
p25191
(lp25192
S'voids'
p25193
aS'voiding'
p25194
aS'voided'
p25195
aS'voided'
p25196
asS'untruss'
p25197
(lp25198
S'untrusses'
p25199
aS'untrussing'
p25200
aS'untrussed'
p25201
aS'untrussed'
p25202
asS'redact'
p25203
(lp25204
S'redacts'
p25205
aS'redacting'
p25206
aS'redacted'
p25207
aS'redacted'
p25208
asS'smack'
p25209
(lp25210
S'smacks'
p25211
aS'smacking'
p25212
aS'smacked'
p25213
aS'smacked'
p25214
asS'govern'
p25215
(lp25216
S'governs'
p25217
aS'governing'
p25218
aS'governed'
p25219
aS'governed'
p25220
asS'affect'
p25221
(lp25222
S'affects'
p25223
aS'affecting'
p25224
aS'affected'
p25225
aS'affected'
p25226
asS'sleek'
p25227
(lp25228
S'sleeks'
p25229
aS'sleeking'
p25230
aS'sleeked'
p25231
aS'sleeked'
p25232
asS'embroider'
p25233
(lp25234
S'embroiders'
p25235
aS'embroidering'
p25236
aS'embroidered'
p25237
aS'embroidered'
p25238
asS'indurate'
p25239
(lp25240
S'indurates'
p25241
aS'indurating'
p25242
aS'indurated'
p25243
aS'indurated'
p25244
asS'propend'
p25245
(lp25246
S'propends'
p25247
aS'propending'
p25248
aS'propended'
p25249
aS'propended'
p25250
asS'boohoo'
p25251
(lp25252
S'boohoos'
p25253
aS'boohooing'
p25254
aS'boohooed'
p25255
aS'boohooed'
p25256
asS'vector'
p25257
(lp25258
S'vectors'
p25259
aS'vectoring'
p25260
aS'vectored'
p25261
aS'vectored'
p25262
asS'enhance'
p25263
(lp25264
S'enhances'
p25265
aS'enhancing'
p25266
aS'enhanced'
p25267
aS'enhanced'
p25268
asS'interfile'
p25269
(lp25270
S'interfiles'
p25271
aS'interfiling'
p25272
aS'interfiled'
p25273
aS'interfiled'
p25274
asS'rollick'
p25275
(lp25276
S'rollicks'
p25277
aS'rollicking'
p25278
aS'rollicked'
p25279
aS'rollicked'
p25280
asS'force'
p25281
(lp25282
S'forces'
p25283
aS'forcing'
p25284
aS'forced'
p25285
aS'forced'
p25286
asS'quilt'
p25287
(lp25288
S'quilts'
p25289
aS'quilting'
p25290
aS'quilted'
p25291
aS'quilted'
p25292
asS'lustre'
p25293
(lp25294
S'lustres'
p25295
aS'lustring'
p25296
aS'lustred'
p25297
aS'lustred'
p25298
asS'colligate'
p25299
(lp25300
S'colligates'
p25301
aS'colligating'
p25302
aS'colligated'
p25303
aS'colligated'
p25304
asS'crave'
p25305
(lp25306
S'craves'
p25307
aS'craving'
p25308
aS'craved'
p25309
aS'craved'
p25310
asS'yack'
p25311
(lp25312
S'yacks'
p25313
aS'yacking'
p25314
aS'yacked'
p25315
aS'yacked'
p25316
asS'subordinate'
p25317
(lp25318
S'subordinates'
p25319
aS'subordinating'
p25320
aS'subordinated'
p25321
aS'subordinated'
p25322
asS'kidnap'
p25323
(lp25324
S'kidnaps'
p25325
aS'kidnapping'
p25326
aS'kidnapped'
p25327
aS'kidnapped'
p25328
asS'quill'
p25329
(lp25330
S'quills'
p25331
aS'quilling'
p25332
aS'quilled'
p25333
aS'quilled'
p25334
asS'even'
p25335
(lp25336
S'evens'
p25337
aS'evening'
p25338
aS'evened'
p25339
aS'evened'
p25340
asS'coquet'
p25341
(lp25342
S'coquets'
p25343
aS'coquetting'
p25344
aS'coquetted'
p25345
aS'coquetted'
p25346
asS'pace'
p25347
(lp25348
S'paces'
p25349
aS'pacing'
p25350
aS'paced'
p25351
aS'paced'
p25352
asS'unbrace'
p25353
(lp25354
S'unbraces'
p25355
aS'unbracing'
p25356
aS'unbraced'
p25357
aS'unbraced'
p25358
asS'blow-wave'
p25359
(lp25360
S'blow-waves'
p25361
aS'blow-waving'
p25362
aS'blow-waved'
p25363
aS'blow-waved'
p25364
asS'siege'
p25365
(lp25366
S'sieges'
p25367
aS'sieging'
p25368
aS'sieged'
p25369
aS'sieged'
p25370
asS'haze'
p25371
(lp25372
S'hazes'
p25373
aS'hazing'
p25374
aS'hazed'
p25375
aS'hazed'
p25376
asS'sunder'
p25377
(lp25378
S'sunders'
p25379
aS'sundering'
p25380
aS'sundered'
p25381
aS'sundered'
p25382
asS'net'
p25383
(lp25384
S'nets'
p25385
aS'netting'
p25386
aS'netted'
p25387
aS'netted'
p25388
asS'battledore'
p25389
(lp25390
S'battledores'
p25391
aS'battledoring'
p25392
aS'battledored'
p25393
aS'battledored'
p25394
asS'endanger'
p25395
(lp25396
S'endangers'
p25397
aS'endangering'
p25398
aS'endangered'
p25399
aS'endangered'
p25400
asS'mew'
p25401
(lp25402
S'mews'
p25403
aS'mewing'
p25404
aS'mewed'
p25405
aS'mewed'
p25406
asS'disoblige'
p25407
(lp25408
S'disobliges'
p25409
aS'disobliging'
p25410
aS'disobliged'
p25411
aS'disobliged'
p25412
asS'nosedive'
p25413
(lp25414
S'nosedives'
p25415
aS'nosediving'
p25416
aS'nosedived'
p25417
aS'nosedived'
p25418
asS'dree'
p25419
(lp25420
S'drees'
p25421
aS'dreeing'
p25422
aS'dreed'
p25423
aS'dreed'
p25424
asS'interpret'
p25425
(lp25426
S'interprets'
p25427
aS'interpreting'
p25428
aS'interpreted'
p25429
aS'interpreted'
p25430
asS'depasture'
p25431
(lp25432
S'depastures'
p25433
aS'depasturing'
p25434
aS'depastured'
p25435
aS'depastured'
p25436
asS'taper'
p25437
(lp25438
S'tapers'
p25439
aS'tapering'
p25440
aS'tapered'
p25441
aS'tapered'
p25442
asS'buckler'
p25443
(lp25444
S'bucklers'
p25445
aS'bucklering'
p25446
aS'bucklered'
p25447
aS'bucklered'
p25448
asS'harass'
p25449
(lp25450
S'harasses'
p25451
aS'harassing'
p25452
aS'harassed'
p25453
aS'harassed'
p25454
asS'permit'
p25455
(lp25456
S'permits'
p25457
aS'permitting'
p25458
aS'permitted'
p25459
aS'permitted'
p25460
asS'fleer'
p25461
(lp25462
S'fleers'
p25463
aS'fleering'
p25464
aS'fleered'
p25465
aS'fleered'
p25466
asS'intrigue'
p25467
(lp25468
S'intrigues'
p25469
aS'intriguing'
p25470
aS'intrigued'
p25471
aS'intrigued'
p25472
asS'excoriate'
p25473
(lp25474
S'excoriates'
p25475
aS'excoriating'
p25476
aS'excoriated'
p25477
aS'excoriated'
p25478
asS'prelect'
p25479
(lp25480
S'prelects'
p25481
aS'prelecting'
p25482
aS'prelected'
p25483
aS'prelected'
p25484
asS'hunch'
p25485
(lp25486
S'hunches'
p25487
aS'hunching'
p25488
aS'hunched'
p25489
aS'hunched'
p25490
asS'campaign'
p25491
(lp25492
S'campaigns'
p25493
aS'campaigning'
p25494
aS'campaigned'
p25495
aS'campaigned'
p25496
asS'bayonet'
p25497
(lp25498
S'bayonets'
p25499
aS'bayoneting'
p25500
aS'bayoneted'
p25501
aS'bayoneted'
p25502
asS'dehumanize'
p25503
(lp25504
S'dehumanizes'
p25505
aS'dehumanizing'
p25506
aS'dehumanized'
p25507
aS'dehumanized'
p25508
asS'oxygenize'
p25509
(lp25510
S'oxygenizes'
p25511
aS'oxygenizing'
p25512
aS'oxygenized'
p25513
aS'oxygenized'
p25514
asS'elude'
p25515
(lp25516
S'eludes'
p25517
aS'eluding'
p25518
aS'eluded'
p25519
aS'eluded'
p25520
asS'immix'
p25521
(lp25522
S'immixes'
p25523
aS'immixing'
p25524
aS'immixed'
p25525
aS'immixed'
p25526
asS'worrit'
p25527
(lp25528
S'worrits'
p25529
aS'worriting'
p25530
aS'worrited'
p25531
aS'worrited'
p25532
asS'overstuff'
p25533
(lp25534
S'overstuffs'
p25535
aS'overstuffing'
p25536
aS'overstuffed'
p25537
aS'overstuffed'
p25538
asS'welch'
p25539
(lp25540
S'welches'
p25541
aS'welching'
p25542
aS'welched'
p25543
aS'welched'
p25544
asS'remould'
p25545
(lp25546
S'remoulds'
p25547
aS'remoulding'
p25548
aS'remoulded'
p25549
aS'remoulded'
p25550
asS'circumvent'
p25551
(lp25552
S'circumvents'
p25553
aS'circumventing'
p25554
aS'circumvented'
p25555
aS'circumvented'
p25556
asS'landscape'
p25557
(lp25558
S'landscapes'
p25559
aS'landscaping'
p25560
aS'landscaped'
p25561
aS'landscaped'
p25562
asS'mooch'
p25563
(lp25564
S'mooches'
p25565
aS'mooching'
p25566
aS'mooched'
p25567
aS'mooched'
p25568
asS'overhear'
p25569
(lp25570
S'overhears'
p25571
aS'overhearing'
p25572
aS'overheard'
p25573
aS'overheard'
p25574
asS'overheat'
p25575
(lp25576
S'overheats'
p25577
aS'overheating'
p25578
aS'overheated'
p25579
aS'overheated'
p25580
asS'embrangle'
p25581
(lp25582
S'embrangles'
p25583
aS'embrangling'
p25584
aS'embrangled'
p25585
aS'embrangled'
p25586
asS'calk'
p25587
(lp25588
S'calks'
p25589
aS'calking'
p25590
aS'calked'
p25591
aS'calked'
p25592
asS'call'
p25593
(lp25594
S'calls'
p25595
aS'calling'
p25596
aS'called'
p25597
aS'called'
p25598
asS'calm'
p25599
(lp25600
S'calms'
p25601
aS'calming'
p25602
aS'calmed'
p25603
aS'calmed'
p25604
asS'intrust'
p25605
(lp25606
S'intrusts'
p25607
aS'intrusting'
p25608
aS'intrusted'
p25609
aS'intrusted'
p25610
asS'recommend'
p25611
(lp25612
S'recommends'
p25613
aS'recommending'
p25614
aS'recommended'
p25615
aS'recommended'
p25616
asS'survive'
p25617
(lp25618
S'survives'
p25619
aS'surviving'
p25620
aS'survived'
p25621
aS'survived'
p25622
asS'type'
p25623
(lp25624
S'types'
p25625
aS'typing'
p25626
aS'typed'
p25627
aS'typed'
p25628
asS'tell'
p25629
(lp25630
S'tells'
p25631
aS'telling'
p25632
aS'told'
p25633
aS'told'
p25634
asS'expose'
p25635
(lp25636
S'exposes'
p25637
aS'exposing'
p25638
aS'exposed'
p25639
aS'exposed'
p25640
asS'moulder'
p25641
(lp25642
S'moulders'
p25643
aS'mouldering'
p25644
aS'mouldered'
p25645
aS'mouldered'
p25646
asS'warp'
p25647
(lp25648
S'warps'
p25649
aS'warping'
p25650
aS'warped'
p25651
aS'warped'
p25652
asS'lunge'
p25653
(lp25654
S'lunges'
p25655
aS'lunging'
p25656
aS'lunged'
p25657
aS'lunged'
p25658
asS'warm'
p25659
(lp25660
S'warms'
p25661
aS'warming'
p25662
aS'warmed'
p25663
aS'warmed'
p25664
asS'bewray'
p25665
(lp25666
S'bewrays'
p25667
aS'bewraying'
p25668
aS'bewrayed'
p25669
aS'bewrayed'
p25670
asS'sparge'
p25671
(lp25672
S'sparges'
p25673
aS'sparging'
p25674
aS'sparged'
p25675
aS'sparged'
p25676
asS'ware'
p25677
(lp25678
S'wares'
p25679
aS'waring'
p25680
aS'wared'
p25681
aS'wared'
p25682
asS'blindfold'
p25683
(lp25684
S'blindfolds'
p25685
aS'blindfolding'
p25686
aS'blindfolded'
p25687
aS'blindfolded'
p25688
asS'prescind'
p25689
(lp25690
S'prescinds'
p25691
aS'prescinding'
p25692
aS'prescinded'
p25693
aS'prescinded'
p25694
asS'hoax'
p25695
(lp25696
S'hoaxes'
p25697
aS'hoaxing'
p25698
aS'hoaxed'
p25699
aS'hoaxed'
p25700
asS'retouch'
p25701
(lp25702
S'retouches'
p25703
aS'retouching'
p25704
aS'retouched'
p25705
aS'retouched'
p25706
asS'restock'
p25707
(lp25708
S'restocks'
p25709
aS'restocking'
p25710
aS'restocked'
p25711
aS'restocked'
p25712
asS'roof'
p25713
(lp25714
S'roofs'
p25715
aS'roofing'
p25716
aS'roofed'
p25717
aS'roofed'
p25718
asS'worth'
p25719
(lp25720
S'worths'
p25721
aS'worthing'
p25722
aS'worthed'
p25723
aS'worthed'
p25724
asS'guise'
p25725
(lp25726
S'guises'
p25727
aS'guising'
p25728
aS'guised'
p25729
aS'guised'
p25730
asS'hansel'
p25731
(lp25732
S'hansels'
p25733
aS'hanseling'
p25734
aS'hanseled'
p25735
aS'hanseled'
p25736
asS'glac_e'
p25737
(lp25738
S'glac_es'
p25739
aS'glac_eing'
p25740
aS'glac_eed'
p25741
aS'glac_eed'
p25742
asS'endow'
p25743
(lp25744
S'endows'
p25745
aS'endowing'
p25746
aS'endowed'
p25747
aS'endowed'
p25748
asS'crosshatch'
p25749
(lp25750
S'crosshatches'
p25751
aS'crosshatching'
p25752
aS'crosshatched'
p25753
aS'crosshatched'
p25754
asS'defer'
p25755
(lp25756
S'defers'
p25757
aS'deferring'
p25758
aS'deferred'
p25759
aS'deferred'
p25760
asS'give'
p25761
(lp25762
S'gives'
p25763
aS'giving'
p25764
aS'gave'
p25765
aS'given'
p25766
asS'climax'
p25767
(lp25768
S'climaxes'
p25769
aS'climaxing'
p25770
aS'climaxed'
p25771
aS'climaxed'
p25772
asS'slenderize'
p25773
(lp25774
S'slenderizes'
p25775
aS'slenderizing'
p25776
aS'slenderized'
p25777
aS'slenderized'
p25778
asS'assent'
p25779
(lp25780
S'assents'
p25781
aS'assenting'
p25782
aS'assented'
p25783
aS'assented'
p25784
asS'lure'
p25785
(lp25786
S'luring'
p25787
aS'lured'
p25788
aS'lured'
p25789
asS'honey'
p25790
(lp25791
S'honeys'
p25792
aS'honeying'
p25793
aS'honied'
p25794
aS'honied'
p25795
asS'ready'
p25796
(lp25797
S'readies'
p25798
aS'readying'
p25799
aS'readied'
p25800
aS'readied'
p25801
asS'degenerate'
p25802
(lp25803
S'degenerates'
p25804
aS'degenerating'
p25805
aS'degenerated'
p25806
aS'degenerated'
p25807
asS'rig'
p25808
(lp25809
S'rigs'
p25810
aS'rigging'
p25811
aS'rigged'
p25812
aS'rigged'
p25813
asS'freshen'
p25814
(lp25815
S'freshens'
p25816
aS'freshening'
p25817
aS'freshened'
p25818
aS'freshened'
p25819
asS'loathe'
p25820
(lp25821
S'loathes'
p25822
aS'loathing'
p25823
aS'loathed'
p25824
aS'loathed'
p25825
asS'cross-fade'
p25826
(lp25827
S'cross-fades'
p25828
aS'cross-fading'
p25829
aS'cross-faded'
p25830
aS'cross-faded'
p25831
asS'strow'
p25832
(lp25833
S'strows'
p25834
aS'strowing'
p25835
aS'strowed'
p25836
aS'strowed'
p25837
asS'sideline'
p25838
(lp25839
S'sidelines'
p25840
aS'sidelining'
p25841
aS'sidelined'
p25842
aS'sidelined'
p25843
asS'strop'
p25844
(lp25845
S'strops'
p25846
aS'stropping'
p25847
aS'stropped'
p25848
aS'stropped'
p25849
asS'fribble'
p25850
(lp25851
S'fribbles'
p25852
aS'fribbling'
p25853
aS'fribbled'
p25854
aS'fribbled'
p25855
asS'raddle'
p25856
(lp25857
S'raddles'
p25858
aS'raddling'
p25859
aS'raddled'
p25860
aS'raddled'
p25861
asS'rib'
p25862
(lp25863
S'ribs'
p25864
aS'ribbing'
p25865
aS'ribbed'
p25866
aS'ribbed'
p25867
asS'stroy'
p25868
(lp25869
S'stroys'
p25870
aS'stroying'
p25871
aS'stroyed'
p25872
aS'stroyed'
p25873
asS'salivate'
p25874
(lp25875
S'salivates'
p25876
aS'salivating'
p25877
aS'salivated'
p25878
aS'salivated'
p25879
asS'sate'
p25880
(lp25881
S'sates'
p25882
aS'sating'
p25883
aS'sated'
p25884
aS'sated'
p25885
asS'egotrip'
p25886
(lp25887
S"egotrips'"
p25888
aS'egotripping'
p25889
aS'egotripped'
p25890
aS'egotripped'
p25891
asS'answer'
p25892
(lp25893
S'answers'
p25894
aS'answering'
p25895
aS'answered'
p25896
aS'answered'
p25897
asS'bedight'
p25898
(lp25899
S'bedights'
p25900
aS'bedighting'
p25901
aS'bedighted'
p25902
aS'bedighted'
p25903
asS'construe'
p25904
(lp25905
S'construes'
p25906
aS'construing'
p25907
aS'construed'
p25908
aS'construed'
p25909
asS'disassemble'
p25910
(lp25911
S'disassembles'
p25912
aS'disassembling'
p25913
aS'disassembled'
p25914
aS'disassembled'
p25915
asS'misfit'
p25916
(lp25917
S'misfits'
p25918
aS'misfitting'
p25919
aS'misfitted'
p25920
aS'misfitted'
p25921
asS'hydroplane'
p25922
(lp25923
S'hydroplanes'
p25924
aS'hydroplaning'
p25925
aS'hydroplaned'
p25926
aS'hydroplaned'
p25927
asS'purchase'
p25928
(lp25929
S'purchases'
p25930
aS'purchasing'
p25931
aS'purchased'
p25932
aS'purchased'
p25933
asS'attempt'
p25934
(lp25935
S'attempts'
p25936
aS'attempting'
p25937
aS'attempted'
p25938
aS'attempted'
p25939
asS'fecundate'
p25940
(lp25941
S'fecundates'
p25942
aS'fecundating'
p25943
aS'fecundated'
p25944
aS'fecundated'
p25945
asS'pulsate'
p25946
(lp25947
S'pulsates'
p25948
aS'pulsating'
p25949
aS'pulsated'
p25950
aS'pulsated'
p25951
asS'oviposit'
p25952
(lp25953
S'oviposits'
p25954
aS'ovipositing'
p25955
aS'oviposited'
p25956
aS'oviposited'
p25957
asS'thirl'
p25958
(lp25959
S'thirls'
p25960
aS'thirling'
p25961
aS'thirled'
p25962
aS'thirled'
p25963
asS'bedazzle'
p25964
(lp25965
S'bedazzles'
p25966
aS'bedazzling'
p25967
aS'bedazzled'
p25968
aS'bedazzled'
p25969
asS'squiggle'
p25970
(lp25971
S'squiggles'
p25972
aS'squiggling'
p25973
aS'squiggled'
p25974
aS'squiggled'
p25975
asS'embow'
p25976
(lp25977
S'embows'
p25978
aS'embowing'
p25979
aS'embowed'
p25980
aS'embowed'
p25981
asS'incrust'
p25982
(lp25983
S'incrusts'
p25984
aS'incrusting'
p25985
aS'incrusted'
p25986
aS'incrusted'
p25987
asS'fife'
p25988
(lp25989
S'fifes'
p25990
aS'fifing'
p25991
aS'fifed'
p25992
aS'fifed'
p25993
asS'deck'
p25994
(lp25995
S'decks'
p25996
aS'decking'
p25997
aS'decked'
p25998
aS'decked'
p25999
asS'befall'
p26000
(lp26001
S'befalls'
p26002
aS'befalling'
p26003
aS'befell'
p26004
aS'befallen'
p26005
asS'fortify'
p26006
(lp26007
S'fortifies'
p26008
aS'fortifying'
p26009
aS'fortified'
p26010
aS'fortified'
p26011
asS'fable'
p26012
(lp26013
S'fables'
p26014
aS'fabling'
p26015
aS'fabled'
p26016
aS'fabled'
p26017
asS'toady'
p26018
(lp26019
S'toadies'
p26020
aS'toadying'
p26021
aS'toadied'
p26022
aS'toadied'
p26023
asS'miscarry'
p26024
(lp26025
S'miscarries'
p26026
aS'miscarrying'
p26027
aS'miscarried'
p26028
aS'miscarried'
p26029
asS'outleap'
p26030
(lp26031
S'outleaps'
p26032
aS'outleaping'
p26033
aS'outleaped'
p26034
aS'outleaped'
p26035
asS'shackle'
p26036
(lp26037
S'shackles'
p26038
aS'shackling'
p26039
aS'shackled'
p26040
aS'shackled'
p26041
asS'crew'
p26042
(lp26043
S'crews'
p26044
aS'crewing'
p26045
aS'crewed'
p26046
aS'crewed'
p26047
asS'better'
p26048
(lp26049
S'betters'
p26050
aS'bettering'
p26051
aS'bettered'
p26052
aS'bettered'
p26053
asS'persist'
p26054
(lp26055
S'persists'
p26056
aS'persisting'
p26057
aS'persisted'
p26058
aS'persisted'
p26059
asS'carve'
p26060
(lp26061
S'carves'
p26062
aS'carving'
p26063
aS'carved'
p26064
aS'carven'
p26065
asS'containerize'
p26066
(lp26067
S'containerizes'
p26068
aS'containerizing'
p26069
aS'containerized'
p26070
aS'containerized'
p26071
asS'unsling'
p26072
(lp26073
S'unslings'
p26074
aS'unslinging'
p26075
aS'unslung'
p26076
aS'unslung'
p26077
asS'overcome'
p26078
(lp26079
S'overcomes'
p26080
aS'overcoming'
p26081
aS'overcame'
p26082
aS'overcome'
p26083
asS'misstate'
p26084
(lp26085
S'misstates'
p26086
aS'misstating'
p26087
aS'misstated'
p26088
aS'misstated'
p26089
asS'demythologize'
p26090
(lp26091
S'demythologizes'
p26092
aS'demythologizing'
p26093
aS'demythologized'
p26094
aS'demythologized'
p26095
asS'unthink'
p26096
(lp26097
S'unthinks'
p26098
aS'unthinking'
p26099
aS'unthought'
p26100
aS'unthought'
p26101
asS'deglutinate'
p26102
(lp26103
S'deglutinates'
p26104
aS'deglutinating'
p26105
aS'deglutinated'
p26106
aS'deglutinated'
p26107
asS'bankroll'
p26108
(lp26109
S'bankrolls'
p26110
aS'bankrolling'
p26111
aS'bankrolled'
p26112
aS'bankrolled'
p26113
asS'indulge'
p26114
(lp26115
S'indulges'
p26116
aS'indulging'
p26117
aS'indulged'
p26118
aS'indulged'
p26119
asS'singlefoot'
p26120
(lp26121
S'singlefoots'
p26122
aS'singlefooting'
p26123
aS'singlefooted'
p26124
aS'singlefooted'
p26125
asS'rhapsodize'
p26126
(lp26127
S'rhapsodizes'
p26128
aS'rhapsodizing'
p26129
aS'rhapsodized'
p26130
aS'rhapsodized'
p26131
asS'shirk'
p26132
(lp26133
S'shirks'
p26134
aS'shirking'
p26135
aS'shirked'
p26136
aS'shirked'
p26137
asS'whisk'
p26138
(lp26139
S'whisks'
p26140
aS'whisking'
p26141
aS'whisked'
p26142
aS'whisked'
p26143
asS'wend'
p26144
(lp26145
S'wends'
p26146
aS'wending'
p26147
aS'wended'
p26148
aS'wended'
p26149
asS'exaggerate'
p26150
(lp26151
S'exaggerates'
p26152
aS'exaggerating'
p26153
aS'exaggerated'
p26154
aS'exaggerated'
p26155
asS'mistrust'
p26156
(lp26157
S'mistrusts'
p26158
aS'mistrusting'
p26159
aS'mistrusted'
p26160
aS'mistrusted'
p26161
asS'roast'
p26162
(lp26163
S'roasts'
p26164
aS'roasting'
p26165
aS'roasted'
p26166
aS'roasted'
p26167
asS'demount'
p26168
(lp26169
S'demounts'
p26170
aS'demounting'
p26171
aS'demounted'
p26172
aS'demounted'
p26173
asS'bong'
p26174
(lp26175
S'bongs'
p26176
aS'bonging'
p26177
aS'bonged'
p26178
aS'bonged'
p26179
asS'side'
p26180
(lp26181
S'sides'
p26182
aS'siding'
p26183
aS'sided'
p26184
aS'sided'
p26185
asS'bone'
p26186
(lp26187
S'bones'
p26188
aS'boning'
p26189
aS'boned'
p26190
aS'boned'
p26191
asS'bond'
p26192
(lp26193
S'bonds'
p26194
aS'bonding'
p26195
aS'bonded'
p26196
aS'bonded'
p26197
asS'improvise'
p26198
(lp26199
S'improvises'
p26200
aS'improvising'
p26201
aS'improvised'
p26202
aS'improvised'
p26203
asS'siwash'
p26204
(lp26205
S'siwashes'
p26206
aS'siwashing'
p26207
aS'siwashed'
p26208
aS'siwashed'
p26209
asS'vote'
p26210
(lp26211
S'votes'
p26212
aS'voting'
p26213
aS'voted'
p26214
aS'voted'
p26215
asS'combust'
p26216
(lp26217
S'combusts'
p26218
aS'combusting'
p26219
aS'combusted'
p26220
aS'combusted'
p26221
asS'besmear'
p26222
(lp26223
S'besmears'
p26224
aS'besmearing'
p26225
aS'besmeared'
p26226
aS'besmeared'
p26227
asS'extract'
p26228
(lp26229
S'extracts'
p26230
aS'extracting'
p26231
aS'extracted'
p26232
aS'extracted'
p26233
asS'inosculate'
p26234
(lp26235
S'inosculates'
p26236
aS'inosculating'
p26237
aS'inosculated'
p26238
aS'inosculated'
p26239
asS'jell'
p26240
(lp26241
S'jells'
p26242
aS'jelling'
p26243
aS'jelled'
p26244
aS'jelled'
p26245
asS'contend'
p26246
(lp26247
S'contends'
p26248
aS'contending'
p26249
aS'contended'
p26250
aS'contended'
p26251
asS'decree'
p26252
(lp26253
S'decrees'
p26254
aS'decreeing'
p26255
aS'decreed'
p26256
aS'decreed'
p26257
asS'typecast'
p26258
(lp26259
S'typecasts'
p26260
aS'typecasting'
p26261
aS'typecast'
p26262
aS'typecast'
p26263
asS'videotape'
p26264
(lp26265
S'videotapes'
p26266
aS'videotapeing'
p26267
aS'videotapeed'
p26268
aS'videotapeed'
p26269
asS'contraindicate'
p26270
(lp26271
S'contraindicates'
p26272
aS'contraindicating'
p26273
aS'contraindicated'
p26274
aS'contraindicated'
p26275
asS'portend'
p26276
(lp26277
S'portends'
p26278
aS'portending'
p26279
aS'portended'
p26280
aS'portended'
p26281
asS'devitrify'
p26282
(lp26283
S'devitrifies'
p26284
aS'devitrifying'
p26285
aS'devitrified'
p26286
aS'devitrified'
p26287
asS'content'
p26288
(lp26289
S'contents'
p26290
aS'contenting'
p26291
aS'contented'
p26292
aS'contented'
p26293
asS'sparkle'
p26294
(lp26295
S'sparkles'
p26296
aS'sparkling'
p26297
aS'sparkled'
p26298
aS'sparkled'
p26299
asS'debit'
p26300
(lp26301
S'debits'
p26302
aS'debiting'
p26303
aS'debited'
p26304
aS'debited'
p26305
asS'surprise'
p26306
(lp26307
S'surprises'
p26308
aS'surprising'
p26309
aS'surprised'
p26310
aS'surprised'
p26311
asS'palaver'
p26312
(lp26313
S'palavers'
p26314
aS'palavering'
p26315
aS'palavered'
p26316
aS'palavered'
p26317
asS'instigate'
p26318
(lp26319
S'instigates'
p26320
aS'instigating'
p26321
aS'instigated'
p26322
aS'instigated'
p26323
asS'overrefine'
p26324
(lp26325
S'overrefines'
p26326
aS'overrefining'
p26327
aS'overrefined'
p26328
aS'overrefined'
p26329
asS'grease'
p26330
(lp26331
S'greases'
p26332
aS'greasing'
p26333
aS'greased'
p26334
aS'greased'
p26335
asS'totalize'
p26336
(lp26337
S'totalizes'
p26338
aS'totalizing'
p26339
aS'totalized'
p26340
aS'totalized'
p26341
asS'breathalyze'
p26342
(lp26343
S'breathalyzes'
p26344
aS'breathalyzing'
p26345
aS'breathalyzed'
p26346
aS'breathalyzed'
p26347
asS'resume'
p26348
(lp26349
S'resumes'
p26350
aS'resuming'
p26351
aS'resumed'
p26352
aS'resumed'
p26353
asS'revenge'
p26354
(lp26355
S'revenges'
p26356
aS'revenging'
p26357
aS'revenged'
p26358
aS'revenged'
p26359
asS'dodder'
p26360
(lp26361
S'dodders'
p26362
aS'doddering'
p26363
aS'doddered'
p26364
aS'doddered'
p26365
asS'bestow'
p26366
(lp26367
S'bestows'
p26368
aS'bestowing'
p26369
aS'bestowed'
p26370
aS'bestowed'
p26371
asS'censure'
p26372
(lp26373
S'censures'
p26374
aS'censuring'
p26375
aS'censured'
p26376
aS'censured'
p26377
asS'abate'
p26378
(lp26379
S'abates'
p26380
aS'abating'
p26381
aS'abated'
p26382
aS'abated'
p26383
asS'entrap'
p26384
(lp26385
S'entraps'
p26386
aS'entrapping'
p26387
aS'entrapped'
p26388
aS'entrapped'
p26389
asS'infix'
p26390
(lp26391
S'infixes'
p26392
aS'infixing'
p26393
aS'infixed'
p26394
aS'infixed'
p26395
asS'chortle'
p26396
(lp26397
S'chortles'
p26398
aS'chortling'
p26399
aS'chortled'
p26400
aS'chortled'
p26401
asS'lour'
p26402
(lp26403
S'lours'
p26404
aS'louring'
p26405
aS'loured'
p26406
aS'loured'
p26407
asS'lout'
p26408
(lp26409
S'louts'
p26410
aS'louting'
p26411
aS'louted'
p26412
aS'louted'
p26413
asS'scrounge'
p26414
(lp26415
S'scrounges'
p26416
aS'scrounging'
p26417
aS'scrounged'
p26418
aS'scrounged'
p26419
asS'steward'
p26420
(lp26421
S'stewards'
p26422
aS'stewarding'
p26423
aS'stewarded'
p26424
aS'stewarded'
p26425
asS'skyjack'
p26426
(lp26427
S'skyjacks'
p26428
aS'skyjacking'
p26429
aS'skyjacked'
p26430
aS'skyjacked'
p26431
asS'fleck'
p26432
(lp26433
S'flecks'
p26434
aS'flecking'
p26435
aS'flecked'
p26436
aS'flecked'
p26437
asS'attune'
p26438
(lp26439
S'attunes'
p26440
aS'attuning'
p26441
aS'attuned'
p26442
aS'attuned'
p26443
asS'heckle'
p26444
(lp26445
S'heckles'
p26446
aS'heckling'
p26447
aS'heckled'
p26448
aS'heckled'
p26449
asS'inbred'
p26450
(lp26451
S'inbred'
p26452
aS'inbred'
p26453
asS'repoint'
p26454
(lp26455
S'repoints'
p26456
aS'repointing'
p26457
aS'repointed'
p26458
aS'repointed'
p26459
asS'squilgee'
p26460
(lp26461
S'squilgees'
p26462
aS'squilgeeing'
p26463
aS'squilgeed'
p26464
aS'squilgeed'
p26465
asS'grade'
p26466
(lp26467
S'grades'
p26468
aS'grading'
p26469
aS'graded'
p26470
aS'graded'
p26471
asS'hoop'
p26472
(lp26473
S'hoops'
p26474
aS'hooping'
p26475
aS'hooped'
p26476
aS'hooped'
p26477
asS'superpose'
p26478
(lp26479
S'superposes'
p26480
aS'superposing'
p26481
aS'superposed'
p26482
aS'superposed'
p26483
asS'reassure'
p26484
(lp26485
S'reassures'
p26486
aS'reassuring'
p26487
aS'reassured'
p26488
aS'reassured'
p26489
asS'hoot'
p26490
(lp26491
S'hoots'
p26492
aS'hooting'
p26493
aS'hooted'
p26494
aS'hooted'
p26495
asS'hook'
p26496
(lp26497
S'hooks'
p26498
aS'hooking'
p26499
aS'hooked'
p26500
aS'hooked'
p26501
asS'deplete'
p26502
(lp26503
S'depletes'
p26504
aS'depleting'
p26505
aS'depleted'
p26506
aS'depleted'
p26507
asS'enumerate'
p26508
(lp26509
S'enumerates'
p26510
aS'enumerating'
p26511
aS'enumerated'
p26512
aS'enumerated'
p26513
asS'radiate'
p26514
(lp26515
S'radiates'
p26516
aS'radiating'
p26517
aS'radiated'
p26518
aS'radiated'
p26519
asS'ditch'
p26520
(lp26521
S'ditches'
p26522
aS'ditching'
p26523
aS'ditched'
p26524
aS'ditched'
p26525
asS'hoof'
p26526
(lp26527
S'hoofs'
p26528
aS'hoofing'
p26529
aS'hoofed'
p26530
aS'hoofed'
p26531
asS'hood'
p26532
(lp26533
S'hoods'
p26534
aS'hooding'
p26535
aS'hooded'
p26536
aS'hooded'
p26537
asS'discompose'
p26538
(lp26539
S'discomposes'
p26540
aS'discomposing'
p26541
aS'discomposed'
p26542
aS'discomposed'
p26543
asS'debase'
p26544
(lp26545
S'debases'
p26546
aS'debasing'
p26547
aS'debased'
p26548
aS'debased'
p26549
asS'acquaint'
p26550
(lp26551
S'acquaints'
p26552
aS'acquainting'
p26553
aS'acquainted'
p26554
aS'acquainted'
p26555
asS'scrape'
p26556
(lp26557
S'scrapes'
p26558
aS'scraping'
p26559
aS'scraped'
p26560
aS'scraped'
p26561
asS'wreak'
p26562
(lp26563
S'wreaks'
p26564
aS'wreaking'
p26565
aS'wreaked'
p26566
aS'wreaked'
p26567
asS'sidle'
p26568
(lp26569
S'sidles'
p26570
aS'sidling'
p26571
aS'sidled'
p26572
aS'sidled'
p26573
asS'brabble'
p26574
(lp26575
S'brabbles'
p26576
aS'brabbling'
p26577
aS'brabbled'
p26578
aS'brabbled'
p26579
asS'brainwash'
p26580
(lp26581
S'brainwashes'
p26582
aS'brainwashing'
p26583
aS'brainwashed'
p26584
aS'brainwashed'
p26585
asS'dwell'
p26586
(lp26587
S'dwells'
p26588
aS'dwelling'
p26589
aS'dwelt'
p26590
aS'dwelt'
p26591
asS'mutate'
p26592
(lp26593
S'mutates'
p26594
aS'mutating'
p26595
aS'mutated'
p26596
aS'mutated'
p26597
asS'reprobate'
p26598
(lp26599
S'reprobates'
p26600
aS'reprobating'
p26601
aS'reprobated'
p26602
aS'reprobated'
p26603
asS'foreclose'
p26604
(lp26605
S'forecloses'
p26606
aS'foreclosing'
p26607
aS'foreclosed'
p26608
aS'foreclosed'
p26609
asS'heroworship'
p26610
(lp26611
S'heroworships'
p26612
aS'heroworshipping'
p26613
aS'heroworshipped'
p26614
aS'heroworshipped'
p26615
asS'gyp'
p26616
(lp26617
S'gyps'
p26618
aS'gypping'
p26619
aS'gypped'
p26620
aS'gypped'
p26621
asS'ravin'
p26622
(lp26623
S'ravins'
p26624
aS'ravining'
p26625
aS'ravined'
p26626
aS'ravined'
p26627
asS'cuirass'
p26628
(lp26629
S'cuirasses'
p26630
aS'cuirassing'
p26631
aS'cuirassed'
p26632
aS'cuirassed'
p26633
asS'distance'
p26634
(lp26635
S'distances'
p26636
aS'distancing'
p26637
aS'distanced'
p26638
aS'distanced'
p26639
asS'affront'
p26640
(lp26641
S'affronts'
p26642
aS'affronting'
p26643
aS'affronted'
p26644
aS'affronted'
p26645
asS'dredge'
p26646
(lp26647
S'dredges'
p26648
aS'dredging'
p26649
aS'dredged'
p26650
aS'dredged'
p26651
asS'sky-rocket'
p26652
(lp26653
S'sky-rockets'
p26654
aS'sky-rocketing'
p26655
ag6706
aS'sky-rocketed'
p26656
asS'legalize'
p26657
(lp26658
S'legalizes'
p26659
aS'legalizing'
p26660
aS'legalized'
p26661
aS'legalized'
p26662
asS'matter'
p26663
(lp26664
S'matters'
p26665
aS'mattering'
p26666
aS'mattered'
p26667
aS'mattered'
p26668
asS'pitapat'
p26669
(lp26670
S'pitapats'
p26671
aS'pitapatting'
p26672
aS'pitapatted'
p26673
aS'pitapatted'
p26674
asS'mammock'
p26675
(lp26676
S'mammocks'
p26677
aS'mammocking'
p26678
aS'mammocked'
p26679
aS'mammocked'
p26680
asS'espouse'
p26681
(lp26682
S'espouses'
p26683
aS'espousing'
p26684
aS'espoused'
p26685
aS'espoused'
p26686
asS'churr'
p26687
(lp26688
S'churrs'
p26689
aS'churring'
p26690
aS'churred'
p26691
aS'churred'
p26692
asS'quench'
p26693
(lp26694
S'quenches'
p26695
aS'quenching'
p26696
aS'quenched'
p26697
aS'quenched'
p26698
asS'mind'
p26699
(lp26700
S'minds'
p26701
aS'minding'
p26702
aS'minded'
p26703
aS'minded'
p26704
asS'mine'
p26705
(lp26706
S'mines'
p26707
aS'mining'
p26708
aS'mined'
p26709
aS'mined'
p26710
asS'ginger'
p26711
(lp26712
S'gingers'
p26713
aS'gingering'
p26714
aS'gingered'
p26715
aS'gingered'
p26716
asS'seed'
p26717
(lp26718
S'seeds'
p26719
aS'seeding'
p26720
aS'seeded'
p26721
aS'seeded'
p26722
asS'seem'
p26723
(lp26724
S'seems'
p26725
aS'seeming'
p26726
aS'seemed'
p26727
aS'seemed'
p26728
asS'churn'
p26729
(lp26730
S'churns'
p26731
aS'churning'
p26732
aS'churned'
p26733
aS'churned'
p26734
asS'mint'
p26735
(lp26736
S'mints'
p26737
aS'minting'
p26738
aS'minted'
p26739
aS'minted'
p26740
asS'unfasten'
p26741
(lp26742
S'unfastens'
p26743
aS'unfastening'
p26744
aS'unfastened'
p26745
aS'unfastened'
p26746
asS'wabble'
p26747
(lp26748
S'wabbles'
p26749
aS'wabbling'
p26750
aS'wabbled'
p26751
aS'wabbled'
p26752
asS'reprieve'
p26753
(lp26754
S'reprieves'
p26755
aS'reprieving'
p26756
aS'reprieved'
p26757
aS'reprieved'
p26758
asS'horde'
p26759
(lp26760
S'hordes'
p26761
aS'hording'
p26762
aS'horded'
p26763
aS'horded'
p26764
asS'alibi'
p26765
(lp26766
S'alibis'
p26767
aS'alibiing'
p26768
aS'alibied'
p26769
aS'alibied'
p26770
asS'draggle'
p26771
(lp26772
S'draggles'
p26773
aS'draggling'
p26774
aS'draggled'
p26775
aS'draggled'
p26776
asS'divulge'
p26777
(lp26778
S'divulges'
p26779
aS'divulging'
p26780
aS'divulged'
p26781
aS'divulged'
p26782
asS'desist'
p26783
(lp26784
S'desists'
p26785
aS'desisting'
p26786
aS'desisted'
p26787
aS'desisted'
p26788
asS'ransack'
p26789
(lp26790
S'ransacks'
p26791
aS'ransacking'
p26792
aS'ransacked'
p26793
aS'ransacked'
p26794
asS'narcotize'
p26795
(lp26796
S'narcotizes'
p26797
aS'narcotizing'
p26798
aS'narcotized'
p26799
aS'narcotized'
p26800
asS'flense'
p26801
(lp26802
S'flenses'
p26803
aS'flensing'
p26804
aS'flensed'
p26805
aS'flensed'
p26806
asS'scarify'
p26807
(lp26808
S'scarifies'
p26809
aS'scarifying'
p26810
aS'scarified'
p26811
aS'scarified'
p26812
asS'iterate'
p26813
(lp26814
S'iterates'
p26815
aS'iterating'
p26816
aS'iterated'
p26817
aS'iterated'
p26818
asS'subtotal'
p26819
(lp26820
S'subtotals'
p26821
aS'subtotalling'
p26822
aS'subtotalled'
p26823
aS'subtotalled'
p26824
asS'exonerate'
p26825
(lp26826
S'exonerates'
p26827
aS'exonerating'
p26828
aS'exonerated'
p26829
aS'exonerated'
p26830
asS'crossstitch'
p26831
(lp26832
S'crossstitches'
p26833
aS'crossstitching'
p26834
aS'crossstitched'
p26835
aS'crossstitched'
p26836
asS'blacklist'
p26837
(lp26838
S'blacklists'
p26839
aS'blacklisting'
p26840
aS'blacklisted'
p26841
aS'blacklisted'
p26842
asS'mitigate'
p26843
(lp26844
S'mitigates'
p26845
aS'mitigating'
p26846
aS'mitigated'
p26847
aS'mitigated'
p26848
asS'euphemize'
p26849
(lp26850
S'euphemizes'
p26851
aS'euphemizing'
p26852
aS'euphemized'
p26853
aS'euphemized'
p26854
asS'don'
p26855
(lp26856
S'dons'
p26857
aS'donning'
p26858
aS'donned'
p26859
aS'donned'
p26860
asS'entrain'
p26861
(lp26862
S'entrains'
p26863
aS'entraining'
p26864
aS'entrained'
p26865
aS'entrained'
p26866
asS'alarm'
p26867
(lp26868
S'alarms'
p26869
aS'alarming'
p26870
aS'alarmed'
p26871
aS'alarmed'
p26872
asS'dog'
p26873
(lp26874
S'dogs'
p26875
aS'dogging'
p26876
aS'dogged'
p26877
aS'dogged'
p26878
asS'vizor'
p26879
(lp26880
S'vizors'
p26881
aS'vizoring'
p26882
aS'vizored'
p26883
aS'vizored'
p26884
asS'digress'
p26885
(lp26886
S'digresses'
p26887
aS'digressing'
p26888
aS'digressed'
p26889
aS'digressed'
p26890
asS'constrict'
p26891
(lp26892
S'constricts'
p26893
aS'constricting'
p26894
aS'constricted'
p26895
aS'constricted'
p26896
asS'throwaway'
p26897
(lp26898
S'throwaways'
p26899
aS'throwawaying'
p26900
aS'throwawayed'
p26901
aS'throwawayed'
p26902
asS'scotch'
p26903
(lp26904
S'scotches'
p26905
aS'scotching'
p26906
aS'scotched'
p26907
aS'scotched'
p26908
asS'dow'
p26909
(lp26910
S'dows'
p26911
aS'dowing'
p26912
aS'dowed'
p26913
aS'dowed'
p26914
asS'dot'
p26915
(lp26916
S'dots'
p26917
aS'dotting'
p26918
aS'dotted'
p26919
aS'dotted'
p26920
asS'discontent'
p26921
(lp26922
S'discontents'
p26923
aS'discontenting'
p26924
aS'discontented'
p26925
aS'discontented'
p26926
asS'hunger'
p26927
(lp26928
S'hungers'
p26929
aS'hungering'
p26930
aS'hungered'
p26931
aS'hungered'
p26932
asS'rapture'
p26933
(lp26934
S'raptures'
p26935
aS'rapturing'
p26936
aS'raptured'
p26937
aS'raptured'
p26938
asS'spangle'
p26939
(lp26940
S'spangles'
p26941
aS'spangling'
p26942
aS'spangled'
p26943
aS'spangled'
p26944
asS'probe'
p26945
(lp26946
S'probes'
p26947
aS'probing'
p26948
aS'probed'
p26949
aS'probed'
p26950
asS'bespread'
p26951
(lp26952
S'bespreads'
p26953
aS'bespreading'
p26954
aS'bespreaded'
p26955
aS'bespreaded'
p26956
asS'chord'
p26957
(lp26958
S'chords'
p26959
aS'chording'
p26960
aS'chorded'
p26961
aS'chorded'
p26962
asS'camphorate'
p26963
(lp26964
S'camphorates'
p26965
aS'camphorating'
p26966
aS'camphorated'
p26967
aS'camphorated'
p26968
asS'subvene'
p26969
(lp26970
S'subvenes'
p26971
aS'subvening'
p26972
aS'subvened'
p26973
aS'subvened'
p26974
asS'capitulate'
p26975
(lp26976
S'capitulates'
p26977
aS'capitulating'
p26978
aS'capitulated'
p26979
aS'capitulated'
p26980
asS'acquit'
p26981
(lp26982
S'acquits'
p26983
aS'acquitting'
p26984
aS'acquitted'
p26985
aS'acquitted'
p26986
asS'overtask'
p26987
(lp26988
S'overtasks'
p26989
aS'overtasking'
p26990
aS'overtasked'
p26991
aS'overtasked'
p26992
asS'cleanse'
p26993
(lp26994
S'cleanses'
p26995
aS'cleansing'
p26996
aS'cleansed'
p26997
aS'cleansed'
p26998
asS'explain'
p26999
(lp27000
S'explains'
p27001
aS'explaining'
p27002
aS'explained'
p27003
aS'explained'
p27004
asS'cripple'
p27005
(lp27006
S'cripples'
p27007
aS'crippling'
p27008
aS'crippled'
p27009
aS'crippled'
p27010
asS'sugar'
p27011
(lp27012
S'sugars'
p27013
aS'sugaring'
p27014
aS'sugared'
p27015
aS'sugared'
p27016
asS'mutualize'
p27017
(lp27018
S'mutualizes'
p27019
aS'mutualizing'
p27020
aS'mutualized'
p27021
aS'mutualized'
p27022
asS'integrate'
p27023
(lp27024
S'integrates'
p27025
aS'integrating'
p27026
aS'integrated'
p27027
aS'integrated'
p27028
asS'hoard'
p27029
(lp27030
S'hoards'
p27031
aS'hoarding'
p27032
aS'hoarded'
p27033
aS'hoarded'
p27034
asS'razor-cut'
p27035
(lp27036
S'razor-cuts'
p27037
aS'razor-cutting'
p27038
aS'razor-cut'
p27039
aS'razor-cut'
p27040
asS'patter'
p27041
(lp27042
S'patters'
p27043
aS'pattering'
p27044
aS'pattered'
p27045
aS'pattered'
p27046
asS'stot'
p27047
(lp27048
S'stots'
p27049
aS'stotting'
p27050
aS'stotted'
p27051
aS'stotted'
p27052
asS'deforest'
p27053
(lp27054
S'deforests'
p27055
aS'deforesting'
p27056
aS'deforested'
p27057
aS'deforested'
p27058
asS'conduct'
p27059
(lp27060
S'conducts'
p27061
aS'conducting'
p27062
aS'conducted'
p27063
aS'conducted'
p27064
asS'stop'
p27065
(lp27066
S'stops'
p27067
aS'stopping'
p27068
aS'stopped'
p27069
aS'stopped'
p27070
asS'perceive'
p27071
(lp27072
S'perceives'
p27073
aS'perceiving'
p27074
aS'perceived'
p27075
aS'perceived'
p27076
asS'coast'
p27077
(lp27078
S'coasts'
p27079
aS'coasting'
p27080
aS'coasted'
p27081
aS'coasted'
p27082
asS'meditate'
p27083
(lp27084
S'meditates'
p27085
aS'meditating'
p27086
aS'meditated'
p27087
aS'meditated'
p27088
asS'subminiaturize'
p27089
(lp27090
S'subminiaturizes'
p27091
aS'subminiaturizing'
p27092
aS'subminiaturized'
p27093
aS'subminiaturized'
p27094
asS'comply'
p27095
(lp27096
S'complies'
p27097
aS'complying'
p27098
aS'complied'
p27099
aS'complied'
p27100
asS'bat'
p27101
(lp27102
S'bats'
p27103
aS'batting'
p27104
aS'batted'
p27105
aS'batted'
p27106
asS'bar'
p27107
(lp27108
S'bars'
p27109
aS'barring'
p27110
aS'barred'
p27111
aS'barred'
p27112
asS'braze'
p27113
(lp27114
S'brazes'
p27115
aS'brazing'
p27116
aS'brazed'
p27117
aS'brazed'
p27118
asS'bay'
p27119
(lp27120
S'bays'
p27121
aS'baying'
p27122
aS'bayed'
p27123
aS'bayed'
p27124
asS'bag'
p27125
(lp27126
S'bags'
p27127
aS'bagging'
p27128
aS'bagged'
p27129
aS'bagged'
p27130
asS'troop'
p27131
(lp27132
S'troops'
p27133
aS'trooping'
p27134
aS'trooped'
p27135
aS'trooped'
p27136
asS'baa'
p27137
(lp27138
S'baas'
p27139
aS'baaing'
p27140
aS'baaed'
p27141
aS'baaed'
p27142
asS'ban'
p27143
(lp27144
S'bans'
p27145
aS'banning'
p27146
aS'banned'
p27147
aS'banned'
p27148
asS'enchant'
p27149
(lp27150
S'enchants'
p27151
aS'enchanting'
p27152
aS'enchanted'
p27153
aS'enchanted'
p27154
asS'attest'
p27155
(lp27156
S'attests'
p27157
aS'attesting'
p27158
aS'attested'
p27159
aS'attested'
p27160
asS'reference'
p27161
(lp27162
S'references'
p27163
aS'referencing'
p27164
aS'referenced'
p27165
aS'referenced'
p27166
asS'imitate'
p27167
(lp27168
S'imitates'
p27169
aS'imitating'
p27170
aS'imitated'
p27171
aS'imitated'
p27172
asS'prophesy'
p27173
(lp27174
S'prophesies'
p27175
aS'prophesying'
p27176
aS'prophesied'
p27177
aS'prophesied'
p27178
asS'allure'
p27179
(lp27180
S'allures'
p27181
aS'alluring'
p27182
aS'allured'
p27183
aS'allured'
p27184
asS'insalivate'
p27185
(lp27186
S'insalivates'
p27187
aS'insalivating'
p27188
aS'insalivated'
p27189
aS'insalivated'
p27190
asS'decerebrate'
p27191
(lp27192
S'decerebrates'
p27193
aS'decerebrating'
p27194
aS'decerebrated'
p27195
aS'decerebrated'
p27196
asS'subject'
p27197
(lp27198
S'subjects'
p27199
aS'subjecting'
p27200
aS'subjected'
p27201
aS'subjected'
p27202
asS'misrule'
p27203
(lp27204
S'misrules'
p27205
aS'misruling'
p27206
aS'misruled'
p27207
aS'misruled'
p27208
asS'snuff'
p27209
(lp27210
S'snuffs'
p27211
aS'snuffing'
p27212
aS'snuffed'
p27213
aS'snuffed'
p27214
asS'duff'
p27215
(lp27216
S'duffs'
p27217
aS'duffing'
p27218
aS'duffed'
p27219
aS'duffed'
p27220
asS'sain'
p27221
(lp27222
S'sains'
p27223
aS'saining'
p27224
aS'sained'
p27225
aS'sained'
p27226
asS'scrap'
p27227
(lp27228
S'scraps'
p27229
aS'scrapping'
p27230
aS'scrapped'
p27231
aS'scrapped'
p27232
asS'sail'
p27233
(lp27234
S'sails'
p27235
aS'sailing'
p27236
aS'sailed'
p27237
aS'sailed'
p27238
asS'disprove'
p27239
(lp27240
S'disproves'
p27241
aS'disproving'
p27242
aS'disproved'
p27243
aS'disproved'
p27244
asS'scram'
p27245
(lp27246
S'scrams'
p27247
aS'scramming'
p27248
aS'scrammed'
p27249
aS'scrammed'
p27250
asS'unriddle'
p27251
(lp27252
S'unriddles'
p27253
aS'unriddling'
p27254
aS'unriddled'
p27255
aS'unriddled'
p27256
asS'scrag'
p27257
(lp27258
S'scrags'
p27259
aS'scragging'
p27260
aS'scragged'
p27261
aS'scragged'
p27262
asS'juxtapose'
p27263
(lp27264
S'juxtaposes'
p27265
aS'juxtaposing'
p27266
aS'juxtaposed'
p27267
aS'juxtaposed'
p27268
asS'personate'
p27269
(lp27270
S'personates'
p27271
aS'personating'
p27272
aS'personated'
p27273
aS'personated'
p27274
asS'bemuse'
p27275
(lp27276
S'bemuses'
p27277
aS'bemusing'
p27278
aS'bemused'
p27279
aS'bemused'
p27280
asS'craunch'
p27281
(lp27282
S'craunches'
p27283
aS'craunching'
p27284
aS'craunched'
p27285
aS'craunched'
p27286
asS'sulphonate'
p27287
(lp27288
S'sulphonates'
p27289
aS'sulphonating'
p27290
aS'sulphonated'
p27291
aS'sulphonated'
p27292
asS'excavate'
p27293
(lp27294
S'excavates'
p27295
aS'excavating'
p27296
aS'excavated'
p27297
aS'excavated'
p27298
asS'laze'
p27299
(lp27300
S'lazes'
p27301
aS'lazing'
p27302
aS'lazed'
p27303
aS'lazed'
p27304
asS'socialize'
p27305
(lp27306
S'socializes'
p27307
aS'socializing'
p27308
aS'socialized'
p27309
aS'socialized'
p27310
asS'short-list'
p27311
(lp27312
S'short-lists'
p27313
aS'short-listing'
p27314
aS'short-listed'
p27315
aS'short-listed'
p27316
asS'botch'
p27317
(lp27318
S'botches'
p27319
aS'botching'
p27320
aS'botched'
p27321
aS'botched'
p27322
asS'synopsize'
p27323
(lp27324
S'synopsizes'
p27325
aS'synopsizing'
p27326
aS'synopsized'
p27327
aS'synopsized'
p27328
asS'discommode'
p27329
(lp27330
S'discommodes'
p27331
aS'discommoding'
p27332
aS'discommoded'
p27333
aS'discommoded'
p27334
asS'monopolize'
p27335
(lp27336
S'monopolizes'
p27337
aS'monopolizing'
p27338
aS'monopolized'
p27339
aS'monopolized'
p27340
asS'estreat'
p27341
(lp27342
S'estreats'
p27343
aS'estreating'
p27344
aS'estreated'
p27345
aS'estreated'
p27346
asS'regrate'
p27347
(lp27348
S'regrates'
p27349
aS'regrating'
p27350
aS'regrated'
p27351
aS'regrated'
p27352
asS'burthen'
p27353
(lp27354
S'burthens'
p27355
aS'burthening'
p27356
aS'burthened'
p27357
aS'burthened'
p27358
asS'burble'
p27359
(lp27360
S'burbles'
p27361
aS'burbling'
p27362
aS'burbled'
p27363
aS'burbled'
p27364
asS'cobble'
p27365
(lp27366
S'cobbles'
p27367
aS'cobbling'
p27368
aS'cobbled'
p27369
aS'cobbled'
p27370
asS'whisper'
p27371
(lp27372
S'whispers'
p27373
aS'whispering'
p27374
aS'whispered'
p27375
aS'whispered'
p27376
asS'foray'
p27377
(lp27378
S'forays'
p27379
aS'foraying'
p27380
aS'forayed'
p27381
aS'forayed'
p27382
asS'paralyze'
p27383
(lp27384
S'paralyzes'
p27385
aS'paralyzing'
p27386
aS'paralyzed'
p27387
aS'paralyzed'
p27388
asS'accustom'
p27389
(lp27390
S'accustoms'
p27391
aS'accustoming'
p27392
aS'accustomed'
p27393
aS'accustomed'
p27394
asS'pupate'
p27395
(lp27396
S'pupates'
p27397
aS'pupating'
p27398
aS'pupated'
p27399
aS'pupated'
p27400
asS'recur'
p27401
(lp27402
S'recurs'
p27403
aS'recurring'
p27404
aS'recurred'
p27405
aS'recurred'
p27406
asS'regenerate'
p27407
(lp27408
S'regenerates'
p27409
aS'regenerating'
p27410
aS'regenerated'
p27411
aS'regenerated'
p27412
asS'dillydally'
p27413
(lp27414
S'dillydallies'
p27415
aS'dillydallying'
p27416
aS'dillydallied'
p27417
aS'dillydallied'
p27418
asS'erect'
p27419
(lp27420
S'erects'
p27421
aS'erecting'
p27422
aS'erected'
p27423
aS'erected'
p27424
asS'chelp'
p27425
(lp27426
S'chelps'
p27427
aS'chelping'
p27428
aS'chelped'
p27429
aS'chelped'
p27430
asS'ting'
p27431
(lp27432
S'tings'
p27433
aS'tinging'
p27434
ag2105
ag2106
asS'commission'
p27435
(lp27436
S'commissions'
p27437
aS'commissioning'
p27438
aS'commissioned'
p27439
aS'commissioned'
p27440
asS'trigger'
p27441
(lp27442
S'triggers'
p27443
aS'triggering'
p27444
aS'triggered'
p27445
aS'triggered'
p27446
asS'replicate'
p27447
(lp27448
S'replicates'
p27449
aS'replicating'
p27450
aS'replicated'
p27451
aS'replicated'
p27452
asS'interest'
p27453
(lp27454
S'interests'
p27455
aS'interesting'
p27456
aS'interested'
p27457
aS'interested'
p27458
asS'chug'
p27459
(lp27460
S'chugs'
p27461
aS'chugging'
p27462
aS'chugged'
p27463
aS'chugged'
p27464
asS'wheedle'
p27465
(lp27466
S'wheedles'
p27467
aS'wheedling'
p27468
aS'wheedled'
p27469
aS'wheedled'
p27470
asS'mushroom'
p27471
(lp27472
S'mushrooms'
p27473
aS'mushrooming'
p27474
aS'mushroomed'
p27475
aS'mushroomed'
p27476
asS'suppress'
p27477
(lp27478
S'suppresses'
p27479
aS'suppressing'
p27480
aS'suppressed'
p27481
aS'suppressed'
p27482
asS'chum'
p27483
(lp27484
S'chums'
p27485
aS'chumming'
p27486
aS'chummed'
p27487
aS'chummed'
p27488
asS'harmonize'
p27489
(lp27490
S'harmonizes'
p27491
aS'harmonizing'
p27492
aS'harmonized'
p27493
aS'harmonized'
p27494
asS'deepen'
p27495
(lp27496
S'deepens'
p27497
aS'deepening'
p27498
aS'deepened'
p27499
aS'deepened'
p27500
asS'downplay'
p27501
(lp27502
S'downplays'
p27503
aS'downplaying'
p27504
aS'downplayed'
p27505
aS'downplayed'
p27506
asS'diffract'
p27507
(lp27508
S'diffracts'
p27509
aS'diffracting'
p27510
aS'diffracted'
p27511
aS'diffracted'
p27512
asS'intubate'
p27513
(lp27514
S'intubates'
p27515
aS'intubating'
p27516
aS'intubated'
p27517
aS'intubated'
p27518
asS'originate'
p27519
(lp27520
S'originates'
p27521
aS'originating'
p27522
aS'originated'
p27523
aS'originated'
p27524
asS'near'
p27525
(lp27526
S'nears'
p27527
aS'nearing'
p27528
aS'neared'
p27529
aS'neared'
p27530
asS'suppose'
p27531
(lp27532
S'supposes'
p27533
aS'supposing'
p27534
aS'supposed'
p27535
aS'supposed'
p27536
asS'convalesce'
p27537
(lp27538
S'convalesces'
p27539
aS'convalescing'
p27540
aS'convalesced'
p27541
aS'convalesced'
p27542
asS'balance'
p27543
(lp27544
S'balances'
p27545
aS'balancing'
p27546
aS'balanced'
p27547
aS'balanced'
p27548
asS'mangle'
p27549
(lp27550
S'mangles'
p27551
aS'mangling'
p27552
aS'mangled'
p27553
aS'mangled'
p27554
asS'anchor'
p27555
(lp27556
S'anchors'
p27557
aS'anchoring'
p27558
aS'anchored'
p27559
aS'anchored'
p27560
asS'spawn'
p27561
(lp27562
S'spawns'
p27563
aS'spawning'
p27564
aS'spawned'
p27565
aS'spawned'
p27566
asS'upgrade'
p27567
(lp27568
S'upgrades'
p27569
aS'upgrading'
p27570
aS'upgraded'
p27571
aS'upgraded'
p27572
asS'cane'
p27573
(lp27574
S'canes'
p27575
aS'caning'
p27576
aS'caned'
p27577
aS'caned'
p27578
asS'recuperate'
p27579
(lp27580
S'recuperates'
p27581
aS'recuperating'
p27582
aS'recuperated'
p27583
aS'recuperated'
p27584
asS'womanize'
p27585
(lp27586
S'womanizes'
p27587
aS'womanizing'
p27588
aS'womanized'
p27589
aS'womanized'
p27590
asS'remount'
p27591
(lp27592
S'remounts'
p27593
aS'remounting'
p27594
aS'remounted'
p27595
aS'remounted'
p27596
asS'jess'
p27597
(lp27598
S'jesses'
p27599
aS'jessing'
p27600
aS'jessed'
p27601
aS'jessed'
p27602
asS'lyophilize'
p27603
(lp27604
S'lyophilizes'
p27605
aS'lyophilizing'
p27606
aS'lyophilized'
p27607
aS'lyophilized'
p27608
asS'jest'
p27609
(lp27610
S'jests'
p27611
aS'jesting'
p27612
aS'jested'
p27613
aS'jested'
p27614
asS'mouse'
p27615
(lp27616
S'mouses'
p27617
aS'mousing'
p27618
aS'moused'
p27619
aS'moused'
p27620
asS'disappear'
p27621
(lp27622
S'disappears'
p27623
aS'disappearing'
p27624
aS'disappeared'
p27625
aS'disappeared'
p27626
asS'abscess'
p27627
(lp27628
S'abscesses'
p27629
aS'abscessing'
p27630
aS'abscessed'
p27631
aS'abscessed'
p27632
asS'growl'
p27633
(lp27634
S'growls'
p27635
aS'growling'
p27636
aS'growled'
p27637
aS'growled'
p27638
asS'reimport'
p27639
(lp27640
S'reimports'
p27641
aS'reimporting'
p27642
aS'reimported'
p27643
aS'reimported'
p27644
asS'make'
p27645
(lp27646
S'makes'
p27647
aS'making'
p27648
aS'made'
p27649
aS'made'
p27650
asS'quant'
p27651
(lp27652
S'quants'
p27653
aS'quanting'
p27654
aS'quanted'
p27655
aS'quanted'
p27656
asS'belly'
p27657
(lp27658
S'bellies'
p27659
aS'bellying'
p27660
aS'bellied'
p27661
aS'bellied'
p27662
asS'contaminate'
p27663
(lp27664
S'contaminates'
p27665
aS'contaminating'
p27666
aS'contaminated'
p27667
aS'contaminated'
p27668
asS'sodden'
p27669
(lp27670
S'soddens'
p27671
aS'soddening'
p27672
aS'soddened'
p27673
aS'soddened'
p27674
asS'surprint'
p27675
(lp27676
S'surprints'
p27677
aS'surprinting'
p27678
aS'surprinted'
p27679
aS'surprinted'
p27680
asS'evolve'
p27681
(lp27682
S'evolves'
p27683
aS'evolving'
p27684
aS'evolved'
p27685
aS'evolved'
p27686
asS'smoke'
p27687
(lp27688
S'smokes'
p27689
aS'smoking'
p27690
aS'smoked'
p27691
aS'smoked'
p27692
asS'kip'
p27693
(lp27694
S'kips'
p27695
aS'kipping'
p27696
aS'kipped'
p27697
aS'kipped'
p27698
asS'delight'
p27699
(lp27700
S'delights'
p27701
aS'delighting'
p27702
aS'delighted'
p27703
aS'delighted'
p27704
asS'consternate'
p27705
(lp27706
S'consternates'
p27707
aS'consternating'
p27708
aS'consternated'
p27709
aS'consternated'
p27710
asS'misconstrue'
p27711
(lp27712
S'misconstrues'
p27713
aS'misconstruing'
p27714
aS'misconstrued'
p27715
aS'misconstrued'
p27716
asS'ruff'
p27717
(lp27718
S'ruffs'
p27719
aS'ruffing'
p27720
aS'ruffed'
p27721
aS'ruffed'
p27722
asS'kid'
p27723
(lp27724
S'kids'
p27725
aS'kidding'
p27726
aS'kidded'
p27727
aS'kidded'
p27728
asS'butter'
p27729
(lp27730
S'butters'
p27731
aS'buttering'
p27732
aS'buttered'
p27733
aS'buttered'
p27734
asS'reest'
p27735
(lp27736
S'reests'
p27737
aS'reesting'
p27738
aS'reested'
p27739
aS'reested'
p27740
asS'romp'
p27741
(lp27742
S'romps'
p27743
aS'romping'
p27744
aS'romped'
p27745
aS'romped'
p27746
asS'whicker'
p27747
(lp27748
S'whickers'
p27749
aS'whickering'
p27750
aS'whickered'
p27751
aS'whickered'
p27752
asS'strangulate'
p27753
(lp27754
S'strangulates'
p27755
aS'strangulating'
p27756
aS'strangulated'
p27757
aS'strangulated'
p27758
asS'inherit'
p27759
(lp27760
S'inherits'
p27761
aS'inheriting'
p27762
aS'inherited'
p27763
aS'inherited'
p27764
asS'berate'
p27765
(lp27766
S'berates'
p27767
aS'berating'
p27768
aS'berated'
p27769
aS'berated'
p27770
asS'dialyze'
p27771
(lp27772
S'dialyzes'
p27773
aS'dialyzing'
p27774
aS'dialyzed'
p27775
aS'dialyzed'
p27776
asS'left'
p27777
(lp27778
S'left'
p27779
aS'left'
p27780
asS'sentence'
p27781
(lp27782
S'sentences'
p27783
aS'sentencing'
p27784
aS'sentenced'
p27785
aS'sentenced'
p27786
asS'plash'
p27787
(lp27788
S'plashes'
p27789
aS'plashing'
p27790
aS'plashed'
p27791
aS'plashed'
p27792
asS'alliterate'
p27793
(lp27794
S'alliterates'
p27795
aS'alliterating'
p27796
aS'alliterated'
p27797
aS'alliterated'
p27798
asS'presume'
p27799
(lp27800
S'presumes'
p27801
aS'presuming'
p27802
aS'presumed'
p27803
aS'presumed'
p27804
asS'identify'
p27805
(lp27806
S'identifies'
p27807
aS'identifying'
p27808
aS'identified'
p27809
aS'identified'
p27810
asS'achromatize'
p27811
(lp27812
S'achromatizes'
p27813
aS'achromatizing'
p27814
aS'achromatized'
p27815
aS'achromatized'
p27816
asS'secure'
p27817
(lp27818
S'secures'
p27819
aS'securing'
p27820
aS'secured'
p27821
aS'secured'
p27822
asS'outbalance'
p27823
(lp27824
S'outbalances'
p27825
aS'outbalancing'
p27826
aS'outbalanced'
p27827
aS'outbalanced'
p27828
asS'nudge'
p27829
(lp27830
S'nudges'
p27831
aS'nudging'
p27832
aS'nudged'
p27833
aS'nudged'
p27834
asS'character'
p27835
(lp27836
S'characters'
p27837
aS'charactering'
p27838
aS'charactered'
p27839
aS'charactered'
p27840
asS'defray'
p27841
(lp27842
S'defrays'
p27843
aS'defraying'
p27844
aS'defrayed'
p27845
aS'defrayed'
p27846
asS'save'
p27847
(lp27848
S'saves'
p27849
aS'saving'
p27850
aS'saved'
p27851
aS'saved'
p27852
asS'dehisce'
p27853
(lp27854
S'dehisces'
p27855
aS'dehiscing'
p27856
aS'dehisced'
p27857
aS'dehisced'
p27858
asS'designate'
p27859
(lp27860
S'designates'
p27861
aS'designating'
p27862
aS'designated'
p27863
aS'designated'
p27864
asS'opt'
p27865
(lp27866
S'opts'
p27867
aS'opting'
p27868
aS'opted'
p27869
aS'opted'
p27870
asS'ope'
p27871
(lp27872
S'opes'
p27873
aS'oping'
p27874
aS'oped'
p27875
aS'oped'
p27876
asS'commentate'
p27877
(lp27878
S'commentates'
p27879
aS'commentating'
p27880
aS'commentated'
p27881
aS'commentated'
p27882
asS'shoulder'
p27883
(lp27884
S'shoulders'
p27885
aS'shouldering'
p27886
aS'shouldered'
p27887
aS'shouldered'
p27888
asS'implead'
p27889
(lp27890
S'impleads'
p27891
aS'impleading'
p27892
aS'impleaded'
p27893
aS'impleaded'
p27894
asS'handpick'
p27895
(lp27896
S'handpicks'
p27897
aS'handpicking'
p27898
aS'handpicked'
p27899
aS'handpicked'
p27900
asS'chlorinate'
p27901
(lp27902
S'chlorinates'
p27903
aS'chlorinating'
p27904
aS'chlorinated'
p27905
aS'chlorinated'
p27906
asS'jugulate'
p27907
(lp27908
S'jugulates'
p27909
aS'jugulating'
p27910
aS'jugulated'
p27911
aS'jugulated'
p27912
asS'radioactivate'
p27913
(lp27914
S'radioactivates'
p27915
aS'radioactivating'
p27916
aS'radioactivated'
p27917
aS'radioactivated'
p27918
asS'signal'
p27919
(lp27920
S'signals'
p27921
aS'signalling'
p27922
aS'signalled'
p27923
aS'signalled'
p27924
asS'squander'
p27925
(lp27926
S'squanders'
p27927
aS'squandering'
p27928
aS'squandered'
p27929
aS'squandered'
p27930
asS'deal'
p27931
(lp27932
S'deals'
p27933
aS'dealing'
p27934
aS'dealt'
p27935
aS'dealt'
p27936
asS'repudiate'
p27937
(lp27938
S'repudiates'
p27939
aS'repudiating'
p27940
aS'repudiated'
p27941
aS'repudiated'
p27942
asS'revet'
p27943
(lp27944
S'revets'
p27945
aS'revetting'
p27946
aS'revetted'
p27947
aS'revetted'
p27948
asS'slack'
p27949
(lp27950
S'slacks'
p27951
aS'slacking'
p27952
aS'slacked'
p27953
aS'slacked'
p27954
asS'revel'
p27955
(lp27956
S'revels'
p27957
aS'revelling'
p27958
aS'revelled'
p27959
aS'revelled'
p27960
asS'intern'
p27961
(lp27962
S'interns'
p27963
aS'interning'
p27964
aS'interned'
p27965
aS'interned'
p27966
asS'arterialize'
p27967
(lp27968
S'arterializes'
p27969
aS'arterializing'
p27970
aS'arterialized'
p27971
aS'arterialized'
p27972
asS'invoice'
p27973
(lp27974
S'invoices'
p27975
aS'invoicing'
p27976
aS'invoiced'
p27977
aS'invoiced'
p27978
asS'sprawl'
p27979
(lp27980
S'sprawls'
p27981
aS'sprawling'
p27982
aS'sprawled'
p27983
aS'sprawled'
p27984
asS'collect'
p27985
(lp27986
S'collects'
p27987
aS'collecting'
p27988
aS'collected'
p27989
aS'collected'
p27990
asS'defilade'
p27991
(lp27992
S'defilades'
p27993
aS'defilading'
p27994
aS'defiladed'
p27995
aS'defiladed'
p27996
asS'superfuse'
p27997
(lp27998
S'superfuses'
p27999
aS'superfusing'
p28000
aS'superfused'
p28001
aS'superfused'
p28002
asS'flounder'
p28003
(lp28004
S'flounders'
p28005
aS'floundering'
p28006
aS'floundered'
p28007
aS'floundered'
p28008
asS'drudge'
p28009
(lp28010
S'drudges'
p28011
aS'drudging'
p28012
aS'drudged'
p28013
aS'drudged'
p28014
asS'overcook'
p28015
(lp28016
S'overcooks'
p28017
aS'overcooking'
p28018
aS'overcooked'
p28019
aS'overcooked'
p28020
asS'beget'
p28021
(lp28022
S'begets'
p28023
aS'begetting'
p28024
aS'begot'
p28025
aS'begotten'
p28026
asS'egest'
p28027
(lp28028
S'egests'
p28029
aS'egesting'
p28030
aS'egested'
p28031
aS'egested'
p28032
asS'bamboozle'
p28033
(lp28034
S'bamboozles'
p28035
aS'bamboozling'
p28036
aS'bamboozled'
p28037
aS'bamboozled'
p28038
asS'burl'
p28039
(lp28040
S'burls'
p28041
aS'burling'
p28042
aS'burled'
p28043
aS'burled'
p28044
asS'protuberate'
p28045
(lp28046
S'protuberates'
p28047
aS'protuberating'
p28048
aS'protuberated'
p28049
aS'protuberated'
p28050
asS'burn'
p28051
(lp28052
S'burns'
p28053
aS'burning'
p28054
aS'burnt'
p28055
aS'burnt'
p28056
asS'blackmail'
p28057
(lp28058
S'blackmails'
p28059
aS'blackmailing'
p28060
aS'blackmailed'
p28061
aS'blackmailed'
p28062
asS'sift'
p28063
(lp28064
S'sifts'
p28065
aS'sifting'
p28066
aS'sifted'
p28067
aS'sifted'
p28068
asS'etiolate'
p28069
(lp28070
S'etiolates'
p28071
aS'etiolating'
p28072
aS'etiolated'
p28073
aS'etiolated'
p28074
asS'burp'
p28075
(lp28076
S'burps'
p28077
aS'burping'
p28078
aS'burped'
p28079
aS'burped'
p28080
asS'bury'
p28081
(lp28082
S'buries'
p28083
aS'burying'
p28084
aS'buried'
p28085
aS'buried'
p28086
asS'conceal'
p28087
(lp28088
S'conceals'
p28089
aS'concealing'
p28090
aS'concealed'
p28091
aS'concealed'
p28092
asS'palisade'
p28093
(lp28094
S'palisades'
p28095
aS'palisading'
p28096
aS'palisaded'
p28097
aS'palisaded'
p28098
asS'stow'
p28099
(lp28100
S'stows'
p28101
aS'stowing'
p28102
aS'stowed'
p28103
aS'stowed'
p28104
asS'commix'
p28105
(lp28106
S'commixes'
p28107
aS'commixing'
p28108
aS'commixed'
p28109
aS'commixed'
p28110
asS'commit'
p28111
(lp28112
S'commits'
p28113
aS'committing'
p28114
aS'committed'
p28115
aS'committed'
p28116
asS'clapboard'
p28117
(lp28118
S'clapboards'
p28119
aS'clapboarding'
p28120
aS'clapboarded'
p28121
aS'clapboarded'
p28122
asS'marshal'
p28123
(lp28124
S'marshals'
p28125
aS'marshalling'
p28126
aS'marshalled'
p28127
aS'marshalled'
p28128
asS'unsay'
p28129
(lp28130
S'unsays'
p28131
aS'unsaying'
p28132
aS'unsaid'
p28133
aS'unsaid'
p28134
asS'gestate'
p28135
(lp28136
S'gestates'
p28137
aS'gestating'
p28138
aS'gestated'
p28139
aS'gestated'
p28140
asS'nerve'
p28141
(lp28142
S'nerves'
p28143
aS'nerving'
p28144
aS'nerved'
p28145
aS'nerved'
p28146
asS'motivate'
p28147
(lp28148
S'motivates'
p28149
aS'motivating'
p28150
aS'motivated'
p28151
aS'motivated'
p28152
asS'stone-wall'
p28153
(lp28154
S'stone-walls'
p28155
ag21493
ag21494
aS'stone-walled'
p28156
asS'Frenchify'
p28157
(lp28158
S'Frenchifies'
p28159
aS'Frenchifying'
p28160
aS'Frenchified'
p28161
aS'Frenchified'
p28162
asS'down'
p28163
(lp28164
S'downs'
p28165
aS'downing'
p28166
aS'downed'
p28167
aS'downed'
p28168
asS'slurp'
p28169
(lp28170
S'slurps'
p28171
aS'slurping'
p28172
aS'slurped'
p28173
aS'slurped'
p28174
asS'translocate'
p28175
(lp28176
S'translocates'
p28177
aS'translocating'
p28178
aS'translocated'
p28179
aS'translocated'
p28180
asS'chime'
p28181
(lp28182
S'chimes'
p28183
aS'chiming'
p28184
aS'chimed'
p28185
aS'chimed'
p28186
asS'unseal'
p28187
(lp28188
S'unseals'
p28189
aS'unsealing'
p28190
aS'unsealed'
p28191
aS'unsealed'
p28192
asS'unseam'
p28193
(lp28194
S'unseams'
p28195
aS'unseaming'
p28196
aS'unseamed'
p28197
aS'unseamed'
p28198
asS'chitter'
p28199
(lp28200
S'chitters'
p28201
aS'chittering'
p28202
aS'chittered'
p28203
aS'chittered'
p28204
asS'initial'
p28205
(lp28206
S'initials'
p28207
aS'initialling'
p28208
aS'initialled'
p28209
aS'initialled'
p28210
asS'subdivide'
p28211
(lp28212
S'subdivides'
p28213
aS'subdividing'
p28214
aS'subdivided'
p28215
aS'subdivided'
p28216
asS'chelate'
p28217
(lp28218
S'chelates'
p28219
aS'chelating'
p28220
aS'chelated'
p28221
aS'chelated'
p28222
asS'misbecome'
p28223
(lp28224
S'misbecomes'
p28225
aS'misbecoming'
p28226
aS'misbecame'
p28227
aS'misbecame'
p28228
asS'lampoon'
p28229
(lp28230
S'lampoons'
p28231
aS'lampooning'
p28232
aS'lampooned'
p28233
aS'lampooned'
p28234
asS'deputize'
p28235
(lp28236
S'deputizes'
p28237
aS'deputizing'
p28238
aS'deputized'
p28239
aS'deputized'
p28240
asS'unseat'
p28241
(lp28242
S'unseats'
p28243
aS'unseating'
p28244
aS'unseated'
p28245
aS'unseated'
p28246
asS'stalk'
p28247
(lp28248
S'stalks'
p28249
aS'stalking'
p28250
aS'stalked'
p28251
aS'stalked'
p28252
asS'smoodge'
p28253
(lp28254
S'smoodges'
p28255
aS'smoodging'
p28256
aS'smoodged'
p28257
aS'smoodged'
p28258
asS'fork'
p28259
(lp28260
S'forks'
p28261
aS'forking'
p28262
aS'forked'
p28263
aS'forked'
p28264
asS'starve'
p28265
(lp28266
S'starves'
p28267
aS'starving'
p28268
aS'starved'
p28269
aS'starved'
p28270
asS'form'
p28271
(lp28272
S'forms'
p28273
aS'forming'
p28274
aS'formed'
p28275
aS'formed'
p28276
asS'ford'
p28277
(lp28278
S'fords'
p28279
aS'fording'
p28280
aS'forded'
p28281
aS'forded'
p28282
asS'diaper'
p28283
(lp28284
S'diapers'
p28285
aS'diapering'
p28286
aS'diapered'
p28287
aS'diapered'
p28288
asS'turpentine'
p28289
(lp28290
S'turpentines'
p28291
aS'turpentining'
p28292
aS'turpentined'
p28293
aS'turpentined'
p28294
asS'syndicate'
p28295
(lp28296
S'syndicates'
p28297
aS'syndicating'
p28298
aS'syndicated'
p28299
aS'syndicated'
p28300
asS'overburden'
p28301
(lp28302
S'overburdens'
p28303
aS'overburdening'
p28304
aS'overburdened'
p28305
aS'overburdened'
p28306
asS'surrender'
p28307
(lp28308
S'surrenders'
p28309
aS'surrendering'
p28310
aS'surrendered'
p28311
aS'surrendered'
p28312
asS'pavilion'
p28313
(lp28314
S'pavilions'
p28315
aS'pavilioning'
p28316
aS'pavilioned'
p28317
aS'pavilioned'
p28318
asS'LHlike'
p28319
(lp28320
S'LHlikes'
p28321
aS'LHliking'
p28322
aS'LHliked'
p28323
aS'LHliked'
p28324
asS'litter'
p28325
(lp28326
S'litters'
p28327
aS'littering'
p28328
aS'littered'
p28329
aS'littered'
p28330
asS'boomerang'
p28331
(lp28332
S'boomerangs'
p28333
aS'boomeranging'
p28334
aS'boomeranged'
p28335
aS'boomeranged'
p28336
asS'temper'
p28337
(lp28338
S'tempers'
p28339
aS'tempering'
p28340
aS'tempered'
p28341
aS'tempered'
p28342
asS'delete'
p28343
(lp28344
S'deletes'
p28345
aS'deleting'
p28346
aS'deleted'
p28347
aS'deleted'
p28348
asS'diagnose'
p28349
(lp28350
S'diagnoses'
p28351
aS'diagnosing'
p28352
aS'diagnosed'
p28353
aS'diagnosed'
p28354
asS'forespeak'
p28355
(lp28356
S'forespeaks'
p28357
aS'forespeaking'
p28358
aS'forespoke'
p28359
aS'forespoken'
p28360
asS'shin'
p28361
(lp28362
S'shins'
p28363
aS'shinning'
p28364
aS'shinned'
p28365
aS'shinned'
p28366
asS'shim'
p28367
(lp28368
S'shims'
p28369
aS'shimming'
p28370
aS'shimmed'
p28371
aS'shimmed'
p28372
asS'bureaucratize'
p28373
(lp28374
S'bureaucratizes'
p28375
aS'bureaucratizing'
p28376
aS'bureaucratized'
p28377
aS'bureaucratized'
p28378
asS'sidestep'
p28379
(lp28380
S'sidesteps'
p28381
aS'sidestepping'
p28382
aS'sidestepped'
p28383
aS'sidestepped'
p28384
asS'sticky'
p28385
(lp28386
S'stickies'
p28387
aS'stickying'
p28388
aS'stickied'
p28389
aS'stickied'
p28390
asS'scrawl'
p28391
(lp28392
S'scrawls'
p28393
aS'scrawling'
p28394
aS'scrawled'
p28395
aS'scrawled'
p28396
asS'revitalize'
p28397
(lp28398
S'revitalizes'
p28399
aS'revitalizing'
p28400
aS'revitalized'
p28401
aS'revitalized'
p28402
asS'vivify'
p28403
(lp28404
S'vivifies'
p28405
aS'vivifying'
p28406
aS'vivified'
p28407
aS'vivified'
p28408
asS'ship'
p28409
(lp28410
S'ships'
p28411
aS'shipping'
p28412
aS'shipped'
p28413
aS'shipped'
p28414
asS'swill'
p28415
(lp28416
S'swills'
p28417
aS'swilling'
p28418
aS'swilled'
p28419
aS'swilled'
p28420
asS'addle'
p28421
(lp28422
S'addles'
p28423
aS'addling'
p28424
aS'addled'
p28425
aS'addled'
p28426
asS'shit'
p28427
(lp28428
S'shits'
p28429
aS'shitting'
p28430
aS'shit'
p28431
aS'shit'
p28432
asS'graft'
p28433
(lp28434
S'grafts'
p28435
aS'grafting'
p28436
aS'grafted'
p28437
aS'grafted'
p28438
asS'discriminate'
p28439
(lp28440
S'discriminates'
p28441
aS'discriminating'
p28442
aS'discriminated'
p28443
aS'discriminated'
p28444
asS'disaccord'
p28445
(lp28446
S'disaccords'
p28447
aS'disaccording'
p28448
aS'disaccorded'
p28449
aS'disaccorded'
p28450
asS'excel'
p28451
(lp28452
S'excels'
p28453
aS'excelling'
p28454
aS'excelled'
p28455
aS'excelled'
p28456
asS'maledict'
p28457
(lp28458
S'maledicts'
p28459
aS'maledicting'
p28460
aS'maledicted'
p28461
aS'maledicted'
p28462
asS'congeal'
p28463
(lp28464
S'congeals'
p28465
aS'congealing'
p28466
aS'congealed'
p28467
aS'congealed'
p28468
asS'repay'
p28469
(lp28470
S'repays'
p28471
aS'repaying'
p28472
aS'repaid'
p28473
aS'repaid'
p28474
asS'warehouse'
p28475
(lp28476
S'warehouses'
p28477
aS'warehousing'
p28478
aS'warehoused'
p28479
aS'warehoused'
p28480
asS'interlard'
p28481
(lp28482
S'interlards'
p28483
aS'interlarding'
p28484
aS'interlarded'
p28485
aS'interlarded'
p28486
asS'garland'
p28487
(lp28488
S'garlands'
p28489
aS'garlanding'
p28490
aS'garlanded'
p28491
aS'garlanded'
p28492
asS'handicap'
p28493
(lp28494
S'handicaps'
p28495
aS'handicapping'
p28496
aS'handicapped'
p28497
aS'handicapped'
p28498
asS'bilge'
p28499
(lp28500
S'bilges'
p28501
aS'bilging'
p28502
aS'bilged'
p28503
aS'bilged'
p28504
asS'slink'
p28505
(lp28506
S'slinks'
p28507
aS'slinking'
p28508
aS'slunk'
p28509
aS'slunk'
p28510
asS'diet'
p28511
(lp28512
S'diets'
p28513
aS'dieting'
p28514
aS'dieted'
p28515
aS'dieted'
p28516
asS'infatuate'
p28517
(lp28518
S'infatuates'
p28519
aS'infatuating'
p28520
aS'infatuated'
p28521
aS'infatuated'
p28522
asS'journey'
p28523
(lp28524
S'journeys'
p28525
aS'journeying'
p28526
aS'journeyed'
p28527
aS'journeyed'
p28528
asS'reign'
p28529
(lp28530
S'reigns'
p28531
aS'reigning'
p28532
aS'reigned'
p28533
aS'reigned'
p28534
asS'stoke'
p28535
(lp28536
S'stokes'
p28537
aS'stoking'
p28538
aS'stoked'
p28539
aS'stoked'
p28540
asS'weekend'
p28541
(lp28542
S'weekends'
p28543
aS'weekending'
p28544
aS'weekended'
p28545
aS'weekended'
p28546
asS'endamage'
p28547
(lp28548
S'endamages'
p28549
aS'endamaging'
p28550
aS'endamaged'
p28551
aS'endamaged'
p28552
asS'derail'
p28553
(lp28554
S'derails'
p28555
aS'derailing'
p28556
aS'derailed'
p28557
aS'derailed'
p28558
asS'assume'
p28559
(lp28560
S'assumes'
p28561
aS'assuming'
p28562
aS'assumed'
p28563
aS'assumed'
p28564
asS'jacket'
p28565
(lp28566
S'jackets'
p28567
aS'jacketing'
p28568
aS'jacketed'
p28569
aS'jacketed'
p28570
asS'reroute'
p28571
(lp28572
S'reroutes'
p28573
aS'rerouting'
p28574
aS'rerouted'
p28575
aS'rerouted'
p28576
asS'meander'
p28577
(lp28578
S'meanders'
p28579
aS'meandering'
p28580
aS'meandered'
p28581
aS'meandered'
p28582
asS'decelerate'
p28583
(lp28584
S'decelerates'
p28585
aS'decelerating'
p28586
aS'decelerated'
p28587
aS'decelerated'
p28588
asS'camber'
p28589
(lp28590
S'cambers'
p28591
aS'cambering'
p28592
aS'cambered'
p28593
aS'cambered'
p28594
asS'befriend'
p28595
(lp28596
S'befriends'
p28597
aS'befriending'
p28598
aS'befriended'
p28599
aS'befriended'
p28600
asS'revoke'
p28601
(lp28602
S'revokes'
p28603
aS'revoking'
p28604
aS'revoked'
p28605
aS'revoked'
p28606
asS'fletch'
p28607
(lp28608
S'fletches'
p28609
aS'fletching'
p28610
aS'fletched'
p28611
aS'fletched'
p28612
asS'skip'
p28613
(lp28614
S'skips'
p28615
aS'skipping'
p28616
aS'skipped'
p28617
aS'skipped'
p28618
asS'relieve'
p28619
(lp28620
S'relieves'
p28621
aS'relieving'
p28622
aS'relieved'
p28623
aS'relieved'
p28624
asS'peruse'
p28625
(lp28626
S'peruses'
p28627
aS'perusing'
p28628
aS'perused'
p28629
aS'perused'
p28630
asS'invent'
p28631
(lp28632
S'invents'
p28633
aS'inventing'
p28634
aS'invented'
p28635
aS'invented'
p28636
asS'muss'
p28637
(lp28638
S'musses'
p28639
aS'mussing'
p28640
aS'mussed'
p28641
aS'mussed'
p28642
asS'redouble'
p28643
(lp28644
S'redoubles'
p28645
aS'redoubling'
p28646
aS'redoubled'
p28647
aS'redoubled'
p28648
asS'skin'
p28649
(lp28650
S'skins'
p28651
aS'skinning'
p28652
aS'skinned'
p28653
aS'skinned'
p28654
asS'spruik'
p28655
(lp28656
S'spruiks'
p28657
aS'spruiking'
p28658
aS'spruiked'
p28659
aS'spruiked'
p28660
asS'mill'
p28661
(lp28662
S'mills'
p28663
aS'milling'
p28664
aS'milled'
p28665
aS'milled'
p28666
asS'forcefeed'
p28667
(lp28668
S'forcefeeds'
p28669
aS'forcefeeding'
p28670
aS'forcefed'
p28671
aS'forcefed'
p28672
asS'milk'
p28673
(lp28674
S'milks'
p28675
aS'milking'
p28676
aS'milked'
p28677
aS'milked'
p28678
asS'skeletonize'
p28679
(lp28680
S'skeletonizes'
p28681
aS'skeletonizing'
p28682
aS'skeletonized'
p28683
aS'skeletonized'
p28684
asS'misread'
p28685
(lp28686
S'misreads'
p28687
aS'misreading'
p28688
aS'misread'
p28689
aS'misread'
p28690
asS'depend'
p28691
(lp28692
S'depends'
p28693
aS'depending'
p28694
aS'depended'
p28695
aS'depended'
p28696
asS'summersault'
p28697
(lp28698
sS'tariff'
p28699
(lp28700
S'tariffs'
p28701
aS'tariffing'
p28702
aS'tariffed'
p28703
aS'tariffed'
p28704
asS'swoon'
p28705
(lp28706
S'swoons'
p28707
aS'swooning'
p28708
aS'swooned'
p28709
aS'swooned'
p28710
asS'father'
p28711
(lp28712
S'fathers'
p28713
aS'fathering'
p28714
aS'fathered'
p28715
aS'fathered'
p28716
asS'amaze'
p28717
(lp28718
S'amazes'
p28719
aS'amazing'
p28720
aS'amazed'
p28721
aS'amazed'
p28722
asS'swoop'
p28723
(lp28724
S'swoops'
p28725
aS'swooping'
p28726
aS'swooped'
p28727
aS'swooped'
p28728
asS'quintuplicate'
p28729
(lp28730
S'quintuplicates'
p28731
aS'quintuplicating'
p28732
aS'quintuplicated'
p28733
aS'quintuplicated'
p28734
asS'overproduce'
p28735
(lp28736
S'overproduces'
p28737
aS'overproducing'
p28738
aS'overproduced'
p28739
aS'overproduced'
p28740
asS'unburden'
p28741
(lp28742
S'unburdens'
p28743
aS'unburdening'
p28744
aS'unburdened'
p28745
aS'unburdened'
p28746
asS'encircle'
p28747
(lp28748
S'encircles'
p28749
aS'encircling'
p28750
aS'encircled'
p28751
aS'encircled'
p28752
asS'keck'
p28753
(lp28754
S'kecks'
p28755
aS'kecking'
p28756
aS'kecked'
p28757
aS'kecked'
p28758
asS'string'
p28759
(lp28760
S'strings'
p28761
aS'stringing'
p28762
aS'strung'
p28763
aS'strung'
p28764
asS'shoogle'
p28765
(lp28766
S'shoogles'
p28767
aS'shoogling'
p28768
aS'shoogled'
p28769
aS'shoogled'
p28770
asS'bullyrag'
p28771
(lp28772
S'bullyrags'
p28773
aS'bullyragging'
p28774
aS'bullyragged'
p28775
aS'bullyragged'
p28776
asS'nationalize'
p28777
(lp28778
S'nationalizes'
p28779
aS'nationalizing'
p28780
aS'nationalized'
p28781
aS'nationalized'
p28782
asS'woosh'
p28783
(lp28784
S'wooshes'
p28785
aS'wooshing'
p28786
aS'wooshed'
p28787
aS'wooshed'
p28788
asS'Europeanize'
p28789
(lp28790
S'Europeanizes'
p28791
aS'Europeanizing'
p28792
aS'Europeanized'
p28793
aS'Europeanized'
p28794
asS'lynch'
p28795
(lp28796
S'lynches'
p28797
aS'lynching'
p28798
aS'lynched'
p28799
aS'lynched'
p28800
asS'jettison'
p28801
(lp28802
S'jettisons'
p28803
aS'jettisoning'
p28804
aS'jettisoned'
p28805
aS'jettisoned'
p28806
asS'materialize'
p28807
(lp28808
S'materializes'
p28809
aS'materializing'
p28810
aS'materialized'
p28811
aS'materialized'
p28812
asS'dim'
p28813
(lp28814
S'dims'
p28815
aS'dimming'
p28816
aS'dimmed'
p28817
aS'dimmed'
p28818
asS'din'
p28819
(lp28820
S'dins'
p28821
aS'dinning'
p28822
aS'dinned'
p28823
aS'dinned'
p28824
asS'die'
p28825
(lp28826
S'dies'
p28827
aS'dying'
p28828
aS'died'
p28829
aS'died'
p28830
asS'economize'
p28831
(lp28832
S'economizes'
p28833
aS'economizing'
p28834
aS'economized'
p28835
aS'economized'
p28836
asS'dig'
p28837
(lp28838
S'digs'
p28839
aS'digging'
p28840
aS'dug'
p28841
aS'dug'
p28842
asS'dib'
p28843
(lp28844
S'dibs'
p28845
aS'dibbing'
p28846
aS'dibbed'
p28847
aS'dibbed'
p28848
asS'hooray'
p28849
(lp28850
S'hoorays'
p28851
aS'hooraying'
p28852
aS'hoorayed'
p28853
aS'hoorayed'
p28854
asS'item'
p28855
(lp28856
S'items'
p28857
aS'iteming'
p28858
aS'itemed'
p28859
aS'itemed'
p28860
asS'grimace'
p28861
(lp28862
S'grimaces'
p28863
aS'grimacing'
p28864
aS'grimaced'
p28865
aS'grimaced'
p28866
asS'dip'
p28867
(lp28868
S'dips'
p28869
aS'dipping'
p28870
aS'dipped'
p28871
aS'dipped'
p28872
asS'round'
p28873
(lp28874
S'rounds'
p28875
aS'rounding'
p28876
aS'rounded'
p28877
aS'rounded'
p28878
asS'shave'
p28879
(lp28880
S'shaves'
p28881
aS'shaving'
p28882
aS'shaved'
p28883
aS'shaven'
p28884
asS'worm'
p28885
(lp28886
S'worms'
p28887
aS'worming'
p28888
aS'wormed'
p28889
aS'wormed'
p28890
asS'slake'
p28891
(lp28892
S'slakes'
p28893
aS'slaking'
p28894
aS'slaked'
p28895
aS'slaked'
p28896
asS'trisect'
p28897
(lp28898
S'trisects'
p28899
aS'trisecting'
p28900
aS'trisected'
p28901
aS'trisected'
p28902
asS'twaddle'
p28903
(lp28904
S'twaddles'
p28905
aS'twaddling'
p28906
aS'twaddled'
p28907
aS'twaddled'
p28908
asS'unbar'
p28909
(lp28910
S'unbars'
p28911
aS'unbarring'
p28912
aS'unbarred'
p28913
aS'unbarred'
p28914
asS'favour'
p28915
(lp28916
S'favours'
p28917
aS'favouring'
p28918
aS'favoured'
p28919
aS'favoured'
p28920
asS'fillet'
p28921
(lp28922
S'fillets'
p28923
aS'filleting'
p28924
aS'filleted'
p28925
aS'filleted'
p28926
asS'reunite'
p28927
(lp28928
S'reunites'
p28929
aS'reuniting'
p28930
aS'reunited'
p28931
aS'reunited'
p28932
asS'suspect'
p28933
(lp28934
S'suspects'
p28935
aS'suspecting'
p28936
aS'suspected'
p28937
aS'suspected'
p28938
asS'divinize'
p28939
(lp28940
S'divinizes'
p28941
aS'divinizing'
p28942
aS'divinized'
p28943
aS'divinized'
p28944
asS'extemporize'
p28945
(lp28946
S'extemporizes'
p28947
aS'extemporizing'
p28948
aS'extemporized'
p28949
aS'extemporized'
p28950
asS'dwarf'
p28951
(lp28952
S'dwarfs'
p28953
aS'dwarfing'
p28954
aS'dwarfed'
p28955
aS'dwarfed'
p28956
asS'etherealize'
p28957
(lp28958
S'etherealizes'
p28959
aS'etherealizing'
p28960
aS'etherealized'
p28961
aS'etherealized'
p28962
asS'clerk'
p28963
(lp28964
S'clerks'
p28965
aS'clerking'
p28966
aS'clerked'
p28967
aS'clerked'
p28968
asS'briquette'
p28969
(lp28970
S'briquettes'
p28971
aS'briquetting'
p28972
aS'briquetted'
p28973
aS'briquetted'
p28974
asS'overwinter'
p28975
(lp28976
S'overwinters'
p28977
aS'overwintering'
p28978
aS'overwintered'
p28979
aS'overwintered'
p28980
asS'detest'
p28981
(lp28982
S'detests'
p28983
aS'detesting'
p28984
aS'detested'
p28985
aS'detested'
p28986
asS'decipher'
p28987
(lp28988
S'deciphers'
p28989
aS'deciphering'
p28990
aS'deciphered'
p28991
aS'deciphered'
p28992
asS'oversimplify'
p28993
(lp28994
S'oversimplifies'
p28995
aS'oversimplifying'
p28996
aS'oversimplified'
p28997
aS'oversimplified'
p28998
asS'wait'
p28999
(lp29000
S'waits'
p29001
aS'waiting'
p29002
aS'waited'
p29003
aS'waited'
p29004
asS'box'
p29005
(lp29006
S'boxes'
p29007
aS'boxing'
p29008
aS'boxed'
p29009
aS'boxed'
p29010
asS'cuckoo'
p29011
(lp29012
S'cuckoos'
p29013
aS'cuckooing'
p29014
aS'cuckooed'
p29015
aS'cuckooed'
p29016
asS'bop'
p29017
(lp29018
S'bops'
p29019
aS'bopping'
p29020
aS'bopped'
p29021
aS'bopped'
p29022
asS'shift'
p29023
(lp29024
S'shifts'
p29025
aS'shifting'
p29026
aS'shifted'
p29027
aS'shifted'
p29028
asS'bow'
p29029
(lp29030
S'bows'
p29031
aS'bowing'
p29032
aS'bowed'
p29033
aS'bowed'
p29034
asS'dither'
p29035
(lp29036
S'dithers'
p29037
aS'dithering'
p29038
aS'dithered'
p29039
aS'dithered'
p29040
asS'boo'
p29041
(lp29042
S'boos'
p29043
aS'booing'
p29044
aS'booed'
p29045
aS'booed'
p29046
asS'bob'
p29047
(lp29048
S'bobs'
p29049
aS'bobbing'
p29050
aS'bobbed'
p29051
aS'bobbed'
p29052
asS'conglobate'
p29053
(lp29054
S'conglobates'
p29055
aS'conglobating'
p29056
aS'conglobated'
p29057
aS'conglobated'
p29058
asS'massage'
p29059
(lp29060
S'massages'
p29061
aS'massaging'
p29062
aS'massaged'
p29063
aS'massaged'
p29064
asS'demodulate'
p29065
(lp29066
S'demodulates'
p29067
aS'demodulating'
p29068
aS'demodulated'
p29069
aS'demodulated'
p29070
asS'treasure'
p29071
(lp29072
S'treasures'
p29073
aS'treasuring'
p29074
aS'treasured'
p29075
aS'treasured'
p29076
asS'elect'
p29077
(lp29078
S'elects'
p29079
aS'electing'
p29080
aS'elected'
p29081
aS'elected'
p29082
asS'stet'
p29083
(lp29084
S'stets'
p29085
aS'stetting'
p29086
aS'stetted'
p29087
aS'stetted'
p29088
asS'supinate'
p29089
(lp29090
S'supinates'
p29091
aS'supinating'
p29092
aS'supinated'
p29093
aS'supinated'
p29094
asS'quibble'
p29095
(lp29096
S'quibbles'
p29097
aS'quibbling'
p29098
aS'quibbled'
p29099
aS'quibbled'
p29100
asS'verge'
p29101
(lp29102
S'verges'
p29103
aS'verging'
p29104
aS'verged'
p29105
aS'verged'
p29106
asS'surmount'
p29107
(lp29108
S'surmounts'
p29109
aS'surmounting'
p29110
aS'surmounted'
p29111
aS'surmounted'
p29112
asS'torrify'
p29113
(lp29114
S'torrifies'
p29115
aS'torrifying'
p29116
aS'torrified'
p29117
aS'torrified'
p29118
asS'transplant'
p29119
(lp29120
S'transplants'
p29121
aS'transplanting'
p29122
aS'transplanted'
p29123
aS'transplanted'
p29124
asS'anthropomorphize'
p29125
(lp29126
S'anthropomorphizes'
p29127
aS'anthropomorphizing'
p29128
aS'anthropomorphized'
p29129
aS'anthropomorphized'
p29130
asS'telpher'
p29131
(lp29132
S'telphers'
p29133
aS'telphering'
p29134
aS'telphered'
p29135
aS'telphered'
p29136
asS'confound'
p29137
(lp29138
S'confounds'
p29139
aS'confounding'
p29140
aS'confounded'
p29141
aS'confounded'
p29142
asS'subtract'
p29143
(lp29144
S'subtracts'
p29145
aS'subtracting'
p29146
aS'subtracted'
p29147
aS'subtracted'
p29148
asS'visit'
p29149
(lp29150
S'visits'
p29151
aS'visiting'
p29152
aS'visited'
p29153
aS'visited'
p29154
asS'deepsix'
p29155
(lp29156
S'deepsixes'
p29157
aS'deepsixing'
p29158
aS'deepsixed'
p29159
aS'deepsixed'
p29160
asS'encode'
p29161
(lp29162
S'encodes'
p29163
aS'encoding'
p29164
aS'encoded'
p29165
aS'encoded'
p29166
asS'sharpen'
p29167
(lp29168
S'sharpens'
p29169
aS'sharpening'
p29170
aS'sharpened'
p29171
aS'sharpened'
p29172
asS'swagger'
p29173
(lp29174
S'swaggers'
p29175
aS'swaggering'
p29176
aS'swaggered'
p29177
aS'swaggered'
p29178
asS'excide'
p29179
(lp29180
S'excides'
p29181
aS'exciding'
p29182
aS'excided'
p29183
aS'excided'
p29184
asS'cremate'
p29185
(lp29186
S'cremates'
p29187
aS'cremating'
p29188
aS'cremated'
p29189
aS'cremated'
p29190
asS'repast'
p29191
(lp29192
S'repasts'
p29193
aS'repasting'
p29194
aS'repasted'
p29195
aS'repasted'
p29196
asS'anagrammatize'
p29197
(lp29198
S'anagrammatizes'
p29199
aS'anagrammatizing'
p29200
aS'anagrammatized'
p29201
aS'anagrammatized'
p29202
asS'fly'
p29203
(lp29204
S'flies'
p29205
aS'flying'
p29206
aS'flew'
p29207
aS'flown'
p29208
asS'demolish'
p29209
(lp29210
S'demolishes'
p29211
aS'demolishing'
p29212
aS'demolished'
p29213
aS'demolished'
p29214
asS'impel'
p29215
(lp29216
S'impels'
p29217
aS'impelling'
p29218
aS'impelled'
p29219
aS'impelled'
p29220
asS'sour'
p29221
(lp29222
S'sours'
p29223
aS'souring'
p29224
aS'soured'
p29225
aS'soured'
p29226
asS'symmetrize'
p29227
(lp29228
S'symmetrizes'
p29229
aS'symmetrizing'
p29230
aS'symmetrized'
p29231
aS'symmetrized'
p29232
asS'arrive'
p29233
(lp29234
S'arrives'
p29235
aS'arriving'
p29236
aS'arrived'
p29237
aS'arrived'
p29238
asS'claim'
p29239
(lp29240
S'claims'
p29241
aS'claiming'
p29242
aS'claimed'
p29243
aS'claimed'
p29244
asS'immortalize'
p29245
(lp29246
S'immortalizes'
p29247
aS'immortalizing'
p29248
aS'immortalized'
p29249
aS'immortalized'
p29250
asS'intergrade'
p29251
(lp29252
S'intergrades'
p29253
aS'intergrading'
p29254
aS'intergraded'
p29255
aS'intergraded'
p29256
asS'predict'
p29257
(lp29258
S'predicts'
p29259
aS'predicting'
p29260
aS'predicted'
p29261
aS'predicted'
p29262
asS'fuck'
p29263
(lp29264
S'fucks'
p29265
aS'fucking'
p29266
aS'fucked'
p29267
aS'fucked'
p29268
asS'sample'
p29269
(lp29270
S'samples'
p29271
aS'sampling'
p29272
aS'sampled'
p29273
aS'sampled'
p29274
asS'disbelieve'
p29275
(lp29276
S'disbelieves'
p29277
aS'disbelieving'
p29278
aS'disbelieved'
p29279
aS'disbelieved'
p29280
asS'craze'
p29281
(lp29282
S'crazes'
p29283
aS'crazing'
p29284
aS'crazed'
p29285
aS'crazed'
p29286
asS'normalize'
p29287
(lp29288
S'normalizes'
p29289
aS'normalizing'
p29290
aS'normalized'
p29291
aS'normalized'
p29292
asS'purr'
p29293
(lp29294
S'purrs'
p29295
aS'purring'
p29296
aS'purred'
p29297
aS'purred'
p29298
asS'shinty'
p29299
(lp29300
S'shinties'
p29301
aS'shintying'
p29302
aS'shintied'
p29303
aS'shintied'
p29304
asS'tilt'
p29305
(lp29306
S'tilts'
p29307
aS'tilting'
p29308
aS'tilted'
p29309
aS'tilted'
p29310
asS'ping'
p29311
(lp29312
S'pings'
p29313
aS'pinging'
p29314
aS'pinged'
p29315
aS'pinged'
p29316
asS'parch'
p29317
(lp29318
S'parches'
p29319
aS'parching'
p29320
aS'parched'
p29321
aS'parched'
p29322
asS'pine'
p29323
(lp29324
S'pines'
p29325
aS'pining'
p29326
aS'pined'
p29327
aS'pined'
p29328
asS'till'
p29329
(lp29330
S'tills'
p29331
aS'tilling'
p29332
aS'tilled'
p29333
aS'tilled'
p29334
asS'tile'
p29335
(lp29336
S'tiles'
p29337
aS'tiling'
p29338
aS'tiled'
p29339
aS'tiled'
p29340
asS'purl'
p29341
(lp29342
S'purls'
p29343
aS'purling'
p29344
aS'purled'
p29345
aS'purled'
p29346
asS'map'
p29347
(lp29348
S'maps'
p29349
aS'mapping'
p29350
aS'mapped'
p29351
aS'mapped'
p29352
asS'mar'
p29353
(lp29354
S'mars'
p29355
aS'marring'
p29356
aS'marred'
p29357
aS'marred'
p29358
asS'mat'
p29359
(lp29360
S'mats'
p29361
aS'matting'
p29362
aS'matted'
p29363
aS'matted'
p29364
asS'legislate'
p29365
(lp29366
S'legislates'
p29367
aS'legislating'
p29368
aS'legislated'
p29369
aS'legislated'
p29370
asS'may'
p29371
(lp29372
S'mayest'
p29373
aS"mayn't"
p29374
asS'mad'
p29375
(lp29376
S'mads'
p29377
aS'madding'
p29378
aS'madded'
p29379
aS'madded'
p29380
asS'methylate'
p29381
(lp29382
S'methylates'
p29383
aS'methylating'
p29384
aS'methylated'
p29385
aS'methylated'
p29386
asS'subrogate'
p29387
(lp29388
S'subrogates'
p29389
aS'subrogating'
p29390
aS'subrogated'
p29391
aS'subrogated'
p29392
asS'catcall'
p29393
(lp29394
S'catcalls'
p29395
aS'catcalling'
p29396
aS'catcalled'
p29397
aS'catcalled'
p29398
asS'grow'
p29399
(lp29400
S'grows'
p29401
aS'growing'
p29402
aS'grew'
p29403
aS'grown'
p29404
asS'fossilize'
p29405
(lp29406
S'fossilizes'
p29407
aS'fossilizing'
p29408
aS'fossilized'
p29409
aS'fossilized'
p29410
asS'itinerate'
p29411
(lp29412
S'itinerates'
p29413
aS'itinerating'
p29414
aS'itinerated'
p29415
aS'itinerated'
p29416
asS'omen'
p29417
(lp29418
S'omens'
p29419
aS'omening'
p29420
aS'omened'
p29421
aS'omened'
p29422
asS'perambulate'
p29423
(lp29424
S'perambulates'
p29425
aS'perambulating'
p29426
aS'perambulated'
p29427
aS'perambulated'
p29428
asS'purify'
p29429
(lp29430
S'purifies'
p29431
aS'purifying'
p29432
aS'purified'
p29433
aS'purified'
p29434
asS'disembowel'
p29435
(lp29436
S'disembowels'
p29437
aS'disembowelling'
p29438
aS'disembowelled'
p29439
aS'disembowelled'
p29440
asS'cascade'
p29441
(lp29442
S'cascades'
p29443
aS'cascading'
p29444
aS'cascaded'
p29445
aS'cascaded'
p29446
asS'absquatulate'
p29447
(lp29448
S'absquatulates'
p29449
aS'absquatulating'
p29450
aS'absquatulated'
p29451
aS'absquatulated'
p29452
asS'jail'
p29453
(lp29454
S'jails'
p29455
aS'jailing'
p29456
aS'jailed'
p29457
aS'jailed'
p29458
asS'deposit'
p29459
(lp29460
S'deposits'
p29461
aS'depositing'
p29462
aS'deposited'
p29463
aS'deposited'
p29464
asS'crossfertilize'
p29465
(lp29466
S'crossfertilizes'
p29467
aS'crossfertilizing'
p29468
aS'crossfertilized'
p29469
aS'crossfertilized'
p29470
asS'unleash'
p29471
(lp29472
S'unleashes'
p29473
aS'unleashing'
p29474
aS'unleashed'
p29475
aS'unleashed'
p29476
asS'tawse'
p29477
(lp29478
S'tawses'
p29479
aS'tawsing'
p29480
aS'tawsed'
p29481
aS'tawsed'
p29482
asS'bungle'
p29483
(lp29484
S'bungles'
p29485
aS'bungling'
p29486
aS'bungled'
p29487
aS'bungled'
p29488
asS'gesture'
p29489
(lp29490
S'gestures'
p29491
aS'gesturing'
p29492
aS'gestured'
p29493
aS'gestured'
p29494
asS'uncork'
p29495
(lp29496
S'uncorks'
p29497
aS'uncorking'
p29498
aS'uncorked'
p29499
aS'uncorked'
p29500
asS'shop-lift'
p29501
(lp29502
S'shop-lifts'
p29503
aS'shop-lifting'
p29504
aS'shop-lifted'
p29505
aS'shop-lifted'
p29506
asS'shield'
p29507
(lp29508
S'shields'
p29509
aS'shielding'
p29510
aS'shielded'
p29511
aS'shielded'
p29512
asS're-sign'
p29513
(lp29514
S're-signs'
p29515
aS're-signing'
p29516
aS're-signed'
p29517
aS're-signed'
p29518
asS'clubhaul'
p29519
(lp29520
S'clubhauls'
p29521
aS'clubhauling'
p29522
aS'clubhauled'
p29523
aS'clubhauled'
p29524
asS'recoup'
p29525
(lp29526
S'recoups'
p29527
aS'recouping'
p29528
aS'recouped'
p29529
aS'recouped'
p29530
asS'terrace'
p29531
(lp29532
S'terraces'
p29533
aS'terracing'
p29534
aS'terraced'
p29535
aS'terraced'
p29536
asS'pitch'
p29537
(lp29538
S'pitches'
p29539
aS'pitching'
p29540
aS'pitched'
p29541
aS'pitched'
p29542
asS'incapsulate'
p29543
(lp29544
S'incapsulates'
p29545
aS'incapsulating'
p29546
aS'incapsulated'
p29547
aS'incapsulated'
p29548
asS'equip'
p29549
(lp29550
S'equips'
p29551
aS'equipping'
p29552
aS'equipped'
p29553
aS'equipped'
p29554
asS'grout'
p29555
(lp29556
S'grouts'
p29557
aS'grouting'
p29558
aS'grouted'
p29559
aS'grouted'
p29560
asS'outbrave'
p29561
(lp29562
S'outbraves'
p29563
aS'outbraving'
p29564
aS'outbraved'
p29565
aS'outbraved'
p29566
asS'group'
p29567
(lp29568
S'groups'
p29569
aS'grouping'
p29570
aS'grouped'
p29571
aS'grouped'
p29572
asS'monitor'
p29573
(lp29574
S'monitors'
p29575
aS'monitoring'
p29576
aS'monitored'
p29577
aS'monitored'
p29578
asS'hyphenate'
p29579
(lp29580
S'hyphenates'
p29581
aS'hyphening'
p29582
aS'hyphened'
p29583
aS'hyphened'
p29584
asS'tellurize'
p29585
(lp29586
S'tellurizes'
p29587
aS'tellurizing'
p29588
aS'tellurized'
p29589
aS'tellurized'
p29590
asS'maim'
p29591
(lp29592
S'maims'
p29593
aS'maiming'
p29594
aS'maimed'
p29595
aS'maimed'
p29596
asS'mail'
p29597
(lp29598
S'mails'
p29599
aS'mailing'
p29600
aS'mailed'
p29601
aS'mailed'
p29602
asS'enfeoff'
p29603
(lp29604
S'enfeoffs'
p29605
aS'enfeoffing'
p29606
aS'enfeoffed'
p29607
aS'enfeoffed'
p29608
asS'mollycoddle'
p29609
(lp29610
S'mollycoddles'
p29611
aS'mollycoddling'
p29612
aS'mollycoddled'
p29613
aS'mollycoddled'
p29614
asS'finance'
p29615
(lp29616
S'finances'
p29617
aS'financing'
p29618
aS'financed'
p29619
aS'financed'
p29620
asS'shatter'
p29621
(lp29622
S'shatters'
p29623
aS'shattering'
p29624
aS'shattered'
p29625
aS'shattered'
p29626
asS'emplane'
p29627
(lp29628
S'emplanes'
p29629
aS'emplaning'
p29630
aS'emplaned'
p29631
aS'emplaned'
p29632
asS'tucker'
p29633
(lp29634
S'tuckers'
p29635
aS'tuckering'
p29636
aS'tuckered'
p29637
aS'tuckered'
p29638
asS'lunch'
p29639
(lp29640
S'lunches'
p29641
aS'lunching'
p29642
aS'lunched'
p29643
aS'lunched'
p29644
asS'titillate'
p29645
(lp29646
S'titillates'
p29647
aS'titillating'
p29648
aS'titillated'
p29649
aS'titillated'
p29650
asS'bullshit'
p29651
(lp29652
S'bullshits'
p29653
aS'bullshitting'
p29654
aS'bullshitted'
p29655
aS'bullshitted'
p29656
asS'possess'
p29657
(lp29658
S'possesses'
p29659
aS'possessing'
p29660
aS'possessed'
p29661
aS'possessed'
p29662
asS'outweigh'
p29663
(lp29664
S'outweighs'
p29665
aS'outweighing'
p29666
aS'outweighed'
p29667
aS'outweighed'
p29668
asS'fudge'
p29669
(lp29670
S'fudges'
p29671
aS'fudging'
p29672
aS'fudged'
p29673
aS'fudged'
p29674
asS'promulgate'
p29675
(lp29676
S'promulgates'
p29677
aS'promulgating'
p29678
aS'promulgated'
p29679
aS'promulgated'
p29680
asS'gamble'
p29681
(lp29682
S'gambles'
p29683
aS'gambling'
p29684
aS'gambled'
p29685
aS'gambled'
p29686
asS'rock'
p29687
(lp29688
S'rocks'
p29689
aS'rocking'
p29690
aS'rocked'
p29691
aS'rocked'
p29692
asS'hijack'
p29693
(lp29694
S'hijacks'
p29695
aS'hijacking'
p29696
aS'hijacked'
p29697
aS'hijacked'
p29698
asS'redraw'
p29699
(lp29700
S'redraws'
p29701
aS'redrawing'
p29702
aS'redrawed'
p29703
aS'redrawed'
p29704
asS'precancel'
p29705
(lp29706
S'precancels'
p29707
aS'precancelling'
p29708
aS'precancelled'
p29709
aS'precancelled'
p29710
asS'surfeit'
p29711
(lp29712
S'surfeits'
p29713
aS'surfeiting'
p29714
aS'surfeited'
p29715
aS'surfeited'
p29716
asS'gird'
p29717
(lp29718
S'girds'
p29719
aS'girding'
p29720
aS'girt'
p29721
aS'girt'
p29722
asS'unclasp'
p29723
(lp29724
S'unclasps'
p29725
aS'unclasping'
p29726
aS'unclasped'
p29727
aS'unclasped'
p29728
asS'batfowl'
p29729
(lp29730
S'batfowls'
p29731
aS'batfowling'
p29732
aS'batfowled'
p29733
aS'batfowled'
p29734
asS'despumate'
p29735
(lp29736
S'despumates'
p29737
aS'despumating'
p29738
aS'despumated'
p29739
aS'despumated'
p29740
asS'relive'
p29741
(lp29742
S'relives'
p29743
aS'reliving'
p29744
aS'relived'
p29745
aS'relived'
p29746
asS'stitch'
p29747
(lp29748
S'stitches'
p29749
aS'stitching'
p29750
aS'stitched'
p29751
aS'stitched'
p29752
asS'undulate'
p29753
(lp29754
S'undulates'
p29755
aS'undulating'
p29756
aS'undulated'
p29757
aS'undulated'
p29758
asS'bitch'
p29759
(lp29760
S'bitches'
p29761
aS'bitching'
p29762
aS'bitched'
p29763
aS'bitched'
p29764
asS'unlimber'
p29765
(lp29766
S'unlimbers'
p29767
aS'unlimbering'
p29768
aS'unlimbered'
p29769
aS'unlimbered'
p29770
asS'blubber'
p29771
(lp29772
S'blubbers'
p29773
aS'blubbering'
p29774
aS'blubbered'
p29775
aS'blubbered'
p29776
asS'dominate'
p29777
(lp29778
S'dominates'
p29779
aS'dominating'
p29780
aS'dominated'
p29781
aS'dominated'
p29782
asS'correct'
p29783
(lp29784
S'corrects'
p29785
aS'correcting'
p29786
aS'corrected'
p29787
aS'corrected'
p29788
asS'ammoniate'
p29789
(lp29790
S'ammoniates'
p29791
aS'ammoniating'
p29792
aS'ammoniated'
p29793
aS'ammoniated'
p29794
asS'smatter'
p29795
(lp29796
S'smatters'
p29797
aS'smattering'
p29798
aS'smattered'
p29799
aS'smattered'
p29800
asS'smudge'
p29801
(lp29802
S'smudges'
p29803
aS'smudging'
p29804
aS'smudged'
p29805
aS'smudged'
p29806
asS'previse'
p29807
(lp29808
S'previses'
p29809
aS'prevising'
p29810
aS'prevised'
p29811
aS'prevised'
p29812
asS'spiel'
p29813
(lp29814
S'spiels'
p29815
aS'spieling'
p29816
aS'spieled'
p29817
aS'spieled'
p29818
asS'keypunch'
p29819
(lp29820
S'keypunches'
p29821
aS'keypunching'
p29822
aS'keypunched'
p29823
aS'keypunched'
p29824
asS'baptize'
p29825
(lp29826
S'baptizes'
p29827
aS'baptizing'
p29828
aS'baptized'
p29829
aS'baptized'
p29830
asS'fluidize'
p29831
(lp29832
S'fluidizes'
p29833
aS'fluidizing'
p29834
aS'fluidized'
p29835
aS'fluidized'
p29836
asS'uncover'
p29837
(lp29838
S'uncovers'
p29839
aS'uncovering'
p29840
aS'uncovered'
p29841
aS'uncovered'
p29842
asS'jaywalk'
p29843
(lp29844
S'jaywalks'
p29845
ag14810
ag14811
aS'jaywalked'
p29846
asS'cough'
p29847
(lp29848
S'coughs'
p29849
aS'coughing'
p29850
aS'coughed'
p29851
aS'coughed'
p29852
asS'orb'
p29853
(lp29854
S'orbs'
p29855
aS'orbing'
p29856
aS'orbed'
p29857
aS'orbed'
p29858
asS'advance'
p29859
(lp29860
S'advances'
p29861
aS'advancing'
p29862
aS'advanced'
p29863
aS'advanced'
p29864
asS'pollard'
p29865
(lp29866
S'pollards'
p29867
aS'pollarding'
p29868
aS'pollarded'
p29869
aS'pollarded'
p29870
asS'corrugate'
p29871
(lp29872
S'corrugates'
p29873
aS'corrugating'
p29874
aS'corrugated'
p29875
aS'corrugated'
p29876
asS'think'
p29877
(lp29878
S'thinks'
p29879
aS'thinking'
p29880
aS'thought'
p29881
aS'thought'
p29882
asS'frequent'
p29883
(lp29884
S'frequents'
p29885
aS'frequenting'
p29886
aS'frequented'
p29887
aS'frequented'
p29888
asS'cheese'
p29889
(lp29890
S'cheesing'
p29891
aS'cheesed'
p29892
aS'cheesed'
p29893
asS'commercialize'
p29894
(lp29895
S'commercializes'
p29896
aS'commercializing'
p29897
aS'commercialized'
p29898
aS'commercialized'
p29899
asS'crib'
p29900
(lp29901
S'cribs'
p29902
aS'cribbing'
p29903
aS'cribbed'
p29904
aS'cribbed'
p29905
asS'disburse'
p29906
(lp29907
S'disburses'
p29908
aS'disbursing'
p29909
aS'disbursed'
p29910
aS'disbursed'
p29911
asS'long'
p29912
(lp29913
S'longs'
p29914
aS'longing'
p29915
aS'longed'
p29916
aS'longed'
p29917
asS'carry'
p29918
(lp29919
S'carries'
p29920
aS'carrying'
p29921
aS'carried'
p29922
aS'carried'
p29923
asS'cloture'
p29924
(lp29925
S'clotures'
p29926
aS'cloturing'
p29927
aS'clotured'
p29928
aS'clotured'
p29929
asS'basify'
p29930
(lp29931
S'basifies'
p29932
aS'basifying'
p29933
aS'basified'
p29934
aS'basified'
p29935
asS'interchange'
p29936
(lp29937
S'interchanges'
p29938
aS'interchanging'
p29939
aS'interchanged'
p29940
aS'interchanged'
p29941
asS'lap'
p29942
(lp29943
S'laps'
p29944
aS'lapping'
p29945
aS'lapped'
p29946
aS'lapped'
p29947
asS'lambaste'
p29948
(lp29949
S'lambasts'
p29950
aS'lambasting'
p29951
aS'lambasted'
p29952
aS'lambasted'
p29953
asS'escort'
p29954
(lp29955
S'escorts'
p29956
aS'escorting'
p29957
aS'escorted'
p29958
aS'escorted'
p29959
asS'artificialize'
p29960
(lp29961
S'artificializes'
p29962
aS'artificializing'
p29963
aS'artificialized'
p29964
aS'artificialized'
p29965
asS'daunt'
p29966
(lp29967
S'daunts'
p29968
aS'daunting'
p29969
aS'daunted'
p29970
aS'daunted'
p29971
asS'repatriate'
p29972
(lp29973
S'repatriates'
p29974
aS'repatriating'
p29975
aS'repatriated'
p29976
aS'repatriated'
p29977
asS'broadcast'
p29978
(lp29979
S'broadcasts'
p29980
aS'broadcasting'
p29981
aS'broadcasted'
p29982
aS'broadcasted'
p29983
asS'interdict'
p29984
(lp29985
S'interdicts'
p29986
aS'interdicting'
p29987
aS'interdicted'
p29988
aS'interdicted'
p29989
asS'butt'
p29990
(lp29991
S'butts'
p29992
aS'butting'
p29993
aS'butted'
p29994
aS'butted'
p29995
asS'blackguard'
p29996
(lp29997
S'blackguards'
p29998
aS'blackguarding'
p29999
aS'blackguarded'
p30000
aS'blackguarded'
p30001
asS'hemstitch'
p30002
(lp30003
S'hemstitches'
p30004
aS'hemstitching'
p30005
aS'hemstitched'
p30006
aS'hemstitched'
p30007
asS'infiltrate'
p30008
(lp30009
S'infiltrates'
p30010
aS'infiltrating'
p30011
aS'infiltrated'
p30012
aS'infiltrated'
p30013
asS'deafen'
p30014
(lp30015
S'deafens'
p30016
aS'deafening'
p30017
aS'deafened'
p30018
aS'deafened'
p30019
asS'graphitize'
p30020
(lp30021
S'graphitizes'
p30022
aS'graphitizing'
p30023
aS'graphitized'
p30024
aS'graphitized'
p30025
asS'gotta'
p30026
(lp30027
S'gotta'
p30028
asS'underprice'
p30029
(lp30030
S'underprices'
p30031
aS'underpricing'
p30032
aS'underpriced'
p30033
aS'underpriced'
p30034
asS'venture'
p30035
(lp30036
S'ventures'
p30037
aS'venturing'
p30038
aS'ventured'
p30039
aS'ventured'
p30040
asS'proofread'
p30041
(lp30042
sS'lullaby'
p30043
(lp30044
S'lullabies'
p30045
aS'lullabying'
p30046
aS'lullabied'
p30047
aS'lullabied'
p30048
asS'lick'
p30049
(lp30050
S'licks'
p30051
aS'licking'
p30052
aS'licked'
p30053
aS'licked'
p30054
asS'capsize'
p30055
(lp30056
S'capsizes'
p30057
aS'capsizing'
p30058
aS'capsized'
p30059
aS'capsized'
p30060
asS'stereochrome'
p30061
(lp30062
S'stereochromes'
p30063
aS'stereochroming'
p30064
aS'stereochromed'
p30065
aS'stereochromed'
p30066
asS'tantalize'
p30067
(lp30068
S'tantalizes'
p30069
aS'tantalizing'
p30070
aS'tantalized'
p30071
aS'tantalized'
p30072
asS'overexert'
p30073
(lp30074
S'overexerts'
p30075
aS'overexerting'
p30076
aS'overexerted'
p30077
aS'overexerted'
p30078
asS'seal'
p30079
(lp30080
S'seals'
p30081
aS'sealing'
p30082
aS'sealed'
p30083
aS'sealed'
p30084
asS'dash'
p30085
(lp30086
S'dashes'
p30087
aS'dashing'
p30088
aS'dashed'
p30089
aS'dashed'
p30090
asS'sulk'
p30091
(lp30092
S'sulks'
p30093
aS'sulking'
p30094
aS'sulked'
p30095
aS'sulked'
p30096
asS'mechanize'
p30097
(lp30098
S'mechanizes'
p30099
aS'mechanizing'
p30100
aS'mechanized'
p30101
aS'mechanized'
p30102
asS'calendar'
p30103
(lp30104
S'calendars'
p30105
aS'calendaring'
p30106
aS'calendared'
p30107
aS'calendared'
p30108
asS'squat'
p30109
(lp30110
S'squats'
p30111
aS'squatting'
p30112
aS'squatted'
p30113
aS'squatted'
p30114
asS'isolate'
p30115
(lp30116
S'isolates'
p30117
aS'isolating'
p30118
aS'isolated'
p30119
aS'isolated'
p30120
asS'clunk'
p30121
(lp30122
S'clunks'
p30123
aS'clunking'
p30124
aS'clunked'
p30125
aS'clunked'
p30126
asS'canton'
p30127
(lp30128
S'cantons'
p30129
aS'cantoning'
p30130
aS'cantoned'
p30131
aS'cantoned'
p30132
asS'channel'
p30133
(lp30134
S'channels'
p30135
aS'channelling'
p30136
aS'channelled'
p30137
aS'channelled'
p30138
asS'pain'
p30139
(lp30140
S'pains'
p30141
aS'paining'
p30142
aS'pained'
p30143
aS'pained'
p30144
asS'trace'
p30145
(lp30146
S'traces'
p30147
aS'tracing'
p30148
aS'traced'
p30149
aS'traced'
p30150
asS'roster'
p30151
(lp30152
S'rosters'
p30153
aS'rostering'
p30154
aS'rostered'
p30155
aS'rostered'
p30156
asS'track'
p30157
(lp30158
S'tracks'
p30159
aS'tracking'
p30160
aS'tracked'
p30161
aS'tracked'
p30162
asS'baize'
p30163
(lp30164
S'baizes'
p30165
aS'baizing'
p30166
aS'baized'
p30167
aS'baized'
p30168
asS'zigzag'
p30169
(lp30170
S'zigzags'
p30171
aS'zigzagging'
p30172
aS'zigzagged'
p30173
aS'zigzagged'
p30174
asS'whizz'
p30175
(lp30176
S'whizzes'
p30177
aS'whizzing'
p30178
aS'whizzed'
p30179
aS'whizzed'
p30180
asS'assault'
p30181
(lp30182
S'assaults'
p30183
aS'assaulting'
p30184
aS'assaulted'
p30185
aS'assaulted'
p30186
asS'barrage'
p30187
(lp30188
S'barrages'
p30189
aS'barraging'
p30190
aS'barraged'
p30191
aS'barraged'
p30192
asS'inspirit'
p30193
(lp30194
S'inspirits'
p30195
aS'inspiriting'
p30196
aS'inspirited'
p30197
aS'inspirited'
p30198
asS'pair'
p30199
(lp30200
S'pairs'
p30201
aS'pairing'
p30202
aS'paired'
p30203
aS'paired'
p30204
asS'marginate'
p30205
(lp30206
S'marginates'
p30207
aS'marginating'
p30208
aS'marginated'
p30209
aS'marginated'
p30210
asS'typeset'
p30211
(lp30212
S'typesets'
p30213
aS'typesetting'
p30214
aS'typeset'
p30215
aS'typeset'
p30216
asS'scowl'
p30217
(lp30218
S'scowls'
p30219
aS'scowling'
p30220
aS'scowled'
p30221
aS'scowled'
p30222
asS'voodoo'
p30223
(lp30224
S'voodoos'
p30225
aS'voodooing'
p30226
aS'voodooed'
p30227
aS'voodooed'
p30228
asS'reed'
p30229
(lp30230
S'reeds'
p30231
aS'reeding'
p30232
aS'reeded'
p30233
aS'reeded'
p30234
asS'unstep'
p30235
(lp30236
S'unsteps'
p30237
aS'unstepping'
p30238
aS'unstepped'
p30239
aS'unstepped'
p30240
asS'shop'
p30241
(lp30242
S'shops'
p30243
aS'shopping'
p30244
aS'shopped'
p30245
aS'shopped'
p30246
asS'shot'
p30247
(lp30248
S'shot'
p30249
aS'shot'
p30250
asS'show'
p30251
(lp30252
S'shows'
p30253
aS'showing'
p30254
aS'showed'
p30255
aS'shown'
p30256
asS'wetnurse'
p30257
(lp30258
S'wetnurses'
p30259
aS'wetnursing'
p30260
aS'wetnursed'
p30261
aS'wetnursed'
p30262
asS'Prussianize'
p30263
(lp30264
S'Prussianizes'
p30265
aS'Prussianizing'
p30266
aS'Prussianized'
p30267
aS'Prussianized'
p30268
asS'accession'
p30269
(lp30270
S'accessions'
p30271
aS'accessioning'
p30272
aS'accessioned'
p30273
aS'accessioned'
p30274
asS'elevate'
p30275
(lp30276
S'elevates'
p30277
aS'elevating'
p30278
aS'elevated'
p30279
aS'elevated'
p30280
asS'revest'
p30281
(lp30282
S'revests'
p30283
aS'revesting'
p30284
aS'revested'
p30285
aS'revested'
p30286
asS'premonish'
p30287
(lp30288
S'premonishes'
p30289
aS'premonishing'
p30290
aS'premonished'
p30291
aS'premonished'
p30292
asS'shoe'
p30293
(lp30294
S'shoes'
p30295
aS'shoeing'
p30296
aS'shod'
p30297
aS'shod'
p30298
asS'disunite'
p30299
(lp30300
S'disunites'
p30301
aS'disuniting'
p30302
aS'disunited'
p30303
aS'disunited'
p30304
asS'estop'
p30305
(lp30306
S'estops'
p30307
aS'estopping'
p30308
aS'estopped'
p30309
aS'estopped'
p30310
asS'corner'
p30311
(lp30312
S'corners'
p30313
aS'cornering'
p30314
aS'cornered'
p30315
aS'cornered'
p30316
asS'forecast'
p30317
(lp30318
S'forecasts'
p30319
aS'forecasting'
p30320
aS'forecasted'
p30321
aS'forecasted'
p30322
asS'shoo'
p30323
(lp30324
S'shoos'
p30325
aS'shooing'
p30326
aS'shooed'
p30327
aS'shooed'
p30328
asS'fend'
p30329
(lp30330
S'fends'
p30331
aS'fending'
p30332
aS'fended'
p30333
aS'fended'
p30334
asS'dice'
p30335
(lp30336
S'dices'
p30337
aS'dicing'
p30338
aS'diced'
p30339
aS'diced'
p30340
asS'plume'
p30341
(lp30342
S'plumes'
p30343
aS'pluming'
p30344
aS'plumed'
p30345
aS'plumed'
p30346
asS'machinate'
p30347
(lp30348
S'machinates'
p30349
aS'machinating'
p30350
aS'machinated'
p30351
aS'machinated'
p30352
asS'plumb'
p30353
(lp30354
S'plumbs'
p30355
aS'plumbing'
p30356
aS'plumbed'
p30357
aS'plumbed'
p30358
asS'syphon'
p30359
(lp30360
S'syphons'
p30361
aS'syphoning'
p30362
aS'syphoned'
p30363
aS'syphoned'
p30364
asS're-create'
p30365
(lp30366
S're-creates'
p30367
aS're-creating'
p30368
ag9066
aS're-created'
p30369
asS'manoeuvre'
p30370
(lp30371
S'manoeuvres'
p30372
aS'manoeuvring'
p30373
aS'manoeuvred'
p30374
aS'manoeuvred'
p30375
asS'mistranslate'
p30376
(lp30377
S'mistranslates'
p30378
aS'mistranslating'
p30379
aS'mistranslated'
p30380
aS'mistranslated'
p30381
asS'travesty'
p30382
(lp30383
S'travesties'
p30384
aS'travestying'
p30385
aS'travestied'
p30386
aS'travestied'
p30387
asS'softpedal'
p30388
(lp30389
S'softpedals'
p30390
aS'softpedalling'
p30391
aS'softpedalled'
p30392
aS'softpedalled'
p30393
asS'plump'
p30394
(lp30395
S'plumps'
p30396
aS'plumping'
p30397
aS'plumped'
p30398
aS'plumped'
p30399
asS'dulcify'
p30400
(lp30401
S'dulcifies'
p30402
aS'dulcifying'
p30403
aS'dulcified'
p30404
aS'dulcified'
p30405
asS'esterify'
p30406
(lp30407
S'esterifies'
p30408
aS'esterifying'
p30409
aS'esterified'
p30410
aS'esterified'
p30411
asS'get'
p30412
(lp30413
S'gets'
p30414
aS'getting'
p30415
aS'got'
p30416
aS'gotten'
p30417
asS'stomp'
p30418
(lp30419
S'stomps'
p30420
aS'stomping'
p30421
aS'stomped'
p30422
aS'stomped'
p30423
asS'grubstake'
p30424
(lp30425
S'grubstakes'
p30426
aS'grubstaking'
p30427
aS'grubstaked'
p30428
aS'grubstaked'
p30429
asS'gee'
p30430
(lp30431
S'gees'
p30432
aS'geing'
p30433
aS'geed'
p30434
aS'geed'
p30435
asS'replevy'
p30436
(lp30437
S'replevies'
p30438
aS'replevying'
p30439
aS'replevied'
p30440
aS'replevied'
p30441
asS'wheeze'
p30442
(lp30443
S'wheezes'
p30444
aS'wheezing'
p30445
aS'wheezed'
p30446
aS'wheezed'
p30447
asS'gibber'
p30448
(lp30449
S'gibbers'
p30450
aS'gibbering'
p30451
aS'gibbered'
p30452
aS'gibbered'
p30453
asS'gibbet'
p30454
(lp30455
S'gibbets'
p30456
aS'gibbeting'
p30457
aS'gibbeted'
p30458
aS'gibbeted'
p30459
asS'gem'
p30460
(lp30461
S'gems'
p30462
aS'gemming'
p30463
aS'gemmed'
p30464
aS'gemmed'
p30465
asS'disinherit'
p30466
(lp30467
S'disinherits'
p30468
aS'disinheriting'
p30469
aS'disinherited'
p30470
aS'disinherited'
p30471
asS'beseech'
p30472
(lp30473
S'beseeches'
p30474
aS'beseeching'
p30475
aS'besought'
p30476
aS'besought'
p30477
asS'harbinger'
p30478
(lp30479
S'harbingers'
p30480
aS'harbingering'
p30481
aS'harbingered'
p30482
aS'harbingered'
p30483
asS'yield'
p30484
(lp30485
S'yields'
p30486
aS'yielding'
p30487
aS'yielded'
p30488
aS'yielded'
p30489
asS'overmatch'
p30490
(lp30491
S'overmatches'
p30492
aS'overmatching'
p30493
aS'overmatched'
p30494
aS'overmatched'
p30495
asS'gammon'
p30496
(lp30497
S'gammons'
p30498
aS'gammoning'
p30499
aS'gammoned'
p30500
aS'gammoned'
p30501
asS'tallow'
p30502
(lp30503
S'tallows'
p30504
aS'tallowing'
p30505
aS'tallowed'
p30506
aS'tallowed'
p30507
asS'consubstantiate'
p30508
(lp30509
S'consubstantiates'
p30510
aS'consubstantiating'
p30511
aS'consubstantiated'
p30512
aS'consubstantiated'
p30513
asS'kernel'
p30514
(lp30515
S'kernels'
p30516
aS'kernelling'
p30517
aS'kernelled'
p30518
aS'kernelled'
p30519
asS'fixate'
p30520
(lp30521
S'fixates'
p30522
aS'fixating'
p30523
aS'fixated'
p30524
aS'fixated'
p30525
asS'seat'
p30526
(lp30527
S'seats'
p30528
aS'seating'
p30529
aS'seated'
p30530
aS'seated'
p30531
asS'seam'
p30532
(lp30533
S'seams'
p30534
aS'seaming'
p30535
aS'seamed'
p30536
aS'seamed'
p30537
asS'misconduct'
p30538
(lp30539
S'misconducts'
p30540
aS'misconducting'
p30541
aS'misconducted'
p30542
aS'misconducted'
p30543
asS'pebble'
p30544
(lp30545
S'pebbles'
p30546
aS'pebbling'
p30547
aS'pebbled'
p30548
aS'pebbled'
p30549
asS'adjudge'
p30550
(lp30551
S'adjudges'
p30552
aS'adjudging'
p30553
aS'adjudged'
p30554
aS'adjudged'
p30555
asS'wonder'
p30556
(lp30557
S'wonders'
p30558
aS'wondering'
p30559
aS'wondered'
p30560
aS'wondered'
p30561
asS'limber'
p30562
(lp30563
S'limbers'
p30564
aS'limbering'
p30565
aS'limbered'
p30566
aS'limbered'
p30567
asS'ornament'
p30568
(lp30569
S'ornaments'
p30570
aS'ornamenting'
p30571
aS'ornamented'
p30572
aS'ornamented'
p30573
asS'ideate'
p30574
(lp30575
S'ideates'
p30576
aS'ideating'
p30577
aS'ideated'
p30578
aS'ideated'
p30579
asS'label'
p30580
(lp30581
S'labels'
p30582
aS'labelling'
p30583
aS'labelled'
p30584
aS'labelled'
p30585
asS'pump'
p30586
(lp30587
S'pumps'
p30588
aS'pumping'
p30589
aS'pumped'
p30590
aS'pumped'
p30591
asS'satiate'
p30592
(lp30593
S'satiates'
p30594
aS'satiating'
p30595
aS'satiated'
p30596
aS'satiated'
p30597
asS'tup'
p30598
(lp30599
S'tups'
p30600
aS'tupping'
p30601
aS'tupped'
p30602
aS'tupped'
p30603
asS'tut'
p30604
(lp30605
S'tuts'
p30606
aS'tutting'
p30607
aS'tutted'
p30608
aS'tutted'
p30609
asS'countenance'
p30610
(lp30611
S'countenances'
p30612
aS'countenancing'
p30613
aS'countenanced'
p30614
aS'countenanced'
p30615
asS'tun'
p30616
(lp30617
S'tuns'
p30618
aS'tunning'
p30619
aS'tunned'
p30620
aS'tunned'
p30621
asS'tub'
p30622
(lp30623
S'tubs'
p30624
aS'tubbing'
p30625
aS'tubbed'
p30626
aS'tubbed'
p30627
asS'tug'
p30628
(lp30629
S'tugs'
p30630
aS'tugging'
p30631
aS'tugged'
p30632
aS'tugged'
p30633
asS'librate'
p30634
(lp30635
S'librates'
p30636
aS'librating'
p30637
aS'librated'
p30638
aS'librated'
p30639
asS'tonsure'
p30640
(lp30641
S'tonsures'
p30642
aS'tonsuring'
p30643
aS'tonsured'
p30644
aS'tonsured'
p30645
asS'hoke'
p30646
(lp30647
S'hokes'
p30648
aS'hoking'
p30649
aS'hoked'
p30650
aS'hoked'
p30651
asS'fulminate'
p30652
(lp30653
S'fulminates'
p30654
aS'fulminating'
p30655
aS'fulminated'
p30656
aS'fulminated'
p30657
asS'dedicate'
p30658
(lp30659
S'dedicates'
p30660
aS'dedicating'
p30661
aS'dedicated'
p30662
aS'dedicated'
p30663
asS'crosspollinate'
p30664
(lp30665
S'crosspollinates'
p30666
aS'crosspollinating'
p30667
aS'crosspollinated'
p30668
aS'crosspollinated'
p30669
asS'tour'
p30670
(lp30671
S'tours'
p30672
aS'touring'
p30673
aS'toured'
p30674
aS'toured'
p30675
asS'tout'
p30676
(lp30677
S'touts'
p30678
aS'touting'
p30679
aS'touted'
p30680
aS'touted'
p30681
asS'remake'
p30682
(lp30683
S'remakes'
p30684
aS'remaking'
p30685
aS'remade'
p30686
aS'remade'
p30687
asS'valorize'
p30688
(lp30689
S'valorizes'
p30690
aS'valorizing'
p30691
aS'valorized'
p30692
aS'valorized'
p30693
asS'shikar'
p30694
(lp30695
S'shikars'
p30696
aS'shikarring'
p30697
aS'shikarred'
p30698
aS'shikarred'
p30699
asS'spank'
p30700
(lp30701
S'spanks'
p30702
aS'spanking'
p30703
aS'spanked'
p30704
aS'spanked'
p30705
asS'uncouple'
p30706
(lp30707
S'uncouples'
p30708
aS'uncoupling'
p30709
aS'uncoupled'
p30710
aS'uncoupled'
p30711
asS'cancel'
p30712
(lp30713
S'cancels'
p30714
aS'cancelling'
p30715
aS'cancelled'
p30716
aS'cancelled'
p30717
asS'undock'
p30718
(lp30719
S'undocks'
p30720
aS'undocking'
p30721
aS'undocked'
p30722
aS'undocked'
p30723
asS'tinkle'
p30724
(lp30725
S'tinkles'
p30726
aS'tinkling'
p30727
aS'tinkled'
p30728
aS'tinkled'
p30729
asS'sned'
p30730
(lp30731
S'sneds'
p30732
aS'snedding'
p30733
aS'snedded'
p30734
aS'snedded'
p30735
asS'intrude'
p30736
(lp30737
S'intrudes'
p30738
aS'intruding'
p30739
aS'intruded'
p30740
aS'intruded'
p30741
asS'caricature'
p30742
(lp30743
S'caricatures'
p30744
aS'caricaturing'
p30745
aS'caricatured'
p30746
aS'caricatured'
p30747
asS'tramp'
p30748
(lp30749
S'tramps'
p30750
aS'tramping'
p30751
aS'tramped'
p30752
aS'tramped'
p30753
asS'marl'
p30754
(lp30755
S'marls'
p30756
aS'marling'
p30757
aS'marled'
p30758
aS'marled'
p30759
asS'wobble'
p30760
(lp30761
S'wobbles'
p30762
aS'wobbling'
p30763
aS'wobbled'
p30764
aS'wobbled'
p30765
asS'certify'
p30766
(lp30767
S'certifies'
p30768
aS'certifying'
p30769
aS'certified'
p30770
aS'certified'
p30771
asS'mark'
p30772
(lp30773
S'marks'
p30774
aS'marking'
p30775
aS'marked'
p30776
aS'marked'
p30777
asS'understate'
p30778
(lp30779
S'understates'
p30780
aS'understating'
p30781
aS'understated'
p30782
aS'understated'
p30783
asS'sentinel'
p30784
(lp30785
S'sentinels'
p30786
aS'sentineling'
p30787
aS'sentineled'
p30788
aS'sentineled'
p30789
asS'clepe'
p30790
(lp30791
S'clepes'
p30792
aS'cleping'
p30793
aS'yclept'
p30794
aS'yclept'
p30795
asS'squash'
p30796
(lp30797
S'squashes'
p30798
aS'squashing'
p30799
aS'squashed'
p30800
aS'squashed'
p30801
asS'disesteem'
p30802
(lp30803
S'disesteems'
p30804
aS'disesteeming'
p30805
aS'disesteemed'
p30806
aS'disesteemed'
p30807
asS'deconsecrate'
p30808
(lp30809
S'deconsecrates'
p30810
aS'deconsecrating'
p30811
aS'deconsecrated'
p30812
aS'deconsecrated'
p30813
asS'wake'
p30814
(lp30815
S'wakes'
p30816
aS'waking'
p30817
aS'woke'
p30818
aS'woken'
p30819
asS'overdose'
p30820
(lp30821
S'overdoses'
p30822
aS'overdosing'
p30823
aS'overdosed'
p30824
aS'overdosed'
p30825
asS'sound'
p30826
(lp30827
S'sounds'
p30828
aS'sounding'
p30829
aS'sounded'
p30830
aS'sounded'
p30831
asS'gloze'
p30832
(lp30833
S'glozes'
p30834
aS'glozing'
p30835
aS'glozed'
p30836
aS'glozed'
p30837
asS'master-mind'
p30838
(lp30839
S'master-minds'
p30840
aS'master-minding'
p30841
ag12588
aS'master-minded'
p30842
asS'invigorate'
p30843
(lp30844
S'invigorates'
p30845
aS'invigorating'
p30846
aS'invigorated'
p30847
aS'invigorated'
p30848
asS'slumber'
p30849
(lp30850
S'slumbers'
p30851
aS'slumbering'
p30852
aS'slumbered'
p30853
aS'slumbered'
p30854
asS'tuck'
p30855
(lp30856
S'tucks'
p30857
aS'tucking'
p30858
aS'tucked'
p30859
aS'tucked'
p30860
asS'cannonade'
p30861
(lp30862
S'cannonades'
p30863
aS'cannonading'
p30864
aS'cannonaded'
p30865
aS'cannonaded'
p30866
asS'compile'
p30867
(lp30868
S'compiles'
p30869
aS'compiling'
p30870
aS'compiled'
p30871
aS'compiled'
p30872
asS'cock'
p30873
(lp30874
S'cocks'
p30875
aS'cocking'
p30876
aS'cocked'
p30877
aS'cocked'
p30878
asS'huckster'
p30879
(lp30880
S'hucksters'
p30881
aS'huckstering'
p30882
aS'huckstered'
p30883
aS'huckstered'
p30884
asS'bathe'
p30885
(lp30886
S'bathes'
p30887
aS'bathing'
p30888
aS'bathed'
p30889
aS'bathed'
p30890
asS'hedge-hop'
p30891
(lp30892
S'hedge-hops'
p30893
aS'hedgehopping'
p30894
aS'hedgehopped'
p30895
aS'hedge-hopped'
p30896
asS'marcel'
p30897
(lp30898
S'marcels'
p30899
aS'marcelling'
p30900
aS'marcelled'
p30901
aS'marcelled'
p30902
asS'middle'
p30903
(lp30904
S'middles'
p30905
aS'middling'
p30906
aS'middled'
p30907
aS'middled'
p30908
asS'idolatrize'
p30909
(lp30910
S'idolatrizes'
p30911
aS'idolatrizing'
p30912
aS'idolatrized'
p30913
aS'idolatrized'
p30914
asS'pat'
p30915
(lp30916
S'pats'
p30917
aS'patting'
p30918
aS'patted'
p30919
aS'patted'
p30920
asS'doctor'
p30921
(lp30922
S'doctors'
p30923
aS'doctoring'
p30924
aS'doctored'
p30925
aS'doctored'
p30926
asS'pay'
p30927
(lp30928
S'pays'
p30929
aS'paying'
p30930
aS'payed'
p30931
aS'payed'
p30932
asS'lave'
p30933
(lp30934
S'laves'
p30935
aS'laving'
p30936
aS'laved'
p30937
aS'laved'
p30938
asS'aboutface'
p30939
(lp30940
S'aboutfaces'
p30941
aS'aboutfacing'
p30942
aS'aboutfaced'
p30943
aS'aboutfaced'
p30944
asS'pad'
p30945
(lp30946
S'pads'
p30947
aS'padding'
p30948
aS'padded'
p30949
aS'padded'
p30950
asS'pal'
p30951
(lp30952
S'pals'
p30953
aS'palling'
p30954
aS'palled'
p30955
aS'palled'
p30956
asS'pan'
p30957
(lp30958
S'pans'
p30959
aS'panning'
p30960
aS'panned'
p30961
aS'panned'
p30962
asS'spring-clean'
p30963
(lp30964
S'spring-cleans'
p30965
aS'spring-cleaning'
p30966
aS'spring-cleaned'
p30967
aS'spring-cleaned'
p30968
asS'exhaust'
p30969
(lp30970
S'exhausts'
p30971
aS'exhausting'
p30972
aS'exhausted'
p30973
aS'exhausted'
p30974
asS'oil'
p30975
(lp30976
S'oils'
p30977
aS'oiling'
p30978
aS'oiled'
p30979
aS'oiled'
p30980
asS'assist'
p30981
(lp30982
S'assists'
p30983
aS'assisting'
p30984
aS'assisted'
p30985
aS'assisted'
p30986
asS'munch'
p30987
(lp30988
S'munches'
p30989
aS'munching'
p30990
aS'munched'
p30991
aS'munched'
p30992
asS'cauterize'
p30993
(lp30994
S'cauterizes'
p30995
aS'cauterizing'
p30996
aS'cauterized'
p30997
aS'cauterized'
p30998
asS'companion'
p30999
(lp31000
S'companions'
p31001
aS'companioning'
p31002
aS'companioned'
p31003
aS'companioned'
p31004
asS'pressgang'
p31005
(lp31006
S'pressgangs'
p31007
aS'pressganging'
p31008
aS'pressganged'
p31009
aS'pressganged'
p31010
asS'adjure'
p31011
(lp31012
S'adjures'
p31013
aS'adjuring'
p31014
aS'adjured'
p31015
aS'adjured'
p31016
asS'weave'
p31017
(lp31018
S'weaves'
p31019
aS'weaving'
p31020
aS'wove'
p31021
aS'woven'
p31022
asS'countermarch'
p31023
(lp31024
S'countermarches'
p31025
aS'countermarching'
p31026
aS'countermarched'
p31027
aS'countermarched'
p31028
asS'drain'
p31029
(lp31030
S'drains'
p31031
aS'draining'
p31032
aS'drained'
p31033
aS'drained'
p31034
asS'suffuse'
p31035
(lp31036
S'suffuses'
p31037
aS'suffusing'
p31038
aS'suffused'
p31039
aS'suffused'
p31040
asS'strickle'
p31041
(lp31042
S'strickles'
p31043
aS'strickling'
p31044
aS'strickled'
p31045
aS'strickled'
p31046
asS'solve'
p31047
(lp31048
S'solves'
p31049
aS'solving'
p31050
aS'solved'
p31051
aS'solved'
p31052
asS'bottle'
p31053
(lp31054
S'bottles'
p31055
aS'bottling'
p31056
aS'bottled'
p31057
aS'bottled'
p31058
asS'soundproof'
p31059
(lp31060
S'soundproofs'
p31061
aS'soundproofing'
p31062
aS'soundproofed'
p31063
aS'soundproofed'
p31064
asS'windowshop'
p31065
(lp31066
S'windowshops'
p31067
aS'windowshopping'
p31068
aS'windowshopped'
p31069
aS'windowshopped'
p31070
asS'parody'
p31071
(lp31072
S'parodys'
p31073
aS'parodying'
p31074
aS'parodied'
p31075
aS'parodied'
p31076
asS'overprint'
p31077
(lp31078
S'overprints'
p31079
aS'overprinting'
p31080
aS'overprinted'
p31081
aS'overprinted'
p31082
asS'fume'
p31083
(lp31084
S'fumes'
p31085
aS'fuming'
p31086
aS'fumed'
p31087
aS'fumed'
p31088
asS'superinduce'
p31089
(lp31090
S'superinduces'
p31091
aS'superinducing'
p31092
aS'superinduced'
p31093
aS'superinduced'
p31094
asS'imprint'
p31095
(lp31096
S'imprints'
p31097
aS'imprinting'
p31098
aS'imprinted'
p31099
aS'imprinted'
p31100
asS'griddle'
p31101
(lp31102
S'griddles'
p31103
aS'griddling'
p31104
aS'griddled'
p31105
aS'griddled'
p31106
asS'sinter'
p31107
(lp31108
S'sinters'
p31109
aS'sintering'
p31110
aS'sintered'
p31111
aS'sintered'
p31112
asS'prill'
p31113
(lp31114
S'prills'
p31115
aS'prilling'
p31116
aS'prilled'
p31117
aS'prilled'
p31118
asS'ski-jump'
p31119
(lp31120
S'ski-jumps'
p31121
aS'ski-jumping'
p31122
aS'ski-jumped'
p31123
aS'ski-jumped'
p31124
asS'forgo'
p31125
(lp31126
S'forgoes'
p31127
aS'forgoing'
p31128
aS'forwent'
p31129
aS'forgone'
p31130
asS'beagle'
p31131
(lp31132
S'beagles'
p31133
aS'beagling'
p31134
aS'beagled'
p31135
aS'beagled'
p31136
asS'pile'
p31137
(lp31138
S'piles'
p31139
aS'piling'
p31140
aS'piled'
p31141
aS'piled'
p31142
asS'decalcify'
p31143
(lp31144
S'decalcifies'
p31145
aS'decalcifying'
p31146
aS'decalcified'
p31147
aS'decalcified'
p31148
asS'eviscerate'
p31149
(lp31150
S'eviscerates'
p31151
aS'eviscerating'
p31152
aS'eviscerated'
p31153
aS'eviscerated'
p31154
asS'overpraise'
p31155
(lp31156
S'overpraises'
p31157
aS'overpraising'
p31158
aS'overpraised'
p31159
aS'overpraised'
p31160
asS'pill'
p31161
(lp31162
S'pills'
p31163
aS'pilling'
p31164
aS'pilled'
p31165
aS'pilled'
p31166
asS'grip'
p31167
(lp31168
S'grips'
p31169
aS'gripping'
p31170
aS'gript'
p31171
aS'gript'
p31172
asS'zugzwang'
p31173
(lp31174
S'zugzwangs'
p31175
aS'zugzwanging'
p31176
aS'zugzwanged'
p31177
aS'zugzwanged'
p31178
asS'grit'
p31179
(lp31180
S'grits'
p31181
aS'gritting'
p31182
aS'gritted'
p31183
aS'gritted'
p31184
asS'mop'
p31185
(lp31186
S'mops'
p31187
aS'mopping'
p31188
aS'mopped'
p31189
aS'mopped'
p31190
asS'mow'
p31191
(lp31192
S'mows'
p31193
aS'mowing'
p31194
aS'mowed'
p31195
aS'mown'
p31196
asS'moo'
p31197
(lp31198
S'moos'
p31199
aS'mooing'
p31200
aS'mooed'
p31201
aS'mooed'
p31202
asS'mob'
p31203
(lp31204
S'mobs'
p31205
aS'mobbing'
p31206
aS'mobbed'
p31207
aS'mobbed'
p31208
asS'railroad'
p31209
(lp31210
S'railroading'
p31211
aS'railroaded'
p31212
aS'railroaded'
p31213
asS'implicate'
p31214
(lp31215
S'implicates'
p31216
aS'implicating'
p31217
aS'implicated'
p31218
aS'implicated'
p31219
asS'grin'
p31220
(lp31221
S'grins'
p31222
aS'grinning'
p31223
aS'grinned'
p31224
aS'grinned'
p31225
asS'militarize'
p31226
(lp31227
S'militarizes'
p31228
aS'militarizing'
p31229
aS'militarized'
p31230
aS'militarized'
p31231
asS'first-foot'
p31232
(lp31233
S'first-foots'
p31234
aS'first-footing'
p31235
aS'first-footed'
p31236
aS'first-footed'
p31237
asS'chamber'
p31238
(lp31239
S'chambers'
p31240
aS'chambering'
p31241
aS'chambered'
p31242
aS'chambered'
p31243
asS'nose'
p31244
(lp31245
S'noses'
p31246
aS'nosing'
p31247
aS'nosed'
p31248
aS'nosed'
p31249
asS'coldshoulder'
p31250
(lp31251
S'coldshoulders'
p31252
aS'coldshouldering'
p31253
aS'coldshouldered'
p31254
aS'coldshouldered'
p31255
asS'nosh'
p31256
(lp31257
S'noshes'
p31258
aS'noshing'
p31259
aS'noshed'
p31260
aS'noshed'
p31261
asS'overpitch'
p31262
(lp31263
S'overpitches'
p31264
aS'overpitching'
p31265
aS'overpitched'
p31266
aS'overpitched'
p31267
asS'afflict'
p31268
(lp31269
S'afflicts'
p31270
aS'afflicting'
p31271
aS'afflicted'
p31272
aS'afflicted'
p31273
asS're-press'
p31274
(lp31275
S're-presses'
p31276
aS're-pressing'
p31277
aS'repressed'
p31278
aS're-pressed'
p31279
asS'commandeer'
p31280
(lp31281
S'commandeers'
p31282
aS'commandeering'
p31283
aS'commandeered'
p31284
aS'commandeered'
p31285
asS'ascend'
p31286
(lp31287
S'ascends'
p31288
aS'ascending'
p31289
aS'ascended'
p31290
aS'ascended'
p31291
asS'dole'
p31292
(lp31293
S'doles'
p31294
aS'doling'
p31295
aS'doled'
p31296
aS'doled'
p31297
asS'impolder'
p31298
(lp31299
S'impolders'
p31300
aS'impoldering'
p31301
aS'impoldered'
p31302
aS'impoldered'
p31303
asS'erase'
p31304
(lp31305
S'erases'
p31306
aS'erasing'
p31307
aS'erased'
p31308
aS'erased'
p31309
asS'pasture'
p31310
(lp31311
S'pastures'
p31312
aS'pasturing'
p31313
aS'pastured'
p31314
aS'pastured'
p31315
asS'gross'
p31316
(lp31317
S'grosses'
p31318
aS'grossing'
p31319
aS'grossed'
p31320
aS'grossed'
p31321
asS'skelly'
p31322
(lp31323
S'skellies'
p31324
aS'skellying'
p31325
aS'skellied'
p31326
aS'skellied'
p31327
asS'confirm'
p31328
(lp31329
S'confirms'
p31330
aS'confirming'
p31331
aS'confirmed'
p31332
aS'confirmed'
p31333
asS'ruggedize'
p31334
(lp31335
S'ruggedizes'
p31336
aS'ruggedizing'
p31337
aS'ruggedized'
p31338
aS'ruggedized'
p31339
asS'trow'
p31340
(lp31341
S'trows'
p31342
aS'trowing'
p31343
aS'trowed'
p31344
aS'trowed'
p31345
asS'pioneer'
p31346
(lp31347
S'pioneers'
p31348
aS'pioneering'
p31349
aS'pioneered'
p31350
aS'pioneered'
p31351
asS'inject'
p31352
(lp31353
S'injects'
p31354
aS'injecting'
p31355
aS'injected'
p31356
aS'injected'
p31357
asS'gladden'
p31358
(lp31359
S'gladdens'
p31360
aS'gladdening'
p31361
aS'gladdened'
p31362
aS'gladdened'
p31363
asS'moderate'
p31364
(lp31365
S'moderates'
p31366
aS'moderating'
p31367
aS'moderated'
p31368
aS'moderated'
p31369
asS'knife'
p31370
(lp31371
S'knifes'
p31372
aS'knifing'
p31373
aS'knifed'
p31374
aS'knifed'
p31375
asS'breastfeed'
p31376
(lp31377
S'breastfeeds'
p31378
aS'breastfeeding'
p31379
aS'breastfed'
p31380
aS'breastfed'
p31381
asS'squall'
p31382
(lp31383
S'squalls'
p31384
aS'squalling'
p31385
aS'squalled'
p31386
aS'squalled'
p31387
asS'disseize'
p31388
(lp31389
S'disseizes'
p31390
aS'disseizing'
p31391
aS'disseized'
p31392
aS'disseized'
p31393
asS'giggle'
p31394
(lp31395
S'giggles'
p31396
aS'giggling'
p31397
aS'giggled'
p31398
aS'giggled'
p31399
asS'chirp'
p31400
(lp31401
S'chirps'
p31402
aS'chirping'
p31403
aS'chirped'
p31404
aS'chirped'
p31405
asS'roar'
p31406
(lp31407
S'roars'
p31408
aS'roaring'
p31409
aS'roared'
p31410
aS'roared'
p31411
asS'island'
p31412
(lp31413
S'islands'
p31414
aS'islanding'
p31415
aS'islanded'
p31416
aS'islanded'
p31417
asS'fringe'
p31418
(lp31419
S'fringes'
p31420
aS'fringing'
p31421
aS'fringed'
p31422
aS'fringed'
p31423
asS'thrive'
p31424
(lp31425
S'thrives'
p31426
aS'thriving'
p31427
aS'thrived'
p31428
aS'thriven'
p31429
asS'lithograph'
p31430
(lp31431
S'lithographs'
p31432
aS'lithographing'
p31433
aS'lithographed'
p31434
aS'lithographed'
p31435
asS'solidify'
p31436
(lp31437
S'solidifies'
p31438
aS'solidifying'
p31439
aS'solidified'
p31440
aS'solidified'
p31441
asS'roam'
p31442
(lp31443
S'roams'
p31444
aS'roaming'
p31445
aS'roamed'
p31446
aS'roamed'
p31447
asS'remonetize'
p31448
(lp31449
S'remonetizes'
p31450
aS'remonetizing'
p31451
aS'remonetized'
p31452
aS'remonetized'
p31453
asS'repine'
p31454
(lp31455
S'repines'
p31456
aS'repining'
p31457
aS'repined'
p31458
aS'repined'
p31459
asS'dagger'
p31460
(lp31461
S'daggers'
p31462
aS'daggering'
p31463
aS'daggered'
p31464
aS'daggered'
p31465
asS'prohibit'
p31466
(lp31467
S'prohibits'
p31468
aS'prohibiting'
p31469
aS'prohibited'
p31470
aS'prohibited'
p31471
asS'actuate'
p31472
(lp31473
S'actuates'
p31474
aS'actuating'
p31475
aS'actuated'
p31476
aS'actuated'
p31477
asS'harness'
p31478
(lp31479
S'harnesses'
p31480
aS'harnessing'
p31481
aS'harnessed'
p31482
aS'harnessed'
p31483
asS'whiten'
p31484
(lp31485
S'whitens'
p31486
aS'whitening'
p31487
aS'whitened'
p31488
aS'whitened'
p31489
asS'strip'
p31490
(lp31491
S'strips'
p31492
aS'stripping'
p31493
aS'stripped'
p31494
aS'stripped'
p31495
asS'spline'
p31496
(lp31497
S'splines'
p31498
aS'splining'
p31499
aS'splined'
p31500
aS'splined'
p31501
asS'purfle'
p31502
(lp31503
S'purfles'
p31504
aS'purfling'
p31505
aS'purfled'
p31506
aS'purfled'
p31507
asS'bedim'
p31508
(lp31509
S'bedims'
p31510
aS'bedimming'
p31511
aS'bedimmed'
p31512
aS'bedimmed'
p31513
asS'enroot'
p31514
(lp31515
S'enroots'
p31516
aS'enrooting'
p31517
aS'enrooted'
p31518
aS'enrooted'
p31519
asS'vaporize'
p31520
(lp31521
S'vaporizes'
p31522
aS'vaporizing'
p31523
aS'vaporized'
p31524
aS'vaporized'
p31525
asS'madden'
p31526
(lp31527
S'maddens'
p31528
aS'maddening'
p31529
aS'maddened'
p31530
aS'maddened'
p31531
asS'decode'
p31532
(lp31533
S'decodes'
p31534
aS'decoding'
p31535
aS'decoded'
p31536
aS'decoded'
p31537
asS'galvanize'
p31538
(lp31539
S'galvanizes'
p31540
aS'galvanizing'
p31541
aS'galvanized'
p31542
aS'galvanized'
p31543
asS'outmatch'
p31544
(lp31545
S'outmatches'
p31546
aS'outmatching'
p31547
aS'outmatched'
p31548
aS'outmatched'
p31549
asS'disfrock'
p31550
(lp31551
S'disfrocks'
p31552
aS'disfrocking'
p31553
aS'disfrocked'
p31554
aS'disfrocked'
p31555
asS'immerge'
p31556
(lp31557
S'immerges'
p31558
aS'immerging'
p31559
aS'immerged'
p31560
aS'immerged'
p31561
asS'shroud'
p31562
(lp31563
S'shrouds'
p31564
aS'shrouding'
p31565
aS'shrouded'
p31566
aS'shrouded'
p31567
asS'hiccup'
p31568
(lp31569
S'hiccups'
p31570
aS'hiccuping'
p31571
aS'hiccuped'
p31572
aS'hiccuped'
p31573
asS'gore'
p31574
(lp31575
S'gores'
p31576
aS'goring'
p31577
aS'gored'
p31578
aS'gored'
p31579
asS'defoliate'
p31580
(lp31581
S'defoliates'
p31582
aS'defoliating'
p31583
aS'defoliated'
p31584
aS'defoliated'
p31585
asS'supervene'
p31586
(lp31587
S'supervenes'
p31588
aS'supervening'
p31589
aS'supervened'
p31590
aS'supervened'
p31591
asS'fulgurate'
p31592
(lp31593
S'fulgurates'
p31594
aS'fulgurating'
p31595
aS'fulgurated'
p31596
aS'fulgurated'
p31597
asS'waffle'
p31598
(lp31599
S'waffles'
p31600
aS'waffling'
p31601
aS'waffled'
p31602
aS'waffled'
p31603
asS'spice'
p31604
(lp31605
S'spices'
p31606
aS'spicing'
p31607
aS'spiced'
p31608
aS'spiced'
p31609
asS'annihilate'
p31610
(lp31611
S'annihilates'
p31612
aS'annihilating'
p31613
aS'annihilated'
p31614
aS'annihilated'
p31615
asS'proselyte'
p31616
(lp31617
S'proselytes'
p31618
aS'proselyting'
p31619
aS'proselyted'
p31620
aS'proselyted'
p31621
asS'imbrue'
p31622
(lp31623
S'imbrues'
p31624
aS'imbruing'
p31625
aS'imbrued'
p31626
aS'imbrued'
p31627
asS'rewire'
p31628
(lp31629
S'rewires'
p31630
aS'rewiring'
p31631
aS'rewired'
p31632
aS'rewired'
p31633
asS'comanage'
p31634
(lp31635
S'comanages'
p31636
aS'comanaging'
p31637
aS'comanaged'
p31638
aS'comanaged'
p31639
asS'eschew'
p31640
(lp31641
S'eschews'
p31642
aS'eschewing'
p31643
aS'eschewed'
p31644
aS'eschewed'
p31645
asS'grouch'
p31646
(lp31647
S'grouches'
p31648
aS'grouching'
p31649
aS'grouched'
p31650
aS'grouched'
p31651
asS'blackbird'
p31652
(lp31653
S'blackbirds'
p31654
aS'blackbirding'
p31655
aS'blackbirded'
p31656
aS'blackbirded'
p31657
asS'deadlock'
p31658
(lp31659
S'deadlocks'
p31660
aS'deadlocking'
p31661
aS'deadlocked'
p31662
aS'deadlocked'
p31663
asS'censor'
p31664
(lp31665
S'censors'
p31666
aS'censoring'
p31667
aS'censored'
p31668
aS'censored'
p31669
asS'devitalize'
p31670
(lp31671
S'devitalizes'
p31672
aS'devitalizing'
p31673
aS'devitalized'
p31674
aS'devitalized'
p31675
asS'examine'
p31676
(lp31677
S'examines'
p31678
aS'examining'
p31679
aS'examined'
p31680
aS'examined'
p31681
asS'deem'
p31682
(lp31683
S'deems'
p31684
aS'deeming'
p31685
aS'deemed'
p31686
aS'deemed'
p31687
asS'nucleate'
p31688
(lp31689
S'nucleates'
p31690
aS'nucleating'
p31691
aS'nucleated'
p31692
aS'nucleated'
p31693
asS'file'
p31694
(lp31695
S'files'
p31696
aS'filing'
p31697
aS'filed'
p31698
aS'filed'
p31699
asS'deed'
p31700
(lp31701
S'deeds'
p31702
aS'deeding'
p31703
aS'deeded'
p31704
aS'deeded'
p31705
asS'hound'
p31706
(lp31707
S'hounds'
p31708
aS'hounding'
p31709
aS'hounded'
p31710
aS'hounded'
p31711
asS'film'
p31712
(lp31713
S'films'
p31714
aS'filming'
p31715
aS'filmed'
p31716
aS'filmed'
p31717
asS'fill'
p31718
(lp31719
S'fills'
p31720
aS'filling'
p31721
aS'filled'
p31722
aS'filled'
p31723
asS'repent'
p31724
(lp31725
S'repents'
p31726
aS'repenting'
p31727
aS'repented'
p31728
aS'repented'
p31729
asS'commingle'
p31730
(lp31731
S'commingles'
p31732
aS'commingling'
p31733
aS'commingled'
p31734
aS'commingled'
p31735
asS'field'
p31736
(lp31737
S'fields'
p31738
aS'fielding'
p31739
aS'fielded'
p31740
aS'fielded'
p31741
asS'prise'
p31742
(lp31743
S'prises'
p31744
aS'prising'
p31745
aS'prised'
p31746
aS'prised'
p31747
asS'victimize'
p31748
(lp31749
S'victimizes'
p31750
aS'victimizing'
p31751
aS'victimized'
p31752
aS'victimized'
p31753
asS'forjudge'
p31754
(lp31755
S'forjudges'
p31756
aS'forjudging'
p31757
aS'forjudged'
p31758
aS'forjudged'
p31759
asS'shelter'
p31760
(lp31761
S'shelters'
p31762
aS'sheltering'
p31763
aS'sheltered'
p31764
aS'sheltered'
p31765
asS'rigidify'
p31766
(lp31767
S'rigidifies'
p31768
aS'rigidifying'
p31769
aS'rigidified'
p31770
aS'rigidified'
p31771
asS'scarper'
p31772
(lp31773
S'scarpers'
p31774
aS'scarpering'
p31775
aS'scarpered'
p31776
aS'scarpered'
p31777
asS'democratize'
p31778
(lp31779
S'democratizes'
p31780
aS'democratizing'
p31781
aS'democratized'
p31782
aS'democratized'
p31783
asS'tackle'
p31784
(lp31785
S'tackles'
p31786
aS'tackling'
p31787
aS'tackled'
p31788
aS'tackled'
p31789
asS'revolve'
p31790
(lp31791
S'revolves'
p31792
aS'revolving'
p31793
aS'revolved'
p31794
aS'revolved'
p31795
asS'sneeze'
p31796
(lp31797
S'sneezes'
p31798
aS'sneezing'
p31799
aS'sneezed'
p31800
aS'sneezed'
p31801
asS'delineate'
p31802
(lp31803
S'delineates'
p31804
aS'delineating'
p31805
aS'delineated'
p31806
aS'delineated'
p31807
asS'grudge'
p31808
(lp31809
S'grudges'
p31810
aS'grudging'
p31811
aS'grudged'
p31812
aS'grudged'
p31813
asS'clangour'
p31814
(lp31815
S'clangours'
p31816
aS'clangouring'
p31817
aS'clangoured'
p31818
aS'clangoured'
p31819
asS'scroll'
p31820
(lp31821
S'scrolls'
p31822
aS'scrolling'
p31823
aS'scrolled'
p31824
aS'scrolled'
p31825
asS'unsex'
p31826
(lp31827
S'unsexes'
p31828
aS'unsexing'
p31829
aS'unsexed'
p31830
aS'unsexed'
p31831
asS'burrow'
p31832
(lp31833
S'burrows'
p31834
aS'burrowing'
p31835
aS'burrowed'
p31836
aS'burrowed'
p31837
asS'represent'
p31838
(lp31839
S'represents'
p31840
aS'representing'
p31841
ag6736
aS'represented'
p31842
asS'forget'
p31843
(lp31844
S'forgets'
p31845
aS'forgetting'
p31846
aS'forgot'
p31847
aS'forgotten'
p31848
asS'founder'
p31849
(lp31850
sS'paginate'
p31851
(lp31852
S'paginates'
p31853
aS'paginating'
p31854
aS'paginated'
p31855
aS'paginated'
p31856
asS'sunk'
p31857
(lp31858
S'sunks'
p31859
aS'sunking'
p31860
aS'sunked'
p31861
aS'sunked'
p31862
asS'zing'
p31863
(lp31864
S'zings'
p31865
aS'zinging'
p31866
aS'zinged'
p31867
aS'zinged'
p31868
asS'commute'
p31869
(lp31870
S'commutes'
p31871
aS'commuting'
p31872
aS'commuted'
p31873
aS'commuted'
p31874
asS'catheterize'
p31875
(lp31876
S'catheterizes'
p31877
aS'catheterizing'
p31878
aS'catheterized'
p31879
aS'catheterized'
p31880
asS'misadvise'
p31881
(lp31882
S'misadvises'
p31883
aS'misadvising'
p31884
aS'misadvised'
p31885
aS'misadvised'
p31886
asS'crimson'
p31887
(lp31888
S'crimsons'
p31889
aS'crimsoning'
p31890
aS'crimsoned'
p31891
aS'crimsoned'
p31892
asS'bestir'
p31893
(lp31894
S'bestirs'
p31895
aS'bestirring'
p31896
aS'bestirred'
p31897
aS'bestirred'
p31898
asS'parcel'
p31899
(lp31900
S'parcels'
p31901
aS'parcelling'
p31902
aS'parcelled'
p31903
aS'parcelled'
p31904
asS'counterproposal'
p31905
(lp31906
S'counterproposals'
p31907
aS'counterproposaling'
p31908
aS'counterproposaled'
p31909
aS'counterproposaled'
p31910
asS'righten'
p31911
(lp31912
S'rightens'
p31913
aS'rightening'
p31914
aS'rightened'
p31915
aS'rightened'
p31916
asS'hybridize'
p31917
(lp31918
S'hybridizes'
p31919
aS'hybridizing'
p31920
aS'hybridized'
p31921
aS'hybridized'
p31922
asS'malinger'
p31923
(lp31924
S'malingers'
p31925
aS'malingering'
p31926
aS'malingered'
p31927
aS'malingered'
p31928
asS'scour'
p31929
(lp31930
S'scours'
p31931
aS'scouring'
p31932
aS'scoured'
p31933
aS'scoured'
p31934
asS'fall'
p31935
(lp31936
S'falls'
p31937
aS'falling'
p31938
aS'fell'
p31939
aS'fallen'
p31940
asS'bottleneck'
p31941
(lp31942
S'bottlenecks'
p31943
aS'bottlenecking'
p31944
aS'bottlenecked'
p31945
aS'bottlenecked'
p31946
asS'alien'
p31947
(lp31948
S'aliens'
p31949
aS'aliening'
p31950
aS'aliened'
p31951
aS'aliened'
p31952
asS'dampen'
p31953
(lp31954
S'dampens'
p31955
aS'dampening'
p31956
aS'dampened'
p31957
aS'dampened'
p31958
asS'unrip'
p31959
(lp31960
S'unrips'
p31961
aS'unripping'
p31962
aS'unripped'
p31963
aS'unripped'
p31964
asS'subsoil'
p31965
(lp31966
S'subsoils'
p31967
aS'subsoiling'
p31968
aS'subsoiled'
p31969
aS'subsoiled'
p31970
asS'triangulate'
p31971
(lp31972
S'triangulates'
p31973
aS'triangulating'
p31974
aS'triangulated'
p31975
aS'triangulated'
p31976
asS'enrapture'
p31977
(lp31978
S'enraptures'
p31979
aS'enrapturing'
p31980
aS'enraptured'
p31981
aS'enraptured'
p31982
asS'unrig'
p31983
(lp31984
S'unrigs'
p31985
aS'unrigging'
p31986
aS'unrigged'
p31987
aS'unrigged'
p31988
asS'chandelle'
p31989
(lp31990
S'chandelles'
p31991
aS'chandelling'
p31992
aS'chandelled'
p31993
aS'chandelled'
p31994
asS'underwrite'
p31995
(lp31996
S'underwrites'
p31997
aS'underwriting'
p31998
aS'underwrote'
p31999
aS'underwritten'
p32000
asS'abridge'
p32001
(lp32002
S'abridges'
p32003
aS'abridging'
p32004
aS'abridged'
p32005
aS'abridged'
p32006
asS'clinch'
p32007
(lp32008
S'clinches'
p32009
aS'clinching'
p32010
aS'clinched'
p32011
aS'clinched'
p32012
asS'outwork'
p32013
(lp32014
S'outworks'
p32015
aS'outworking'
p32016
aS'outworked'
p32017
aS'outworked'
p32018
asS'gnarl'
p32019
(lp32020
S'gnars'
p32021
aS'gnarling'
p32022
aS'gnarled'
p32023
aS'gnarled'
p32024
asS'zero'
p32025
(lp32026
S'zeroes'
p32027
aS'zeroing'
p32028
aS'zeroed'
p32029
aS'zeroed'
p32030
asS'overlie'
p32031
(lp32032
S'overlies'
p32033
aS'overlying'
p32034
aS'overlay'
p32035
aS'overlain'
p32036
asS'depicture'
p32037
(lp32038
S'depictures'
p32039
aS'depicturing'
p32040
aS'depictured'
p32041
aS'depictured'
p32042
asS'further'
p32043
(lp32044
S'furthers'
p32045
aS'furthering'
p32046
aS'furthered'
p32047
aS'furthered'
p32048
asS'misrepresent'
p32049
(lp32050
S'misrepresents'
p32051
aS'misrepresenting'
p32052
aS'misrepresented'
p32053
aS'misrepresented'
p32054
asS'ribbon'
p32055
(lp32056
S'ribbons'
p32057
aS'ribboning'
p32058
aS'ribboned'
p32059
aS'ribboned'
p32060
asS'dial'
p32061
(lp32062
S'dials'
p32063
aS'dialing'
p32064
aS'dialed'
p32065
aS'dialed'
p32066
asS'ruminate'
p32067
(lp32068
S'ruminates'
p32069
aS'ruminating'
p32070
aS'ruminated'
p32071
aS'ruminated'
p32072
asS'stook'
p32073
(lp32074
S'stooks'
p32075
aS'stooking'
p32076
aS'stooked'
p32077
aS'stooked'
p32078
asS'stool'
p32079
(lp32080
S'stools'
p32081
aS'stooling'
p32082
aS'stooled'
p32083
aS'stooled'
p32084
asS'overshot'
p32085
(lp32086
S'overshot'
p32087
aS'overshot'
p32088
asS'verbalize'
p32089
(lp32090
S'verbalizes'
p32091
aS'verbalizing'
p32092
aS'verbalized'
p32093
aS'verbalized'
p32094
asS'stoop'
p32095
(lp32096
S'stoops'
p32097
aS'stooping'
p32098
aS'stooped'
p32099
aS'stooped'
p32100
asS'falsify'
p32101
(lp32102
S'falsifies'
p32103
aS'falsifying'
p32104
aS'falsified'
p32105
aS'falsified'
p32106
asS'oppilate'
p32107
(lp32108
S'oppilates'
p32109
aS'oppilating'
p32110
aS'oppilated'
p32111
aS'oppilated'
p32112
asS'apocopate'
p32113
(lp32114
S'apocopates'
p32115
aS'apocopating'
p32116
aS'apocopated'
p32117
aS'apocopated'
p32118
asS'mull'
p32119
(lp32120
S'mulls'
p32121
aS'mulling'
p32122
aS'mulled'
p32123
aS'mulled'
p32124
asS'intrench'
p32125
(lp32126
S'intrenches'
p32127
aS'intrenching'
p32128
aS'intrenched'
p32129
aS'intrenched'
p32130
asS'twang'
p32131
(lp32132
S'twangs'
p32133
aS'twanging'
p32134
aS'twanged'
p32135
aS'twanged'
p32136
asS'ingratiate'
p32137
(lp32138
S'ingratiates'
p32139
aS'ingratiating'
p32140
aS'ingratiated'
p32141
aS'ingratiated'
p32142
asS'beacon'
p32143
(lp32144
S'beacons'
p32145
aS'beaconing'
p32146
aS'beaconed'
p32147
aS'beaconed'
p32148
asS'interlineate'
p32149
(lp32150
S'interlines'
p32151
aS'interlining'
p32152
aS'interlined'
p32153
aS'interlined'
p32154
asS'table'
p32155
(lp32156
S'tables'
p32157
aS'tabling'
p32158
aS'tabled'
p32159
aS'tabled'
p32160
asS'monetize'
p32161
(lp32162
S'monetizes'
p32163
aS'monetizing'
p32164
aS'monetized'
p32165
aS'monetized'
p32166
asS'search'
p32167
(lp32168
S'searches'
p32169
aS'searching'
p32170
aS'searched'
p32171
aS'searched'
p32172
asS'upcast'
p32173
(lp32174
S'upcasts'
p32175
aS'upcasting'
p32176
aS'upcast'
p32177
aS'upcast'
p32178
asS'luxuriate'
p32179
(lp32180
S'luxuriates'
p32181
aS'luxuriating'
p32182
aS'luxuriated'
p32183
aS'luxuriated'
p32184
asS'margin'
p32185
(lp32186
S'margins'
p32187
aS'margining'
p32188
aS'margined'
p32189
aS'margined'
p32190
asS'scurry'
p32191
(lp32192
S'scurries'
p32193
aS'scurrying'
p32194
aS'scurried'
p32195
aS'scurried'
p32196
asS'spotlight'
p32197
(lp32198
S'spotlights'
p32199
aS'spotlighting'
p32200
aS'spotlit'
p32201
aS'spotlit'
p32202
asS'narrow'
p32203
(lp32204
S'narrows'
p32205
aS'narrowing'
p32206
aS'narrowed'
p32207
aS'narrowed'
p32208
asS'fatten'
p32209
(lp32210
S'fattens'
p32211
aS'fattening'
p32212
aS'fattened'
p32213
aS'fattened'
p32214
asS'authorize'
p32215
(lp32216
S'authorizes'
p32217
aS'authorizing'
p32218
aS'authorized'
p32219
aS'authorized'
p32220
asS'alphabetize'
p32221
(lp32222
S'alphabetizes'
p32223
aS'alphabetizing'
p32224
aS'alphabetized'
p32225
aS'alphabetized'
p32226
asS'shanghai'
p32227
(lp32228
S'shanghais'
p32229
aS'shanghaiing'
p32230
aS'shanghaied'
p32231
aS'shanghaied'
p32232
asS'perpetuate'
p32233
(lp32234
S'perpetuates'
p32235
aS'perpetuating'
p32236
aS'perpetuated'
p32237
aS'perpetuated'
p32238
asS'prejudge'
p32239
(lp32240
S'prejudges'
p32241
aS'prejudging'
p32242
aS'prejudged'
p32243
aS'prejudged'
p32244
asS'caravan'
p32245
(lp32246
S'caravans'
p32247
aS'caravanning'
p32248
aS'caravanned'
p32249
aS'caravanned'
p32250
asS'transit'
p32251
(lp32252
S'transits'
p32253
aS'transiting'
p32254
aS'transited'
p32255
aS'transited'
p32256
asS'chalk'
p32257
(lp32258
S'chalks'
p32259
aS'chalking'
p32260
aS'chalked'
p32261
aS'chalked'
p32262
asS'sanction'
p32263
(lp32264
S'sanctions'
p32265
aS'sanctioning'
p32266
aS'sanctioned'
p32267
aS'sanctioned'
p32268
asS'huzzah'
p32269
(lp32270
S'huzzahs'
p32271
aS'huzzahing'
p32272
aS'huzzahed'
p32273
aS'huzzahed'
p32274
asS'melodramatize'
p32275
(lp32276
S'melodramatizes'
p32277
aS'melodramatizing'
p32278
aS'melodramatized'
p32279
aS'melodramatized'
p32280
asS'eye'
p32281
(lp32282
S'eyes'
p32283
aS'eying'
p32284
aS'eyed'
p32285
aS'eyed'
p32286
asS'score'
p32287
(lp32288
S'scores'
p32289
aS'scoring'
p32290
aS'scored'
p32291
aS'scored'
p32292
asS'codify'
p32293
(lp32294
S'codifies'
p32295
aS'codifying'
p32296
aS'codified'
p32297
aS'codified'
p32298
asS'trounce'
p32299
(lp32300
S'trounces'
p32301
aS'trouncing'
p32302
aS'trounced'
p32303
aS'trounced'
p32304
asS'over-burden'
p32305
(lp32306
S'over-burdens'
p32307
aS'over-burdening'
p32308
ag28305
aS'over-burdened'
p32309
asS'puke'
p32310
(lp32311
S'pukes'
p32312
aS'puking'
p32313
aS'puked'
p32314
aS'puked'
p32315
asS'splash'
p32316
(lp32317
S'splashes'
p32318
aS'splashing'
p32319
aS'splashed'
p32320
aS'splashed'
p32321
asS'libel'
p32322
(lp32323
S'libels'
p32324
aS'libelling'
p32325
aS'libelled'
p32326
aS'libelled'
p32327
asS'crepitate'
p32328
(lp32329
S'crepitates'
p32330
aS'crepitating'
p32331
aS'crepitated'
p32332
aS'crepitated'
p32333
asS'raft'
p32334
(lp32335
S'rafts'
p32336
aS'rafting'
p32337
aS'rafted'
p32338
aS'rafted'
p32339
asS'intumesce'
p32340
(lp32341
S'intumesces'
p32342
aS'intumescing'
p32343
aS'intumesced'
p32344
aS'intumesced'
p32345
asS'popple'
p32346
(lp32347
S'popples'
p32348
aS'poppling'
p32349
aS'poppled'
p32350
aS'poppled'
p32351
asS'diamond'
p32352
(lp32353
S'diamonds'
p32354
aS'diamonding'
p32355
aS'diamonded'
p32356
aS'diamonded'
p32357
asS'tenderize'
p32358
(lp32359
S'tenderizes'
p32360
aS'tenderizing'
p32361
aS'tenderized'
p32362
aS'tenderized'
p32363
asS'dematerialize'
p32364
(lp32365
S'dematerializes'
p32366
aS'dematerializing'
p32367
aS'dematerialized'
p32368
aS'dematerialized'
p32369
asS'stable'
p32370
(lp32371
S'stables'
p32372
aS'stabling'
p32373
aS'stabled'
p32374
aS'stabled'
p32375
asS'reconvert'
p32376
(lp32377
S'reconverts'
p32378
aS'reconverting'
p32379
aS'reconverted'
p32380
aS'reconverted'
p32381
asS'sniggle'
p32382
(lp32383
S'sniggles'
p32384
aS'sniggling'
p32385
aS'sniggled'
p32386
aS'sniggled'
p32387
asS'animadvert'
p32388
(lp32389
S'animadverts'
p32390
aS'animadverting'
p32391
aS'animadverted'
p32392
aS'animadverted'
p32393
asS'blandish'
p32394
(lp32395
S'blandishes'
p32396
aS'blandishing'
p32397
aS'blandished'
p32398
aS'blandished'
p32399
asS'counterclaim'
p32400
(lp32401
S'counterclaims'
p32402
aS'counterclaiming'
p32403
aS'counterclaimed'
p32404
aS'counterclaimed'
p32405
asS'cluster'
p32406
(lp32407
S'clusters'
p32408
aS'clustering'
p32409
aS'clustered'
p32410
aS'clustered'
p32411
asS'flyblow'
p32412
(lp32413
S'flyblows'
p32414
aS'flyblowing'
p32415
aS'flyblew'
p32416
aS'flyblown'
p32417
asS'recall'
p32418
(lp32419
S'recalls'
p32420
aS'recalling'
p32421
aS'recalled'
p32422
aS'recalled'
p32423
asS'dew'
p32424
(lp32425
S'dews'
p32426
aS'dewing'
p32427
aS'dewed'
p32428
aS'dewed'
p32429
asS'remain'
p32430
(lp32431
S'remains'
p32432
aS'remaining'
p32433
aS'remained'
p32434
aS'remained'
p32435
asS'paragraph'
p32436
(lp32437
S'paragraphs'
p32438
aS'paragraphing'
p32439
aS'paragraphed'
p32440
aS'paragraphed'
p32441
asS'den'
p32442
(lp32443
S'dens'
p32444
aS'denning'
p32445
aS'denned'
p32446
aS'denned'
p32447
asS'flyte'
p32448
(lp32449
S'flytes'
p32450
aS'flyting'
p32451
aS'flyted'
p32452
aS'flyted'
p32453
asS'abandon'
p32454
(lp32455
S'abandons'
p32456
aS'abandoning'
p32457
aS'abandoned'
p32458
aS'abandoned'
p32459
asS'marble'
p32460
(lp32461
S'marbles'
p32462
aS'marbling'
p32463
aS'marbled'
p32464
aS'marbled'
p32465
asS'bivouac'
p32466
(lp32467
S'bivouacs'
p32468
aS'bivouacking'
p32469
aS'bivouacked'
p32470
aS'bivouacked'
p32471
asS'sleuth'
p32472
(lp32473
S'sleuths'
p32474
aS'sleuthing'
p32475
aS'sleuthed'
p32476
aS'sleuthed'
p32477
asS'compare'
p32478
(lp32479
S'compares'
p32480
aS'comparing'
p32481
aS'compared'
p32482
aS'compared'
p32483
asS'buttress'
p32484
(lp32485
S'buttresses'
p32486
aS'buttressing'
p32487
aS'buttressed'
p32488
aS'buttressed'
p32489
asS'share'
p32490
(lp32491
S'shares'
p32492
aS'sharing'
p32493
aS'shared'
p32494
aS'shared'
p32495
asS'spall'
p32496
(lp32497
S'spalls'
p32498
aS'spalling'
p32499
aS'spalled'
p32500
aS'spalled'
p32501
asS'attain'
p32502
(lp32503
S'attains'
p32504
aS'attaining'
p32505
aS'attained'
p32506
aS'attained'
p32507
asS'junket'
p32508
(lp32509
S'junkets'
p32510
aS'junketing'
p32511
aS'junketed'
p32512
aS'junketed'
p32513
asS'sharp'
p32514
(lp32515
S'sharps'
p32516
aS'sharping'
p32517
aS'sharped'
p32518
aS'sharped'
p32519
asS'fillip'
p32520
(lp32521
S'fillips'
p32522
aS'filliping'
p32523
aS'filliped'
p32524
aS'filliped'
p32525
asS'freckle'
p32526
(lp32527
S'freckles'
p32528
aS'freckling'
p32529
aS'freckled'
p32530
aS'freckled'
p32531
asS'interbreed'
p32532
(lp32533
S'interbreeds'
p32534
aS'interbreeding'
p32535
aS'interbred'
p32536
aS'interbred'
p32537
asS'incubate'
p32538
(lp32539
S'incubates'
p32540
aS'incubating'
p32541
aS'incubated'
p32542
aS'incubated'
p32543
asS'sermonize'
p32544
(lp32545
S'sermonizes'
p32546
aS'sermonizing'
p32547
aS'sermonized'
p32548
aS'sermonized'
p32549
asS'comfort'
p32550
(lp32551
S'comforts'
p32552
aS'comforting'
p32553
aS'comforted'
p32554
aS'comforted'
p32555
asS'sprig'
p32556
(lp32557
S'sprigs'
p32558
aS'sprigging'
p32559
aS'sprigged'
p32560
aS'sprigged'
p32561
asS'Balkanize'
p32562
(lp32563
S'Balkanizes'
p32564
aS'Balkanizing'
p32565
aS'Balkanized'
p32566
aS'Balkanized'
p32567
asS'bleat'
p32568
(lp32569
S'bleats'
p32570
aS'bleating'
p32571
aS'bleated'
p32572
aS'bleated'
p32573
asS'blear'
p32574
(lp32575
S'blear'
p32576
aS'blearing'
p32577
aS'bleared'
p32578
aS'bleared'
p32579
asS'blacken'
p32580
(lp32581
S'blackens'
p32582
aS'blacking'
p32583
aS'blackened'
p32584
aS'blackened'
p32585
asS'interpose'
p32586
(lp32587
S'interposes'
p32588
aS'interposing'
p32589
aS'interposed'
p32590
aS'interposed'
p32591
asS'explicate'
p32592
(lp32593
S'explicates'
p32594
aS'explicating'
p32595
aS'explicated'
p32596
aS'explicated'
p32597
asS'blood'
p32598
(lp32599
S'bloods'
p32600
aS'blooding'
p32601
aS'blooded'
p32602
aS'blooded'
p32603
asS'reclassify'
p32604
(lp32605
S'reclassifies'
p32606
aS'reclassifying'
p32607
aS'reclassified'
p32608
aS'reclassified'
p32609
asS'bloom'
p32610
(lp32611
S'blooms'
p32612
aS'blooming'
p32613
aS'bloomed'
p32614
aS'bloomed'
p32615
asS'lipread'
p32616
(lp32617
S'lipreads'
p32618
aS'lipreading'
p32619
aS'lipread'
p32620
aS'lipread'
p32621
asS'chute'
p32622
(lp32623
S'chutes'
p32624
aS'chuting'
p32625
aS'chuted'
p32626
aS'chuted'
p32627
asS'coax'
p32628
(lp32629
S'coaxes'
p32630
aS'coaxing'
p32631
aS'coaxed'
p32632
aS'coaxed'
p32633
asS'reiterate'
p32634
(lp32635
S'reiterates'
p32636
aS'reiterating'
p32637
aS'reiterated'
p32638
aS'reiterated'
p32639
asS'coat'
p32640
(lp32641
S'coats'
p32642
aS'coating'
p32643
aS'coated'
p32644
aS'coated'
p32645
asS'paw'
p32646
(lp32647
S'paws'
p32648
aS'pawing'
p32649
aS'pawed'
p32650
aS'pawed'
p32651
asS'blunder'
p32652
(lp32653
S'blunders'
p32654
aS'blundering'
p32655
aS'blundered'
p32656
aS'blundered'
p32657
asS'mislead'
p32658
(lp32659
S'misleads'
p32660
aS'misleading'
p32661
aS'misled'
p32662
aS'misled'
p32663
asS'coal'
p32664
(lp32665
S'coals'
p32666
aS'coaling'
p32667
aS'coaled'
p32668
aS'coaled'
p32669
asS'evanesce'
p32670
(lp32671
S'evanesces'
p32672
aS'evanescing'
p32673
aS'evanesced'
p32674
aS'evanesced'
p32675
asS'pleasure'
p32676
(lp32677
S'pleasures'
p32678
aS'pleasuring'
p32679
aS'pleasured'
p32680
aS'pleasured'
p32681
asS'lollop'
p32682
(lp32683
S'lollops'
p32684
aS'lolloping'
p32685
aS'lolloped'
p32686
aS'lolloped'
p32687
asS'serenade'
p32688
(lp32689
S'serenades'
p32690
aS'serenading'
p32691
aS'serenaded'
p32692
aS'serenaded'
p32693
asS'sandcast'
p32694
(lp32695
S'sandcasts'
p32696
aS'sandcasting'
p32697
aS'sandcast'
p32698
aS'sandcast'
p32699
asS'unchurch'
p32700
(lp32701
S'unchurches'
p32702
aS'unchurching'
p32703
aS'unchurched'
p32704
aS'unchurched'
p32705
asS'displease'
p32706
(lp32707
S'displeases'
p32708
aS'displeasing'
p32709
aS'displeased'
p32710
aS'displeased'
p32711
asS'oblique'
p32712
(lp32713
S'obliques'
p32714
aS'obliquing'
p32715
aS'obliqued'
p32716
aS'obliqued'
p32717
asS'name-drop'
p32718
(lp32719
S'name-drops'
p32720
aS'name-dropping'
p32721
aS'name-dropped'
p32722
aS'name-dropped'
p32723
asS'suffer'
p32724
(lp32725
S'suffers'
p32726
aS'suffering'
p32727
aS'suffered'
p32728
aS'suffered'
p32729
asS'prevaricate'
p32730
(lp32731
S'prevaricates'
p32732
aS'prevaricating'
p32733
aS'prevaricated'
p32734
aS'prevaricated'
p32735
asS'fissure'
p32736
(lp32737
S'fissures'
p32738
aS'fissuring'
p32739
aS'fissured'
p32740
aS'fissured'
p32741
asS'bosom'
p32742
(lp32743
S'bosoms'
p32744
aS'bosoming'
p32745
aS'bosomed'
p32746
aS'bosomed'
p32747
asS'pend'
p32748
(lp32749
S'pends'
p32750
aS'pending'
p32751
aS'pended'
p32752
aS'pended'
p32753
asS'emend'
p32754
(lp32755
S'emends'
p32756
aS'emending'
p32757
aS'emended'
p32758
aS'emended'
p32759
asS'dolly'
p32760
(lp32761
S'dollies'
p32762
aS'dollying'
p32763
aS'dollied'
p32764
aS'dollied'
p32765
asS'unswear'
p32766
(lp32767
S'unswears'
p32768
aS'unswearing'
p32769
aS'unswore'
p32770
aS'unsworn'
p32771
asS'redraft'
p32772
(lp32773
S'redrafts'
p32774
aS'redrafting'
p32775
aS'redrafted'
p32776
aS'redrafted'
p32777
asS'braise'
p32778
(lp32779
S'braises'
p32780
aS'braising'
p32781
aS'braised'
p32782
aS'braised'
p32783
asS'bereft'
p32784
(lp32785
S'bereft'
p32786
aS'bereft'
p32787
asS'lath'
p32788
(lp32789
S'laths'
p32790
ag21308
ag21309
ag21310
asS'underestimate'
p32791
(lp32792
S'underestimates'
p32793
aS'underestimating'
p32794
aS'underestimated'
p32795
aS'underestimated'
p32796
asS'goof'
p32797
(lp32798
S'goofs'
p32799
aS'goofing'
p32800
aS'goofed'
p32801
aS'goofed'
p32802
asS'contradistinguish'
p32803
(lp32804
S'contradistinguishes'
p32805
aS'contradistinguishing'
p32806
aS'contradistinguished'
p32807
aS'contradistinguished'
p32808
asS'detour'
p32809
(lp32810
S'detours'
p32811
aS'detouring'
p32812
aS'detoured'
p32813
aS'detoured'
p32814
asS'compound'
p32815
(lp32816
S'compounds'
p32817
aS'compounding'
p32818
aS'compounded'
p32819
aS'compounded'
p32820
asS'wiredraw'
p32821
(lp32822
S'wiredraws'
p32823
aS'wiredrawing'
p32824
aS'wiredrew'
p32825
aS'wiredrawn'
p32826
asS'detach'
p32827
(lp32828
S'detaches'
p32829
aS'detaching'
p32830
aS'detached'
p32831
aS'detached'
p32832
asS'complain'
p32833
(lp32834
S'complains'
p32835
aS'complaining'
p32836
aS'complained'
p32837
aS'complained'
p32838
asS'restrict'
p32839
(lp32840
S'restricts'
p32841
aS'restricting'
p32842
aS'restricted'
p32843
aS'restricted'
p32844
asS'huddle'
p32845
(lp32846
S'huddles'
p32847
aS'huddling'
p32848
aS'huddled'
p32849
aS'huddled'
p32850
asS'auspicate'
p32851
(lp32852
S'auspicates'
p32853
aS'auspicating'
p32854
aS'auspicated'
p32855
aS'auspicated'
p32856
asS'countersign'
p32857
(lp32858
S'countersigns'
p32859
aS'countersigning'
p32860
aS'countersigned'
p32861
aS'countersigned'
p32862
asS'evade'
p32863
(lp32864
S'evades'
p32865
aS'evading'
p32866
aS'evaded'
p32867
aS'evaded'
p32868
asS'token'
p32869
(lp32870
S'tokens'
p32871
aS'tokening'
p32872
aS'tokened'
p32873
aS'tokened'
p32874
asS'safeconduct'
p32875
(lp32876
S'safeconducts'
p32877
aS'safeconducting'
p32878
aS'safeconducted'
p32879
aS'safeconducted'
p32880
asS'reft'
p32881
(lp32882
S'reft'
p32883
aS'reft'
p32884
asS'quintuple'
p32885
(lp32886
S'quintuples'
p32887
aS'quintupling'
p32888
aS'quintupled'
p32889
aS'quintupled'
p32890
asS'politicize'
p32891
(lp32892
S'politicizes'
p32893
aS'politicizing'
p32894
aS'politicized'
p32895
aS'politicized'
p32896
asS'clamp'
p32897
(lp32898
S'clamps'
p32899
aS'clamping'
p32900
aS'clamped'
p32901
aS'clamped'
p32902
asS'harm'
p32903
(lp32904
S'harms'
p32905
aS'harming'
p32906
aS'harmed'
p32907
aS'harmed'
p32908
asS'hark'
p32909
(lp32910
S'harks'
p32911
aS'harking'
p32912
aS'harked'
p32913
aS'harked'
p32914
asS'house'
p32915
(lp32916
S'houses'
p32917
aS'housing'
p32918
aS'housed'
p32919
aS'housed'
p32920
asS'hare'
p32921
(lp32922
S'hares'
p32923
aS'haring'
p32924
aS'hared'
p32925
aS'hared'
p32926
asS'electroplate'
p32927
(lp32928
S'electroplates'
p32929
aS'electroplating'
p32930
aS'electroplated'
p32931
aS'electroplated'
p32932
asS'connect'
p32933
(lp32934
S'connects'
p32935
aS'connecting'
p32936
aS'connected'
p32937
aS'connected'
p32938
asS'fist'
p32939
(lp32940
S'fists'
p32941
aS'fisting'
p32942
aS'fisted'
p32943
aS'fisted'
p32944
asS'ripple'
p32945
(lp32946
S'ripples'
p32947
aS'rippling'
p32948
aS'rippled'
p32949
aS'rippled'
p32950
asS'callus'
p32951
(lp32952
S'calluses'
p32953
aS'callusing'
p32954
aS'callused'
p32955
aS'callused'
p32956
asS'orient'
p32957
(lp32958
S'orients'
p32959
aS'orienting'
p32960
aS'oriented'
p32961
aS'oriented'
p32962
asS'harp'
p32963
(lp32964
S'harps'
p32965
aS'harping'
p32966
aS'harped'
p32967
aS'harped'
p32968
asS'inshrine'
p32969
(lp32970
S'inshrines'
p32971
aS'inshrining'
p32972
aS'inshrined'
p32973
aS'inshrined'
p32974
asS'flower'
p32975
(lp32976
S'flowers'
p32977
aS'flowering'
p32978
aS'flowered'
p32979
aS'flowered'
p32980
asS'prink'
p32981
(lp32982
S'prinks'
p32983
aS'prinking'
p32984
aS'prinked'
p32985
aS'prinked'
p32986
asS'coauthor'
p32987
(lp32988
S'coauthors'
p32989
aS'coauthoring'
p32990
aS'coauthored'
p32991
aS'coauthored'
p32992
asS'vitiate'
p32993
(lp32994
S'vitiates'
p32995
aS'vitiating'
p32996
aS'vitiated'
p32997
aS'vitiated'
p32998
asS'avenge'
p32999
(lp33000
S'avenges'
p33001
aS'avenging'
p33002
aS'avenged'
p33003
aS'avenged'
p33004
asS'print'
p33005
(lp33006
S'prints'
p33007
aS'printing'
p33008
aS'printed'
p33009
aS'printed'
p33010
asS'bully'
p33011
(lp33012
S'bullies'
p33013
aS'bullying'
p33014
aS'bullied'
p33015
aS'bullied'
p33016
asS'kittle'
p33017
(lp33018
S'kittles'
p33019
aS'kittling'
p33020
aS'kittled'
p33021
aS'kittled'
p33022
asS'decompress'
p33023
(lp33024
S'decompresses'
p33025
aS'decompressing'
p33026
aS'decompressed'
p33027
aS'decompressed'
p33028
asS'golly'
p33029
(lp33030
S'gollies'
p33031
aS'gollying'
p33032
aS'gollied'
p33033
aS'gollied'
p33034
asS'recast'
p33035
(lp33036
S'recasts'
p33037
aS'recasting'
p33038
aS'recast'
p33039
aS'recast'
p33040
asS'stratify'
p33041
(lp33042
S'stratifies'
p33043
aS'stratifying'
p33044
aS'stratified'
p33045
aS'stratified'
p33046
asS'omit'
p33047
(lp33048
S'omits'
p33049
aS'omitting'
p33050
aS'omitted'
p33051
aS'omitted'
p33052
asS'desiccate'
p33053
(lp33054
S'desiccates'
p33055
aS'desiccating'
p33056
aS'desiccated'
p33057
aS'desiccated'
p33058
asS'predate'
p33059
(lp33060
S'predates'
p33061
aS'predating'
p33062
aS'predated'
p33063
aS'predated'
p33064
asS'wither'
p33065
(lp33066
S'withers'
p33067
aS'withering'
p33068
aS'withered'
p33069
aS'withered'
p33070
asS'corkscrew'
p33071
(lp33072
S'corkscrews'
p33073
aS'corkscrewing'
p33074
aS'corkscrewed'
p33075
aS'corkscrewed'
p33076
asS'trickle'
p33077
(lp33078
S'trickles'
p33079
aS'trickling'
p33080
aS'trickled'
p33081
aS'trickled'
p33082
asS'copper'
p33083
(lp33084
S'coppers'
p33085
aS'coppering'
p33086
aS'coppered'
p33087
aS'coppered'
p33088
asS'perturb'
p33089
(lp33090
S'perturbs'
p33091
aS'perturbing'
p33092
aS'perturbed'
p33093
aS'perturbed'
p33094
asS'dehydrogenize'
p33095
(lp33096
S'dehydrogenizes'
p33097
aS'dehydrogenizing'
p33098
aS'dehydrogenized'
p33099
aS'dehydrogenized'
p33100
asS'pop'
p33101
(lp33102
S'pops'
p33103
aS'popping'
p33104
aS'popped'
p33105
aS'popped'
p33106
asS'dong'
p33107
(lp33108
S'dongs'
p33109
aS'donging'
p33110
aS'donged'
p33111
aS'donged'
p33112
asS'wager'
p33113
(lp33114
S'wagers'
p33115
aS'wagering'
p33116
aS'wagered'
p33117
aS'wagered'
p33118
asS'jabber'
p33119
(lp33120
S'jabbers'
p33121
aS'jabbering'
p33122
aS'jabbered'
p33123
aS'jabbered'
p33124
asS'clapperclaw'
p33125
(lp33126
S'clapperclaws'
p33127
aS'clapperclawing'
p33128
aS'clapperclawed'
p33129
aS'clapperclawed'
p33130
asS'foot-slog'
p33131
(lp33132
S'foot-slogs'
p33133
aS'foot-slogging'
p33134
aS'foot-slogged'
p33135
aS'foot-slogged'
p33136
asS'divorce'
p33137
(lp33138
S'divorces'
p33139
aS'divorcing'
p33140
aS'divorced'
p33141
aS'divorced'
p33142
asS'triplicate'
p33143
(lp33144
S'triplicates'
p33145
aS'triplicating'
p33146
aS'triplicated'
p33147
aS'triplicated'
p33148
asS'subtilize'
p33149
(lp33150
S'subtilizes'
p33151
aS'subtilizing'
p33152
aS'subtilized'
p33153
aS'subtilized'
p33154
asS'revive'
p33155
(lp33156
S'revives'
p33157
aS'reviving'
p33158
aS'revived'
p33159
aS'revived'
p33160
asS'construct'
p33161
(lp33162
S'constructs'
p33163
aS'constructing'
p33164
aS'constructed'
p33165
aS'constructed'
p33166
asS'paint'
p33167
(lp33168
S'paints'
p33169
aS'painting'
p33170
aS'painted'
p33171
aS'painted'
p33172
asS'leash'
p33173
(lp33174
S'leashes'
p33175
aS'leashing'
p33176
aS'leashed'
p33177
aS'leashed'
p33178
asS'smoothen'
p33179
(lp33180
S'smoothens'
p33181
aS'smoothening'
p33182
aS'smoothened'
p33183
aS'smoothened'
p33184
asS'lease'
p33185
(lp33186
S'leases'
p33187
aS'leasing'
p33188
aS'leased'
p33189
aS'leased'
p33190
asS'catapult'
p33191
(lp33192
S'catapults'
p33193
aS'catapulting'
p33194
aS'catapulted'
p33195
aS'catapulted'
p33196
asS'bumble'
p33197
(lp33198
S'bumbles'
p33199
aS'bumbling'
p33200
aS'bumbled'
p33201
aS'bumbled'
p33202
asS'pare'
p33203
(lp33204
S'pares'
p33205
aS'paring'
p33206
aS'pared'
p33207
aS'pared'
p33208
asS'trawl'
p33209
(lp33210
S'trawls'
p33211
aS'trawling'
p33212
aS'trawled'
p33213
aS'trawled'
p33214
asS'travail'
p33215
(lp33216
S'travails'
p33217
aS'travailing'
p33218
aS'travailed'
p33219
aS'travailed'
p33220
asS'needle'
p33221
(lp33222
S'needles'
p33223
aS'needling'
p33224
aS'needled'
p33225
aS'needled'
p33226
asS'park'
p33227
(lp33228
S'parks'
p33229
aS'parking'
p33230
aS'parked'
p33231
aS'parked'
p33232
asS'part'
p33233
(lp33234
S'parts'
p33235
aS'parting'
p33236
aS'parted'
p33237
aS'parted'
p33238
asS'differentiate'
p33239
(lp33240
S'differentiates'
p33241
aS'differentiating'
p33242
aS'differentiated'
p33243
aS'differentiated'
p33244
asS'believe'
p33245
(lp33246
S'believes'
p33247
aS'believing'
p33248
aS'believed'
p33249
aS'believed'
p33250
asS'oscillate'
p33251
(lp33252
S'oscillates'
p33253
aS'oscillating'
p33254
aS'oscillated'
p33255
aS'oscillated'
p33256
asS'preachify'
p33257
(lp33258
S'preachifies'
p33259
aS'preachifying'
p33260
aS'preachified'
p33261
aS'preachified'
p33262
asS'commiserate'
p33263
(lp33264
S'commiserates'
p33265
aS'commiserating'
p33266
aS'commiserated'
p33267
aS'commiserated'
p33268
asS'fractionize'
p33269
(lp33270
S'fractionizes'
p33271
aS'fractionizing'
p33272
aS'fractionized'
p33273
aS'fractionized'
p33274
asS'sedate'
p33275
(lp33276
S'sedates'
p33277
aS'sedating'
p33278
aS'sedated'
p33279
aS'sedated'
p33280
asS'garble'
p33281
(lp33282
S'garbles'
p33283
aS'garbling'
p33284
aS'garbled'
p33285
aS'garbled'
p33286
asS'declare'
p33287
(lp33288
S'declares'
p33289
aS'declaring'
p33290
aS'declared'
p33291
aS'declared'
p33292
asS'flitter'
p33293
(lp33294
S'flitters'
p33295
aS'flittering'
p33296
aS'flittered'
p33297
aS'flittered'
p33298
asS'swerve'
p33299
(lp33300
S'swerves'
p33301
aS'swerving'
p33302
aS'swerved'
p33303
aS'swerved'
p33304
asS'prefigure'
p33305
(lp33306
S'prefigures'
p33307
aS'prefiguring'
p33308
aS'prefigured'
p33309
aS'prefigured'
p33310
asS'marinade'
p33311
(lp33312
S'marinades'
p33313
aS'marinading'
p33314
aS'marinaded'
p33315
aS'marinaded'
p33316
asS'elegize'
p33317
(lp33318
S'elegizes'
p33319
aS'elegizing'
p33320
aS'elegized'
p33321
aS'elegized'
p33322
asS'affray'
p33323
(lp33324
S'affrays'
p33325
aS'affraying'
p33326
aS'affrayed'
p33327
aS'affrayed'
p33328
asS'cwtch'
p33329
(lp33330
S'cwtches'
p33331
aS'cwtching'
p33332
aS'cwtched'
p33333
aS'cwtched'
p33334
asS'protrude'
p33335
(lp33336
S'protrudes'
p33337
aS'protruding'
p33338
aS'protruded'
p33339
aS'protruded'
p33340
asS'dismember'
p33341
(lp33342
S'dismembers'
p33343
aS'dismembering'
p33344
aS'dismembered'
p33345
aS'dismembered'
p33346
asS'blanch'
p33347
(lp33348
S'blanches'
p33349
aS'blanching'
p33350
aS'blanched'
p33351
aS'blanched'
p33352
asS'refute'
p33353
(lp33354
S'refutes'
p33355
aS'refuting'
p33356
aS'refuted'
p33357
aS'refuted'
p33358
asS'trip'
p33359
(lp33360
S'trips'
p33361
aS'tripping'
p33362
aS'tripped'
p33363
aS'tripped'
p33364
asS'feeze'
p33365
(lp33366
S'feezes'
p33367
aS'feezing'
p33368
aS'feezed'
p33369
aS'feezed'
p33370
asS'couch'
p33371
(lp33372
S'couches'
p33373
aS'couching'
p33374
aS'couched'
p33375
aS'couched'
p33376
asS'build'
p33377
(lp33378
S'builds'
p33379
aS'building'
p33380
aS'built'
p33381
aS'built'
p33382
asS'rowel'
p33383
(lp33384
S'rowels'
p33385
aS'rowelling'
p33386
aS'rowelled'
p33387
aS'rowelled'
p33388
asS'pressurize'
p33389
(lp33390
S'pressurizes'
p33391
aS'pressurizing'
p33392
aS'pressurized'
p33393
aS'pressurized'
p33394
asS'flute'
p33395
(lp33396
S'flutes'
p33397
aS'fluting'
p33398
aS'fluted'
p33399
aS'fluted'
p33400
asS'chart'
p33401
(lp33402
S'charts'
p33403
aS'charting'
p33404
aS'charted'
p33405
aS'charted'
p33406
asS'charm'
p33407
(lp33408
S'charms'
p33409
aS'charming'
p33410
aS'charmed'
p33411
aS'charmed'
p33412
asS'outpoint'
p33413
(lp33414
S'outpoints'
p33415
aS'outpointing'
p33416
aS'outpointed'
p33417
aS'outpointed'
p33418
asS'booby-trap'
p33419
(lp33420
S'booby-traps'
p33421
aS'booby-trapping'
p33422
aS'booby-trapped'
p33423
aS'booby-trapped'
p33424
asS'pauperize'
p33425
(lp33426
S'pauperizes'
p33427
aS'pauperizing'
p33428
aS'pauperized'
p33429
aS'pauperized'
p33430
asS'fluctuate'
p33431
(lp33432
S'fluctuates'
p33433
aS'fluctuating'
p33434
aS'fluctuated'
p33435
aS'fluctuated'
p33436
asS'saturate'
p33437
(lp33438
S'saturates'
p33439
aS'saturating'
p33440
aS'saturated'
p33441
aS'saturated'
p33442
asS'ko'
p33443
(lp33444
S"ko's"
p33445
aS"ko'ing"
p33446
aS"ko'ed"
p33447
aS"ko'ed"
p33448
asS'squelch'
p33449
(lp33450
S'squelches'
p33451
aS'squelching'
p33452
aS'squelched'
p33453
aS'squelched'
p33454
asS'elasticate'
p33455
(lp33456
S'elasticates'
p33457
aS'elasticating'
p33458
aS'elasticated'
p33459
aS'elasticated'
p33460
asS'impaste'
p33461
(lp33462
S'impastes'
p33463
aS'impasting'
p33464
aS'impasted'
p33465
aS'impasted'
p33466
asS'tampon'
p33467
(lp33468
S'tampons'
p33469
aS'tamponing'
p33470
aS'tamponed'
p33471
aS'tamponed'
p33472
asS'carny'
p33473
(lp33474
S'carnies'
p33475
aS'carnying'
p33476
aS'carnied'
p33477
aS'carnied'
p33478
asS'converge'
p33479
(lp33480
S'converges'
p33481
aS'converging'
p33482
aS'converged'
p33483
aS'converged'
p33484
asS'fink'
p33485
(lp33486
S'finks'
p33487
aS'finking'
p33488
aS'finked'
p33489
aS'finked'
p33490
asS'chock'
p33491
(lp33492
S'chocks'
p33493
aS'chocking'
p33494
aS'chocked'
p33495
aS'chocked'
p33496
asS'fine'
p33497
(lp33498
S'fines'
p33499
aS'fining'
p33500
aS'fined'
p33501
aS'fined'
p33502
asS'find'
p33503
(lp33504
S'finds'
p33505
aS'finding'
p33506
aS'found'
p33507
aS'found'
p33508
asS'scorify'
p33509
(lp33510
S'scorifies'
p33511
aS'scorifying'
p33512
aS'scorified'
p33513
aS'scorified'
p33514
asS'mineralize'
p33515
(lp33516
S'mineralizes'
p33517
aS'mineralizing'
p33518
aS'mineralized'
p33519
aS'mineralized'
p33520
asS'lather'
p33521
(lp33522
S'lathers'
p33523
aS'lathering'
p33524
aS'lathered'
p33525
aS'lathered'
p33526
asS'override'
p33527
(lp33528
S'overrides'
p33529
aS'overriding'
p33530
aS'overrode'
p33531
aS'overridden'
p33532
asS'prearrange'
p33533
(lp33534
S'prearranges'
p33535
aS'prearranging'
p33536
aS'prearranged'
p33537
aS'prearranged'
p33538
asS'devastate'
p33539
(lp33540
S'devastates'
p33541
aS'devastating'
p33542
aS'devastated'
p33543
aS'devastated'
p33544
asS'batten'
p33545
(lp33546
S'battens'
p33547
aS'battening'
p33548
aS'battened'
p33549
aS'battened'
p33550
asS'express'
p33551
(lp33552
S'expresses'
p33553
aS'expressing'
p33554
aS'expressed'
p33555
aS'expressed'
p33556
asS'ferret'
p33557
(lp33558
S'ferrets'
p33559
aS'ferreting'
p33560
aS'ferreted'
p33561
aS'ferreted'
p33562
asS'cheapen'
p33563
(lp33564
S'cheapens'
p33565
aS'cheapening'
p33566
aS'cheapened'
p33567
aS'cheapened'
p33568
asS'batter'
p33569
(lp33570
S'batters'
p33571
aS'battering'
p33572
aS'battered'
p33573
aS'battered'
p33574
asS'breast'
p33575
(lp33576
S'breasts'
p33577
aS'breasting'
p33578
aS'breasted'
p33579
aS'breasted'
p33580
asS'cumulate'
p33581
(lp33582
S'cumulates'
p33583
aS'cumulating'
p33584
aS'cumulated'
p33585
aS'cumulated'
p33586
asS'inaugurate'
p33587
(lp33588
S'inaugurates'
p33589
aS'inaugurating'
p33590
aS'inaugurated'
p33591
aS'inaugurated'
p33592
asS'pellet'
p33593
(lp33594
S'pellets'
p33595
aS'pelleting'
p33596
aS'pelleted'
p33597
aS'pelleted'
p33598
asS'target'
p33599
(lp33600
S'targets'
p33601
aS'targeting'
p33602
aS'targeted'
p33603
aS'targeted'
p33604
asS'huff'
p33605
(lp33606
S'huffs'
p33607
aS'huffing'
p33608
aS'huffed'
p33609
aS'huffed'
p33610
asS'elapse'
p33611
(lp33612
S'elapses'
p33613
aS'elapsing'
p33614
aS'elapsed'
p33615
aS'elapsed'
p33616
asS'resolve'
p33617
(lp33618
S'resolves'
p33619
aS'resolving'
p33620
aS'resolved'
p33621
aS'resolved'
p33622
asS'susurrate'
p33623
(lp33624
S'susurrates'
p33625
aS'susurrating'
p33626
aS'susurrated'
p33627
aS'susurrated'
p33628
asS'remove'
p33629
(lp33630
S'removes'
p33631
aS'removing'
p33632
aS'removed'
p33633
aS'removed'
p33634
asS'supercede'
p33635
(lp33636
S'supercedes'
p33637
aS'superceding'
p33638
aS'superceded'
p33639
aS'superceded'
p33640
asS'toe-dance'
p33641
(lp33642
S'toe-dances'
p33643
aS'toe-dancing'
p33644
aS'toe-danced'
p33645
aS'toe-danced'
p33646
asS'gazump'
p33647
(lp33648
S'gazumps'
p33649
aS'gazumping'
p33650
aS'gazumped'
p33651
aS'gazumped'
p33652
asS'arouse'
p33653
(lp33654
S'arouses'
p33655
aS'arousing'
p33656
aS'aroused'
p33657
aS'aroused'
p33658
asS'overeat'
p33659
(lp33660
S'overeats'
p33661
aS'overeating'
p33662
aS'overate'
p33663
aS'overeaten'
p33664
asS'tender'
p33665
(lp33666
S'tenders'
p33667
aS'tendering'
p33668
aS'tendered'
p33669
aS'tendered'
p33670
asS'petrify'
p33671
(lp33672
S'petrifies'
p33673
aS'petrifying'
p33674
aS'petrified'
p33675
aS'petrified'
p33676
asS'marinate'
p33677
(lp33678
S'marinates'
p33679
aS'marinating'
p33680
aS'marinated'
p33681
aS'marinated'
p33682
asS'debar'
p33683
(lp33684
S'debars'
p33685
aS'debarring'
p33686
aS'debarred'
p33687
aS'debarred'
p33688
asS'equivocate'
p33689
(lp33690
S'equivocates'
p33691
aS'equivocating'
p33692
aS'equivocated'
p33693
aS'equivocated'
p33694
asS'please'
p33695
(lp33696
S'pleases'
p33697
aS'pleasing'
p33698
aS'pleased'
p33699
aS'pleased'
p33700
asS'phototype'
p33701
(lp33702
S'phototypes'
p33703
aS'phototyping'
p33704
aS'phototyped'
p33705
aS'phototyped'
p33706
asS'abrade'
p33707
(lp33708
S'abrades'
p33709
aS'abrading'
p33710
aS'abraded'
p33711
aS'abraded'
p33712
asS'donate'
p33713
(lp33714
S'donates'
p33715
aS'donating'
p33716
aS'donated'
p33717
aS'donated'
p33718
asS'debag'
p33719
(lp33720
S'debags'
p33721
aS'debagging'
p33722
aS'debagged'
p33723
aS'debagged'
p33724
asS'concatenate'
p33725
(lp33726
S'concatenates'
p33727
aS'concatenating'
p33728
aS'concatenated'
p33729
aS'concatenated'
p33730
asS'rosin'
p33731
(lp33732
S'rosins'
p33733
aS'rosining'
p33734
aS'rosined'
p33735
aS'rosined'
p33736
asS'complement'
p33737
(lp33738
S'complements'
p33739
aS'complementing'
p33740
aS'complemented'
p33741
aS'complemented'
p33742
asS'silver-plate'
p33743
(lp33744
S'silver-plates'
p33745
aS'silver-plating'
p33746
aS'silver-plated'
p33747
aS'silver-plated'
p33748
asS'parbuckle'
p33749
(lp33750
S'parbuckles'
p33751
aS'parbuckling'
p33752
aS'parbuckled'
p33753
aS'parbuckled'
p33754
asS'barrack'
p33755
(lp33756
S'barracks'
p33757
aS'barracking'
p33758
aS'barracked'
p33759
aS'barracked'
p33760
asS'scuttle'
p33761
(lp33762
S'scuttles'
p33763
aS'scuttling'
p33764
aS'scuttled'
p33765
aS'scuttled'
p33766
asS'premise'
p33767
(lp33768
S'premises'
p33769
aS'premising'
p33770
aS'premised'
p33771
aS'premised'
p33772
asS'poniard'
p33773
(lp33774
S'poniards'
p33775
aS'poniarding'
p33776
aS'poniarded'
p33777
aS'poniarded'
p33778
asS'reverse'
p33779
(lp33780
S'reverses'
p33781
aS'reversing'
p33782
aS'reversed'
p33783
aS'reversed'
p33784
asS'systemize'
p33785
(lp33786
S'systemizes'
p33787
aS'systemizing'
p33788
aS'systemized'
p33789
aS'systemized'
p33790
asS'scythe'
p33791
(lp33792
S'scythes'
p33793
aS'scything'
p33794
aS'scythed'
p33795
aS'scythed'
p33796
asS'spume'
p33797
(lp33798
S'spumes'
p33799
aS'spuming'
p33800
aS'spumed'
p33801
aS'spumed'
p33802
asS'syllable'
p33803
(lp33804
S'syllables'
p33805
aS'syllabling'
p33806
aS'syllabled'
p33807
aS'syllabled'
p33808
asS'confabulate'
p33809
(lp33810
S'confabulates'
p33811
aS'confabulating'
p33812
aS'confabulated'
p33813
aS'confabulated'
p33814
asS'consume'
p33815
(lp33816
S'consumes'
p33817
aS'consuming'
p33818
aS'consumed'
p33819
aS'consumed'
p33820
asS'point'
p33821
(lp33822
S'points'
p33823
aS'pointing'
p33824
aS'pointed'
p33825
aS'pointed'
p33826
asS'dwindle'
p33827
(lp33828
S'dwindles'
p33829
aS'dwindling'
p33830
aS'dwindled'
p33831
aS'dwindled'
p33832
asS'smother'
p33833
(lp33834
S'smothers'
p33835
aS'smothering'
p33836
aS'smothered'
p33837
aS'smothered'
p33838
asS'poind'
p33839
(lp33840
S'poinds'
p33841
aS'poinding'
p33842
aS'poinded'
p33843
aS'poinded'
p33844
asS'wrick'
p33845
(lp33846
S'wricks'
p33847
aS'wricking'
p33848
aS'wricked'
p33849
aS'wricked'
p33850
asS'toddle'
p33851
(lp33852
S'toddles'
p33853
aS'toddling'
p33854
aS'toddled'
p33855
aS'toddled'
p33856
asS'civilize'
p33857
(lp33858
S'civilizes'
p33859
aS'civilizing'
p33860
aS'civilized'
p33861
aS'civilized'
p33862
asS'raise'
p33863
(lp33864
S'raises'
p33865
aS'raising'
p33866
aS'raised'
p33867
aS'raised'
p33868
asS'dovetail'
p33869
(lp33870
S'dovetails'
p33871
aS'dovetailing'
p33872
aS'dovetailed'
p33873
aS'dovetailed'
p33874
asS'smote'
p33875
(lp33876
S'smotes'
p33877
aS'smoting'
p33878
aS'smoted'
p33879
aS'smoted'
p33880
asS'talc'
p33881
(lp33882
S'talcs'
p33883
aS'talcking'
p33884
aS'talcked'
p33885
aS'talcked'
p33886
asS'create'
p33887
(lp33888
S'creates'
p33889
aS'creating'
p33890
aS'created'
p33891
aS'created'
p33892
asS'appall'
p33893
(lp33894
S'appals'
p33895
aS'appalling'
p33896
aS'appalled'
p33897
aS'appalled'
p33898
asS'volley'
p33899
(lp33900
S'volleys'
p33901
aS'volleying'
p33902
aS'volleyed'
p33903
aS'volleyed'
p33904
asS'gat'
p33905
(lp33906
S'gats'
p33907
aS'gating'
p33908
aS'gated'
p33909
aS'gated'
p33910
asS'gas'
p33911
(lp33912
S'gasses'
p33913
aS'gassing'
p33914
aS'gassed'
p33915
aS'gassed'
p33916
asS'misgive'
p33917
(lp33918
S'misgives'
p33919
aS'misgiving'
p33920
aS'misgave'
p33921
aS'misgiven'
p33922
asS'gam'
p33923
(lp33924
S'gams'
p33925
aS'gamming'
p33926
aS'gammed'
p33927
aS'gammed'
p33928
asS'jellify'
p33929
(lp33930
S'jellifies'
p33931
aS'jellifying'
p33932
aS'jellified'
p33933
aS'jellified'
p33934
asS'formularize'
p33935
(lp33936
S'formularizes'
p33937
aS'formularizing'
p33938
aS'formularized'
p33939
aS'formularized'
p33940
asS'undercharge'
p33941
(lp33942
S'undercharges'
p33943
aS'undercharging'
p33944
aS'undercharged'
p33945
aS'undercharged'
p33946
asS'gag'
p33947
(lp33948
S'gags'
p33949
aS'gagging'
p33950
aS'gagged'
p33951
aS'gagged'
p33952
asS'gad'
p33953
(lp33954
S'gads'
p33955
aS'gadding'
p33956
aS'gadded'
p33957
aS'gadded'
p33958
asS'chatter'
p33959
(lp33960
S'chatters'
p33961
aS'chattering'
p33962
aS'chattered'
p33963
aS'chattered'
p33964
asS'gab'
p33965
(lp33966
S'gabs'
p33967
aS'gabbing'
p33968
aS'gabbed'
p33969
aS'gabbed'
p33970
asS'cognize'
p33971
(lp33972
S'cognizes'
p33973
aS'cognizing'
p33974
aS'cognized'
p33975
aS'cognized'
p33976
asS'straiten'
p33977
(lp33978
S'straitens'
p33979
aS'straitening'
p33980
aS'straitened'
p33981
aS'straitened'
p33982
asS'pierce'
p33983
(lp33984
S'pierces'
p33985
aS'piercing'
p33986
aS'pierced'
p33987
aS'pierced'
p33988
asS'fur'
p33989
(lp33990
S'furs'
p33991
aS'furring'
p33992
aS'furred'
p33993
aS'furred'
p33994
asS'dehypnotize'
p33995
(lp33996
S'dehypnotizes'
p33997
aS'dehypnotizing'
p33998
aS'dehypnotized'
p33999
aS'dehypnotized'
p34000
asS'bill'
p34001
(lp34002
S'bills'
p34003
aS'billing'
p34004
aS'billed'
p34005
aS'billed'
p34006
asS'bilk'
p34007
(lp34008
S'bilks'
p34009
aS'bilking'
p34010
aS'bilked'
p34011
aS'bilked'
p34012
asS'horseshoe'
p34013
(lp34014
S'horseshoes'
p34015
aS'horseshoeing'
p34016
aS'horseshoed'
p34017
aS'horseshoed'
p34018
asS'fun'
p34019
(lp34020
S'funs'
p34021
aS'funning'
p34022
aS'funned'
p34023
aS'funned'
p34024
asS'astrict'
p34025
(lp34026
S'astricts'
p34027
aS'astricting'
p34028
aS'astricted'
p34029
aS'astricted'
p34030
asS'approximate'
p34031
(lp34032
S'approximates'
p34033
aS'approximating'
p34034
aS'approximated'
p34035
aS'approximated'
p34036
asS'escheat'
p34037
(lp34038
S'escheats'
p34039
aS'escheating'
p34040
aS'escheated'
p34041
aS'escheated'
p34042
asS'astound'
p34043
(lp34044
S'astounds'
p34045
aS'astounding'
p34046
aS'astounded'
p34047
aS'astounded'
p34048
asS'echelon'
p34049
(lp34050
S'echelons'
p34051
aS'echeloning'
p34052
aS'echeloned'
p34053
aS'echeloned'
p34054
asS'calender'
p34055
(lp34056
S'calenders'
p34057
aS'calendering'
p34058
aS'calendered'
p34059
aS'calendered'
p34060
asS'truncheon'
p34061
(lp34062
S'truncheons'
p34063
aS'truncheoning'
p34064
aS'truncheoned'
p34065
aS'truncheoned'
p34066
asS'enervate'
p34067
(lp34068
S'enervates'
p34069
aS'enervating'
p34070
aS'enervated'
p34071
aS'enervated'
p34072
asS'solemnify'
p34073
(lp34074
S'solemnifies'
p34075
aS'solemnifying'
p34076
aS'solemnified'
p34077
aS'solemnified'
p34078
asS'commutate'
p34079
(lp34080
S'commutates'
p34081
aS'commutating'
p34082
aS'commutated'
p34083
aS'commutated'
p34084
asS'regulate'
p34085
(lp34086
S'regulates'
p34087
aS'regulating'
p34088
aS'regulated'
p34089
aS'regulated'
p34090
asS'irradiate'
p34091
(lp34092
S'irradiates'
p34093
aS'irradiating'
p34094
aS'irradiated'
p34095
aS'irradiated'
p34096
asS'ingrain'
p34097
(lp34098
S'ingrains'
p34099
aS'ingraining'
p34100
aS'ingrained'
p34101
aS'ingrained'
p34102
asS'seduce'
p34103
(lp34104
S'seduces'
p34105
aS'seducing'
p34106
aS'seduced'
p34107
aS'seduced'
p34108
asS'externalize'
p34109
(lp34110
S'externalizes'
p34111
aS'externalizing'
p34112
aS'externalized'
p34113
aS'externalized'
p34114
asS'discourse'
p34115
(lp34116
S'discourses'
p34117
aS'discoursing'
p34118
aS'discoursed'
p34119
aS'discoursed'
p34120
asS'republicanize'
p34121
(lp34122
S'republicanizes'
p34123
aS'republicanizing'
p34124
aS'republicanized'
p34125
aS'republicanized'
p34126
asS'emphasize'
p34127
(lp34128
S'emphasizes'
p34129
aS'emphasizing'
p34130
aS'emphasized'
p34131
aS'emphasized'
p34132
asS'bristle'
p34133
(lp34134
S'bristles'
p34135
aS'bristling'
p34136
aS'bristled'
p34137
aS'bristled'
p34138
asS'ray'
p34139
(lp34140
S'rays'
p34141
aS'raying'
p34142
aS'rayed'
p34143
aS'rayed'
p34144
asS'relativize'
p34145
(lp34146
S'relativizes'
p34147
aS'relativizing'
p34148
aS'relativized'
p34149
aS'relativized'
p34150
asS'windmill'
p34151
(lp34152
S'windmills'
p34153
aS'windmilling'
p34154
aS'windmilled'
p34155
aS'windmilled'
p34156
asS'contravene'
p34157
(lp34158
S'contravenes'
p34159
aS'contravening'
p34160
aS'contravened'
p34161
aS'contravened'
p34162
asS'equiponderate'
p34163
(lp34164
S'equiponderates'
p34165
aS'equiponderating'
p34166
aS'equiponderated'
p34167
aS'equiponderated'
p34168
asS'itch'
p34169
(lp34170
S'itches'
p34171
aS'itching'
p34172
aS'itched'
p34173
aS'itched'
p34174
asS'kill'
p34175
(lp34176
S'kills'
p34177
aS'killing'
p34178
aS'killed'
p34179
aS'killed'
p34180
asS'flurry'
p34181
(lp34182
S'flurries'
p34183
aS'flurrying'
p34184
aS'flurried'
p34185
aS'flurried'
p34186
asS'purpose'
p34187
(lp34188
S'purposes'
p34189
aS'purposing'
p34190
aS'purposed'
p34191
aS'purposed'
p34192
asS'aggregate'
p34193
(lp34194
S'aggregates'
p34195
aS'aggregating'
p34196
aS'aggregated'
p34197
aS'aggregated'
p34198
asS'unveil'
p34199
(lp34200
S'unveils'
p34201
aS'unveiling'
p34202
aS'unveiled'
p34203
aS'unveiled'
p34204
asS'swish'
p34205
(lp34206
S'swishes'
p34207
aS'swishing'
p34208
aS'swished'
p34209
aS'swished'
p34210
asS'finesse'
p34211
(lp34212
S'finesses'
p34213
aS'finessing'
p34214
aS'finessed'
p34215
aS'finessed'
p34216
asS'supersede'
p34217
(lp34218
S'supersedes'
p34219
aS'superseding'
p34220
aS'superseded'
p34221
aS'superseded'
p34222
asS'rearm'
p34223
(lp34224
S'rearms'
p34225
aS'rearming'
p34226
aS'rearmed'
p34227
aS'rearmed'
p34228
asS'unlay'
p34229
(lp34230
S'unlays'
p34231
aS'unlaying'
p34232
aS'unlaid'
p34233
aS'unlaid'
p34234
asS'decuple'
p34235
(lp34236
S'decuples'
p34237
aS'decupling'
p34238
aS'decupled'
p34239
aS'decupled'
p34240
asS'reard'
p34241
(lp34242
S'reards'
p34243
aS'rearding'
p34244
aS'rearded'
p34245
aS'rearded'
p34246
asS'appertain'
p34247
(lp34248
S'appertains'
p34249
aS'appertaining'
p34250
aS'appertained'
p34251
aS'appertained'
p34252
asS'withdraw'
p34253
(lp34254
S'withdraws'
p34255
aS'withdrawing'
p34256
aS'withdrew'
p34257
aS'withdrawn'
p34258
asS'toil'
p34259
(lp34260
S'toils'
p34261
aS'toiling'
p34262
aS'toiled'
p34263
aS'toiled'
p34264
asS'recant'
p34265
(lp34266
S'recants'
p34267
aS'recanting'
p34268
aS'recanted'
p34269
aS'recanted'
p34270
asS'spend'
p34271
(lp34272
S'spends'
p34273
aS'spending'
p34274
aS'spent'
p34275
aS'spent'
p34276
asS'howl'
p34277
(lp34278
S'howls'
p34279
aS'howling'
p34280
aS'howled'
p34281
aS'howled'
p34282
asS'darn'
p34283
(lp34284
S'darns'
p34285
aS'darning'
p34286
aS'darned'
p34287
aS'darned'
p34288
asS'segregate'
p34289
(lp34290
S'segregates'
p34291
aS'segregating'
p34292
aS'segregated'
p34293
aS'segregated'
p34294
asS'shape'
p34295
(lp34296
S'shapes'
p34297
aS'shaping'
p34298
aS'shaped'
p34299
aS'shaped'
p34300
asS'disendow'
p34301
(lp34302
S'disendows'
p34303
aS'disendowing'
p34304
aS'disendowed'
p34305
aS'disendowed'
p34306
asS'timber'
p34307
(lp34308
S'timbers'
p34309
aS'timbering'
p34310
aS'timbered'
p34311
aS'timbered'
p34312
asS'discipline'
p34313
(lp34314
S'disciplines'
p34315
aS'disciplining'
p34316
aS'disciplined'
p34317
aS'disciplined'
p34318
asS'cut'
p34319
(lp34320
S'cuts'
p34321
aS'cutting'
p34322
aS'cut'
p34323
aS'cut'
p34324
asS'cup'
p34325
(lp34326
S'cups'
p34327
aS'cupping'
p34328
aS'cupped'
p34329
aS'cupped'
p34330
asS'alternate'
p34331
(lp34332
S'alternates'
p34333
aS'alternating'
p34334
aS'alternated'
p34335
aS'alternated'
p34336
asS'cue'
p34337
(lp34338
S'cues'
p34339
aS'cuing'
p34340
aS'cued'
p34341
aS'cued'
p34342
asS'misshape'
p34343
(lp34344
S'misshapes'
p34345
aS'misshaping'
p34346
aS'misshaped'
p34347
aS'misshaped'
p34348
asS'cub'
p34349
(lp34350
S'cubs'
p34351
aS'cubbing'
p34352
aS'cubbed'
p34353
aS'cubbed'
p34354
asS'caway'
p34355
(lp34356
S'caways'
p34357
aS'cawaying'
p34358
aS'cawayed'
p34359
aS'cawayed'
p34360
asS'misdeal'
p34361
(lp34362
S'misdeals'
p34363
aS'misdealing'
p34364
aS'misdealt'
p34365
aS'misdealt'
p34366
asS'squawk'
p34367
(lp34368
S'squawks'
p34369
aS'squawking'
p34370
aS'squawked'
p34371
aS'squawked'
p34372
asS'over-simplify'
p34373
(lp34374
S'over-simplifies'
p34375
aS'over-simplifying'
p34376
ag28997
aS'over-simplified'
p34377
asS'bid'
p34378
(lp34379
S'bids'
p34380
aS'bidding'
p34381
aS'bid'
p34382
aS'bidden'
p34383
asS'Mohammedanize'
p34384
(lp34385
S'Mohammedanizes'
p34386
aS'Mohammedanizing'
p34387
aS'Mohammedanized'
p34388
aS'Mohammedanized'
p34389
asS'displace'
p34390
(lp34391
S'displaces'
p34392
aS'displacing'
p34393
aS'displaced'
p34394
aS'displaced'
p34395
asS'redeem'
p34396
(lp34397
S'redeems'
p34398
aS'redeeming'
p34399
aS'redeemed'
p34400
aS'redeemed'
p34401
asS'divagate'
p34402
(lp34403
S'divagates'
p34404
aS'divagating'
p34405
aS'divagated'
p34406
aS'divagated'
p34407
asS'decaffeinate'
p34408
(lp34409
S'decaffeinates'
p34410
aS'decaffeinating'
p34411
aS'decaffeinated'
p34412
aS'decaffeinated'
p34413
asS'bit'
p34414
(lp34415
S'bits'
p34416
aS'bitting'
p34417
aS'bitted'
p34418
aS'bitted'
p34419
asS'coverup'
p34420
(lp34421
S'coversup'
p34422
aS'coveringup'
p34423
aS'coveredup'
p34424
aS'coveredup'
p34425
asS'pollinate'
p34426
(lp34427
S'pollinates'
p34428
aS'pollinating'
p34429
aS'pollinated'
p34430
aS'pollinated'
p34431
asS'knock'
p34432
(lp34433
S'knocks'
p34434
aS'knocking'
p34435
aS'knocked'
p34436
aS'knocked'
p34437
asS'phlebotomize'
p34438
(lp34439
S'phlebotomizes'
p34440
aS'phlebotomizing'
p34441
aS'phlebotomized'
p34442
aS'phlebotomized'
p34443
asS'blemish'
p34444
(lp34445
S'blemishes'
p34446
aS'blemishing'
p34447
aS'blemished'
p34448
aS'blemished'
p34449
asS'miff'
p34450
(lp34451
S'miffs'
p34452
aS'miffing'
p34453
aS'miffed'
p34454
aS'miffed'
p34455
asS'retake'
p34456
(lp34457
S'retakes'
p34458
aS'retaking'
p34459
aS'retook'
p34460
aS'retaken'
p34461
asS'glove'
p34462
(lp34463
S'gloves'
p34464
aS'gloving'
p34465
aS'gloved'
p34466
aS'gloved'
p34467
asS'flux'
p34468
(lp34469
S'fluxes'
p34470
aS'fluxing'
p34471
aS'fluxed'
p34472
aS'fluxed'
p34473
asS'isomerize'
p34474
(lp34475
S'isomerizes'
p34476
aS'isomerizing'
p34477
aS'isomerized'
p34478
aS'isomerized'
p34479
asS'machinegun'
p34480
(lp34481
S'machineguns'
p34482
aS'machineguning'
p34483
aS'machineguned'
p34484
aS'machineguned'
p34485
asS'transgress'
p34486
(lp34487
S'transgresses'
p34488
aS'transgressing'
p34489
aS'transgressed'
p34490
aS'transgressed'
p34491
asS'disconsider'
p34492
(lp34493
S'disconsiders'
p34494
aS'disconsidering'
p34495
aS'disconsidered'
p34496
aS'disconsidered'
p34497
asS'rede'
p34498
(lp34499
S'redes'
p34500
aS'reding'
p34501
aS'reded'
p34502
aS'reded'
p34503
asS'redd'
p34504
(lp34505
S'redds'
p34506
aS'redd'
p34507
aS'redd'
p34508
asS'back'
p34509
(lp34510
S'backs'
p34511
aS'backing'
p34512
aS'backed'
p34513
aS'backed'
p34514
asS'impeach'
p34515
(lp34516
S'impeaches'
p34517
aS'impeaching'
p34518
aS'impeached'
p34519
aS'impeached'
p34520
asS'accelerate'
p34521
(lp34522
S'accelerates'
p34523
aS'accelerating'
p34524
aS'accelerated'
p34525
aS'accelerated'
p34526
asS'mirror'
p34527
(lp34528
S'mirrors'
p34529
aS'mirroring'
p34530
aS'mirrored'
p34531
aS'mirrored'
p34532
asS'candle'
p34533
(lp34534
S'candles'
p34535
aS'candling'
p34536
aS'candled'
p34537
aS'candled'
p34538
asS'scrump'
p34539
(lp34540
S'scrumps'
p34541
aS'scrumping'
p34542
aS'scrumped'
p34543
aS'scrumped'
p34544
asS'scald'
p34545
(lp34546
S'scalds'
p34547
aS'scalding'
p34548
aS'scalded'
p34549
aS'scalded'
p34550
asS'scale'
p34551
(lp34552
S'scales'
p34553
aS'scaling'
p34554
aS'scaled'
p34555
aS'scaled'
p34556
asS'reinstitute'
p34557
(lp34558
S'reinstitutes'
p34559
aS'reinstituting'
p34560
aS'reinstituted'
p34561
aS'reinstituted'
p34562
asS'pet'
p34563
(lp34564
S'pets'
p34565
aS'petting'
p34566
aS'petted'
p34567
aS'petted'
p34568
asS'pelt'
p34569
(lp34570
S'pelts'
p34571
aS'pelting'
p34572
aS'pelted'
p34573
aS'pelted'
p34574
asS'pep'
p34575
(lp34576
S'peps'
p34577
aS'pepping'
p34578
aS'pepped'
p34579
aS'pepped'
p34580
asS'pen'
p34581
(lp34582
S'pens'
p34583
aS'penning'
p34584
aS'pent'
p34585
aS'penned'
p34586
asS'eliminate'
p34587
(lp34588
S'eliminates'
p34589
aS'eliminating'
p34590
aS'eliminated'
p34591
aS'eliminated'
p34592
asS'scalp'
p34593
(lp34594
S'scalps'
p34595
aS'scalping'
p34596
aS'scalped'
p34597
aS'scalped'
p34598
asS'lard'
p34599
(lp34600
S'lards'
p34601
aS'larding'
p34602
aS'larded'
p34603
aS'larded'
p34604
asS'lark'
p34605
(lp34606
S'larks'
p34607
aS'larking'
p34608
aS'larked'
p34609
aS'larked'
p34610
asS'pee'
p34611
(lp34612
S'pees'
p34613
aS'peeing'
p34614
aS'peed'
p34615
aS'peed'
p34616
asS'peg'
p34617
(lp34618
S'pegs'
p34619
aS'pegging'
p34620
aS'pegged'
p34621
aS'pegged'
p34622
asS'invade'
p34623
(lp34624
S'invades'
p34625
aS'invading'
p34626
aS'invaded'
p34627
aS'invaded'
p34628
asS'fourflush'
p34629
(lp34630
S'fourflushes'
p34631
aS'fourflushing'
p34632
aS'fourflushed'
p34633
aS'fourflushed'
p34634
asS'corrival'
p34635
(lp34636
S'corrivals'
p34637
aS'corrivaling'
p34638
aS'corrivaled'
p34639
aS'corrivaled'
p34640
asS'tut-tut'
p34641
(lp34642
S'tut-tuts'
p34643
aS'tut-tutting'
p34644
aS'tut-tutted'
p34645
aS'tut-tutted'
p34646
asS'militate'
p34647
(lp34648
S'militates'
p34649
aS'militating'
p34650
aS'militated'
p34651
aS'militated'
p34652
asS'kockelsch'
p34653
(lp34654
S'kockelsches'
p34655
aS'kockelsching'
p34656
aS'kockelsched'
p34657
aS'kockelsched'
p34658
asS'intellectualize'
p34659
(lp34660
S'intellectualizes'
p34661
aS'intellectualizing'
p34662
aS'intellectualized'
p34663
aS'intellectualized'
p34664
asS'optimize'
p34665
(lp34666
S'optimizes'
p34667
aS'optimizing'
p34668
aS'optimized'
p34669
aS'optimized'
p34670
asS'snoop'
p34671
(lp34672
S'snoops'
p34673
aS'snooping'
p34674
aS'snooped'
p34675
aS'snooped'
p34676
asS'hypnotize'
p34677
(lp34678
S'hypnotizes'
p34679
aS'hypnotizing'
p34680
aS'hypnotized'
p34681
aS'hypnotized'
p34682
asS'preconize'
p34683
(lp34684
S'preconizes'
p34685
aS'preconizing'
p34686
aS'preconized'
p34687
aS'preconized'
p34688
asS'bluster'
p34689
(lp34690
S'blusters'
p34691
aS'blustering'
p34692
aS'blustered'
p34693
aS'blustered'
p34694
asS'alkalify'
p34695
(lp34696
S'alkalifies'
p34697
aS'alkalifying'
p34698
aS'alkalified'
p34699
aS'alkalified'
p34700
asS'ebonize'
p34701
(lp34702
S'ebonizes'
p34703
aS'ebonizing'
p34704
aS'ebonized'
p34705
aS'ebonized'
p34706
asS'jimmy'
p34707
(lp34708
S'jimmies'
p34709
aS'jimmying'
p34710
aS'jimmied'
p34711
aS'jimmied'
p34712
asS'sniffle'
p34713
(lp34714
S'sniffles'
p34715
aS'sniffling'
p34716
aS'sniffled'
p34717
aS'sniffled'
p34718
asS'depose'
p34719
(lp34720
S'deposes'
p34721
aS'deposing'
p34722
aS'deposed'
p34723
aS'deposed'
p34724
asS'tiff'
p34725
(lp34726
S'tiffs'
p34727
aS'tiffing'
p34728
aS'tiffed'
p34729
aS'tiffed'
p34730
asS'clack'
p34731
(lp34732
S'clacks'
p34733
aS'clacking'
p34734
aS'clacked'
p34735
aS'clacked'
p34736
asS'epilate'
p34737
(lp34738
S'epilates'
p34739
aS'epilating'
p34740
aS'epilated'
p34741
aS'epilated'
p34742
asS'lesson'
p34743
(lp34744
S'lessons'
p34745
aS'lessoning'
p34746
aS'lessoned'
p34747
aS'lessoned'
p34748
asS'dispend'
p34749
(lp34750
S'dispends'
p34751
aS'dispending'
p34752
aS'dispended'
p34753
aS'dispended'
p34754
asS'vamoose'
p34755
(lp34756
S'vamooses'
p34757
aS'vamoosing'
p34758
aS'vamoosed'
p34759
aS'vamoosed'
p34760
asS'jockey'
p34761
(lp34762
S'jockeys'
p34763
aS'jockeying'
p34764
aS'jockeyed'
p34765
aS'jockeyed'
p34766
asS'emblaze'
p34767
(lp34768
S'emblazes'
p34769
aS'emblazing'
p34770
aS'emblazed'
p34771
aS'emblazed'
p34772
asS'scrimshank'
p34773
(lp34774
S'scrimshanks'
p34775
aS'scrimshanking'
p34776
aS'scrimshanked'
p34777
aS'scrimshanked'
p34778
asS'overpower'
p34779
(lp34780
S'overpowers'
p34781
aS'overpowering'
p34782
aS'overpowered'
p34783
aS'overpowered'
p34784
asS'debilitate'
p34785
(lp34786
S'debilitates'
p34787
aS'debilitating'
p34788
aS'debilitated'
p34789
aS'debilitated'
p34790
asS'forward'
p34791
(lp34792
S'forwards'
p34793
aS'forwarding'
p34794
aS'forwarded'
p34795
aS'forwarded'
p34796
asS'prostitute'
p34797
(lp34798
S'prostitutes'
p34799
aS'prostituting'
p34800
aS'prostituted'
p34801
aS'prostituted'
p34802
asS'invite'
p34803
(lp34804
S'invites'
p34805
aS'inviting'
p34806
aS'invited'
p34807
aS'invited'
p34808
asS'pronounce'
p34809
(lp34810
S'pronounces'
p34811
aS'pronouncing'
p34812
aS'pronounced'
p34813
aS'pronounced'
p34814
asS'jaga'
p34815
(lp34816
S'jagas'
p34817
aS'jagaing'
p34818
aS'jagaed'
p34819
aS'jagaed'
p34820
asS'jagg'
p34821
(lp34822
S'jags'
p34823
aS'jagging'
p34824
aS'jagged'
p34825
aS'jagged'
p34826
asS'fankle'
p34827
(lp34828
S'fankles'
p34829
aS'fankling'
p34830
aS'fankled'
p34831
aS'fankled'
p34832
asS'cloud'
p34833
(lp34834
S'clouds'
p34835
aS'clouding'
p34836
aS'clouded'
p34837
aS'clouded'
p34838
asS'testdrive'
p34839
(lp34840
S'testdrives'
p34841
aS'testdriving'
p34842
aS'testdrove'
p34843
aS'testdriven'
p34844
asS'discomfit'
p34845
(lp34846
S'discomfits'
p34847
aS'discomfiting'
p34848
aS'discomfited'
p34849
aS'discomfited'
p34850
asS'gollop'
p34851
(lp34852
S'gollops'
p34853
aS'golloping'
p34854
aS'golloped'
p34855
aS'golloped'
p34856
asS'carburet'
p34857
(lp34858
S'carburets'
p34859
aS'carburetting'
p34860
aS'carburetted'
p34861
aS'carburetted'
p34862
asS'groove'
p34863
(lp34864
S'grooves'
p34865
aS'grooving'
p34866
aS'grooved'
p34867
aS'grooved'
p34868
asS'repulse'
p34869
(lp34870
S'repulses'
p34871
aS'repulsing'
p34872
aS'repulsed'
p34873
aS'repulsed'
p34874
asS'partition'
p34875
(lp34876
S'partitions'
p34877
aS'partitioning'
p34878
aS'partitioned'
p34879
aS'partitioned'
p34880
asS'metal'
p34881
(lp34882
S'metals'
p34883
aS'metaling'
p34884
aS'metaled'
p34885
aS'metaled'
p34886
asS'foregather'
p34887
(lp34888
S'foregathers'
p34889
aS'foregathering'
p34890
aS'foregathered'
p34891
aS'foregathered'
p34892
asS'deprive'
p34893
(lp34894
S'deprives'
p34895
aS'depriving'
p34896
aS'deprived'
p34897
aS'deprived'
p34898
asS'curd'
p34899
(lp34900
S'curds'
p34901
aS'curding'
p34902
aS'curded'
p34903
aS'curded'
p34904
asS'cure'
p34905
(lp34906
S'cures'
p34907
aS'curing'
p34908
aS'cured'
p34909
aS'cured'
p34910
asS'curb'
p34911
(lp34912
S'curbs'
p34913
aS'curbing'
p34914
aS'curbed'
p34915
aS'curbed'
p34916
asS'curl'
p34917
(lp34918
S'curls'
p34919
aS'curling'
p34920
aS'curled'
p34921
aS'curled'
p34922
asS'antiquate'
p34923
(lp34924
S'antiquates'
p34925
aS'antiquating'
p34926
aS'antiquated'
p34927
aS'antiquated'
p34928
asS'prevail'
p34929
(lp34930
S'prevails'
p34931
aS'prevailing'
p34932
aS'prevailed'
p34933
aS'prevailed'
p34934
asS'furbelow'
p34935
(lp34936
S'furbelows'
p34937
aS'furbelowing'
p34938
aS'furbelowed'
p34939
aS'furbelowed'
p34940
asS'adjudicate'
p34941
(lp34942
S'adjudicates'
p34943
aS'adjudicating'
p34944
aS'adjudicated'
p34945
aS'adjudicated'
p34946
asS'sterilize'
p34947
(lp34948
S'sterilizes'
p34949
aS'sterilizing'
p34950
aS'sterilized'
p34951
aS'sterilized'
p34952
asS'excrete'
p34953
(lp34954
S'excretes'
p34955
aS'excreting'
p34956
aS'excreted'
p34957
aS'excreted'
p34958
asS'assassinate'
p34959
(lp34960
S'assassinates'
p34961
aS'assassinating'
p34962
aS'assassinated'
p34963
aS'assassinated'
p34964
asS'confine'
p34965
(lp34966
S'confines'
p34967
aS'confining'
p34968
aS'confined'
p34969
aS'confined'
p34970
asS'quaff'
p34971
(lp34972
S'quaffs'
p34973
aS'quaffing'
p34974
aS'quaffed'
p34975
aS'quaffed'
p34976
asS'cellar'
p34977
(lp34978
S'cellars'
p34979
aS'cellaring'
p34980
aS'cellared'
p34981
aS'cellared'
p34982
asS'lend'
p34983
(lp34984
S'lends'
p34985
aS'lending'
p34986
aS'lent'
p34987
aS'lent'
p34988
asS'cater'
p34989
(lp34990
S'caters'
p34991
aS'catering'
p34992
aS'catered'
p34993
aS'catered'
p34994
asS'fishes'
p34995
(lp34996
S'fishes'
p34997
aS'fishing'
p34998
aS'fishesed'
p34999
aS'fishesed'
p35000
asS'desert'
p35001
(lp35002
S'deserts'
p35003
aS'deserting'
p35004
aS'deserted'
p35005
aS'deserted'
p35006
asS'bedaub'
p35007
(lp35008
S'bedaubs'
p35009
aS'bedaubing'
p35010
aS'bedaubed'
p35011
aS'bedaubed'
p35012
asS'rinse'
p35013
(lp35014
S'rinses'
p35015
aS'rinsing'
p35016
aS'rinsed'
p35017
aS'rinsed'
p35018
asS'pussyfoot'
p35019
(lp35020
S'pussyfoots'
p35021
aS'pussyfooting'
p35022
aS'pussyfooted'
p35023
aS'pussyfooted'
p35024
asS'whang'
p35025
(lp35026
S'whangs'
p35027
aS'whanging'
p35028
aS'whanged'
p35029
aS'whanged'
p35030
asS'wrangle'
p35031
(lp35032
S'wrangles'
p35033
aS'wrangling'
p35034
aS'wrangled'
p35035
aS'wrangled'
p35036
asS'taws'
p35037
(lp35038
S'taws'
p35039
aS'tawing'
p35040
aS'tawed'
p35041
aS'tawed'
p35042
asS'query'
p35043
(lp35044
S'queries'
p35045
aS'querying'
p35046
aS'queried'
p35047
aS'queried'
p35048
asS'strew'
p35049
(lp35050
S'strews'
p35051
aS'strewing'
p35052
aS'strewed'
p35053
aS'strewn'
p35054
asS'liquesce'
p35055
(lp35056
S'liquesces'
p35057
aS'liquescing'
p35058
aS'liquesced'
p35059
aS'liquesced'
p35060
asS'welter'
p35061
(lp35062
S'welters'
p35063
aS'weltering'
p35064
aS'weltered'
p35065
aS'weltered'
p35066
asS'compost'
p35067
(lp35068
S'composts'
p35069
aS'composting'
p35070
aS'composted'
p35071
aS'composted'
p35072
asS'blaze'
p35073
(lp35074
S'blazes'
p35075
aS'blazing'
p35076
aS'blazed'
p35077
aS'blazed'
p35078
asS'weather'
p35079
(lp35080
S'weathers'
p35081
aS'weathering'
p35082
aS'weathered'
p35083
aS'weathered'
p35084
asS'gravel'
p35085
(lp35086
S'gravels'
p35087
aS'gravelling'
p35088
aS'gravelled'
p35089
aS'gravelled'
p35090
asS'brigade'
p35091
(lp35092
S'brigades'
p35093
aS'brigading'
p35094
aS'brigaded'
p35095
aS'brigaded'
p35096
asS'electrocute'
p35097
(lp35098
S'electrocutes'
p35099
aS'electrocuting'
p35100
aS'electrocuted'
p35101
aS'electrocuted'
p35102
asS'assay'
p35103
(lp35104
S'assays'
p35105
aS'assaying'
p35106
aS'assayed'
p35107
aS'assayed'
p35108
asS'implore'
p35109
(lp35110
S'implores'
p35111
aS'imploring'
p35112
aS'implored'
p35113
aS'implored'
p35114
asS'expertize'
p35115
(lp35116
S'expertizes'
p35117
aS'expertizing'
p35118
aS'expertized'
p35119
aS'expertized'
p35120
asS'accuse'
p35121
(lp35122
S'accuses'
p35123
aS'accusing'
p35124
aS'accused'
p35125
aS'accused'
p35126
asS'reverberate'
p35127
(lp35128
S'reverberates'
p35129
aS'reverberating'
p35130
aS'reverberated'
p35131
aS'reverberated'
p35132
asS'thwack'
p35133
(lp35134
S'thwacks'
p35135
aS'thwacking'
p35136
aS'thwacked'
p35137
aS'thwacked'
p35138
asS'embay'
p35139
(lp35140
S'embays'
p35141
aS'embaying'
p35142
aS'embayed'
p35143
aS'embayed'
p35144
asS'arrange'
p35145
(lp35146
S'arranges'
p35147
aS'arranging'
p35148
aS'arranged'
p35149
aS'arranged'
p35150
asS'homogenize'
p35151
(lp35152
S'homogenizes'
p35153
aS'homogenizing'
p35154
aS'homogenized'
p35155
aS'homogenized'
p35156
asS'knight'
p35157
(lp35158
S'knights'
p35159
aS'knighting'
p35160
aS'knighted'
p35161
aS'knighted'
p35162
asS'shock'
p35163
(lp35164
S'shocks'
p35165
aS'shocking'
p35166
aS'shocked'
p35167
aS'shocked'
p35168
asS'mobilize'
p35169
(lp35170
S'mobilizes'
p35171
aS'mobilizing'
p35172
aS'mobilized'
p35173
aS'mobilized'
p35174
asS'refer'
p35175
(lp35176
S'refers'
p35177
aS'referring'
p35178
aS'referred'
p35179
aS'referred'
p35180
asS'ride'
p35181
(lp35182
S'rides'
p35183
aS'riding'
p35184
aS'rode'
p35185
aS'ridden'
p35186
asS'buckram'
p35187
(lp35188
S'buckrams'
p35189
aS'buckraming'
p35190
aS'buckramed'
p35191
aS'buckramed'
p35192
asS'crow'
p35193
(lp35194
S'crows'
p35195
aS'crowing'
p35196
aS'crowed'
p35197
aS'crowed'
p35198
asS'anesthetize'
p35199
(lp35200
S'anesthetizes'
p35201
aS'anesthetizing'
p35202
aS'anesthetized'
p35203
aS'anesthetized'
p35204
asS'crop'
p35205
(lp35206
S'crops'
p35207
aS'cropping'
p35208
aS'cropped'
p35209
aS'cropped'
p35210
asS'undergo'
p35211
(lp35212
S'undergoes'
p35213
aS'undergoing'
p35214
aS'underwent'
p35215
aS'undergone'
p35216
asS'prate'
p35217
(lp35218
S'prates'
p35219
aS'prating'
p35220
aS'prated'
p35221
aS'prated'
p35222
asS'append'
p35223
(lp35224
S'appends'
p35225
aS'appending'
p35226
aS'appended'
p35227
aS'appended'
p35228
asS'decontaminate'
p35229
(lp35230
S'decontaminates'
p35231
aS'decontaminating'
p35232
aS'decontaminated'
p35233
aS'decontaminated'
p35234
asS'zest'
p35235
(lp35236
S'zests'
p35237
aS'zesting'
p35238
aS'zested'
p35239
aS'zested'
p35240
asS'speckle'
p35241
(lp35242
S'speckles'
p35243
aS'speckling'
p35244
aS'speckled'
p35245
aS'speckled'
p35246
asS'tambour'
p35247
(lp35248
S'tambours'
p35249
aS'tambouring'
p35250
aS'tamboured'
p35251
aS'tamboured'
p35252
asS'paddle'
p35253
(lp35254
S'paddles'
p35255
aS'paddling'
p35256
aS'paddled'
p35257
aS'paddled'
p35258
asS'access'
p35259
(lp35260
S'accesses'
p35261
aS'accessing'
p35262
aS'accessed'
p35263
aS'accessed'
p35264
asS'lumber'
p35265
(lp35266
S'lumbers'
p35267
aS'lumbering'
p35268
aS'lumbered'
p35269
aS'lumbered'
p35270
asS'exercise'
p35271
(lp35272
S'exercises'
p35273
aS'exercising'
p35274
aS'exercised'
p35275
aS'exercised'
p35276
asS'body'
p35277
(lp35278
S'bodies'
p35279
aS'bodying'
p35280
aS'bodied'
p35281
aS'bodied'
p35282
asS'exchange'
p35283
(lp35284
S'exchanges'
p35285
aS'exchanging'
p35286
aS'exchanged'
p35287
aS'exchanged'
p35288
asS'sprung'
p35289
(lp35290
S'sprungs'
p35291
aS'sprunging'
p35292
aS'sprunged'
p35293
aS'sprunged'
p35294
asS'intercept'
p35295
(lp35296
S'intercepts'
p35297
aS'intercepting'
p35298
aS'intercepted'
p35299
aS'intercepted'
p35300
asS'sink'
p35301
(lp35302
S'sinks'
p35303
aS'sinking'
p35304
aS'sunk'
p35305
aS'sunken'
p35306
asS'poleax'
p35307
(lp35308
S'poleaxes'
p35309
aS'poleaxing'
p35310
aS'poleaxed'
p35311
aS'poleaxed'
p35312
asS'dissuade'
p35313
(lp35314
S'dissuades'
p35315
aS'dissuading'
p35316
aS'dissuaded'
p35317
aS'dissuaded'
p35318
asS'sing'
p35319
(lp35320
S'sings'
p35321
aS'singing'
p35322
aS'sung'
p35323
aS'sung'
p35324
asS'abnegate'
p35325
(lp35326
S'abnegates'
p35327
aS'abnegating'
p35328
aS'abnegated'
p35329
aS'abnegated'
p35330
asS'bode'
p35331
(lp35332
S'bodes'
p35333
aS'boding'
p35334
aS'boded'
p35335
aS'boded'
p35336
asS'incinerate'
p35337
(lp35338
S'incinerates'
p35339
aS'incinerating'
p35340
aS'incinerated'
p35341
aS'incinerated'
p35342
asS'cere'
p35343
(lp35344
S'ceres'
p35345
aS'cering'
p35346
aS'cered'
p35347
aS'cered'
p35348
asS'resurrect'
p35349
(lp35350
S'resurrects'
p35351
aS'resurrecting'
p35352
aS'resurrected'
p35353
aS'resurrected'
p35354
asS'crystallize'
p35355
(lp35356
S'crystallizes'
p35357
aS'crystallizing'
p35358
aS'crystallized'
p35359
aS'crystallized'
p35360
asS'implement'
p35361
(lp35362
S'implements'
p35363
aS'implementing'
p35364
aS'implemented'
p35365
aS'implemented'
p35366
asS'honor'
p35367
(lp35368
S'honors'
p35369
aS'honoring'
p35370
aS'honored'
p35371
aS'honored'
p35372
asS'abominate'
p35373
(lp35374
S'abominates'
p35375
aS'abominating'
p35376
aS'abominated'
p35377
aS'abominated'
p35378
asS'limp'
p35379
(lp35380
S'limps'
p35381
aS'limping'
p35382
aS'limped'
p35383
aS'limped'
p35384
asS'uprear'
p35385
(lp35386
S'uprears'
p35387
aS'uprearing'
p35388
aS'upreared'
p35389
aS'upreared'
p35390
asS'egress'
p35391
(lp35392
S'egresses'
p35393
aS'egressing'
p35394
aS'egressed'
p35395
aS'egressed'
p35396
asS'methought'
p35397
(lp35398
S'methoughts'
p35399
aS'methoughting'
p35400
aS'methoughted'
p35401
aS'methoughted'
p35402
asS'limb'
p35403
(lp35404
S'limbs'
p35405
aS'limbing'
p35406
aS'limbed'
p35407
aS'limbed'
p35408
asS'scandal'
p35409
(lp35410
S'scandals'
p35411
aS'scandaling'
p35412
aS'scandaled'
p35413
aS'scandaled'
p35414
asS'staple'
p35415
(lp35416
S'staples'
p35417
aS'stapling'
p35418
aS'stapled'
p35419
aS'stapled'
p35420
asS'lime'
p35421
(lp35422
S'limes'
p35423
aS'liming'
p35424
aS'limed'
p35425
aS'limed'
p35426
asS'superordinate'
p35427
(lp35428
S'superordinates'
p35429
aS'superordinating'
p35430
aS'superordinated'
p35431
aS'superordinated'
p35432
asS'appliqu_e'
p35433
(lp35434
S'appliqu_es'
p35435
aS'appliqu_eing'
p35436
aS'appliqu_eed'
p35437
aS'appliqu_eed'
p35438
asS'aviate'
p35439
(lp35440
S'aviates'
p35441
aS'aviating'
p35442
aS'aviated'
p35443
aS'aviated'
p35444
asS'overbear'
p35445
(lp35446
S'overbears'
p35447
aS'overbearing'
p35448
aS'overbore'
p35449
aS'overborne'
p35450
asS'charcoal'
p35451
(lp35452
S'charcoals'
p35453
aS'charcoaling'
p35454
aS'charcoaled'
p35455
aS'charcoaled'
p35456
asS'engender'
p35457
(lp35458
S'engenders'
p35459
aS'engendering'
p35460
aS'engendered'
p35461
aS'engendered'
p35462
asS'billet'
p35463
(lp35464
S'billets'
p35465
aS'billeting'
p35466
aS'billeted'
p35467
aS'billeted'
p35468
asS'thatch'
p35469
(lp35470
S'thatchs'
p35471
aS'thatching'
p35472
aS'thatched'
p35473
aS'thatched'
p35474
asS'trail'
p35475
(lp35476
S'trails'
p35477
aS'trailing'
p35478
aS'trailed'
p35479
aS'trailed'
p35480
asS'train'
p35481
(lp35482
S'trains'
p35483
aS'training'
p35484
aS'trained'
p35485
aS'trained'
p35486
asS'coruscate'
p35487
(lp35488
S'coruscates'
p35489
aS'coruscating'
p35490
aS'coruscated'
p35491
aS'coruscated'
p35492
asS'enslave'
p35493
(lp35494
S'enslaves'
p35495
aS'enslaving'
p35496
aS'enslaved'
p35497
aS'enslaved'
p35498
asS'supererogate'
p35499
(lp35500
S'supererogates'
p35501
aS'supererogating'
p35502
aS'supererogated'
p35503
aS'supererogated'
p35504
asS'harvest'
p35505
(lp35506
S'harvests'
p35507
aS'harvesting'
p35508
aS'harvested'
p35509
aS'harvested'
p35510
asS'account'
p35511
(lp35512
S'accounts'
p35513
aS'accounting'
p35514
aS'accounted'
p35515
aS'accounted'
p35516
asS'tunnel'
p35517
(lp35518
S'tunnels'
p35519
aS'tunnelling'
p35520
aS'tunnelled'
p35521
aS'tunnelled'
p35522
asS'sibilate'
p35523
(lp35524
S'sibilates'
p35525
aS'sibilating'
p35526
aS'sibilated'
p35527
aS'sibilated'
p35528
asS'praise'
p35529
(lp35530
S'praises'
p35531
aS'praising'
p35532
aS'praised'
p35533
aS'praised'
p35534
asS'smear'
p35535
(lp35536
S'smears'
p35537
aS'smearing'
p35538
aS'smeared'
p35539
aS'smeared'
p35540
asS'tittletattle'
p35541
(lp35542
S'tittletattles'
p35543
aS'tittletattling'
p35544
aS'tittletattled'
p35545
aS'tittletattled'
p35546
asS'alit'
p35547
(lp35548
S'alit'
p35549
aS'alit'
p35550
asS'fetch'
p35551
(lp35552
S'fetches'
p35553
aS'fetching'
p35554
aS'fetched'
p35555
aS'fetched'
p35556
asS'interlope'
p35557
(lp35558
S'interlopes'
p35559
aS'interloping'
p35560
aS'interloped'
p35561
aS'interloped'
p35562
asS'antedate'
p35563
(lp35564
S'antedates'
p35565
aS'antedating'
p35566
aS'antedated'
p35567
aS'antedated'
p35568
asS'lamb'
p35569
(lp35570
S'lambs'
p35571
aS'lambing'
p35572
aS'lambed'
p35573
aS'lambed'
p35574
asS'rumble'
p35575
(lp35576
S'rumbles'
p35577
aS'rumbling'
p35578
aS'rumbled'
p35579
aS'rumbled'
p35580
asS'lame'
p35581
(lp35582
S'lames'
p35583
aS'laming'
p35584
aS'lamed'
p35585
aS'lamed'
p35586
asS'inwrap'
p35587
(lp35588
S'inwraps'
p35589
aS'inwrapping'
p35590
aS'inwrapped'
p35591
aS'inwrapped'
p35592
asS'thrall'
p35593
(lp35594
S'thralls'
p35595
aS'thralling'
p35596
aS'thralled'
p35597
aS'thralled'
p35598
asS'fete'
p35599
(lp35600
S'fetes'
p35601
aS'feting'
p35602
aS'feted'
p35603
aS'feted'
p35604
asS'anglicize'
p35605
(lp35606
S'anglicizes'
p35607
aS'anglicizing'
p35608
aS'anglicized'
p35609
aS'anglicized'
p35610
asS'forest'
p35611
(lp35612
sS'occlude'
p35613
(lp35614
S'occludes'
p35615
aS'occluding'
p35616
aS'occluded'
p35617
aS'occluded'
p35618
asS'stock'
p35619
(lp35620
S'stocks'
p35621
aS'stocking'
p35622
aS'stocked'
p35623
aS'stocked'
p35624
asS'frag'
p35625
(lp35626
S'frags'
p35627
aS'fragging'
p35628
aS'fragged'
p35629
aS'fragged'
p35630
asS'spin-dry'
p35631
(lp35632
S'spin-dries'
p35633
aS'spin-drying'
p35634
aS'spin-dried'
p35635
aS'spin-dried'
p35636
asS'hight'
p35637
(lp35638
S'hight'
p35639
asS'nullify'
p35640
(lp35641
S'nullifies'
p35642
aS'nullifying'
p35643
aS'nullified'
p35644
aS'nullified'
p35645
asS'bemire'
p35646
(lp35647
S'bemires'
p35648
aS'bemiring'
p35649
aS'bemired'
p35650
aS'bemired'
p35651
asS'bluff'
p35652
(lp35653
S'bluffs'
p35654
aS'bluffing'
p35655
aS'bluffed'
p35656
aS'bluffed'
p35657
asS'frap'
p35658
(lp35659
S'fraps'
p35660
aS'frapping'
p35661
aS'frapped'
p35662
aS'frapped'
p35663
asS'physic'
p35664
(lp35665
S'physics'
p35666
aS'physicking'
p35667
aS'physicked'
p35668
aS'physicked'
p35669
asS'succuss'
p35670
(lp35671
S'succusses'
p35672
aS'succussing'
p35673
aS'succussed'
p35674
aS'succussed'
p35675
asS'drape'
p35676
(lp35677
S'drapes'
p35678
aS'draping'
p35679
aS'draped'
p35680
aS'draped'
p35681
asS'memorize'
p35682
(lp35683
S'memorizes'
p35684
aS'memorizing'
p35685
aS'memorized'
p35686
aS'memorized'
p35687
asS'correspond'
p35688
(lp35689
S'corresponds'
p35690
aS'corresponding'
p35691
aS'corresponded'
p35692
aS'corresponded'
p35693
asS'stevedore'
p35694
(lp35695
S'stevedores'
p35696
aS'stevedoring'
p35697
aS'stevedored'
p35698
aS'stevedored'
p35699
asS'dispraise'
p35700
(lp35701
S'dispraises'
p35702
aS'dispraising'
p35703
aS'dispraised'
p35704
aS'dispraised'
p35705
asS'furnish'
p35706
(lp35707
S'furnishes'
p35708
aS'furnishing'
p35709
aS'furnished'
p35710
aS'furnished'
p35711
asS'ignite'
p35712
(lp35713
S'ignites'
p35714
aS'igniting'
p35715
aS'ignited'
p35716
aS'ignited'
p35717
asS'scroop'
p35718
(lp35719
S'scroops'
p35720
aS'scrooping'
p35721
aS'scrooped'
p35722
aS'scrooped'
p35723
asS'disarm'
p35724
(lp35725
S'disarms'
p35726
aS'disarming'
p35727
aS'disarmed'
p35728
aS'disarmed'
p35729
asS'meter'
p35730
(lp35731
S'meters'
p35732
aS'metering'
p35733
aS'metered'
p35734
aS'metered'
p35735
asS'epigrammatize'
p35736
(lp35737
S'epigrammatizes'
p35738
aS'epigrammatizing'
p35739
aS'epigrammatized'
p35740
aS'epigrammatized'
p35741
asS'accrete'
p35742
(lp35743
S'accretes'
p35744
aS'accreting'
p35745
aS'accreted'
p35746
aS'accreted'
p35747
asS'envisage'
p35748
(lp35749
S'envisages'
p35750
aS'envisaging'
p35751
aS'envisaged'
p35752
aS'envisaged'
p35753
asS'bunch'
p35754
(lp35755
S'bunches'
p35756
aS'bunching'
p35757
aS'bunched'
p35758
aS'bunched'
p35759
asS'cudgel'
p35760
(lp35761
S'cudgels'
p35762
aS'cudgelling'
p35763
aS'cudgelled'
p35764
aS'cudgelled'
p35765
asS"bird's-nest"
p35766
(lp35767
S"bird's-nests"
p35768
aS"bird's-nesting"
p35769
aS"bird's-nested"
p35770
aS"bird's-nested"
p35771
asS'age'
p35772
(lp35773
S'ages'
p35774
aS'aging'
p35775
aS'aged'
p35776
aS'aged'
p35777
asS'privatize'
p35778
(lp35779
S'privatizes'
p35780
aS'privatizing'
p35781
aS'privatized'
p35782
aS'privatized'
p35783
asS'sufflate'
p35784
(lp35785
S'sufflates'
p35786
aS'sufflating'
p35787
aS'sufflated'
p35788
aS'sufflated'
p35789
asS'outbid'
p35790
(lp35791
S'outbids'
p35792
aS'outbidding'
p35793
aS'outbid'
p35794
aS'outbidden'
p35795
asS'dab'
p35796
(lp35797
S'dabs'
p35798
aS'dabbing'
p35799
aS'dabbed'
p35800
aS'dabbed'
p35801
asS'dam'
p35802
(lp35803
S'dams'
p35804
aS'damming'
p35805
aS'dammed'
p35806
aS'dammed'
p35807
asS'spell'
p35808
(lp35809
S'spells'
p35810
aS'spelling'
p35811
aS'spelt'
p35812
aS'spelt'
p35813
asS'muddle'
p35814
(lp35815
S'muddles'
p35816
aS'muddling'
p35817
aS'muddled'
p35818
aS'muddled'
p35819
asS'denigrate'
p35820
(lp35821
S'denigrates'
p35822
aS'denigrating'
p35823
aS'denigrated'
p35824
aS'denigrated'
p35825
asS'massproduce'
p35826
(lp35827
S'massproduces'
p35828
aS'massproducing'
p35829
aS'massproduced'
p35830
aS'massproduced'
p35831
asS'mention'
p35832
(lp35833
S'mentions'
p35834
aS'mentioning'
p35835
aS'mentioned'
p35836
aS'mentioned'
p35837
asS'dap'
p35838
(lp35839
S'daps'
p35840
aS'dapping'
p35841
aS'dapped'
p35842
aS'dapped'
p35843
asS'mandate'
p35844
(lp35845
S'mandates'
p35846
aS'mandating'
p35847
aS'mandated'
p35848
aS'mandated'
p35849
asS'greaten'
p35850
(lp35851
S'greatens'
p35852
aS'greatening'
p35853
aS'greatened'
p35854
aS'greatened'
p35855
asS'outgas'
p35856
(lp35857
S'outgasses'
p35858
aS'outgassing'
p35859
aS'outgassed'
p35860
aS'outgassed'
p35861
asS'strive'
p35862
(lp35863
S'strives'
p35864
aS'striving'
p35865
aS'strove'
p35866
aS'striven'
p35867
asS'flail'
p35868
(lp35869
S'flails'
p35870
aS'flailing'
p35871
aS'flailed'
p35872
aS'flailed'
p35873
asS'fictionalize'
p35874
(lp35875
S'fictionalizes'
p35876
aS'fictionalizing'
p35877
aS'fictionalized'
p35878
aS'fictionalized'
p35879
asS'thrill'
p35880
(lp35881
S'thrills'
p35882
aS'thrilling'
p35883
aS'thrilled'
p35884
aS'thrilled'
p35885
asS'slacken'
p35886
(lp35887
S'slackens'
p35888
aS'slackening'
p35889
aS'slackened'
p35890
aS'slackened'
p35891
asS'preclude'
p35892
(lp35893
S'precludes'
p35894
aS'precluding'
p35895
aS'precluded'
p35896
aS'precluded'
p35897
asS'eternize'
p35898
(lp35899
S'eternizes'
p35900
aS'eternizing'
p35901
aS'eternized'
p35902
aS'eternized'
p35903
asS'shortcircuit'
p35904
(lp35905
S'shortcircuits'
p35906
aS'shortcircuiting'
p35907
aS'shortcircuited'
p35908
aS'shortcircuited'
p35909
asS'disregard'
p35910
(lp35911
S'disregards'
p35912
aS'disregarding'
p35913
aS'disregarded'
p35914
aS'disregarded'
p35915
asS'chemosorb'
p35916
(lp35917
S'chemosorbs'
p35918
aS'chemosorbing'
p35919
aS'chemosorbed'
p35920
aS'chemosorbed'
p35921
asS'skate'
p35922
(lp35923
S'skates'
p35924
aS'skating'
p35925
aS'skated'
p35926
aS'skated'
p35927
asS'fare'
p35928
(lp35929
S'fares'
p35930
aS'faring'
p35931
aS'fared'
p35932
aS'fared'
p35933
asS'activate'
p35934
(lp35935
S'activates'
p35936
aS'activating'
p35937
aS'activated'
p35938
aS'activated'
p35939
asS'thwart'
p35940
(lp35941
S'thwarts'
p35942
aS'thwarting'
p35943
aS'thwarted'
p35944
aS'thwarted'
p35945
asS'baulk'
p35946
(lp35947
S'baulks'
p35948
aS'baulking'
p35949
aS'baulked'
p35950
aS'baulked'
p35951
asS'tallage'
p35952
(lp35953
S'tallages'
p35954
aS'tallaging'
p35955
aS'tallaged'
p35956
aS'tallaged'
p35957
asS'calibrate'
p35958
(lp35959
S'calibrates'
p35960
aS'calibrating'
p35961
aS'calibrated'
p35962
aS'calibrated'
p35963
asS'wade'
p35964
(lp35965
S'wades'
p35966
aS'wading'
p35967
aS'waded'
p35968
aS'waded'
p35969
asS'fondle'
p35970
(lp35971
S'fondles'
p35972
aS'fondling'
p35973
aS'fondled'
p35974
aS'fondled'
p35975
asS'defend'
p35976
(lp35977
S'defends'
p35978
aS'defending'
p35979
aS'defended'
p35980
aS'defended'
p35981
asS'understudy'
p35982
(lp35983
S'understudies'
p35984
aS'understudying'
p35985
aS'understudied'
p35986
aS'understudied'
p35987
asS'rev'
p35988
(lp35989
S'revs'
p35990
aS'revving'
p35991
aS'revved'
p35992
aS'revved'
p35993
asS'ret'
p35994
(lp35995
S'rets'
p35996
aS'retting'
p35997
aS'retted'
p35998
aS'retted'
p35999
asS'repress'
p36000
(lp36001
S'represses'
p36002
aS'repressing'
p36003
ag31278
aS'repressed'
p36004
asS'stub'
p36005
(lp36006
S'stubs'
p36007
aS'stubbing'
p36008
aS'stubbed'
p36009
aS'stubbed'
p36010
asS'mate'
p36011
(lp36012
S'mates'
p36013
aS'mating'
p36014
aS'mated'
p36015
aS'mated'
p36016
asS'stud'
p36017
(lp36018
S'studs'
p36019
aS'studding'
p36020
aS'studded'
p36021
aS'studded'
p36022
asS'lecture'
p36023
(lp36024
S'lectures'
p36025
aS'lecturing'
p36026
aS'lectured'
p36027
aS'lectured'
p36028
asS'postpone'
p36029
(lp36030
S'postpones'
p36031
aS'postponing'
p36032
aS'postponed'
p36033
aS'postponed'
p36034
asS'stun'
p36035
(lp36036
S'stuns'
p36037
aS'stunning'
p36038
aS'stunned'
p36039
aS'stunned'
p36040
asS'red'
p36041
(lp36042
S'reds'
p36043
aS'redding'
p36044
aS'redded'
p36045
aS'redded'
p36046
asS'stum'
p36047
(lp36048
S'stums'
p36049
aS'stumming'
p36050
aS'stummed'
p36051
aS'stummed'
p36052
asS'frank'
p36053
(lp36054
S'franks'
p36055
aS'franking'
p36056
aS'franked'
p36057
aS'franked'
p36058
asS'hanker'
p36059
(lp36060
S'hankers'
p36061
aS'hankering'
p36062
aS'hankered'
p36063
aS'hankered'
p36064
asS'clarify'
p36065
(lp36066
S'clarifies'
p36067
aS'clarifying'
p36068
aS'clarified'
p36069
aS'clarified'
p36070
asS'upbraid'
p36071
(lp36072
S'upbraids'
p36073
aS'upbraiding'
p36074
aS'upbraided'
p36075
aS'upbraided'
p36076
asS'hazard'
p36077
(lp36078
S'hazards'
p36079
aS'hazarding'
p36080
aS'hazarded'
p36081
aS'hazarded'
p36082
asS'bleed'
p36083
(lp36084
S'bleeds'
p36085
aS'bleeding'
p36086
aS'bled'
p36087
aS'bled'
p36088
asS'indent'
p36089
(lp36090
S'indents'
p36091
aS'indenting'
p36092
aS'indented'
p36093
aS'indented'
p36094
asS'peeve'
p36095
(lp36096
S'peeves'
p36097
aS'peeving'
p36098
aS'peeved'
p36099
aS'peeved'
p36100
asS'mortar'
p36101
(lp36102
S'mortars'
p36103
aS'mortaring'
p36104
aS'mortared'
p36105
aS'mortared'
p36106
asS'yarn'
p36107
(lp36108
S'yarns'
p36109
aS'yarning'
p36110
aS'yarned'
p36111
aS'yarned'
p36112
asS'steam'
p36113
(lp36114
S'steams'
p36115
aS'steaming'
p36116
aS'steamed'
p36117
aS'steamed'
p36118
asS'farrow'
p36119
(lp36120
S'farrows'
p36121
aS'farrowing'
p36122
aS'farrowed'
p36123
aS'farrowed'
p36124
asS'retain'
p36125
(lp36126
S'retains'
p36127
aS'retaining'
p36128
aS'retained'
p36129
aS'retained'
p36130
asS'retail'
p36131
(lp36132
S'retails'
p36133
aS'retailing'
p36134
aS'retailed'
p36135
aS'retailed'
p36136
asS'facilitate'
p36137
(lp36138
S'facilitates'
p36139
aS'facilitating'
p36140
aS'facilitated'
p36141
aS'facilitated'
p36142
asS'predominate'
p36143
(lp36144
S'predominates'
p36145
aS'predominating'
p36146
aS'predominated'
p36147
aS'predominated'
p36148
asS'suffix'
p36149
(lp36150
S'suffixes'
p36151
aS'suffixing'
p36152
aS'suffixed'
p36153
aS'suffixed'
p36154
asS'overshoot'
p36155
(lp36156
S'overshoots'
p36157
aS'overshooting'
p36158
ag32087
ag32088
asS'sack'
p36159
(lp36160
S'sacks'
p36161
aS'sacking'
p36162
aS'sacked'
p36163
aS'sacked'
p36164
asS'whoop'
p36165
(lp36166
S'whoops'
p36167
aS'whooping'
p36168
aS'whooped'
p36169
aS'whooped'
p36170
asS'betroth'
p36171
(lp36172
S'betroths'
p36173
aS'betrothing'
p36174
aS'betrothed'
p36175
aS'betrothed'
p36176
asS'hurdle'
p36177
(lp36178
S'hurdles'
p36179
aS'hurdling'
p36180
aS'hurdled'
p36181
aS'hurdled'
p36182
asS'rarify'
p36183
(lp36184
S'rarifies'
p36185
aS'rarifying'
p36186
aS'rarified'
p36187
aS'rarified'
p36188
asS'instill'
p36189
(lp36190
S'instils'
p36191
aS'instilling'
p36192
aS'instilled'
p36193
aS'instilled'
p36194
asS'frazzle'
p36195
(lp36196
S'frazzles'
p36197
aS'frazzling'
p36198
aS'frazzled'
p36199
aS'frazzled'
p36200
asS'stencil'
p36201
(lp36202
S'stencils'
p36203
aS'stencilling'
p36204
aS'stencilled'
p36205
aS'stencilled'
p36206
asS'tootle'
p36207
(lp36208
S'tootles'
p36209
aS'tootling'
p36210
aS'tootled'
p36211
aS'tootled'
p36212
asS'regurgitate'
p36213
(lp36214
S'regurgitates'
p36215
aS'regurgitating'
p36216
aS'regurgitated'
p36217
aS'regurgitated'
p36218
asS'jingle'
p36219
(lp36220
S'jingles'
p36221
aS'jingling'
p36222
aS'jingled'
p36223
aS'jingled'
p36224
asS'nut'
p36225
(lp36226
S'nuts'
p36227
aS'nutting'
p36228
aS'nutted'
p36229
aS'nutted'
p36230
asS'dissever'
p36231
(lp36232
S'dissevers'
p36233
aS'dissevering'
p36234
aS'dissevered'
p36235
aS'dissevered'
p36236
asS'flume'
p36237
(lp36238
S'flumes'
p36239
aS'fluming'
p36240
aS'flumed'
p36241
aS'flumed'
p36242
asS'gear'
p36243
(lp36244
S'gears'
p36245
aS'gearing'
p36246
aS'geared'
p36247
aS'geared'
p36248
asS'eavesdrop'
p36249
(lp36250
S'eavesdrops'
p36251
aS'eavesdropping'
p36252
aS'eavesdropped'
p36253
aS'eavesdropped'
p36254
asS'retrench'
p36255
(lp36256
S'retrenches'
p36257
aS'retrenching'
p36258
aS'retrenched'
p36259
aS'retrenched'
p36260
asS'acquire'
p36261
(lp36262
S'acquires'
p36263
aS'acquiring'
p36264
aS'acquired'
p36265
aS'acquired'
p36266
asS'dry-salt'
p36267
(lp36268
S'dry-salts'
p36269
aS'dry-salting'
p36270
aS'dry-salted'
p36271
aS'dry-salted'
p36272
asS'hem'
p36273
(lp36274
S'hems'
p36275
aS'hemming'
p36276
aS'hummed'
p36277
aS'hemmed'
p36278
asS'reaffirm'
p36279
(lp36280
S'reaffirms'
p36281
aS'reaffirming'
p36282
aS'reaffirmed'
p36283
aS'reaffirmed'
p36284
asS'outcross'
p36285
(lp36286
S'outcrosses'
p36287
aS'outcrossing'
p36288
aS'outcrossed'
p36289
aS'outcrossed'
p36290
asS'over-estimate'
p36291
(lp36292
S'over-estimates'
p36293
aS'over-estimating'
p36294
ag12306
aS'over-estimated'
p36295
asS'prune'
p36296
(lp36297
S'prunes'
p36298
aS'pruning'
p36299
aS'pruned'
p36300
aS'pruned'
p36301
asS'shampoo'
p36302
(lp36303
S'shampoos'
p36304
aS'shampooing'
p36305
aS'shampooed'
p36306
aS'shampooed'
p36307
asS'hemagglutinate'
p36308
(lp36309
S'hemagglutinates'
p36310
aS'hemagglutinating'
p36311
aS'hemagglutinated'
p36312
aS'hemagglutinated'
p36313
asS'ferule'
p36314
(lp36315
S'ferules'
p36316
aS'feruling'
p36317
aS'feruled'
p36318
aS'feruled'
p36319
asS'impale'
p36320
(lp36321
S'impales'
p36322
aS'impaling'
p36323
aS'impaled'
p36324
aS'impaled'
p36325
asS'overindulge'
p36326
(lp36327
S'overindulges'
p36328
aS'overindulging'
p36329
aS'overindulged'
p36330
aS'overindulged'
p36331
asS'gambol'
p36332
(lp36333
S'gambols'
p36334
aS'gambolling'
p36335
aS'gambolled'
p36336
aS'gambolled'
p36337
asS'electrotype'
p36338
(lp36339
S'electrotypes'
p36340
aS'electrotyping'
p36341
aS'electrotyped'
p36342
aS'electrotyped'
p36343
asS'neutralize'
p36344
(lp36345
S'neutralizes'
p36346
aS'neutralizing'
p36347
aS'neutralized'
p36348
aS'neutralized'
p36349
asS'deration'
p36350
(lp36351
S'derations'
p36352
aS'derationing'
p36353
aS'derationed'
p36354
aS'derationed'
p36355
asS'curvet'
p36356
(lp36357
S'curvets'
p36358
aS'curvetting'
p36359
aS'curvetted'
p36360
aS'curvetted'
p36361
asS'tidy'
p36362
(lp36363
S'tidies'
p36364
aS'tidying'
p36365
aS'tidied'
p36366
aS'tidied'
p36367
asS'forspeak'
p36368
(lp36369
S'forspeaks'
p36370
aS'forspeaking'
p36371
aS'forspoke'
p36372
aS'forspoken'
p36373
asS'tide'
p36374
(lp36375
S'tides'
p36376
aS'tiding'
p36377
aS'tided'
p36378
aS'tided'
p36379
asS'enucleate'
p36380
(lp36381
S'enucleates'
p36382
aS'enucleating'
p36383
aS'enucleated'
p36384
aS'enucleated'
p36385
asS'cavern'
p36386
(lp36387
S'caverns'
p36388
aS'caverning'
p36389
aS'caverned'
p36390
aS'caverned'
p36391
asS'have'
p36392
(lp36393
S'has'
p36394
aS'having'
p36395
aS'had'
p36396
aS'had'
p36397
aS"haven't"
p36398
aS"hasn't"
p36399
aS"hadn't"
p36400
aS"hadn't"
p36401
asS'dictate'
p36402
(lp36403
S'dictates'
p36404
aS'dictating'
p36405
aS'dictated'
p36406
aS'dictated'
p36407
asS'waken'
p36408
(lp36409
S'wakens'
p36410
aS'wakening'
p36411
aS'wakened'
p36412
aS'wakened'
p36413
asS'euchre'
p36414
(lp36415
S'euchres'
p36416
aS'euchring'
p36417
aS'euchred'
p36418
aS'euchred'
p36419
asS'mix'
p36420
(lp36421
S'mixes'
p36422
aS'mixing'
p36423
aS'mixed'
p36424
aS'mixed'
p36425
asS'neaten'
p36426
(lp36427
S'neatens'
p36428
aS'neatening'
p36429
aS'neatened'
p36430
aS'neatened'
p36431
asS'swot'
p36432
(lp36433
S'swots'
p36434
aS'swotting'
p36435
aS'swotted'
p36436
aS'swotted'
p36437
asS'fructify'
p36438
(lp36439
S'fructifies'
p36440
aS'fructifying'
p36441
aS'fructified'
p36442
aS'fructified'
p36443
asS'innervate'
p36444
(lp36445
S'innervates'
p36446
aS'innervating'
p36447
aS'innervated'
p36448
aS'innervated'
p36449
asS'procure'
p36450
(lp36451
S'procures'
p36452
aS'procuring'
p36453
aS'procured'
p36454
aS'procured'
p36455
asS'rearrange'
p36456
(lp36457
S'rearranges'
p36458
aS'rearranging'
p36459
aS'rearranged'
p36460
aS'rearranged'
p36461
asS'propagate'
p36462
(lp36463
S'propagates'
p36464
aS'propagating'
p36465
aS'propagated'
p36466
aS'propagated'
p36467
asS'clamber'
p36468
(lp36469
S'clambers'
p36470
aS'clambering'
p36471
aS'clambered'
p36472
aS'clambered'
p36473
asS'hoodwink'
p36474
(lp36475
S'hoodwinks'
p36476
aS'hoodwinking'
p36477
aS'hoodwinked'
p36478
aS'hoodwinked'
p36479
asS'sally'
p36480
(lp36481
S'sallies'
p36482
aS'sallying'
p36483
aS'sallied'
p36484
aS'sallied'
p36485
asS'snuffle'
p36486
(lp36487
S'snuffles'
p36488
aS'snuffling'
p36489
aS'snuffled'
p36490
aS'snuffled'
p36491
asS'gather'
p36492
(lp36493
S'gathers'
p36494
aS'gathering'
p36495
aS'gathered'
p36496
aS'gathered'
p36497
asS'request'
p36498
(lp36499
S'requests'
p36500
aS'requesting'
p36501
aS'requested'
p36502
aS'requested'
p36503
asS'rendezvous'
p36504
(lp36505
S'rendezvouses'
p36506
aS'rendezvousing'
p36507
aS'rendezvoused'
p36508
aS'rendezvoused'
p36509
asS'occasion'
p36510
(lp36511
S'occasions'
p36512
aS'occasioning'
p36513
aS'occasioned'
p36514
aS'occasioned'
p36515
asS'outlive'
p36516
(lp36517
S'outlives'
p36518
aS'outliving'
p36519
aS'outlived'
p36520
aS'outlived'
p36521
asS'thicken'
p36522
(lp36523
S'thickens'
p36524
aS'thickening'
p36525
aS'thickened'
p36526
aS'thickened'
p36527
asS'recess'
p36528
(lp36529
S'recesses'
p36530
aS'recessing'
p36531
aS'recessed'
p36532
aS'recessed'
p36533
asS'kite'
p36534
(lp36535
S'kites'
p36536
aS'kiting'
p36537
aS'kited'
p36538
aS'kited'
p36539
asS'incapacitate'
p36540
(lp36541
S'incapacitates'
p36542
aS'incapacitating'
p36543
aS'incapacitated'
p36544
aS'incapacitated'
p36545
asS'rebuke'
p36546
(lp36547
S'rebukes'
p36548
aS'rebuking'
p36549
aS'rebuked'
p36550
aS'rebuked'
p36551
asS'sidetrack'
p36552
(lp36553
sS'floodlight'
p36554
(lp36555
S'floodlights'
p36556
aS'floodlighting'
p36557
aS'floodlit'
p36558
aS'floodlit'
p36559
asS'staff'
p36560
(lp36561
S'staffs'
p36562
aS'staffing'
p36563
aS'staffed'
p36564
aS'staffed'
p36565
asS'stonk'
p36566
(lp36567
S'stonks'
p36568
aS'stonking'
p36569
aS'stonked'
p36570
aS'stonked'
p36571
asS'obsecrate'
p36572
(lp36573
S'obsecrates'
p36574
aS'obsecrating'
p36575
aS'obsecrated'
p36576
aS'obsecrated'
p36577
asS'mug'
p36578
(lp36579
S'mugs'
p36580
aS'mugging'
p36581
aS'mugged'
p36582
aS'mugged'
p36583
asS'ossify'
p36584
(lp36585
S'ossifies'
p36586
aS'ossifying'
p36587
aS'ossified'
p36588
aS'ossified'
p36589
asS'prolong'
p36590
(lp36591
S'prolongs'
p36592
aS'prolonging'
p36593
aS'prolonged'
p36594
aS'prolonged'
p36595
asS'resubmit'
p36596
(lp36597
S'resubmits'
p36598
aS'resubmiting'
p36599
aS'resubmited'
p36600
aS'resubmited'
p36601
asS'vacillate'
p36602
(lp36603
S'vacillates'
p36604
aS'vacillating'
p36605
aS'vacillated'
p36606
aS'vacillated'
p36607
asS'outstand'
p36608
(lp36609
S'outstands'
p36610
aS'outstanding'
p36611
aS'outstood'
p36612
aS'outstood'
p36613
asS'outwear'
p36614
(lp36615
S'outwears'
p36616
aS'outwearing'
p36617
aS'outwore'
p36618
aS'outworn'
p36619
asS'spiflicate'
p36620
(lp36621
S'spiflicates'
p36622
aS'spiflicating'
p36623
aS'spiflicated'
p36624
aS'spiflicated'
p36625
asS'starch'
p36626
(lp36627
S'starches'
p36628
aS'starching'
p36629
aS'starched'
p36630
aS'starched'
p36631
asS'beat'
p36632
(lp36633
S'beats'
p36634
aS'beating'
p36635
aS'beat'
p36636
aS'beaten'
p36637
asS'bear'
p36638
(lp36639
S'bears'
p36640
aS'bearing'
p36641
aS'borne'
p36642
asS'accrue'
p36643
(lp36644
S'accrues'
p36645
aS'accruing'
p36646
aS'accrued'
p36647
aS'accrued'
p36648
asS'beam'
p36649
(lp36650
S'beams'
p36651
aS'beaming'
p36652
aS'beamed'
p36653
aS'beamed'
p36654
asS'darken'
p36655
(lp36656
S'darkens'
p36657
aS'darkening'
p36658
aS'darkened'
p36659
aS'darkened'
p36660
asS'degustate'
p36661
(lp36662
S'degusts'
p36663
aS'degusting'
p36664
aS'degusted'
p36665
aS'degusted'
p36666
asS'bead'
p36667
(lp36668
S'beads'
p36669
aS'beading'
p36670
aS'beaded'
p36671
aS'beaded'
p36672
asS'varnish'
p36673
(lp36674
S'varnishes'
p36675
aS'varnishing'
p36676
aS'varnished'
p36677
aS'varnished'
p36678
asS'unhelm'
p36679
(lp36680
S'unhelms'
p36681
aS'unhelming'
p36682
aS'unhelmed'
p36683
aS'unhelmed'
p36684
asS'albumenize'
p36685
(lp36686
S'albumenizes'
p36687
aS'albumenizing'
p36688
aS'albumenized'
p36689
aS'albumenized'
p36690
asS'misappropriate'
p36691
(lp36692
S'misappropriates'
p36693
aS'misappropriating'
p36694
aS'misappropriated'
p36695
aS'misappropriated'
p36696
asS'benumb'
p36697
(lp36698
S'benumbs'
p36699
aS'benumbing'
p36700
aS'benumbed'
p36701
aS'benumbed'
p36702
asS'reluct'
p36703
(lp36704
S'relucts'
p36705
aS'relucting'
p36706
aS'relucted'
p36707
aS'relucted'
p36708
asS'irrupt'
p36709
(lp36710
S'irrupts'
p36711
aS'irrupting'
p36712
aS'irrupted'
p36713
aS'irrupted'
p36714
asS'hypostasize'
p36715
(lp36716
S'hypostasizes'
p36717
aS'hypostasizing'
p36718
aS'hypostasized'
p36719
aS'hypostasized'
p36720
asS'defame'
p36721
(lp36722
S'defames'
p36723
aS'defaming'
p36724
aS'defamed'
p36725
aS'defamed'
p36726
asS'entomologize'
p36727
(lp36728
S'entomologizes'
p36729
aS'entomologizing'
p36730
aS'entomologized'
p36731
aS'entomologized'
p36732
asS'conform'
p36733
(lp36734
S'conforms'
p36735
aS'conforming'
p36736
aS'conformed'
p36737
aS'conformed'
p36738
asS'puddle'
p36739
(lp36740
S'puddles'
p36741
aS'puddling'
p36742
aS'puddled'
p36743
aS'puddled'
p36744
asS'blackball'
p36745
(lp36746
S'blackballs'
p36747
aS'blackballing'
p36748
aS'blackballed'
p36749
aS'blackballed'
p36750
asS'accord'
p36751
(lp36752
S'accords'
p36753
aS'according'
p36754
aS'accorded'
p36755
aS'accorded'
p36756
asS'dislodge'
p36757
(lp36758
S'dislodges'
p36759
aS'dislodging'
p36760
aS'dislodged'
p36761
aS'dislodged'
p36762
asS'glamourize'
p36763
(lp36764
S'glamourizes'
p36765
aS'glamourizing'
p36766
aS'glamourized'
p36767
aS'glamourized'
p36768
asS'undercool'
p36769
(lp36770
S'undercools'
p36771
aS'undercooling'
p36772
aS'undercooled'
p36773
aS'undercooled'
p36774
asS'extradite'
p36775
(lp36776
S'extradites'
p36777
aS'extraditing'
p36778
aS'extradited'
p36779
aS'extradited'
p36780
asS'rodomontade'
p36781
(lp36782
S'rodomontades'
p36783
aS'rodomontading'
p36784
aS'rodomontaded'
p36785
aS'rodomontaded'
p36786
asS'progress'
p36787
(lp36788
S'progresses'
p36789
aS'progressing'
p36790
aS'progressed'
p36791
aS'progressed'
p36792
asS'bramble'
p36793
(lp36794
S'brambles'
p36795
aS'brambling'
p36796
aS'brambled'
p36797
aS'brambled'
p36798
asS'admeasure'
p36799
(lp36800
S'admeasures'
p36801
aS'admeasuring'
p36802
aS'admeasured'
p36803
aS'admeasured'
p36804
asS'saut_e'
p36805
(lp36806
S'saut_es'
p36807
aS'saut_eing'
p36808
aS'saut_eed'
p36809
aS'saut_eed'
p36810
asS'gyve'
p36811
(lp36812
S'gyves'
p36813
aS'gyving'
p36814
aS'gyved'
p36815
aS'gyved'
p36816
asS'sorrow'
p36817
(lp36818
S'sorrows'
p36819
aS'sorrowing'
p36820
aS'sorrowed'
p36821
aS'sorrowed'
p36822
asS'grumble'
p36823
(lp36824
S'grumbles'
p36825
aS'grumbling'
p36826
aS'grumbled'
p36827
aS'grumbled'
p36828
asS'deliver'
p36829
(lp36830
S'delivers'
p36831
aS'delivering'
p36832
aS'delivered'
p36833
aS'delivered'
p36834
asS'gimlet'
p36835
(lp36836
S'gimlets'
p36837
aS'gimleting'
p36838
aS'gimleted'
p36839
aS'gimleted'
p36840
asS'roughhouse'
p36841
(lp36842
S'roughhouses'
p36843
aS'roughhousing'
p36844
aS'roughhoused'
p36845
aS'roughhoused'
p36846
asS'Italianize'
p36847
(lp36848
S'Italianizes'
p36849
aS'Italianizing'
p36850
aS'Italianized'
p36851
aS'Italianized'
p36852
asS'anodize'
p36853
(lp36854
S'anodizes'
p36855
aS'anodizing'
p36856
aS'anodized'
p36857
aS'anodized'
p36858
asS'trump'
p36859
(lp36860
S'trumps'
p36861
aS'trumping'
p36862
aS'trumped'
p36863
aS'trumped'
p36864
asS'joke'
p36865
(lp36866
S'jokes'
p36867
aS'joking'
p36868
aS'joked'
p36869
aS'joked'
p36870
asS'alcoholize'
p36871
(lp36872
S'alcoholizes'
p36873
aS'alcoholizing'
p36874
aS'alcoholized'
p36875
aS'alcoholized'
p36876
asS'equal'
p36877
(lp36878
S'equals'
p36879
aS'equaling'
p36880
aS'equaled'
p36881
aS'equaled'
p36882
asS'pulp'
p36883
(lp36884
S'pulps'
p36885
aS'pulping'
p36886
aS'pulped'
p36887
aS'pulped'
p36888
asS'assure'
p36889
(lp36890
S'assures'
p36891
aS'assuring'
p36892
aS'assured'
p36893
aS'assured'
p36894
asS'predispose'
p36895
(lp36896
S'predisposes'
p36897
aS'predisposing'
p36898
aS'predisposed'
p36899
aS'predisposed'
p36900
asS're-form'
p36901
(lp36902
S're-forms'
p36903
aS're-forming'
p36904
ag17150
aS're-formed'
p36905
asS'overstaff'
p36906
(lp36907
S'overstaffs'
p36908
aS'overstaffing'
p36909
aS'overstaffed'
p36910
aS'overstaffed'
p36911
asS'swallow'
p36912
(lp36913
S'swallows'
p36914
aS'swallowing'
p36915
aS'swallowed'
p36916
aS'swallowed'
p36917
asS'comment'
p36918
(lp36919
S'comments'
p36920
aS'commenting'
p36921
aS'commented'
p36922
aS'commented'
p36923
asS'fester'
p36924
(lp36925
S'festers'
p36926
aS'festering'
p36927
aS'festered'
p36928
aS'festered'
p36929
asS'commend'
p36930
(lp36931
S'commends'
p36932
aS'commending'
p36933
aS'commended'
p36934
aS'commended'
p36935
asS'vend'
p36936
(lp36937
S'vends'
p36938
aS'vending'
p36939
aS'vended'
p36940
aS'vended'
p36941
asS'devoice'
p36942
(lp36943
S'devoices'
p36944
aS'devoicing'
p36945
aS'devoiced'
p36946
aS'devoiced'
p36947
asS'recompense'
p36948
(lp36949
S'recompenses'
p36950
aS'recompensing'
p36951
aS'recompensed'
p36952
aS'recompensed'
p36953
asS'harpoon'
p36954
(lp36955
S'harpoons'
p36956
aS'harpooning'
p36957
aS'harpooned'
p36958
aS'harpooned'
p36959
asS'electrify'
p36960
(lp36961
S'electrifies'
p36962
aS'electrifying'
p36963
aS'electrified'
p36964
aS'electrified'
p36965
asS'actualize'
p36966
(lp36967
S'actualizes'
p36968
aS'actualizing'
p36969
aS'actualized'
p36970
aS'actualized'
p36971
asS'muddy'
p36972
(lp36973
S'muddies'
p36974
aS'muddying'
p36975
aS'muddied'
p36976
aS'muddied'
p36977
asS'logroll'
p36978
(lp36979
S'logrolls'
p36980
aS'logrolling'
p36981
aS'logrolled'
p36982
aS'logrolled'
p36983
asS'gaze'
p36984
(lp36985
S'gazes'
p36986
aS'gazing'
p36987
aS'gazed'
p36988
aS'gazed'
p36989
asS'curtain'
p36990
(lp36991
S'curtains'
p36992
aS'curtaining'
p36993
aS'curtained'
p36994
aS'curtained'
p36995
asS'curtail'
p36996
(lp36997
S'curtails'
p36998
aS'curtailing'
p36999
aS'curtailed'
p37000
aS'curtailed'
p37001
asS'define'
p37002
(lp37003
S'defines'
p37004
aS'defining'
p37005
aS'defined'
p37006
aS'defined'
p37007
asS'upheave'
p37008
(lp37009
S'upheaves'
p37010
aS'upheaving'
p37011
aS'upheaved'
p37012
aS'upheaved'
p37013
asS'minify'
p37014
(lp37015
S'minifies'
p37016
aS'minifying'
p37017
aS'minified'
p37018
aS'minified'
p37019
asS'pistolwhip'
p37020
(lp37021
S'pistolwhips'
p37022
aS'pistolwhipping'
p37023
aS'pistolwhipped'
p37024
aS'pistolwhipped'
p37025
asS'Photostat'
p37026
(lp37027
S'Photostats'
p37028
aS'Photostatting'
p37029
aS'Photostatted'
p37030
aS'Photostatted'
p37031
asS'caddy'
p37032
(lp37033
S'caddies'
p37034
aS'caddying'
p37035
aS'caddied'
p37036
aS'caddied'
p37037
asS'protect'
p37038
(lp37039
S'protects'
p37040
aS'protecting'
p37041
aS'protected'
p37042
aS'protected'
p37043
asS'bulk'
p37044
(lp37045
S'bulks'
p37046
aS'bulking'
p37047
aS'bulked'
p37048
aS'bulked'
p37049
asS'tense'
p37050
(lp37051
S'tenses'
p37052
aS'tensing'
p37053
aS'tensed'
p37054
aS'tensed'
p37055
asS'bull'
p37056
(lp37057
S'bulls'
p37058
aS'bulling'
p37059
aS'bulled'
p37060
aS'bulled'
p37061
asS'exfoliate'
p37062
(lp37063
S'exfoliates'
p37064
aS'exfoliating'
p37065
aS'exfoliated'
p37066
aS'exfoliated'
p37067
asS'fellow'
p37068
(lp37069
S'fellows'
p37070
aS'fellowing'
p37071
aS'fellowed'
p37072
aS'fellowed'
p37073
asS'volunteer'
p37074
(lp37075
S'volunteers'
p37076
aS'volunteering'
p37077
aS'volunteered'
p37078
aS'volunteered'
p37079
asS'fustigate'
p37080
(lp37081
S'fustigates'
p37082
aS'fustigating'
p37083
aS'fustigated'
p37084
aS'fustigated'
p37085
asS'plain'
p37086
(lp37087
S'plains'
p37088
aS'plaining'
p37089
aS'plained'
p37090
aS'plained'
p37091
asS'value'
p37092
(lp37093
S'values'
p37094
aS'valuing'
p37095
aS'valued'
p37096
aS'valued'
p37097
asS'plait'
p37098
(lp37099
S'plaits'
p37100
aS'plaiting'
p37101
ag1811
aS'plaited'
p37102
asS'preconceive'
p37103
(lp37104
S'preconceives'
p37105
aS'preconceiving'
p37106
aS'preconceived'
p37107
aS'preconceived'
p37108
asS'magnetize'
p37109
(lp37110
S'magnetizes'
p37111
aS'magnetizing'
p37112
aS'magnetized'
p37113
aS'magnetized'
p37114
asS'deek'
p37115
(lp37116
S'deeks'
p37117
aS'deeking'
p37118
aS'deeked'
p37119
aS'deeked'
p37120
asS'permeate'
p37121
(lp37122
S'permeates'
p37123
aS'permeating'
p37124
aS'permeated'
p37125
aS'permeated'
p37126
asS'vulcanize'
p37127
(lp37128
S'vulcanizes'
p37129
aS'vulcanizing'
p37130
aS'vulcanized'
p37131
aS'vulcanized'
p37132
asS'bicker'
p37133
(lp37134
S'bickers'
p37135
aS'bickering'
p37136
aS'bickered'
p37137
aS'bickered'
p37138
asS'dissent'
p37139
(lp37140
S'dissents'
p37141
aS'dissenting'
p37142
aS'dissented'
p37143
aS'dissented'
p37144
asS'quantize'
p37145
(lp37146
S'quantizes'
p37147
aS'quantizing'
p37148
aS'quantized'
p37149
aS'quantized'
p37150
asS'prose'
p37151
(lp37152
S'proses'
p37153
aS'prosing'
p37154
aS'prosed'
p37155
aS'prosed'
p37156
asS'partner'
p37157
(lp37158
S'partners'
p37159
aS'partnering'
p37160
aS'partnered'
p37161
aS'partnered'
p37162
asS'topdress'
p37163
(lp37164
S'topdresses'
p37165
aS'topdressing'
p37166
aS'topdressed'
p37167
aS'topdressed'
p37168
asS'subirrigate'
p37169
(lp37170
S'subirrigates'
p37171
aS'subirrigating'
p37172
aS'subirrigated'
p37173
aS'subirrigated'
p37174
asS'anathematize'
p37175
(lp37176
S'anathematizes'
p37177
aS'anathematizing'
p37178
aS'anathematized'
p37179
aS'anathematized'
p37180
asS'portray'
p37181
(lp37182
S'portrays'
p37183
aS'portraying'
p37184
aS'portrayed'
p37185
aS'portrayed'
p37186
asS'facet'
p37187
(lp37188
S'facets'
p37189
aS'faceting'
p37190
aS'faceted'
p37191
aS'faceted'
p37192
asS'tremble'
p37193
(lp37194
S'trembles'
p37195
aS'trembling'
p37196
aS'trembled'
p37197
aS'trembled'
p37198
asS'eulogize'
p37199
(lp37200
S'eulogizes'
p37201
aS'eulogizing'
p37202
aS'eulogized'
p37203
aS'eulogized'
p37204
asS'unlade'
p37205
(lp37206
S'unlades'
p37207
aS'unlading'
p37208
aS'unladed'
p37209
aS'unladed'
p37210
asS'slobber'
p37211
(lp37212
S'slobbers'
p37213
aS'slobbering'
p37214
aS'slobbered'
p37215
aS'slobbered'
p37216
asS'shuttle'
p37217
(lp37218
S'shuttles'
p37219
aS'shuttling'
p37220
aS'shuttled'
p37221
aS'shuttled'
p37222
asS'infer'
p37223
(lp37224
S'infers'
p37225
aS'inferring'
p37226
aS'inferred'
p37227
aS'inferred'
p37228
asS'capsulize'
p37229
(lp37230
S'capsulizes'
p37231
aS'capsulizing'
p37232
aS'capsulized'
p37233
aS'capsulized'
p37234
asS'supercharge'
p37235
(lp37236
S'supercharges'
p37237
aS'supercharging'
p37238
aS'supercharged'
p37239
aS'supercharged'
p37240
asS'pockmark'
p37241
(lp37242
S'pockmarks'
p37243
aS'pockmarking'
p37244
aS'pockmarked'
p37245
aS'pockmarked'
p37246
asS'misgovern'
p37247
(lp37248
S'misgoverns'
p37249
aS'misgoverning'
p37250
aS'misgoverned'
p37251
aS'misgoverned'
p37252
asS'pinfold'
p37253
(lp37254
S'pinfolds'
p37255
aS'pinfolding'
p37256
aS'pinfolded'
p37257
aS'pinfolded'
p37258
asS'grandstand'
p37259
(lp37260
S'grandstands'
p37261
aS'grandstanding'
p37262
aS'grandstanded'
p37263
aS'grandstanded'
p37264
asS'breech'
p37265
(lp37266
S'breeches'
p37267
aS'breeching'
p37268
aS'breeched'
p37269
aS'breeched'
p37270
asS'topsoil'
p37271
(lp37272
S'topsoils'
p37273
aS'topsoiling'
p37274
aS'topsoiled'
p37275
aS'topsoiled'
p37276
asS'besmirch'
p37277
(lp37278
S'besmirches'
p37279
aS'besmirching'
p37280
aS'besmirched'
p37281
aS'besmirched'
p37282
asS'insure'
p37283
(lp37284
S'insures'
p37285
aS'insuring'
p37286
aS'insured'
p37287
aS'insured'
p37288
asS'retard'
p37289
(lp37290
S'retards'
p37291
aS'retarding'
p37292
aS'retarded'
p37293
aS'retarded'
p37294
asS'backstitch'
p37295
(lp37296
S'backstitches'
p37297
aS'backstitching'
p37298
aS'backstitched'
p37299
aS'backstitched'
p37300
asS'underfund'
p37301
(lp37302
S'underfunds'
p37303
aS'underfunding'
p37304
aS'underfunded'
p37305
aS'underfunded'
p37306
asS'position'
p37307
(lp37308
S'positions'
p37309
aS'positioning'
p37310
aS'positioned'
p37311
aS'positioned'
p37312
asS'publicize'
p37313
(lp37314
S'publicizes'
p37315
aS'publicizing'
p37316
aS'publicized'
p37317
aS'publicized'
p37318
asS'muscle'
p37319
(lp37320
S'muscles'
p37321
aS'muscling'
p37322
aS'muscled'
p37323
aS'muscled'
p37324
asS'reintroduce'
p37325
(lp37326
S'reintroduces'
p37327
aS'reintroducing'
p37328
aS'reintroduced'
p37329
aS'reintroduced'
p37330
asS'jerrybuild'
p37331
(lp37332
S'jerrybuilds'
p37333
aS'jerrybuilding'
p37334
aS'jerrybuilt'
p37335
aS'jerrybuilt'
p37336
asS'fluoridate'
p37337
(lp37338
S'fluoridates'
p37339
aS'fluoridating'
p37340
aS'fluoridated'
p37341
aS'fluoridated'
p37342
asS'unarm'
p37343
(lp37344
S'unarms'
p37345
aS'unarming'
p37346
aS'unarmed'
p37347
aS'unarmed'
p37348
asS'excise'
p37349
(lp37350
S'excises'
p37351
aS'excising'
p37352
aS'excised'
p37353
aS'excised'
p37354
asS'ratify'
p37355
(lp37356
S'ratifies'
p37357
aS'ratifying'
p37358
aS'ratified'
p37359
aS'ratified'
p37360
asS'necessitate'
p37361
(lp37362
S'necessitates'
p37363
aS'necessitating'
p37364
aS'necessitated'
p37365
aS'necessitated'
p37366
asS'inveigle'
p37367
(lp37368
S'inveigles'
p37369
aS'inveigling'
p37370
aS'inveigled'
p37371
aS'inveigled'
p37372
asS'evince'
p37373
(lp37374
S'evinces'
p37375
aS'evincing'
p37376
aS'evinced'
p37377
aS'evinced'
p37378
asS'surpass'
p37379
(lp37380
S'surpasses'
p37381
aS'surpassing'
p37382
aS'surpassed'
p37383
aS'surpassed'
p37384
asS'localize'
p37385
(lp37386
S'localizes'
p37387
aS'localizing'
p37388
aS'localized'
p37389
aS'localized'
p37390
asS'graduate'
p37391
(lp37392
S'graduates'
p37393
aS'graduating'
p37394
aS'graduated'
p37395
aS'graduated'
p37396
asS'pretermit'
p37397
(lp37398
S'pretermits'
p37399
aS'pretermitting'
p37400
aS'pretermitted'
p37401
aS'pretermitted'
p37402
asS'tong'
p37403
(lp37404
S'tongs'
p37405
aS'tonging'
p37406
aS'tonged'
p37407
aS'tonged'
p37408
asS'smarm'
p37409
(lp37410
S'smarms'
p37411
aS'smarming'
p37412
aS'smarmed'
p37413
aS'smarmed'
p37414
asS'underact'
p37415
(lp37416
S'underacts'
p37417
aS'underacting'
p37418
aS'underacted'
p37419
aS'underacted'
p37420
asS'bench'
p37421
(lp37422
S'benches'
p37423
aS'benching'
p37424
aS'benched'
p37425
aS'benched'
p37426
asS'add'
p37427
(lp37428
S'adds'
p37429
aS'adding'
p37430
aS'added'
p37431
aS'added'
p37432
asS'decapitate'
p37433
(lp37434
S'decapitates'
p37435
aS'decapitating'
p37436
aS'decapitated'
p37437
aS'decapitated'
p37438
asS'confide'
p37439
(lp37440
S'confides'
p37441
aS'confiding'
p37442
aS'confided'
p37443
aS'confided'
p37444
asS'scrimp'
p37445
(lp37446
S'scrimps'
p37447
aS'scrimping'
p37448
aS'scrimped'
p37449
aS'scrimped'
p37450
asS'reenact'
p37451
(lp37452
S'reenacts'
p37453
aS'reenacting'
p37454
aS'reenacted'
p37455
aS'reenacted'
p37456
asS'ravel'
p37457
(lp37458
S'ravels'
p37459
aS'ravelling'
p37460
aS'ravelled'
p37461
aS'ravelled'
p37462
asS'ought'
p37463
(lp37464
S"oughtn't"
p37465
asS'miscalculate'
p37466
(lp37467
S'miscalculates'
p37468
aS'miscalculating'
p37469
aS'miscalculated'
p37470
aS'miscalculated'
p37471
asS'knacker'
p37472
(lp37473
S'knackers'
p37474
aS'knackering'
p37475
aS'knackered'
p37476
aS'knackered'
p37477
asS'insert'
p37478
(lp37479
S'inserts'
p37480
aS'inserting'
p37481
aS'inserted'
p37482
aS'inserted'
p37483
asS'like'
p37484
(lp37485
S'likes'
p37486
aS'liking'
p37487
aS'liked'
p37488
aS'liked'
p37489
asS'tram'
p37490
(lp37491
S'trams'
p37492
aS'tramming'
p37493
aS'trammed'
p37494
aS'trammed'
p37495
asS'heed'
p37496
(lp37497
S'heeds'
p37498
aS'heeding'
p37499
aS'heeded'
p37500
aS'heeded'
p37501
asS'arraign'
p37502
(lp37503
S'arraigns'
p37504
aS'arraigning'
p37505
aS'arraigned'
p37506
aS'arraigned'
p37507
asS'shrinkwrap'
p37508
(lp37509
S'shrinkwraps'
p37510
aS'shrinkwrapping'
p37511
aS'shrinkwrapped'
p37512
aS'shrinkwrapped'
p37513
asS'heel'
p37514
(lp37515
S'heels'
p37516
aS'heeling'
p37517
aS'heeled'
p37518
aS'heeled'
p37519
asS'decease'
p37520
(lp37521
S'deceases'
p37522
aS'deceasing'
p37523
aS'deceased'
p37524
aS'deceased'
p37525
asS'propel'
p37526
(lp37527
S'propels'
p37528
aS'propelling'
p37529
aS'propelled'
p37530
aS'propelled'
p37531
asS'feast'
p37532
(lp37533
S'feasts'
p37534
aS'feasting'
p37535
aS'feasted'
p37536
aS'feasted'
p37537
asS'hail'
p37538
(lp37539
S'hails'
p37540
aS'hailing'
p37541
aS'hailed'
p37542
aS'hailed'
p37543
asS'corroborate'
p37544
(lp37545
S'corroborates'
p37546
aS'corroborating'
p37547
aS'corroborated'
p37548
aS'corroborated'
p37549
asS'solemnize'
p37550
(lp37551
S'solemnizes'
p37552
aS'solemnizing'
p37553
aS'solemnized'
p37554
aS'solemnized'
p37555
asS'convey'
p37556
(lp37557
S'conveys'
p37558
aS'conveying'
p37559
aS'conveyed'
p37560
aS'conveyed'
p37561
asS'convex'
p37562
(lp37563
S'convexes'
p37564
aS'convexing'
p37565
aS'convexed'
p37566
aS'convexed'
p37567
asS'escallop'
p37568
(lp37569
S'escallops'
p37570
aS'escalloping'
p37571
aS'escalloped'
p37572
aS'escalloped'
p37573
asS'refill'
p37574
(lp37575
S'refills'
p37576
aS'refilling'
p37577
aS'refilled'
p37578
aS'refilled'
p37579
asS'reify'
p37580
(lp37581
S'reifies'
p37582
aS'reifying'
p37583
aS'reified'
p37584
aS'reified'
p37585
asS'shrug'
p37586
(lp37587
S'shrugs'
p37588
aS'shrugging'
p37589
aS'shrugged'
p37590
aS'shrugged'
p37591
asS'demobilize'
p37592
(lp37593
S'demobilizes'
p37594
aS'demobilizing'
p37595
aS'demobilized'
p37596
aS'demobilized'
p37597
asS'slide'
p37598
(lp37599
S'slides'
p37600
aS'sliding'
p37601
aS'slid'
p37602
aS'slidden'
p37603
asS'snuggle'
p37604
(lp37605
S'snuggles'
p37606
aS'snuggling'
p37607
aS'snuggled'
p37608
aS'snuggled'
p37609
asS'regain'
p37610
(lp37611
S'regains'
p37612
aS'regaining'
p37613
aS'regained'
p37614
aS'regained'
p37615
asS'pepper'
p37616
(lp37617
S'peppers'
p37618
aS'peppering'
p37619
aS'peppered'
p37620
aS'peppered'
p37621
asS'noise'
p37622
(lp37623
S'noises'
p37624
aS'noising'
p37625
aS'noised'
p37626
aS'noised'
p37627
asS'slight'
p37628
(lp37629
S'slights'
p37630
aS'slighting'
p37631
aS'slighted'
p37632
aS'slighted'
p37633
asS'aerify'
p37634
(lp37635
S'aerifies'
p37636
aS'aerifying'
p37637
aS'aerified'
p37638
aS'aerified'
p37639
asS'host'
p37640
(lp37641
S'hosts'
p37642
aS'hosting'
p37643
aS'hosted'
p37644
aS'hosted'
p37645
asS'expire'
p37646
(lp37647
S'expires'
p37648
aS'expiring'
p37649
aS'expired'
p37650
aS'expired'
p37651
asS'narrate'
p37652
(lp37653
S'narrates'
p37654
aS'narrating'
p37655
aS'narrated'
p37656
aS'narrated'
p37657
asS'panel'
p37658
(lp37659
S'panels'
p37660
aS'panelling'
p37661
aS'panelled'
p37662
aS'panelled'
p37663
asS'socket'
p37664
(lp37665
S'sockets'
p37666
aS'socketing'
p37667
aS'socketed'
p37668
aS'socketed'
p37669
asS'flake'
p37670
(lp37671
S'flakes'
p37672
aS'flaking'
p37673
aS'flaked'
p37674
aS'flaked'
p37675
asS'preen'
p37676
(lp37677
S'preens'
p37678
aS'preening'
p37679
aS'preened'
p37680
aS'preened'
p37681
asS'decimate'
p37682
(lp37683
S'decimates'
p37684
aS'decimating'
p37685
aS'decimated'
p37686
aS'decimated'
p37687
asS'beseem'
p37688
(lp37689
S'beseems'
p37690
aS'beseeming'
p37691
aS'beseemed'
p37692
aS'beseemed'
p37693
asS'evoke'
p37694
(lp37695
S'evokes'
p37696
aS'evoking'
p37697
aS'evoked'
p37698
aS'evoked'
p37699
asS'discard'
p37700
(lp37701
S'discards'
p37702
aS'discarding'
p37703
aS'discarded'
p37704
aS'discarded'
p37705
asS'reave'
p37706
(lp37707
S'reaves'
p37708
aS'reaving'
p37709
aS'reaved'
p37710
aS'reaved'
p37711
asS'miscast'
p37712
(lp37713
S'miscasts'
p37714
aS'miscasting'
p37715
aS'miscast'
p37716
aS'miscast'
p37717
asS'yaup'
p37718
(lp37719
S'yaups'
p37720
aS'yauping'
p37721
aS'yauped'
p37722
aS'yauped'
p37723
asS'forereach'
p37724
(lp37725
S'forereaches'
p37726
aS'forereaching'
p37727
aS'forereached'
p37728
aS'forereached'
p37729
asS'guard'
p37730
(lp37731
S'guards'
p37732
aS'guarding'
p37733
aS'guarded'
p37734
aS'guarded'
p37735
asS'esteem'
p37736
(lp37737
S'esteems'
p37738
aS'esteeming'
p37739
aS'esteemed'
p37740
aS'esteemed'
p37741
asS'side-dress'
p37742
(lp37743
S'side-dresses'
p37744
aS'side-dressing'
p37745
aS'side-dressed'
p37746
aS'side-dressed'
p37747
asS'cross-breed'
p37748
(lp37749
S'cross-breeds'
p37750
aS'cross-breeding'
p37751
aS'cross-bred'
p37752
aS'cross-bred'
p37753
asS'ridge'
p37754
(lp37755
S'ridges'
p37756
aS'ridging'
p37757
aS'ridged'
p37758
aS'ridged'
p37759
asS'buckle'
p37760
(lp37761
S'buckles'
p37762
aS'buckling'
p37763
aS'buckled'
p37764
aS'buckled'
p37765
asS'outline'
p37766
(lp37767
S'outlines'
p37768
aS'outlining'
p37769
aS'outlined'
p37770
aS'outlined'
p37771
asS'condense'
p37772
(lp37773
S'condenses'
p37774
aS'condensing'
p37775
aS'condensed'
p37776
aS'condensed'
p37777
asS'theologize'
p37778
(lp37779
S'theologizes'
p37780
aS'theologizing'
p37781
aS'theologized'
p37782
aS'theologized'
p37783
asS'ablate'
p37784
(lp37785
S'ablates'
p37786
aS'ablating'
p37787
aS'ablated'
p37788
aS'ablated'
p37789
asS'introvert'
p37790
(lp37791
S'introverts'
p37792
aS'introverting'
p37793
aS'introverted'
p37794
aS'introverted'
p37795
asS'maze'
p37796
(lp37797
S'mazing'
p37798
aS'mazed'
p37799
aS'mazed'
p37800
asS'offprint'
p37801
(lp37802
S'offprints'
p37803
aS'offprinting'
p37804
aS'offprinted'
p37805
aS'offprinted'
p37806
asS'buy'
p37807
(lp37808
S'buys'
p37809
aS'buying'
p37810
aS'bought'
p37811
aS'bought'
p37812
asS'explant'
p37813
(lp37814
S'explants'
p37815
aS'explanting'
p37816
aS'explanted'
p37817
aS'explanted'
p37818
asS'bur'
p37819
(lp37820
S'burs'
p37821
aS'burring'
p37822
aS'burred'
p37823
aS'burred'
p37824
asS'bus'
p37825
(lp37826
S'busses'
p37827
aS'bussing'
p37828
aS'bussed'
p37829
aS'bussed'
p37830
asS'brand'
p37831
(lp37832
S'brands'
p37833
aS'branding'
p37834
aS'branded'
p37835
aS'branded'
p37836
asS'disambiguate'
p37837
(lp37838
S'disambiguates'
p37839
aS'disambiguating'
p37840
aS'disambiguated'
p37841
aS'disambiguated'
p37842
asS'dandle'
p37843
(lp37844
S'dandles'
p37845
aS'dandling'
p37846
aS'dandled'
p37847
aS'dandled'
p37848
asS'plague'
p37849
(lp37850
S'plagues'
p37851
aS'plaguing'
p37852
aS'plagued'
p37853
aS'plagued'
p37854
asS'bum'
p37855
(lp37856
S'bums'
p37857
aS'bumming'
p37858
aS'bummed'
p37859
aS'bummed'
p37860
asS'tiller'
p37861
(lp37862
S'tillers'
p37863
aS'tillering'
p37864
aS'tillered'
p37865
aS'tillered'
p37866
asS'bug'
p37867
(lp37868
S'bugs'
p37869
aS'bugging'
p37870
aS'bugged'
p37871
aS'bugged'
p37872
asS'bud'
p37873
(lp37874
S'buds'
p37875
aS'budding'
p37876
aS'budded'
p37877
aS'budded'
p37878
asS'embargo'
p37879
(lp37880
S'embargoes'
p37881
aS'embargoing'
p37882
aS'embargoed'
p37883
aS'embargoed'
p37884
asS'intitule'
p37885
(lp37886
S'intitules'
p37887
aS'intituling'
p37888
aS'intituled'
p37889
aS'intituled'
p37890
asS'wise'
p37891
(lp37892
g22305
ag22306
ag22307
asS'glory'
p37893
(lp37894
S'glories'
p37895
aS'glorying'
p37896
aS'gloried'
p37897
aS'gloried'
p37898
asS'flit'
p37899
(lp37900
S'flits'
p37901
aS'flitting'
p37902
aS'flitted'
p37903
aS'flitted'
p37904
asS'unload'
p37905
(lp37906
S'unloads'
p37907
aS'unloading'
p37908
aS'unloaded'
p37909
aS'unloaded'
p37910
asS'spacewalk'
p37911
(lp37912
S'spacewalks'
p37913
aS'spacewalking'
p37914
aS'spacewalked'
p37915
aS'spacewalked'
p37916
asS'flip'
p37917
(lp37918
S'flips'
p37919
aS'flipping'
p37920
aS'flipped'
p37921
aS'flipped'
p37922
asS'skylark'
p37923
(lp37924
S'skylarks'
p37925
aS'skylarking'
p37926
aS'skylarked'
p37927
aS'skylarked'
p37928
asS'wisp'
p37929
(lp37930
S'wisps'
p37931
aS'wisping'
p37932
aS'wisped'
p37933
aS'wisped'
p37934
asS'wist'
p37935
(lp37936
S'wists'
p37937
aS'wisting'
p37938
aS'wisted'
p37939
aS'wisted'
p37940
asS'cosher'
p37941
(lp37942
S'coshers'
p37943
aS'coshering'
p37944
aS'coshered'
p37945
aS'coshered'
p37946
asS'confect'
p37947
(lp37948
S'confects'
p37949
aS'confecting'
p37950
aS'confected'
p37951
aS'confected'
p37952
asS'troat'
p37953
(lp37954
S'troats'
p37955
aS'troating'
p37956
aS'troated'
p37957
aS'troated'
p37958
asS'pin'
p37959
(lp37960
S'pins'
p37961
aS'pinning'
p37962
aS'pinned'
p37963
aS'pinned'
p37964
asS'garter'
p37965
(lp37966
S'garters'
p37967
aS'gartering'
p37968
aS'gartered'
p37969
aS'gartered'
p37970
asS'pig'
p37971
(lp37972
S'pigs'
p37973
aS'pigging'
p37974
aS'pigged'
p37975
aS'pigged'
p37976
asS'crusade'
p37977
(lp37978
S'crusades'
p37979
aS'crusading'
p37980
aS'crusaded'
p37981
aS'crusaded'
p37982
asS'pip'
p37983
(lp37984
S'pips'
p37985
aS'pipping'
p37986
aS'pipped'
p37987
aS'pipped'
p37988
asS'pit'
p37989
(lp37990
S'pits'
p37991
aS'pitting'
p37992
aS'pitted'
p37993
aS'pitted'
p37994
asS'presignify'
p37995
(lp37996
S'presignifies'
p37997
aS'presignifying'
p37998
aS'presignified'
p37999
aS'presignified'
p38000
asS'individuate'
p38001
(lp38002
S'individuates'
p38003
aS'individuating'
p38004
aS'individuated'
p38005
aS'individuated'
p38006
asS'detain'
p38007
(lp38008
S'detains'
p38009
aS'detaining'
p38010
aS'detained'
p38011
aS'detained'
p38012
asS'babbitt'
p38013
(lp38014
S'babbitts'
p38015
aS'babbitting'
p38016
aS'babbitted'
p38017
aS'babbitted'
p38018
asS'oar'
p38019
(lp38020
S'oars'
p38021
aS'oaring'
p38022
aS'oared'
p38023
aS'oared'
p38024
asS'counterweigh'
p38025
(lp38026
S'counterweighs'
p38027
aS'counterweighing'
p38028
aS'counterweighed'
p38029
aS'counterweighed'
p38030
asS'redden'
p38031
(lp38032
S'reddens'
p38033
aS'reddening'
p38034
aS'reddened'
p38035
aS'reddened'
p38036
asS'flange'
p38037
(lp38038
S'flanges'
p38039
aS'flanging'
p38040
aS'flanged'
p38041
aS'flanged'
p38042
asS'bundle'
p38043
(lp38044
S'bundles'
p38045
aS'bundling'
p38046
aS'bundled'
p38047
aS'bundled'
p38048
asS'wallow'
p38049
(lp38050
S'wallows'
p38051
aS'wallowing'
p38052
aS'wallowed'
p38053
aS'wallowed'
p38054
asS'shrank'
p38055
(lp38056
S'shranks'
p38057
aS'shranking'
p38058
aS'shranked'
p38059
aS'shranked'
p38060
asS'intussuscept'
p38061
(lp38062
S'intussuscepts'
p38063
aS'intussuscepting'
p38064
aS'intussuscepted'
p38065
aS'intussuscepted'
p38066
asS'wallop'
p38067
(lp38068
S'wallops'
p38069
aS'walloping'
p38070
aS'walloped'
p38071
aS'walloped'
p38072
asS'flue-cure'
p38073
(lp38074
S'flue-cures'
p38075
aS'flue-curing'
p38076
aS'flue-cured'
p38077
aS'flue-cured'
p38078
asS'ramble'
p38079
(lp38080
S'rambles'
p38081
aS'rambling'
p38082
aS'rambled'
p38083
aS'rambled'
p38084
asS'yelp'
p38085
(lp38086
S'yelps'
p38087
aS'yelping'
p38088
aS'yelped'
p38089
aS'yelped'
p38090
asS'bulwark'
p38091
(lp38092
S'bulwarks'
p38093
aS'bulwarking'
p38094
aS'bulwarked'
p38095
aS'bulwarked'
p38096
asS'jab'
p38097
(lp38098
S'jabs'
p38099
aS'jabbing'
p38100
aS'jabbed'
p38101
aS'jabbed'
p38102
asS'yell'
p38103
(lp38104
S'yells'
p38105
aS'yelling'
p38106
aS'yelled'
p38107
aS'yelled'
p38108
asS'parole'
p38109
(lp38110
S'paroles'
p38111
aS'paroling'
p38112
aS'paroled'
p38113
aS'paroled'
p38114
asS'disarray'
p38115
(lp38116
S'disarrays'
p38117
aS'disarraying'
p38118
aS'disarrayed'
p38119
aS'disarrayed'
p38120
asS'hitch'
p38121
(lp38122
S'hitches'
p38123
aS'hitching'
p38124
aS'hitched'
p38125
aS'hitched'
p38126
asS'sleet'
p38127
(lp38128
S'sleets'
p38129
aS'sleeting'
p38130
aS'sleeted'
p38131
aS'sleeted'
p38132
asS'sleep'
p38133
(lp38134
S'sleeps'
p38135
aS'sleeping'
p38136
aS'slept'
p38137
aS'slept'
p38138
asS'signalize'
p38139
(lp38140
S'signalizes'
p38141
aS'signalizing'
p38142
aS'signalized'
p38143
aS'signalized'
p38144
asS'hate'
p38145
(lp38146
S'hates'
p38147
aS'hating'
p38148
aS'hated'
p38149
aS'hated'
p38150
asS'muzzle'
p38151
(lp38152
S'muzzles'
p38153
aS'muzzling'
p38154
aS'muzzled'
p38155
aS'muzzled'
p38156
asS'Hoover'
p38157
(lp38158
S'Hoovers'
p38159
aS'Hoovering'
p38160
aS'Hoovered'
p38161
aS'Hoovered'
p38162
asS'violate'
p38163
(lp38164
S'violates'
p38165
aS'violating'
p38166
aS'violated'
p38167
aS'violated'
p38168
asS'snipe'
p38169
(lp38170
S'snipes'
p38171
aS'sniping'
p38172
aS'sniped'
p38173
aS'sniped'
p38174
asS'tweet'
p38175
(lp38176
S'tweets'
p38177
aS'tweeting'
p38178
aS'tweeted'
p38179
aS'tweeted'
p38180
asS'intreat'
p38181
(lp38182
S'intreats'
p38183
aS'intreating'
p38184
aS'intreated'
p38185
aS'intreated'
p38186
asS'whipsaw'
p38187
(lp38188
S'whipsaws'
p38189
aS'whipsawing'
p38190
aS'whipsawed'
p38191
aS'whipsawed'
p38192
asS'rankle'
p38193
(lp38194
S'rankles'
p38195
aS'rankling'
p38196
aS'rankled'
p38197
aS'rankled'
p38198
asS'undergird'
p38199
(lp38200
S'undergirds'
p38201
aS'undergirding'
p38202
aS'undergirded'
p38203
aS'undergirded'
p38204
asS'pride'
p38205
(lp38206
S'prides'
p38207
aS'priding'
p38208
aS'prided'
p38209
aS'prided'
p38210
asS'shellac'
p38211
(lp38212
S'shellacs'
p38213
aS'shellacking'
p38214
aS'shellacked'
p38215
aS'shellacked'
p38216
asS'merchant'
p38217
(lp38218
S'merchants'
p38219
aS'merchanting'
p38220
aS'merchanted'
p38221
aS'merchanted'
p38222
asS'derogate'
p38223
(lp38224
S'derogates'
p38225
aS'derogating'
p38226
aS'derogated'
p38227
aS'derogated'
p38228
asS'conjecture'
p38229
(lp38230
S'conjectures'
p38231
aS'conjecturing'
p38232
aS'conjectured'
p38233
aS'conjectured'
p38234
asS'risk'
p38235
(lp38236
S'risks'
p38237
aS'risking'
p38238
aS'risked'
p38239
aS'risked'
p38240
asS'dispense'
p38241
(lp38242
S'dispenses'
p38243
aS'dispensing'
p38244
aS'dispensed'
p38245
aS'dispensed'
p38246
asS'rise'
p38247
(lp38248
S'rises'
p38249
aS'rising'
p38250
aS'rose'
p38251
aS'risen'
p38252
asS'lurk'
p38253
(lp38254
S'lurks'
p38255
aS'lurking'
p38256
aS'lurked'
p38257
aS'lurked'
p38258
asS'abreact'
p38259
(lp38260
S'abreacts'
p38261
aS'abreacting'
p38262
aS'abreacted'
p38263
aS'abreacted'
p38264
asS'adumbrate'
p38265
(lp38266
S'adumbrates'
p38267
aS'adumbrating'
p38268
aS'adumbrated'
p38269
aS'adumbrated'
p38270
asS'disfranchise'
p38271
(lp38272
S'disfranchises'
p38273
aS'disfranchising'
p38274
aS'disfranchised'
p38275
aS'disfranchised'
p38276
asS'jack'
p38277
(lp38278
S'jacks'
p38279
aS'jacking'
p38280
aS'jacked'
p38281
aS'jacked'
p38282
asS'evert'
p38283
(lp38284
S'everts'
p38285
aS'everting'
p38286
aS'everted'
p38287
aS'everted'
p38288
asS'encounter'
p38289
(lp38290
S'encounters'
p38291
aS'encountering'
p38292
aS'encountered'
p38293
aS'encountered'
p38294
asS'school'
p38295
(lp38296
S'schools'
p38297
aS'schooling'
p38298
aS'schooled'
p38299
aS'schooled'
p38300
asS'parrot'
p38301
(lp38302
S'parrots'
p38303
aS'parroting'
p38304
aS'parroted'
p38305
aS'parroted'
p38306
asS'conceive'
p38307
(lp38308
S'conceives'
p38309
aS'conceiving'
p38310
aS'conceived'
p38311
aS'conceived'
p38312
asS'enjoy'
p38313
(lp38314
S'enjoys'
p38315
aS'enjoying'
p38316
aS'enjoyed'
p38317
aS'enjoyed'
p38318
asS'fricassee'
p38319
(lp38320
S'fricassees'
p38321
aS'fricasseeing'
p38322
aS'fricasseed'
p38323
aS'fricasseed'
p38324
asS'overdo'
p38325
(lp38326
S'overdoes'
p38327
aS'overdoing'
p38328
aS'overdid'
p38329
aS'overdone'
p38330
asS'bicycle'
p38331
(lp38332
S'bicycles'
p38333
aS'bicycling'
p38334
aS'bicycled'
p38335
aS'bicycled'
p38336
asS'intercut'
p38337
(lp38338
S'intercuts'
p38339
aS'intercutting'
p38340
aS'intercut'
p38341
aS'intercut'
p38342
asS'direct'
p38343
(lp38344
S'directs'
p38345
aS'directing'
p38346
aS'directed'
p38347
aS'directed'
p38348
asS'snafu'
p38349
(lp38350
S'snafues'
p38351
aS'snafuing'
p38352
aS'snafued'
p38353
aS'snafued'
p38354
asS'louden'
p38355
(lp38356
S'loudens'
p38357
aS'loudening'
p38358
aS'loudened'
p38359
aS'loudened'
p38360
asS'nail'
p38361
(lp38362
S'nails'
p38363
aS'nailing'
p38364
aS'nailed'
p38365
aS'nailed'
p38366
asS'scrutinize'
p38367
(lp38368
S'scrutinizes'
p38369
aS'scrutinizing'
p38370
aS'scrutinized'
p38371
aS'scrutinized'
p38372
asS'persuade'
p38373
(lp38374
S'persuades'
p38375
aS'persuading'
p38376
aS'persuaded'
p38377
aS'persuaded'
p38378
asS'channelize'
p38379
(lp38380
S'channelizes'
p38381
aS'channelizing'
p38382
aS'channelized'
p38383
aS'channelized'
p38384
asS'enounce'
p38385
(lp38386
S'enounces'
p38387
aS'enouncing'
p38388
aS'enounced'
p38389
aS'enounced'
p38390
asS'blue'
p38391
(lp38392
S'blues'
p38393
aS'bluing'
p38394
aS'blued'
p38395
aS'blued'
p38396
asS'hide'
p38397
(lp38398
S'hides'
p38399
aS'hiding'
p38400
aS'hid'
p38401
aS'hidden'
p38402
asS'conduce'
p38403
(lp38404
S'conduces'
p38405
aS'conducing'
p38406
aS'conduced'
p38407
aS'conduced'
p38408
asS'blub'
p38409
(lp38410
S'blubs'
p38411
aS'blubbing'
p38412
aS'blubbed'
p38413
aS'blubbed'
p38414
asS'worsen'
p38415
(lp38416
S'worsens'
p38417
aS'worsening'
p38418
aS'worsened'
p38419
aS'worsened'
p38420
asS'introspect'
p38421
(lp38422
S'introspects'
p38423
aS'introspecting'
p38424
aS'introspected'
p38425
aS'introspected'
p38426
asS'poison'
p38427
(lp38428
S'poisons'
p38429
aS'poisoning'
p38430
aS'poisoned'
p38431
aS'poisoned'
p38432
asS'insinuate'
p38433
(lp38434
S'insinuates'
p38435
aS'insinuating'
p38436
aS'insinuated'
p38437
aS'insinuated'
p38438
asS'blur'
p38439
(lp38440
S'blurs'
p38441
aS'blurring'
p38442
aS'blurred'
p38443
aS'blurred'
p38444
asS'jaundice'
p38445
(lp38446
S'jaundices'
p38447
aS'jaundicing'
p38448
aS'jaundiced'
p38449
aS'jaundiced'
p38450
asS'deemphasize'
p38451
(lp38452
S'deemphasizes'
p38453
aS'deemphasizing'
p38454
aS'deemphasized'
p38455
aS'deemphasized'
p38456
asS'tetanize'
p38457
(lp38458
S'tetanizes'
p38459
aS'tetanizing'
p38460
aS'tetanized'
p38461
aS'tetanized'
p38462
asS'foreknow'
p38463
(lp38464
S'foreknows'
p38465
aS'foreknowing'
p38466
aS'foreknew'
p38467
aS'foreknown'
p38468
asS'jampack'
p38469
(lp38470
S'jampacks'
p38471
aS'jampacking'
p38472
aS'jampacked'
p38473
aS'jampacked'
p38474
asS'metamorphose'
p38475
(lp38476
S'metamorphoses'
p38477
aS'metamorphosing'
p38478
aS'metamorphosed'
p38479
aS'metamorphosed'
p38480
asS'acidify'
p38481
(lp38482
S'acidifies'
p38483
aS'acidifying'
p38484
aS'acidified'
p38485
aS'acidified'
p38486
asS'punch'
p38487
(lp38488
S'punches'
p38489
aS'punching'
p38490
aS'punched'
p38491
aS'punched'
p38492
asS'superannuate'
p38493
(lp38494
S'superannuates'
p38495
aS'superannuating'
p38496
aS'superannuated'
p38497
aS'superannuated'
p38498
asS'verbify'
p38499
(lp38500
S'verbifies'
p38501
aS'verbifying'
p38502
aS'verbified'
p38503
aS'verbified'
p38504
asS'ravish'
p38505
(lp38506
S'ravishes'
p38507
aS'ravishing'
p38508
aS'ravished'
p38509
aS'ravished'
p38510
asS'auction'
p38511
(lp38512
S'auctions'
p38513
aS'auctioning'
p38514
aS'auctioned'
p38515
aS'auctioned'
p38516
asS'deoxidize'
p38517
(lp38518
S'deoxidizes'
p38519
aS'deoxidizing'
p38520
aS'deoxidized'
p38521
aS'deoxidized'
p38522
asS'ridicule'
p38523
(lp38524
S'ridicules'
p38525
aS'ridiculing'
p38526
aS'ridiculed'
p38527
aS'ridiculed'
p38528
asS'culminate'
p38529
(lp38530
S'culminates'
p38531
aS'culminating'
p38532
aS'culminated'
p38533
aS'culminated'
p38534
asS'outpace'
p38535
(lp38536
S'outpaces'
p38537
aS'outpacing'
p38538
aS'outpaced'
p38539
aS'outpaced'
p38540
asS'precis'
p38541
(lp38542
S'precises'
p38543
aS'precising'
p38544
aS'precised'
p38545
aS'precised'
p38546
asS'lignify'
p38547
(lp38548
S'lignifies'
p38549
aS'lignifying'
p38550
aS'lignified'
p38551
aS'lignified'
p38552
asS'leaven'
p38553
(lp38554
S'leavens'
p38555
aS'leavening'
p38556
aS'leavened'
p38557
aS'leavened'
p38558
asS'intersperse'
p38559
(lp38560
S'intersperses'
p38561
aS'interspersing'
p38562
aS'interspersed'
p38563
aS'interspersed'
p38564
asS'stray'
p38565
(lp38566
S'strays'
p38567
aS'straying'
p38568
aS'strayed'
p38569
aS'strayed'
p38570
asS'straw'
p38571
(lp38572
S'straws'
p38573
aS'strawing'
p38574
aS'strawed'
p38575
aS'strawed'
p38576
asS'strap'
p38577
(lp38578
S'straps'
p38579
aS'strapping'
p38580
aS'strapped'
p38581
aS'strapped'
p38582
asS'descale'
p38583
(lp38584
S'descales'
p38585
aS'descaling'
p38586
aS'descaled'
p38587
aS'descaled'
p38588
asS'would'
p38589
(lp38590
S'woulds'
p38591
aS'woulding'
p38592
aS'woulded'
p38593
aS'woulded'
p38594
aS"wouldn't"
p38595
asS'pigeonhole'
p38596
(lp38597
S'pigeonholes'
p38598
aS'pigeonholing'
p38599
aS'pigeonholed'
p38600
aS'pigeonholed'
p38601
asS'interlace'
p38602
(lp38603
S'interlaces'
p38604
aS'interlacing'
p38605
aS'interlaced'
p38606
aS'interlaced'
p38607
asS'racketeer'
p38608
(lp38609
S'racketeers'
p38610
aS'racketeering'
p38611
aS'racketeered'
p38612
aS'racketeered'
p38613
asS'underprop'
p38614
(lp38615
S'underprops'
p38616
aS'underpropping'
p38617
aS'underpropped'
p38618
aS'underpropped'
p38619
asS'swinge'
p38620
(lp38621
S'swinges'
p38622
aS'swingeing'
p38623
aS'swinged'
p38624
aS'swinged'
p38625
asS'spike'
p38626
(lp38627
S'spikes'
p38628
aS'spiking'
p38629
aS'spiked'
p38630
aS'spiked'
p38631
asS'overlive'
p38632
(lp38633
S'overlives'
p38634
aS'overliving'
p38635
aS'overlived'
p38636
aS'overlived'
p38637
asS'breathe'
p38638
(lp38639
S'breathes'
p38640
aS'breathing'
p38641
aS'breathed'
p38642
aS'breathed'
p38643
asS'blather'
p38644
(lp38645
S'blathers'
p38646
aS'blathering'
p38647
aS'blathered'
p38648
aS'blathered'
p38649
asS'saber'
p38650
(lp38651
S'sabers'
p38652
aS'sabering'
p38653
aS'sabered'
p38654
aS'sabered'
p38655
asS'interpenetrate'
p38656
(lp38657
S'interpenetrates'
p38658
aS'interpenetrating'
p38659
aS'interpenetrated'
p38660
aS'interpenetrated'
p38661
asS'muse'
p38662
(lp38663
S'muses'
p38664
aS'musing'
p38665
aS'mused'
p38666
aS'mused'
p38667
asS'phone'
p38668
(lp38669
S'phones'
p38670
aS'phoning'
p38671
aS'phoned'
p38672
aS'phoned'
p38673
asS'kipper'
p38674
(lp38675
S'kippers'
p38676
aS'kippering'
p38677
aS'kippered'
p38678
aS'kippered'
p38679
asS'masticate'
p38680
(lp38681
S'masticates'
p38682
aS'masticating'
p38683
aS'masticated'
p38684
aS'masticated'
p38685
asS'adjourn'
p38686
(lp38687
S'adjourns'
p38688
aS'adjourning'
p38689
aS'adjourned'
p38690
aS'adjourned'
p38691
asS'moil'
p38692
(lp38693
S'moils'
p38694
aS'moiling'
p38695
aS'moiled'
p38696
aS'moiled'
p38697
asS'pouch'
p38698
(lp38699
S'pouches'
p38700
aS'pouching'
p38701
aS'pouched'
p38702
aS'pouched'
p38703
asS'must'
p38704
(lp38705
S"mustn't"
p38706
asS'shoot'
p38707
(lp38708
S'shoots'
p38709
aS'shooting'
p38710
ag30249
ag30250
asS'daff'
p38711
(lp38712
S'daffs'
p38713
aS'daffing'
p38714
aS'daffed'
p38715
aS'daffed'
p38716
asS'hutch'
p38717
(lp38718
S'hutches'
p38719
aS'hutching'
p38720
aS'hutched'
p38721
aS'hutched'
p38722
asS'join'
p38723
(lp38724
S'joins'
p38725
aS'joining'
p38726
aS'joined'
p38727
aS'joined'
p38728
asS'micturate'
p38729
(lp38730
S'micturates'
p38731
aS'micturating'
p38732
aS'micturated'
p38733
aS'micturated'
p38734
asS'outgain'
p38735
(lp38736
S'outgains'
p38737
aS'outgaining'
p38738
aS'outgained'
p38739
aS'outgained'
p38740
asS'declassify'
p38741
(lp38742
S'declassifies'
p38743
aS'declassifying'
p38744
aS'declassified'
p38745
aS'declassified'
p38746
asS'tissue'
p38747
(lp38748
S'tissues'
p38749
aS'tissuing'
p38750
aS'tissued'
p38751
aS'tissued'
p38752
asS'install'
p38753
(lp38754
S'instals'
p38755
aS'installing'
p38756
aS'installed'
p38757
aS'installed'
p38758
asS'salvage'
p38759
(lp38760
S'salvages'
p38761
aS'salvaging'
p38762
aS'salvaged'
p38763
aS'salvaged'
p38764
asS'aggrandize'
p38765
(lp38766
S'aggrandizes'
p38767
aS'aggrandizing'
p38768
aS'aggrandized'
p38769
aS'aggrandized'
p38770
asS'quarrel'
p38771
(lp38772
S'quarrels'
p38773
aS'quarrelling'
p38774
aS'quarrelled'
p38775
aS'quarrelled'
p38776
asS'defile'
p38777
(lp38778
S'defiles'
p38779
aS'defiling'
p38780
aS'defiled'
p38781
aS'defiled'
p38782
asS'loosen'
p38783
(lp38784
S'loosens'
p38785
aS'loosening'
p38786
aS'loosened'
p38787
aS'loosened'
p38788
asS'jumble'
p38789
(lp38790
S'jumbles'
p38791
aS'jumbling'
p38792
aS'jumbled'
p38793
aS'jumbled'
p38794
asS'attract'
p38795
(lp38796
S'attracts'
p38797
aS'attracting'
p38798
aS'attracted'
p38799
aS'attracted'
p38800
asS'calve'
p38801
(lp38802
S'calving'
p38803
aS'calved'
p38804
aS'calved'
p38805
asS'guarantee'
p38806
(lp38807
S'guarantees'
p38808
aS'guaranteeing'
p38809
aS'guaranteed'
p38810
aS'guaranteed'
p38811
asS'collude'
p38812
(lp38813
S'colludes'
p38814
aS'colluding'
p38815
aS'colluded'
p38816
aS'colluded'
p38817
asS'end'
p38818
(lp38819
S'ends'
p38820
aS'ending'
p38821
aS'ended'
p38822
aS'ended'
p38823
asS'bung'
p38824
(lp38825
S'bungs'
p38826
aS'bunging'
p38827
aS'bunged'
p38828
aS'bunged'
p38829
asS'stride'
p38830
(lp38831
S'strides'
p38832
aS'striding'
p38833
aS'strode'
p38834
aS'strode'
p38835
asS'bunk'
p38836
(lp38837
S'bunks'
p38838
aS'bunking'
p38839
aS'bunked'
p38840
aS'bunked'
p38841
asS'slalom'
p38842
(lp38843
S'slaloms'
p38844
aS'slaloming'
p38845
aS'slalomed'
p38846
aS'slalomed'
p38847
asS'shred'
p38848
(lp38849
S'shreds'
p38850
aS'shredding'
p38851
aS'shredded'
p38852
aS'shredded'
p38853
asS'enquire'
p38854
(lp38855
S'enquires'
p38856
aS'enquiring'
p38857
aS'enquired'
p38858
aS'enquired'
p38859
asS'bunt'
p38860
(lp38861
S'bunts'
p38862
aS'bunting'
p38863
aS'bunted'
p38864
aS'bunted'
p38865
asS'gate'
p38866
(lp38867
S'gates'
p38868
ag33908
ag33909
ag33910
asS'bludge'
p38869
(lp38870
S'bludges'
p38871
aS'bludging'
p38872
aS'bludged'
p38873
aS'bludged'
p38874
asS'raffle'
p38875
(lp38876
S'raffles'
p38877
aS'raffling'
p38878
aS'raffled'
p38879
aS'raffled'
p38880
asS'moisten'
p38881
(lp38882
S'moistens'
p38883
aS'moistening'
p38884
aS'moistened'
p38885
aS'moistened'
p38886
asS'unhorse'
p38887
(lp38888
S'unhorses'
p38889
aS'unhorsing'
p38890
aS'unhorsed'
p38891
aS'unhorsed'
p38892
asS'befog'
p38893
(lp38894
S'befogs'
p38895
aS'befogging'
p38896
aS'befogged'
p38897
aS'befogged'
p38898
asS'mispronounce'
p38899
(lp38900
S'mispronounces'
p38901
aS'mispronouncing'
p38902
aS'mispronounced'
p38903
aS'mispronounced'
p38904
asS'undercapitalize'
p38905
(lp38906
S'undercapitalizes'
p38907
aS'undercapitalizing'
p38908
aS'undercapitalized'
p38909
aS'undercapitalized'
p38910
asS'mess'
p38911
(lp38912
S'messes'
p38913
aS'messing'
p38914
aS'messed'
p38915
aS'messed'
p38916
asS'famish'
p38917
(lp38918
S'famishes'
p38919
aS'famishing'
p38920
aS'famished'
p38921
aS'famished'
p38922
asS'infold'
p38923
(lp38924
S'infolds'
p38925
aS'infolding'
p38926
aS'infolded'
p38927
aS'infolded'
p38928
asS'lump'
p38929
(lp38930
S'lumps'
p38931
aS'lumping'
p38932
aS'lumped'
p38933
aS'lumped'
p38934
asS'whittle'
p38935
(lp38936
S'whittles'
p38937
aS'whittling'
p38938
aS'whittled'
p38939
aS'whittled'
p38940
asS'mesh'
p38941
(lp38942
S'meshs'
p38943
aS'meshing'
p38944
aS'meshed'
p38945
aS'meshed'
p38946
asS'parallel'
p38947
(lp38948
S'parallels'
p38949
aS'parallelling'
p38950
aS'parallelled'
p38951
aS'parallelled'
p38952
asS'derequisition'
p38953
(lp38954
S'derequisitions'
p38955
aS'derequisitioning'
p38956
aS'derequisitioned'
p38957
aS'derequisitioned'
p38958
asS'hedgehop'
p38959
(lp38960
S'hedgehops'
p38961
ag30894
ag30895
aS'hedgehopped'
p38962
asS'spout'
p38963
(lp38964
S'spouts'
p38965
aS'spouting'
p38966
aS'spouted'
p38967
aS'spouted'
p38968
asS'arbitrate'
p38969
(lp38970
S'arbitrates'
p38971
aS'arbitrating'
p38972
aS'arbitrated'
p38973
aS'arbitrated'
p38974
asS'patent'
p38975
(lp38976
S'patents'
p38977
aS'patenting'
p38978
aS'patented'
p38979
aS'patented'
p38980
asS'scout'
p38981
(lp38982
S'scouts'
p38983
aS'scouting'
p38984
aS'scouted'
p38985
aS'scouted'
p38986
asS'environ'
p38987
(lp38988
S'environs'
p38989
aS'environing'
p38990
aS'environed'
p38991
aS'environed'
p38992
asS'enter'
p38993
(lp38994
S'enters'
p38995
aS'entering'
p38996
aS'entered'
p38997
aS'entered'
p38998
asS'broider'
p38999
(lp39000
S'broiders'
p39001
aS'broidering'
p39002
aS'broidered'
p39003
aS'broidered'
p39004
asS'unsteady'
p39005
(lp39006
S'unsteadies'
p39007
aS'unsteadying'
p39008
aS'unsteadied'
p39009
aS'unsteadied'
p39010
asS'fetter'
p39011
(lp39012
S'fetters'
p39013
aS'fettering'
p39014
aS'fettered'
p39015
aS'fettered'
p39016
asS'deform'
p39017
(lp39018
S'deforms'
p39019
aS'deforming'
p39020
aS'deformed'
p39021
aS'deformed'
p39022
asS'sprout'
p39023
(lp39024
S'sprouts'
p39025
aS'sprouting'
p39026
aS'sprouted'
p39027
aS'sprouted'
p39028
asS'bleach'
p39029
(lp39030
S'bleaches'
p39031
aS'bleaching'
p39032
aS'bleached'
p39033
aS'bleached'
p39034
asS'reorient'
p39035
(lp39036
S'reorients'
p39037
aS'reorienting'
p39038
aS'reoriented'
p39039
aS'reoriented'
p39040
asS'outshine'
p39041
(lp39042
S'outshines'
p39043
aS'outshining'
p39044
aS'outshone'
p39045
aS'outshone'
p39046
asS'up-anchor'
p39047
(lp39048
S'up-anchors'
p39049
aS'up-anchoring'
p39050
aS'up-anchored'
p39051
aS'up-anchored'
p39052
asS'strangle'
p39053
(lp39054
S'strangles'
p39055
aS'strangling'
p39056
aS'strangled'
p39057
aS'strangled'
p39058
asS'digest'
p39059
(lp39060
S'digests'
p39061
aS'digesting'
p39062
aS'digested'
p39063
aS'digested'
p39064
asS'overstep'
p39065
(lp39066
S'oversteps'
p39067
aS'overstepping'
p39068
aS'overstepped'
p39069
aS'overstepped'
p39070
asS'illtreat'
p39071
(lp39072
S'illtreats'
p39073
aS'illtreating'
p39074
aS'illtreated'
p39075
aS'illtreated'
p39076
asS'thrust'
p39077
(lp39078
S'thrusts'
p39079
aS'thrusting'
p39080
aS'thrust'
p39081
aS'thrust'
p39082
asS'comprehend'
p39083
(lp39084
S'comprehends'
p39085
aS'comprehending'
p39086
aS'comprehended'
p39087
aS'comprehended'
p39088
asS'imp'
p39089
(lp39090
S'imps'
p39091
aS'imping'
p39092
aS'imped'
p39093
aS'imped'
p39094
asS'strand'
p39095
(lp39096
S'strands'
p39097
aS'stranding'
p39098
aS'stranded'
p39099
aS'stranded'
p39100
asS'fade'
p39101
(lp39102
S'fades'
p39103
aS'fading'
p39104
aS'faded'
p39105
aS'faded'
p39106
asS'mistreat'
p39107
(lp39108
S'mistreats'
p39109
aS'mistreating'
p39110
aS'mistreated'
p39111
aS'mistreated'
p39112
asS'croquet'
p39113
(lp39114
S'croquets'
p39115
aS'croqueting'
p39116
aS'croqueted'
p39117
aS'croqueted'
p39118
asS'riff'
p39119
(lp39120
S'riffs'
p39121
aS'riffing'
p39122
aS'riffed'
p39123
aS'riffed'
p39124
asS'helve'
p39125
(lp39126
S'helves'
p39127
aS'helving'
p39128
aS'helved'
p39129
aS'helved'
p39130
asS'vandalize'
p39131
(lp39132
S'vandalizes'
p39133
aS'vandalizing'
p39134
aS'vandalized'
p39135
aS'vandalized'
p39136
asS'vouchsafe'
p39137
(lp39138
S'vouchsafes'
p39139
aS'vouchsafing'
p39140
aS'vouchsafed'
p39141
aS'vouchsafed'
p39142
asS'uptilt'
p39143
(lp39144
S'uptilts'
p39145
aS'uptilting'
p39146
aS'uptilted'
p39147
aS'uptilted'
p39148
asS'plaster'
p39149
(lp39150
S'plasters'
p39151
aS'plastering'
p39152
aS'plastered'
p39153
aS'plastered'
p39154
asS'roost'
p39155
(lp39156
S'roosts'
p39157
aS'roosting'
p39158
aS'roosted'
p39159
aS'roosted'
p39160
asS'depopulate'
p39161
(lp39162
S'depopulates'
p39163
aS'depopulating'
p39164
aS'depopulated'
p39165
aS'depopulated'
p39166
asS'manicure'
p39167
(lp39168
S'manicures'
p39169
aS'manicuring'
p39170
aS'manicured'
p39171
aS'manicured'
p39172
asS'roose'
p39173
(lp39174
S'rooses'
p39175
aS'roosing'
p39176
aS'roosed'
p39177
aS'roosed'
p39178
asS'gloom'
p39179
(lp39180
S'glooms'
p39181
aS'glooming'
p39182
aS'gloomed'
p39183
aS'gloomed'
p39184
asS'chuck'
p39185
(lp39186
S'chucks'
p39187
aS'chucking'
p39188
aS'chucked'
p39189
aS'chucked'
p39190
asS'explode'
p39191
(lp39192
S'explodes'
p39193
aS'exploding'
p39194
aS'exploded'
p39195
aS'exploded'
p39196
asS'affiliate'
p39197
(lp39198
S'affiliates'
p39199
aS'affiliating'
p39200
aS'affiliated'
p39201
aS'affiliated'
p39202
asS'dethrone'
p39203
(lp39204
S'dethrones'
p39205
aS'dethroning'
p39206
aS'dethroned'
p39207
aS'dethroned'
p39208
asS'consolidate'
p39209
(lp39210
S'consolidates'
p39211
aS'consolidating'
p39212
aS'consolidated'
p39213
aS'consolidated'
p39214
asS'disorientate'
p39215
(lp39216
S'disorients'
p39217
aS'disorienting'
p39218
aS'disoriented'
p39219
aS'disoriented'
p39220
asS'reface'
p39221
(lp39222
S'refaces'
p39223
aS'refacing'
p39224
aS'refaced'
p39225
aS'refaced'
p39226
asS'disentwine'
p39227
(lp39228
S'disentwines'
p39229
aS'disentwining'
p39230
aS'disentwined'
p39231
aS'disentwined'
p39232
asS'unscrew'
p39233
(lp39234
S'unscrews'
p39235
aS'unscrewing'
p39236
aS'unscrewed'
p39237
aS'unscrewed'
p39238
asS'proportion'
p39239
(lp39240
S'proportions'
p39241
aS'proportioning'
p39242
aS'proportioned'
p39243
aS'proportioned'
p39244
asS'truant'
p39245
(lp39246
S'truants'
p39247
aS'truanting'
p39248
aS'truanted'
p39249
aS'truanted'
p39250
asS'clothe'
p39251
(lp39252
S'clothes'
p39253
aS'clothing'
p39254
aS'clothed'
p39255
aS'clothed'
p39256
asS'pounce'
p39257
(lp39258
S'pounces'
p39259
aS'pouncing'
p39260
aS'pounced'
p39261
aS'pounced'
p39262
asS'depress'
p39263
(lp39264
S'depresses'
p39265
aS'depressing'
p39266
aS'depressed'
p39267
aS'depressed'
p39268
asS'lair'
p39269
(lp39270
S'lairs'
p39271
aS'lairing'
p39272
aS'laired'
p39273
aS'laired'
p39274
asS'gob'
p39275
(lp39276
S'gobs'
p39277
aS'gobbing'
p39278
aS'gobbed'
p39279
aS'gobbed'
p39280
asS'underbid'
p39281
(lp39282
S'underbids'
p39283
aS'underbidding'
p39284
aS'underbid'
p39285
aS'underbidden'
p39286
asS'intonate'
p39287
(lp39288
S'intonates'
p39289
aS'intonating'
p39290
aS'intonated'
p39291
aS'intonated'
p39292
asS'laik'
p39293
(lp39294
S'laiks'
p39295
aS'laiking'
p39296
aS'laiked'
p39297
aS'laiked'
p39298
asS'prorogue'
p39299
(lp39300
S'prorogues'
p39301
aS'proroguing'
p39302
aS'prorogued'
p39303
aS'prorogued'
p39304
asS'provide'
p39305
(lp39306
S'provides'
p39307
aS'providing'
p39308
aS'provided'
p39309
aS'provided'
p39310
asS'associate'
p39311
(lp39312
S'associates'
p39313
aS'associating'
p39314
aS'associated'
p39315
aS'associated'
p39316
asS'rail'
p39317
(lp39318
S'rails'
p39319
aS'railing'
p39320
aS'railed'
p39321
aS'railed'
p39322
asS'free'
p39323
(lp39324
S'frees'
p39325
aS'freeing'
p39326
aS'freed'
p39327
aS'freed'
p39328
asS'polarize'
p39329
(lp39330
S'polarizes'
p39331
aS'polarizing'
p39332
aS'polarized'
p39333
aS'polarized'
p39334
asS'streamline'
p39335
(lp39336
S'streamlines'
p39337
aS'streamlining'
p39338
aS'streamlined'
p39339
aS'streamlined'
p39340
asS'constellate'
p39341
(lp39342
S'constellates'
p39343
aS'constellating'
p39344
aS'constellated'
p39345
aS'constellated'
p39346
asS'superimpose'
p39347
(lp39348
S'superimposes'
p39349
aS'superimposing'
p39350
aS'superimposed'
p39351
aS'superimposed'
p39352
asS'fret'
p39353
(lp39354
S'frets'
p39355
aS'fretting'
p39356
aS'fretted'
p39357
aS'frets'
p39358
asS'cityfy'
p39359
(lp39360
S'cityfies'
p39361
aS'cityfying'
p39362
aS'cityfied'
p39363
aS'cityfied'
p39364
asS'sluff'
p39365
(lp39366
S'sluffs'
p39367
aS'sluffing'
p39368
aS'sluffed'
p39369
aS'sluffed'
p39370
asS'nix'
p39371
(lp39372
S'nixes'
p39373
aS'nixing'
p39374
aS'nixed'
p39375
aS'nixed'
p39376
asS'filter'
p39377
(lp39378
S'filters'
p39379
aS'filtering'
p39380
aS'filtered'
p39381
aS'filtered'
p39382
asS'aspire'
p39383
(lp39384
S'aspires'
p39385
aS'aspiring'
p39386
aS'aspired'
p39387
aS'aspired'
p39388
asS'recite'
p39389
(lp39390
S'recites'
p39391
aS'reciting'
p39392
aS'recited'
p39393
aS'recited'
p39394
asS'mountebank'
p39395
(lp39396
S'mountebanks'
p39397
aS'mountebanking'
p39398
aS'mountebanked'
p39399
aS'mountebanked'
p39400
asS're-count'
p39401
(lp39402
S're-counts'
p39403
aS're-counting'
p39404
aS'recounted'
p39405
aS're-counted'
p39406
asS'sporulate'
p39407
(lp39408
S'sporulates'
p39409
aS'sporulating'
p39410
aS'sporulated'
p39411
aS'sporulated'
p39412
asS'rank'
p39413
(lp39414
S'ranks'
p39415
aS'ranking'
p39416
aS'ranked'
p39417
aS'ranked'
p39418
asS'bushwhack'
p39419
(lp39420
S'bushwhacks'
p39421
aS'bushwhacking'
p39422
aS'bushwhacked'
p39423
aS'bushwhacked'
p39424
asS'bombard'
p39425
(lp39426
S'bombards'
p39427
aS'bombarding'
p39428
aS'bombarded'
p39429
aS'bombarded'
p39430
asS'rant'
p39431
(lp39432
S'rants'
p39433
aS'ranting'
p39434
aS'ranted'
p39435
aS'ranted'
p39436
asS'vaticinate'
p39437
(lp39438
S'vaticinates'
p39439
aS'vaticinating'
p39440
aS'vaticinated'
p39441
aS'vaticinated'
p39442
asS'sober'
p39443
(lp39444
S'sobers'
p39445
aS'sobering'
p39446
aS'sobered'
p39447
aS'sobered'
p39448
asS'categorize'
p39449
(lp39450
S'categorizes'
p39451
aS'categorizing'
p39452
aS'categorized'
p39453
aS'categorized'
p39454
asS'top'
p39455
(lp39456
S'tops'
p39457
aS'topping'
p39458
aS'topped'
p39459
aS'topped'
p39460
asS'tow'
p39461
(lp39462
S'tows'
p39463
aS'towing'
p39464
aS'towed'
p39465
aS'towed'
p39466
asS'tot'
p39467
(lp39468
S'tots'
p39469
aS'totting'
p39470
aS'totted'
p39471
aS'totted'
p39472
asS'overact'
p39473
(lp39474
S'overacts'
p39475
aS'overacting'
p39476
aS'overacted'
p39477
aS'overacted'
p39478
asS'straighten'
p39479
(lp39480
S'straightens'
p39481
aS'straightening'
p39482
aS'straightened'
p39483
aS'straightened'
p39484
asS'bethink'
p39485
(lp39486
S'bethinks'
p39487
aS'bethinking'
p39488
aS'bethought'
p39489
aS'bethought'
p39490
asS'tog'
p39491
(lp39492
S'togs'
p39493
aS'togging'
p39494
aS'togged'
p39495
aS'togged'
p39496
asS'toe'
p39497
(lp39498
S'toes'
p39499
aS'toeing'
p39500
aS'toed'
p39501
aS'toed'
p39502
asS'murder'
p39503
(lp39504
S'murders'
p39505
aS'murdering'
p39506
aS'murdered'
p39507
aS'murdered'
p39508
asS'overdraw'
p39509
(lp39510
S'overdraws'
p39511
aS'overdrawing'
p39512
aS'overdrew'
p39513
aS'overdrawn'
p39514
asS'tool'
p39515
(lp39516
S'tools'
p39517
aS'tooling'
p39518
aS'tooled'
p39519
aS'tooled'
p39520
asS'serve'
p39521
(lp39522
S'serves'
p39523
aS'serving'
p39524
aS'served'
p39525
aS'served'
p39526
asS'punctuate'
p39527
(lp39528
S'punctuates'
p39529
aS'punctuating'
p39530
aS'punctuated'
p39531
aS'punctuated'
p39532
asS'embellish'
p39533
(lp39534
S'embellishes'
p39535
aS'embellishing'
p39536
aS'embellished'
p39537
aS'embellished'
p39538
asS'flimflam'
p39539
(lp39540
S'flimflams'
p39541
aS'flimflamming'
p39542
aS'flimflammed'
p39543
aS'flimflammed'
p39544
asS'wrapped'
p39545
(lp39546
sS'toot'
p39547
(lp39548
S'toots'
p39549
aS'tooting'
p39550
aS'tooted'
p39551
aS'tooted'
p39552
asS'incur'
p39553
(lp39554
S'incurs'
p39555
aS'incurring'
p39556
aS'incurred'
p39557
aS'incurred'
p39558
asS'drool'
p39559
(lp39560
S'drools'
p39561
aS'drooling'
p39562
aS'drooled'
p39563
aS'drooled'
p39564
asS'gelatinize'
p39565
(lp39566
S'gelatinizes'
p39567
aS'gelatinizing'
p39568
aS'gelatinized'
p39569
aS'gelatinized'
p39570
asS'pluralize'
p39571
(lp39572
S'pluralizes'
p39573
aS'pluralizing'
p39574
aS'pluralized'
p39575
aS'pluralized'
p39576
asS'rampage'
p39577
(lp39578
S'rampages'
p39579
aS'rampaging'
p39580
aS'rampaged'
p39581
aS'rampaged'
p39582
asS'nominate'
p39583
(lp39584
S'nominates'
p39585
aS'nominating'
p39586
aS'nominated'
p39587
aS'nominated'
p39588
asS'prong'
p39589
(lp39590
S'prongs'
p39591
aS'pronging'
p39592
aS'pronged'
p39593
aS'pronged'
p39594
asS'flame'
p39595
(lp39596
S'flames'
p39597
aS'flaming'
p39598
aS'flamed'
p39599
aS'flamed'
p39600
asS'expostulate'
p39601
(lp39602
S'expostulates'
p39603
aS'expostulating'
p39604
aS'expostulated'
p39605
aS'expostulated'
p39606
asS'beard'
p39607
(lp39608
S'beards'
p39609
aS'bearding'
p39610
aS'bearded'
p39611
aS'bearded'
p39612
asS'bridge'
p39613
(lp39614
S'bridges'
p39615
aS'bridging'
p39616
aS'bridged'
p39617
aS'bridged'
p39618
asS'fashion'
p39619
(lp39620
S'fashions'
p39621
aS'fashioning'
p39622
aS'fashioned'
p39623
aS'fashioned'
p39624
asS'barbarize'
p39625
(lp39626
S'barbarizes'
p39627
aS'barbarizing'
p39628
aS'barbarized'
p39629
aS'barbarized'
p39630
asS'ram'
p39631
(lp39632
S'rams'
p39633
aS'ramming'
p39634
aS'rammed'
p39635
aS'rammed'
p39636
asS'taint'
p39637
(lp39638
S'taints'
p39639
aS'tainting'
p39640
aS'tainted'
p39641
aS'tainted'
p39642
asS'shillyshally'
p39643
(lp39644
sS'rat'
p39645
(lp39646
S'rats'
p39647
aS'ratting'
p39648
aS'ratted'
p39649
aS'ratted'
p39650
asS'barde'
p39651
(lp39652
S'bards'
p39653
aS'barding'
p39654
aS'barded'
p39655
aS'barded'
p39656
asS'rap'
p39657
(lp39658
S'raps'
p39659
aS'rapping'
p39660
aS'rapped'
p39661
aS'rapped'
p39662
asS'protract'
p39663
(lp39664
S'protracts'
p39665
aS'protracting'
p39666
aS'protracted'
p39667
aS'protracted'
p39668
asS'gabble'
p39669
(lp39670
S'gabbles'
p39671
aS'gabbling'
p39672
aS'gabbled'
p39673
aS'gabbled'
p39674
asS'spade'
p39675
(lp39676
S'spades'
p39677
aS'spading'
p39678
aS'spaded'
p39679
aS'spaded'
p39680
asS'configure'
p39681
(lp39682
S'configures'
p39683
aS'configuring'
p39684
aS'configured'
p39685
aS'configured'
p39686
asS'relapse'
p39687
(lp39688
S'relapses'
p39689
aS'relapsing'
p39690
aS'relapsed'
p39691
aS'relapsed'
p39692
asS'snow'
p39693
(lp39694
S'snows'
p39695
aS'snowing'
p39696
aS'snowed'
p39697
aS'snowed'
p39698
asS'hatch'
p39699
(lp39700
S'hatches'
p39701
aS'hatching'
p39702
aS'hatched'
p39703
aS'hatched'
p39704
asS'cleft'
p39705
(lp39706
S'clefts'
p39707
aS'clefting'
p39708
aS'clefted'
p39709
aS'clefted'
p39710
asS'snog'
p39711
(lp39712
S'snogs'
p39713
aS'snogging'
p39714
aS'snogged'
p39715
aS'snogged'
p39716
asS'predigest'
p39717
(lp39718
S'predigests'
p39719
aS'predigesting'
p39720
ag21255
aS'predigested'
p39721
asS'phantasy'
p39722
(lp39723
S'phantasies'
p39724
aS'phantasying'
p39725
aS'phantasied'
p39726
aS'phantasied'
p39727
asS'foliate'
p39728
(lp39729
S'foliates'
p39730
aS'foliating'
p39731
aS'foliated'
p39732
aS'foliated'
p39733
asS'bename'
p39734
(lp39735
S'benames'
p39736
aS'benaming'
p39737
aS'benempt'
p39738
aS'benempt'
p39739
asS'audition'
p39740
(lp39741
S'auditions'
p39742
aS'auditioning'
p39743
aS'auditioned'
p39744
aS'auditioned'
p39745
asS'coif'
p39746
(lp39747
S'coifs'
p39748
aS'coiffing'
p39749
aS'coiffed'
p39750
aS'coiffed'
p39751
asS'coil'
p39752
(lp39753
S'coils'
p39754
aS'coiling'
p39755
aS'coiled'
p39756
aS'coiled'
p39757
asS'coin'
p39758
(lp39759
S'coins'
p39760
aS'coining'
p39761
aS'coined'
p39762
aS'coined'
p39763
asS'glow'
p39764
(lp39765
S'glows'
p39766
aS'glowing'
p39767
aS'glowed'
p39768
aS'glowed'
p39769
asS'whinge'
p39770
(lp39771
S'whinges'
p39772
aS'whinging'
p39773
aS'whinged'
p39774
aS'whinged'
p39775
asS'extravagate'
p39776
(lp39777
S'extravagates'
p39778
aS'extravagating'
p39779
aS'extravagated'
p39780
aS'extravagated'
p39781
asS'interject'
p39782
(lp39783
S'interjects'
p39784
aS'interjecting'
p39785
aS'interjected'
p39786
aS'interjected'
p39787
asS'flop'
p39788
(lp39789
S'flops'
p39790
aS'flopping'
p39791
aS'flopped'
p39792
aS'flopped'
p39793
asS'flow'
p39794
(lp39795
S'flows'
p39796
aS'flowing'
p39797
aS'flowed'
p39798
aS'flowed'
p39799
asS'sulphurate'
p39800
(lp39801
S'sulphurates'
p39802
aS'sulphurating'
p39803
aS'sulphurated'
p39804
aS'sulphurated'
p39805
asS'tallyho'
p39806
(lp39807
S'tallyhos'
p39808
aS'tallyhoing'
p39809
aS'tallyhoed'
p39810
aS'tallyhoed'
p39811
asS'caterwaul'
p39812
(lp39813
S'caterwauls'
p39814
aS'caterwauling'
p39815
aS'caterwauled'
p39816
aS'caterwauled'
p39817
asS'perorate'
p39818
(lp39819
S'perorates'
p39820
aS'perorating'
p39821
aS'perorated'
p39822
aS'perorated'
p39823
asS'transpire'
p39824
(lp39825
S'transpires'
p39826
aS'transpiring'
p39827
aS'transpired'
p39828
aS'transpired'
p39829
asS'outjockey'
p39830
(lp39831
S'outjockeys'
p39832
aS'outjockeying'
p39833
aS'outjockeyed'
p39834
aS'outjockeyed'
p39835
asS'joy-ride'
p39836
(lp39837
S'joy-rides'
p39838
aS'joy-riding'
p39839
aS'joy-rided'
p39840
aS'joy-rided'
p39841
asS'flog'
p39842
(lp39843
S'flogs'
p39844
aS'flogging'
p39845
aS'flogged'
p39846
aS'flogged'
p39847
asS'yank'
p39848
(lp39849
S'yanks'
p39850
aS'yanking'
p39851
aS'yanked'
p39852
aS'yanked'
p39853
asS'bait'
p39854
(lp39855
S'baits'
p39856
aS'baiting'
p39857
aS'baited'
p39858
aS'baited'
p39859
asS'inspire'
p39860
(lp39861
S'inspires'
p39862
aS'inspiring'
p39863
aS'inspired'
p39864
aS'inspired'
p39865
asS'endear'
p39866
(lp39867
S'endears'
p39868
aS'endearing'
p39869
aS'endeared'
p39870
aS'endeared'
p39871
asS'alight'
p39872
(lp39873
S'alights'
p39874
aS'alighting'
p39875
aS'alighted'
p39876
aS'alighted'
p39877
asS'reorganize'
p39878
(lp39879
S'reorganizes'
p39880
aS'reorganizing'
p39881
aS'reorganized'
p39882
aS'reorganized'
p39883
asS'queen'
p39884
(lp39885
S'queens'
p39886
aS'queening'
p39887
aS'queened'
p39888
aS'queened'
p39889
asS'skitter'
p39890
(lp39891
S'skitters'
p39892
aS'skittering'
p39893
aS'skittered'
p39894
aS'skittered'
p39895
asS'dupe'
p39896
(lp39897
S'dupes'
p39898
aS'duping'
p39899
aS'duped'
p39900
aS'duped'
p39901
asS'geometrize'
p39902
(lp39903
S'geometrizes'
p39904
aS'geometrizing'
p39905
aS'geometrized'
p39906
aS'geometrized'
p39907
asS'reissue'
p39908
(lp39909
S'reissues'
p39910
aS'reissuing'
p39911
aS'reissued'
p39912
aS'reissued'
p39913
asS'radio'
p39914
(lp39915
S'radios'
p39916
aS'radioing'
p39917
aS'radioed'
p39918
aS'radioed'
p39919
asS'drabble'
p39920
(lp39921
S'drabbles'
p39922
aS'drabbling'
p39923
aS'drabbled'
p39924
aS'drabbled'
p39925
asS'chiack'
p39926
(lp39927
S'chiacks'
p39928
aS'chiacking'
p39929
aS'chiacked'
p39930
aS'chiacked'
p39931
asS'earth'
p39932
(lp39933
S'earths'
p39934
aS'earthing'
p39935
aS'earthed'
p39936
aS'earthed'
p39937
asS'peddle'
p39938
(lp39939
S'peddles'
p39940
aS'peddling'
p39941
aS'peddled'
p39942
aS'peddled'
p39943
asS'bail'
p39944
(lp39945
S'bails'
p39946
aS'bailing'
p39947
aS'bailed'
p39948
aS'bailed'
p39949
asS'spite'
p39950
(lp39951
S'spites'
p39952
aS'spiting'
p39953
aS'spited'
p39954
aS'spited'
p39955
asS'dateline'
p39956
(lp39957
S'datelines'
p39958
aS'datelining'
p39959
aS'datelined'
p39960
aS'datelined'
p39961
asS'abjure'
p39962
(lp39963
S'abjures'
p39964
aS'abjuring'
p39965
aS'abjured'
p39966
aS'abjured'
p39967
asS'poussette'
p39968
(lp39969
S'poussettes'
p39970
aS'poussetting'
p39971
aS'poussetted'
p39972
aS'poussetted'
p39973
asS'disgust'
p39974
(lp39975
S'disgusts'
p39976
aS'disgusting'
p39977
aS'disgusted'
p39978
aS'disgusted'
p39979
asS'lodge'
p39980
(lp39981
S'lodges'
p39982
aS'lodging'
p39983
aS'lodged'
p39984
aS'lodged'
p39985
asS'announce'
p39986
(lp39987
S'announces'
p39988
aS'announcing'
p39989
aS'announced'
p39990
aS'announced'
p39991
asS'capriole'
p39992
(lp39993
S'caprioles'
p39994
aS'caprioling'
p39995
aS'caprioled'
p39996
aS'caprioled'
p39997
asS'waltz'
p39998
(lp39999
S'waltzes'
p40000
aS'waltzing'
p40001
aS'waltzed'
p40002
aS'waltzed'
p40003
asS'watch'
p40004
(lp40005
S'watches'
p40006
aS'watching'
p40007
aS'watched'
p40008
aS'watched'
p40009
asS'baffle'
p40010
(lp40011
S'baffles'
p40012
aS'baffling'
p40013
aS'baffled'
p40014
aS'baffled'
p40015
asS'oversell'
p40016
(lp40017
S'oversells'
p40018
aS'overselling'
p40019
aS'oversold'
p40020
aS'oversold'
p40021
asS'despite'
p40022
(lp40023
S'despites'
p40024
aS'despiting'
p40025
aS'despited'
p40026
aS'despited'
p40027
asS'report'
p40028
(lp40029
S'reports'
p40030
aS'reporting'
p40031
aS'reported'
p40032
aS'reported'
p40033
asS'reconstruct'
p40034
(lp40035
S'reconstructs'
p40036
aS'reconstructing'
p40037
aS'reconstructed'
p40038
aS'reconstructed'
p40039
asS'incept'
p40040
(lp40041
S'incepts'
p40042
aS'incepting'
p40043
aS'incepted'
p40044
aS'incepted'
p40045
asS'unlatch'
p40046
(lp40047
S'unlatches'
p40048
aS'unlatching'
p40049
aS'unlatched'
p40050
aS'unlatched'
p40051
asS'hospitalize'
p40052
(lp40053
S'hospitalizes'
p40054
aS'hospitalizing'
p40055
aS'hospitalized'
p40056
aS'hospitalized'
p40057
asS'peroxide'
p40058
(lp40059
S'peroxides'
p40060
aS'peroxiding'
p40061
aS'peroxided'
p40062
aS'peroxided'
p40063
asS'erupt'
p40064
(lp40065
S'erupts'
p40066
aS'erupting'
p40067
aS'erupted'
p40068
aS'erupted'
p40069
asS'disembroil'
p40070
(lp40071
S'disembroils'
p40072
aS'disembroiling'
p40073
aS'disembroiled'
p40074
aS'disembroiled'
p40075
asS'ritualize'
p40076
(lp40077
S'ritualizes'
p40078
aS'ritualizing'
p40079
aS'ritualized'
p40080
aS'ritualized'
p40081
asS'penance'
p40082
(lp40083
S'penances'
p40084
aS'penancing'
p40085
aS'penanced'
p40086
aS'penanced'
p40087
asS'bowse'
p40088
(lp40089
S'bowses'
p40090
aS'bowsing'
p40091
aS'bowsed'
p40092
aS'bowsed'
p40093
asS'pummel'
p40094
(lp40095
S'pummels'
p40096
aS'pummelling'
p40097
aS'pummelled'
p40098
aS'pummelled'
p40099
asS'habit'
p40100
(lp40101
S'habits'
p40102
aS'habiting'
p40103
aS'habited'
p40104
aS'habited'
p40105
asS'wrest'
p40106
(lp40107
S'wrests'
p40108
aS'wresting'
p40109
aS'wrested'
p40110
aS'wrested'
p40111
asS'liquor'
p40112
(lp40113
S'liquors'
p40114
aS'liquoring'
p40115
aS'liquored'
p40116
aS'liquored'
p40117
asS'preordain'
p40118
(lp40119
S'preordains'
p40120
aS'preordaining'
p40121
aS'preordained'
p40122
aS'preordained'
p40123
asS'resist'
p40124
(lp40125
S'resists'
p40126
aS'resisting'
p40127
aS'resisted'
p40128
aS'resisted'
p40129
asS'pize'
p40130
(lp40131
S'pizes'
p40132
aS'pizing'
p40133
aS'pized'
p40134
aS'pized'
p40135
asS'corrupt'
p40136
(lp40137
S'corrupts'
p40138
aS'corrupting'
p40139
aS'corrupted'
p40140
aS'corrupted'
p40141
asS'percuss'
p40142
(lp40143
S'percusses'
p40144
aS'percussing'
p40145
aS'percussed'
p40146
aS'percussed'
p40147
asS'suberize'
p40148
(lp40149
S'suberizes'
p40150
aS'suberizing'
p40151
aS'suberized'
p40152
aS'suberized'
p40153
asS'sovietize'
p40154
(lp40155
S'sovietizes'
p40156
aS'sovietizing'
p40157
aS'sovietized'
p40158
aS'sovietized'
p40159
asS'accede'
p40160
(lp40161
S'accedes'
p40162
aS'acceding'
p40163
aS'acceded'
p40164
aS'acceded'
p40165
asS'propitiate'
p40166
(lp40167
S'propitiates'
p40168
aS'propitiating'
p40169
aS'propitiated'
p40170
aS'propitiated'
p40171
asS'mud'
p40172
(lp40173
S'muds'
p40174
aS'mudding'
p40175
aS'mudded'
p40176
aS'mudded'
p40177
asS'catalogue'
p40178
(lp40179
S'catalogues'
p40180
aS'cataloguing'
p40181
aS'catalogued'
p40182
aS'catalogued'
p40183
asS'bestride'
p40184
(lp40185
S'bestrides'
p40186
aS'bestriding'
p40187
aS'bestrode'
p40188
aS'bestrode'
p40189
asS'finger'
p40190
(lp40191
S'fingers'
p40192
aS'fingering'
p40193
aS'fingered'
p40194
aS'fingered'
p40195
asS'approach'
p40196
(lp40197
S'approaches'
p40198
aS'approaching'
p40199
aS'approached'
p40200
aS'approached'
p40201
asS'drowse'
p40202
(lp40203
S'drowses'
p40204
aS'drowsing'
p40205
aS'drowsed'
p40206
aS'drowsed'
p40207
asS'liaise'
p40208
(lp40209
S'liaises'
p40210
aS'liaising'
p40211
aS'liaised'
p40212
aS'liaised'
p40213
asS'opsonize'
p40214
(lp40215
S'opsonizes'
p40216
aS'opsonizing'
p40217
aS'opsonized'
p40218
aS'opsonized'
p40219
asS'wean'
p40220
(lp40221
S'weans'
p40222
aS'weaning'
p40223
aS'weaned'
p40224
aS'weaned'
p40225
asS'aircondition'
p40226
(lp40227
S'airconditions'
p40228
aS'airconditioning'
p40229
aS'airconditioned'
p40230
aS'airconditioned'
p40231
asS'contort'
p40232
(lp40233
S'contorts'
p40234
aS'contorting'
p40235
aS'contorted'
p40236
aS'contorted'
p40237
asS'boss'
p40238
(lp40239
S'bosses'
p40240
aS'bossing'
p40241
aS'bossed'
p40242
aS'bossed'
p40243
asS'rime'
p40244
(lp40245
S'rimes'
p40246
aS'riming'
p40247
aS'rimed'
p40248
aS'rimed'
p40249
asS'devour'
p40250
(lp40251
S'devours'
p40252
aS'devouring'
p40253
aS'devoured'
p40254
aS'devoured'
p40255
asS'wear'
p40256
(lp40257
S'wears'
p40258
aS'wearing'
p40259
aS'wore'
p40260
aS'worn'
p40261
asS'incross'
p40262
(lp40263
S'incrosses'
p40264
aS'incrossing'
p40265
aS'incrossed'
p40266
aS'incrossed'
p40267
asS'improve'
p40268
(lp40269
S'improves'
p40270
aS'improving'
p40271
aS'improved'
p40272
aS'improved'
p40273
asS'circumvallate'
p40274
(lp40275
S'circumvallates'
p40276
aS'circumvallating'
p40277
aS'circumvallated'
p40278
aS'circumvallated'
p40279
asS'free-wheel'
p40280
(lp40281
S'free-wheels'
p40282
ag12401
ag12402
aS'free-wheeled'
p40283
asS'fault'
p40284
(lp40285
S'faults'
p40286
aS'faulting'
p40287
aS'faulted'
p40288
aS'faulted'
p40289
asS'reconnoitre'
p40290
(lp40291
S'reconnoitres'
p40292
aS'reconnoitring'
p40293
aS'reconnoitred'
p40294
aS'reconnoitred'
p40295
asS'jelly'
p40296
(lp40297
S'jellies'
p40298
aS'jellying'
p40299
aS'jellied'
p40300
aS'jellied'
p40301
asS'disengage'
p40302
(lp40303
S'disengages'
p40304
aS'disengaging'
p40305
aS'disengaged'
p40306
aS'disengaged'
p40307
asS'tattle'
p40308
(lp40309
S'tattles'
p40310
aS'tattling'
p40311
aS'tattled'
p40312
aS'tattled'
p40313
asS'expense'
p40314
(lp40315
S'expenses'
p40316
aS'expensing'
p40317
aS'expensed'
p40318
aS'expensed'
p40319
asS'stipple'
p40320
(lp40321
S'stipples'
p40322
aS'stippling'
p40323
aS'stippled'
p40324
aS'stippled'
p40325
asS'josh'
p40326
(lp40327
S'joshes'
p40328
aS'joshing'
p40329
aS'joshed'
p40330
aS'joshed'
p40331
asS'inactivate'
p40332
(lp40333
S'inactivates'
p40334
aS'inactivating'
p40335
aS'inactivated'
p40336
aS'inactivated'
p40337
asS'trust'
p40338
(lp40339
S'trusts'
p40340
aS'trusting'
p40341
aS'trusted'
p40342
aS'trusted'
p40343
asS'truss'
p40344
(lp40345
S'trusses'
p40346
aS'trussing'
p40347
aS'trussed'
p40348
aS'trussed'
p40349
asS'beef'
p40350
(lp40351
S'beefs'
p40352
aS'beefing'
p40353
aS'beefed'
p40354
aS'beefed'
p40355
asS'tyrannize'
p40356
(lp40357
S'tyrannizes'
p40358
aS'tyrannizing'
p40359
aS'tyrannized'
p40360
aS'tyrannized'
p40361
asS'unsphere'
p40362
(lp40363
S'unspheres'
p40364
aS'unsphering'
p40365
aS'unsphered'
p40366
aS'unsphered'
p40367
asS'beep'
p40368
(lp40369
S'beeps'
p40370
aS'beeping'
p40371
aS'beeped'
p40372
aS'beeped'
p40373
asS'brutify'
p40374
(lp40375
S'brutifies'
p40376
aS'brutifying'
p40377
aS'brutified'
p40378
aS'brutified'
p40379
asS'loft'
p40380
(lp40381
S'lofts'
p40382
aS'lofting'
p40383
aS'lofted'
p40384
aS'lofted'
p40385
asS'steamroller'
p40386
(lp40387
sS'craft'
p40388
(lp40389
S'crafts'
p40390
aS'crafting'
p40391
aS'crafted'
p40392
aS'crafted'
p40393
asS'chase'
p40394
(lp40395
S'chases'
p40396
aS'chasing'
p40397
aS'chased'
p40398
aS'chased'
p40399
asS'catch'
p40400
(lp40401
S'catches'
p40402
aS'catching'
p40403
aS'caught'
p40404
aS'caught'
p40405
asS'proselytize'
p40406
(lp40407
S'proselytizes'
p40408
aS'proselytizing'
p40409
aS'proselytized'
p40410
aS'proselytized'
p40411
asS'sallow'
p40412
(lp40413
S'sallows'
p40414
aS'sallowing'
p40415
aS'sallowed'
p40416
aS'sallowed'
p40417
asS'rattoon'
p40418
(lp40419
sS'schlep'
p40420
(lp40421
S'schleps'
p40422
aS'schlepping'
p40423
aS'schlepped'
p40424
aS'schlepped'
p40425
asS'lessen'
p40426
(lp40427
S'lessens'
p40428
aS'lessening'
p40429
aS'lessened'
p40430
aS'lessened'
p40431
asS'fallow'
p40432
(lp40433
S'fallows'
p40434
aS'fallowing'
p40435
aS'fallowed'
p40436
aS'fallowed'
p40437
asS'zindabad'
p40438
(lp40439
S'zindabads'
p40440
aS'zindabading'
p40441
aS'zindabaded'
p40442
aS'zindabaded'
p40443
asS'subjugate'
p40444
(lp40445
S'subjugates'
p40446
aS'subjugating'
p40447
aS'subjugated'
p40448
aS'subjugated'
p40449
asS'precede'
p40450
(lp40451
S'precedes'
p40452
aS'preceding'
p40453
aS'preceded'
p40454
aS'preceded'
p40455
asS'pyramid'
p40456
(lp40457
S'pyramids'
p40458
aS'pyramiding'
p40459
aS'pyramided'
p40460
aS'pyramided'
p40461
asS'untuck'
p40462
(lp40463
S'untucks'
p40464
aS'untucking'
p40465
aS'untucked'
p40466
aS'untucked'
p40467
asS'chyack'
p40468
(lp40469
S'chyacks'
p40470
aS'chyacking'
p40471
aS'chyacked'
p40472
aS'chyacked'
p40473
asS'descant'
p40474
(lp40475
S'descants'
p40476
aS'descanting'
p40477
aS'descanted'
p40478
aS'descanted'
p40479
asS'comminute'
p40480
(lp40481
S'comminutes'
p40482
aS'comminuting'
p40483
aS'comminuted'
p40484
aS'comminuted'
p40485
asS'tease'
p40486
(lp40487
S'teases'
p40488
aS'teasing'
p40489
aS'teased'
p40490
aS'teased'
p40491
asS'rough-house'
p40492
(lp40493
S'rough-houses'
p40494
aS'rough-housing'
p40495
ag36845
aS'rough-housed'
p40496
asS'surcharge'
p40497
(lp40498
S'surcharges'
p40499
aS'surcharging'
p40500
aS'surcharged'
p40501
aS'surcharged'
p40502
asS'suggest'
p40503
(lp40504
S'suggests'
p40505
aS'suggesting'
p40506
aS'suggested'
p40507
aS'suggested'
p40508
asS'outface'
p40509
(lp40510
S'outfaces'
p40511
aS'outfacing'
p40512
aS'outfaced'
p40513
aS'outfaced'
p40514
asS'inventory'
p40515
(lp40516
S'inventories'
p40517
aS'inventorying'
p40518
aS'inventoried'
p40519
aS'inventoried'
p40520
asS'esquire'
p40521
(lp40522
S'esquires'
p40523
aS'esquiring'
p40524
aS'esquired'
p40525
aS'esquired'
p40526
asS'welsh'
p40527
(lp40528
S'welshes'
p40529
aS'welshing'
p40530
aS'welshed'
p40531
aS'welshed'
p40532
asS'deflect'
p40533
(lp40534
S'deflects'
p40535
aS'deflecting'
p40536
aS'deflected'
p40537
aS'deflected'
p40538
asS'cycle'
p40539
(lp40540
S'cycles'
p40541
aS'cycling'
p40542
aS'cycled'
p40543
aS'cycled'
p40544
asS'dado'
p40545
(lp40546
S'dados'
p40547
aS'dadoing'
p40548
aS'dadoed'
p40549
aS'dadoed'
p40550
asS'specialize'
p40551
(lp40552
S'specializes'
p40553
aS'specializing'
p40554
aS'specialized'
p40555
aS'specialized'
p40556
asS'ruralize'
p40557
(lp40558
S'ruralizes'
p40559
aS'ruralizing'
p40560
aS'ruralized'
p40561
aS'ruralized'
p40562
asS'doff'
p40563
(lp40564
S'doffs'
p40565
aS'doffing'
p40566
aS'doffed'
p40567
aS'doffed'
p40568
asS'mother'
p40569
(lp40570
S'mothers'
p40571
aS'mothering'
p40572
aS'mothered'
p40573
aS'mothered'
p40574
asS'dissimulate'
p40575
(lp40576
S'dissimulates'
p40577
aS'dissimulating'
p40578
aS'dissimulated'
p40579
aS'dissimulated'
p40580
asS'jook'
p40581
(lp40582
S'jooks'
p40583
aS'jooking'
p40584
aS'jooked'
p40585
aS'jooked'
p40586
asS'bugger'
p40587
(lp40588
S'buggers'
p40589
aS'buggering'
p40590
aS'buggered'
p40591
aS'buggered'
p40592
asS'appease'
p40593
(lp40594
S'appeases'
p40595
aS'appeasing'
p40596
aS'appeased'
p40597
aS'appeased'
p40598
asS'goffer'
p40599
(lp40600
S'goffers'
p40601
aS'goffering'
p40602
aS'goffered'
p40603
aS'goffered'
p40604
asS'bruise'
p40605
(lp40606
S'bruises'
p40607
aS'bruising'
p40608
aS'bruised'
p40609
aS'bruised'
p40610
asS'exuberate'
p40611
(lp40612
S'exuberates'
p40613
aS'exuberating'
p40614
aS'exuberated'
p40615
aS'exuberated'
p40616
asS'ingeminate'
p40617
(lp40618
S'ingeminates'
p40619
aS'ingeminating'
p40620
aS'ingeminated'
p40621
aS'ingeminated'
p40622
asS'modulate'
p40623
(lp40624
S'modulates'
p40625
aS'modulating'
p40626
aS'modulated'
p40627
aS'modulated'
p40628
asS'enlighten'
p40629
(lp40630
S'enlightens'
p40631
aS'enlightening'
p40632
aS'enlightened'
p40633
aS'enlightened'
p40634
asS'fathom'
p40635
(lp40636
S'fathoms'
p40637
aS'fathoming'
p40638
aS'fathomed'
p40639
aS'fathomed'
p40640
asS'reject'
p40641
(lp40642
S'rejects'
p40643
aS'rejecting'
p40644
aS'rejected'
p40645
aS'rejected'
p40646
asS'scruple'
p40647
(lp40648
S'scruples'
p40649
aS'scrupling'
p40650
aS'scrupled'
p40651
aS'scrupled'
p40652
asS'evaginate'
p40653
(lp40654
S'evaginates'
p40655
aS'evaginating'
p40656
aS'evaginated'
p40657
aS'evaginated'
p40658
asS'overemphasize'
p40659
(lp40660
S'overemphasizes'
p40661
aS'overemphasizing'
p40662
aS'overemphasized'
p40663
aS'overemphasized'
p40664
asS'misprint'
p40665
(lp40666
S'misprints'
p40667
aS'misprinting'
p40668
aS'misprinted'
p40669
aS'misprinted'
p40670
asS'overcapitalize'
p40671
(lp40672
S'overcapitalizes'
p40673
aS'overcapitalizing'
p40674
aS'overcapitalized'
p40675
aS'overcapitalized'
p40676
asS'bandy'
p40677
(lp40678
S'bandies'
p40679
aS'bandying'
p40680
aS'bandied'
p40681
aS'bandied'
p40682
asS'barrel-roll'
p40683
(lp40684
S'barrel-rolls'
p40685
aS'barrel-rolling'
p40686
aS'barrel-rolled'
p40687
aS'barrel-rolled'
p40688
asS'belabour'
p40689
(lp40690
S'belabours'
p40691
aS'belabouring'
p40692
aS'belaboured'
p40693
aS'belaboured'
p40694
asS'regelate'
p40695
(lp40696
S'regelates'
p40697
aS'regelating'
p40698
aS'regelated'
p40699
aS'regelated'
p40700
asS'swingle'
p40701
(lp40702
S'swingles'
p40703
aS'swingling'
p40704
aS'swingled'
p40705
aS'swingled'
p40706
asS'terrorize'
p40707
(lp40708
S'terrorizes'
p40709
aS'terrorizing'
p40710
aS'terrorized'
p40711
aS'terrorized'
p40712
asS'upturn'
p40713
(lp40714
S'upturns'
p40715
aS'upturning'
p40716
aS'upturned'
p40717
aS'upturned'
p40718
asS'dismount'
p40719
(lp40720
S'dismounts'
p40721
aS'dismounting'
p40722
aS'dismounted'
p40723
aS'dismounted'
p40724
asS'pur_ee'
p40725
(lp40726
S'pur_ees'
p40727
aS'pur_eeing'
p40728
aS'pur_eed'
p40729
aS'pur_eed'
p40730
asS'Nazify'
p40731
(lp40732
S'Nazifies'
p40733
aS'Nazifying'
p40734
aS'Nazified'
p40735
aS'Nazified'
p40736
asS'reapportion'
p40737
(lp40738
S'reapportions'
p40739
aS'reapportioning'
p40740
aS'reapportioned'
p40741
aS'reapportioned'
p40742
asS'judge'
p40743
(lp40744
S'judges'
p40745
aS'judging'
p40746
aS'judged'
p40747
aS'judged'
p40748
asS'befit'
p40749
(lp40750
S'befits'
p40751
aS'befitting'
p40752
aS'befitted'
p40753
aS'befitted'
p40754
asS'twotime'
p40755
(lp40756
S'twotimes'
p40757
aS'twotiming'
p40758
aS'twotimed'
p40759
aS'twotimed'
p40760
asS'pectize'
p40761
(lp40762
S'pectizes'
p40763
aS'pectizing'
p40764
aS'pectized'
p40765
aS'pectized'
p40766
asS'ditto'
p40767
(lp40768
S'dittos'
p40769
aS'dittoing'
p40770
aS'dittoed'
p40771
aS'dittoed'
p40772
asS'gift'
p40773
(lp40774
S'gifts'
p40775
aS'gifting'
p40776
aS'gifted'
p40777
aS'gifted'
p40778
asS'contradict'
p40779
(lp40780
S'contradicts'
p40781
aS'contradicting'
p40782
aS'contradicted'
p40783
aS'contradicted'
p40784
asS'force-land'
p40785
(lp40786
S'force-lands'
p40787
aS'force-landing'
p40788
aS'force-landed'
p40789
aS'force-landed'
p40790
asS'zoom'
p40791
(lp40792
S'zooms'
p40793
aS'zooming'
p40794
aS'zoomed'
p40795
aS'zoomed'
p40796
asS'officer'
p40797
(lp40798
S'officers'
p40799
aS'officering'
p40800
aS'officered'
p40801
aS'officered'
p40802
asS'eyelet'
p40803
(lp40804
S'eyelets'
p40805
aS'eyeleting'
p40806
aS'eyeleted'
p40807
aS'eyeleted'
p40808
asS'forerun'
p40809
(lp40810
S'foreruns'
p40811
aS'forerunning'
p40812
aS'foreran'
p40813
aS'forerun'
p40814
asS'anastomose'
p40815
(lp40816
S'anastomoses'
p40817
aS'anastomosing'
p40818
aS'anastomosed'
p40819
aS'anastomosed'
p40820
asS'hunt'
p40821
(lp40822
S'hunts'
p40823
aS'hunting'
p40824
aS'hunted'
p40825
aS'hunted'
p40826
asS'envision'
p40827
(lp40828
S'envisions'
p40829
aS'envisioning'
p40830
aS'envisioned'
p40831
aS'envisioned'
p40832
asS'stereotype'
p40833
(lp40834
S'stereotypes'
p40835
aS'stereotyping'
p40836
aS'stereotyped'
p40837
aS'stereotyped'
p40838
asS'excerpt'
p40839
(lp40840
S'excerpts'
p40841
aS'excerpting'
p40842
aS'excerpted'
p40843
aS'excerpted'
p40844
asS'sponge'
p40845
(lp40846
S'sponges'
p40847
aS'sponging'
p40848
aS'sponged'
p40849
aS'sponged'
p40850
asS'accost'
p40851
(lp40852
S'accosts'
p40853
aS'accosting'
p40854
aS'accosted'
p40855
aS'accosted'
p40856
asS'scrabble'
p40857
(lp40858
S'scrabbles'
p40859
aS'scrabbling'
p40860
aS'scrabbled'
p40861
aS'scrabbled'
p40862
asS'displeasure'
p40863
(lp40864
S'displeasures'
p40865
aS'displeasuring'
p40866
aS'displeasured'
p40867
aS'displeasured'
p40868
asS'escape'
p40869
(lp40870
S'escapes'
p40871
ag10601
ag10602
ag10603
asS'manducate'
p40872
(lp40873
S'manducates'
p40874
aS'manducating'
p40875
aS'manducated'
p40876
aS'manducated'
p40877
asS'totter'
p40878
(lp40879
S'totters'
p40880
aS'tottering'
p40881
aS'tottered'
p40882
aS'tottered'
p40883
asS'cooper'
p40884
(lp40885
S'coopers'
p40886
aS'coopering'
p40887
aS'coopered'
p40888
aS'coopered'
p40889
asS'combat'
p40890
(lp40891
S'combats'
p40892
aS'combating'
p40893
aS'combated'
p40894
aS'combated'
p40895
asS'establish'
p40896
(lp40897
S'establishes'
p40898
aS'establishing'
p40899
aS'established'
p40900
aS'established'
p40901
asS'aluminize'
p40902
(lp40903
S'aluminizes'
p40904
aS'aluminizing'
p40905
aS'aluminized'
p40906
aS'aluminized'
p40907
asS'reinvest'
p40908
(lp40909
S'reinvests'
p40910
aS'reinvesting'
p40911
aS'reinvested'
p40912
aS'reinvested'
p40913
asS'ice'
p40914
(lp40915
S'ices'
p40916
aS'icing'
p40917
aS'iced'
p40918
aS'iced'
p40919
asS'backspace'
p40920
(lp40921
S'backspaces'
p40922
aS'backspacing'
p40923
aS'backspaced'
p40924
aS'backspaced'
p40925
asS'allocate'
p40926
(lp40927
S'allocates'
p40928
aS'allocating'
p40929
aS'allocated'
p40930
aS'allocated'
p40931
asS'convict'
p40932
(lp40933
S'convicts'
p40934
aS'convicting'
p40935
aS'convicted'
p40936
aS'convicted'
p40937
asS'faff'
p40938
(lp40939
S'faffs'
p40940
aS'faffing'
p40941
aS'faffed'
p40942
aS'faffed'
p40943
asS'cord'
p40944
(lp40945
S'cords'
p40946
aS'cording'
p40947
aS'corded'
p40948
aS'corded'
p40949
asS'core'
p40950
(lp40951
S'cores'
p40952
aS'coring'
p40953
aS'cored'
p40954
aS'cored'
p40955
asS'damask'
p40956
(lp40957
S'damasks'
p40958
aS'damasking'
p40959
aS'damasked'
p40960
aS'damasked'
p40961
asS'brawl'
p40962
(lp40963
S'brawls'
p40964
aS'brawling'
p40965
aS'brawled'
p40966
aS'brawled'
p40967
asS'corn'
p40968
(lp40969
S'corns'
p40970
aS'corning'
p40971
aS'corned'
p40972
aS'corned'
p40973
asS'bromate'
p40974
(lp40975
S'bromates'
p40976
aS'bromating'
p40977
aS'bromated'
p40978
aS'bromated'
p40979
asS'enunciate'
p40980
(lp40981
S'enunciates'
p40982
aS'enunciating'
p40983
aS'enunciated'
p40984
aS'enunciated'
p40985
asS'cork'
p40986
(lp40987
S'corks'
p40988
aS'corking'
p40989
aS'corked'
p40990
aS'corked'
p40991
asS'discount'
p40992
(lp40993
S'discounts'
p40994
aS'discounting'
p40995
aS'discounted'
p40996
aS'discounted'
p40997
asS'stooge'
p40998
(lp40999
S'stooges'
p41000
aS'stooging'
p41001
aS'stooged'
p41002
aS'stooged'
p41003
asS'shuck'
p41004
(lp41005
S'shucks'
p41006
aS'shucking'
p41007
aS'shucked'
p41008
aS'shucked'
p41009
asS'garnishee'
p41010
(lp41011
S'garnishees'
p41012
aS'garnisheeing'
p41013
aS'garnisheed'
p41014
aS'garnisheed'
p41015
asS'chapter'
p41016
(lp41017
S'chapters'
p41018
aS'chaptering'
p41019
aS'chaptered'
p41020
aS'chaptered'
p41021
asS'yawp'
p41022
(lp41023
S'yawps'
p41024
aS'yawping'
p41025
aS'yawped'
p41026
aS'yawped'
p41027
asS'choke'
p41028
(lp41029
S'chokes'
p41030
aS'choking'
p41031
aS'choked'
p41032
aS'choked'
p41033
asS'enshroud'
p41034
(lp41035
S'enshrouds'
p41036
aS'enshrouding'
p41037
aS'enshrouded'
p41038
aS'enshrouded'
p41039
asS'caulk'
p41040
(lp41041
S'caulks'
p41042
aS'caulking'
p41043
aS'caulked'
p41044
aS'caulked'
p41045
asS'hyperbolize'
p41046
(lp41047
S'hyperbolizes'
p41048
aS'hyperbolizing'
p41049
aS'hyperbolized'
p41050
aS'hyperbolized'
p41051
asS'inveigh'
p41052
(lp41053
S'inveighs'
p41054
aS'inveighing'
p41055
aS'inveighed'
p41056
aS'inveighed'
p41057
asS'twitch'
p41058
(lp41059
S'twitches'
p41060
aS'twitching'
p41061
aS'twitched'
p41062
aS'twitched'
p41063
asS'curry'
p41064
(lp41065
S'curries'
p41066
aS'currying'
p41067
aS'curried'
p41068
aS'curried'
p41069
asS'blabber'
p41070
(lp41071
S'blabbers'
p41072
aS'blabbering'
p41073
aS'blabbered'
p41074
aS'blabbered'
p41075
asS'decimalize'
p41076
(lp41077
S'decimalizes'
p41078
aS'decimalizing'
p41079
aS'decimalized'
p41080
aS'decimalized'
p41081
asS'bate'
p41082
(lp41083
S'bates'
p41084
aS'bating'
p41085
aS'bated'
p41086
aS'bated'
p41087
asS'disaffiliate'
p41088
(lp41089
S'disaffiliates'
p41090
aS'disaffiliating'
p41091
aS'disaffiliated'
p41092
aS'disaffiliated'
p41093
asS'pronate'
p41094
(lp41095
S'pronates'
p41096
aS'pronating'
p41097
aS'pronated'
p41098
aS'pronated'
p41099
asS'puzzle'
p41100
(lp41101
S'puzzles'
p41102
aS'puzzling'
p41103
aS'puzzled'
p41104
aS'puzzled'
p41105
asS'bath'
p41106
(lp41107
S'baths'
p41108
ag30889
ag30890
asS'accommodate'
p41109
(lp41110
S'accommodates'
p41111
aS'accommodating'
p41112
aS'accommodated'
p41113
aS'accommodated'
p41114
asS'emigrate'
p41115
(lp41116
S'emigrates'
p41117
aS'emigrating'
p41118
aS'emigrated'
p41119
aS'emigrated'
p41120
asS'rely'
p41121
(lp41122
S'relies'
p41123
aS'relying'
p41124
aS'relied'
p41125
aS'relied'
p41126
asS'deflagrate'
p41127
(lp41128
S'deflagrates'
p41129
aS'deflagrating'
p41130
aS'deflagrated'
p41131
aS'deflagrated'
p41132
asS'disinterest'
p41133
(lp41134
S'disinterests'
p41135
aS'disinteresting'
p41136
aS'disinterested'
p41137
aS'disinterested'
p41138
asS'scamper'
p41139
(lp41140
S'scampers'
p41141
aS'scampering'
p41142
aS'scampered'
p41143
aS'scampered'
p41144
asS'transform'
p41145
(lp41146
S'transforms'
p41147
aS'transforming'
p41148
aS'transformed'
p41149
aS'transformed'
p41150
asS'gig'
p41151
(lp41152
S'gigs'
p41153
aS'gigging'
p41154
aS'gigged'
p41155
aS'gigged'
p41156
asS'gie'
p41157
(lp41158
S'gies'
p41159
aS'gying'
p41160
aS'gied'
p41161
aS'gied'
p41162
asS'pamphleteer'
p41163
(lp41164
S'pamphleteers'
p41165
aS'pamphleteering'
p41166
aS'pamphleteered'
p41167
aS'pamphleteered'
p41168
asS'gib'
p41169
(lp41170
S'gibs'
p41171
aS'gibbing'
p41172
aS'gibbed'
p41173
aS'gibbed'
p41174
asS'gin'
p41175
(lp41176
S'gins'
p41177
aS'ginning'
p41178
aS'ginned'
p41179
aS'ginned'
p41180
asS'head'
p41181
(lp41182
S'heads'
p41183
aS'heading'
p41184
aS'headed'
p41185
aS'headed'
p41186
asS'heal'
p41187
(lp41188
S'heals'
p41189
aS'healing'
p41190
aS'healed'
p41191
aS'healed'
p41192
asS'deny'
p41193
(lp41194
S'denies'
p41195
aS'denying'
p41196
aS'denied'
p41197
aS'denied'
p41198
asS'wireless'
p41199
(lp41200
S'wirelesses'
p41201
aS'wirelessing'
p41202
aS'wirelessed'
p41203
aS'wirelessed'
p41204
asS'heat'
p41205
(lp41206
S'heats'
p41207
aS'heating'
p41208
aS'het'
p41209
aS'het'
p41210
asS'hear'
p41211
(lp41212
S'hears'
p41213
aS'hearing'
p41214
aS'heard'
p41215
aS'heard'
p41216
asS'outfox'
p41217
(lp41218
S'outfoxes'
p41219
aS'outfoxing'
p41220
aS'outfoxed'
p41221
aS'outfoxed'
p41222
asS'heap'
p41223
(lp41224
S'heaps'
p41225
aS'heaping'
p41226
aS'heaped'
p41227
aS'heaped'
p41228
asS'choreograph'
p41229
(lp41230
S'choreographs'
p41231
aS'choreographing'
p41232
aS'choreographed'
p41233
aS'choreographed'
p41234
asS'humiliate'
p41235
(lp41236
S'humiliates'
p41237
aS'humiliating'
p41238
aS'humiliated'
p41239
aS'humiliated'
p41240
asS'counsel'
p41241
(lp41242
S'counsels'
p41243
aS'counselling'
p41244
aS'counselled'
p41245
aS'counselled'
p41246
asS'flavour'
p41247
(lp41248
S'flavours'
p41249
aS'flavouring'
p41250
aS'flavoured'
p41251
aS'flavoured'
p41252
asS'muster'
p41253
(lp41254
S'musters'
p41255
aS'mustering'
p41256
aS'mustered'
p41257
aS'mustered'
p41258
asS'unpin'
p41259
(lp41260
S'unpins'
p41261
aS'unpinning'
p41262
aS'unpinned'
p41263
aS'unpinned'
p41264
asS'bargain'
p41265
(lp41266
S'bargains'
p41267
aS'bargaining'
p41268
aS'bargained'
p41269
aS'bargained'
p41270
asS'retire'
p41271
(lp41272
S'retires'
p41273
aS'retiring'
p41274
aS'retired'
p41275
aS'retired'
p41276
asS'adore'
p41277
(lp41278
S'adores'
p41279
aS'adoring'
p41280
aS'adored'
p41281
aS'adored'
p41282
asS'decorate'
p41283
(lp41284
S'decorates'
p41285
aS'decorating'
p41286
aS'decorated'
p41287
aS'decorated'
p41288
asS'sling'
p41289
(lp41290
S'slings'
p41291
aS'slinging'
p41292
aS'slung'
p41293
aS'slung'
p41294
asS'usher'
p41295
(lp41296
S'ushers'
p41297
aS'ushering'
p41298
aS'ushered'
p41299
aS'ushered'
p41300
asS'bide'
p41301
(lp41302
S'bides'
p41303
aS'biding'
p41304
aS'bided'
p41305
aS'bided'
p41306
asS'latch'
p41307
(lp41308
S'latches'
p41309
aS'latching'
p41310
aS'latched'
p41311
aS'latched'
p41312
asS'adorn'
p41313
(lp41314
S'adorns'
p41315
aS'adorning'
p41316
aS'adorned'
p41317
aS'adorned'
p41318
asS'trim'
p41319
(lp41320
S'trims'
p41321
aS'trimming'
p41322
aS'trimmed'
p41323
aS'trimmed'
p41324
asS'forearm'
p41325
(lp41326
S'forearms'
p41327
aS'forearming'
p41328
aS'forearmed'
p41329
aS'forearmed'
p41330
asS'trig'
p41331
(lp41332
S'trigs'
p41333
aS'trigging'
p41334
aS'trigged'
p41335
aS'trigged'
p41336
asS'decrypt'
p41337
(lp41338
S'decrypts'
p41339
aS'decrypting'
p41340
aS'decrypted'
p41341
aS'decrypted'
p41342
asS'depone'
p41343
(lp41344
S'depones'
p41345
aS'deponing'
p41346
aS'deponed'
p41347
aS'deponed'
p41348
asS'effervesce'
p41349
(lp41350
S'effervesces'
p41351
aS'effervescing'
p41352
aS'effervesced'
p41353
aS'effervesced'
p41354
asS'reenter'
p41355
(lp41356
S'reenters'
p41357
aS'reentering'
p41358
aS'reentered'
p41359
aS'reentered'
p41360
asS'check'
p41361
(lp41362
S'checks'
p41363
aS'checking'
p41364
aS'checked'
p41365
aS'checked'
p41366
asS'approbate'
p41367
(lp41368
S'approbates'
p41369
aS'approbating'
p41370
aS'approbated'
p41371
aS'approbated'
p41372
asS'salify'
p41373
(lp41374
S'salifies'
p41375
aS'salifying'
p41376
aS'salified'
p41377
aS'salified'
p41378
asS'inspissate'
p41379
(lp41380
S'inspissates'
p41381
aS'inspissating'
p41382
aS'inspissated'
p41383
aS'inspissated'
p41384
asS'tip'
p41385
(lp41386
S'tips'
p41387
aS'tipping'
p41388
aS'tipped'
p41389
aS'tipped'
p41390
asS'foozle'
p41391
(lp41392
S'foozles'
p41393
aS'foozling'
p41394
aS'foozled'
p41395
aS'foozled'
p41396
asS'piffle'
p41397
(lp41398
S'piffles'
p41399
aS'piffling'
p41400
aS'piffled'
p41401
aS'piffled'
p41402
asS'sulphurize'
p41403
(lp41404
S'sulphurizes'
p41405
aS'sulphurizing'
p41406
aS'sulphurized'
p41407
aS'sulphurized'
p41408
asS'overbid'
p41409
(lp41410
S'overbids'
p41411
aS'overbidding'
p41412
aS'overbid'
p41413
aS'overbidden'
p41414
asS'tin'
p41415
(lp41416
S'tins'
p41417
aS'tinning'
p41418
aS'tinned'
p41419
aS'tinned'
p41420
asS'disarticulate'
p41421
(lp41422
S'disarticulates'
p41423
aS'disarticulating'
p41424
aS'disarticulated'
p41425
aS'disarticulated'
p41426
asS'whet'
p41427
(lp41428
S'whets'
p41429
aS'whetting'
p41430
aS'whetted'
p41431
aS'whetted'
p41432
asS'signpost'
p41433
(lp41434
S'signposts'
p41435
aS'signposting'
p41436
aS'signposted'
p41437
aS'signposted'
p41438
asS'formalize'
p41439
(lp41440
S'formalizes'
p41441
aS'formalizing'
p41442
aS'formalized'
p41443
aS'formalized'
p41444
asS'tie'
p41445
(lp41446
S'ties'
p41447
aS'tying'
p41448
aS'tied'
p41449
aS'tied'
p41450
asS'implant'
p41451
(lp41452
S'implants'
p41453
aS'implanting'
p41454
aS'implanted'
p41455
aS'implanted'
p41456
asS'picture'
p41457
(lp41458
S'pictures'
p41459
aS'picturing'
p41460
aS'pictured'
p41461
aS'pictured'
p41462
asS'reconsider'
p41463
(lp41464
S'reconsiders'
p41465
aS'reconsidering'
p41466
aS'reconsidered'
p41467
aS'reconsidered'
p41468
asS'congratulate'
p41469
(lp41470
S'congratulates'
p41471
aS'congratulating'
p41472
aS'congratulated'
p41473
aS'congratulated'
p41474
asS'liquidate'
p41475
(lp41476
S'liquidates'
p41477
aS'liquidating'
p41478
aS'liquidated'
p41479
aS'liquidated'
p41480
asS'benefice'
p41481
(lp41482
S'benefices'
p41483
aS'beneficing'
p41484
aS'beneficed'
p41485
aS'beneficed'
p41486
asS'discharge'
p41487
(lp41488
S'discharges'
p41489
aS'discharging'
p41490
aS'discharged'
p41491
aS'discharged'
p41492
asS'firecure'
p41493
(lp41494
S'firecures'
p41495
aS'firecuring'
p41496
aS'firecured'
p41497
aS'firecured'
p41498
asS'ululate'
p41499
(lp41500
S'ululates'
p41501
aS'ululating'
p41502
aS'ululated'
p41503
aS'ululated'
p41504
asS'yacht'
p41505
(lp41506
S'yachts'
p41507
aS'yachting'
p41508
aS'yachted'
p41509
aS'yachted'
p41510
asS'withhold'
p41511
(lp41512
S'withholds'
p41513
aS'withholding'
p41514
aS'withheld'
p41515
aS'withheld'
p41516
asS'fasten'
p41517
(lp41518
S'fastens'
p41519
aS'fastening'
p41520
aS'fastened'
p41521
aS'fastened'
p41522
asS'coach'
p41523
(lp41524
S'coachs'
p41525
aS'coaching'
p41526
aS'coached'
p41527
aS'coached'
p41528
asS'dispirit'
p41529
(lp41530
S'dispirits'
p41531
aS'dispiriting'
p41532
aS'dispirited'
p41533
aS'dispirited'
p41534
asS'emblemize'
p41535
(lp41536
S'emblemizes'
p41537
aS'emblemizing'
p41538
aS'emblemized'
p41539
aS'emblemized'
p41540
asS'rob'
p41541
(lp41542
S'robs'
p41543
aS'robbing'
p41544
aS'robbed'
p41545
aS'robbed'
p41546
asS'focus'
p41547
(lp41548
S'focuses'
p41549
aS'focussing'
p41550
aS'focussed'
p41551
aS'focussed'
p41552
asS'hocuspocus'
p41553
(lp41554
S'hocuspocuses'
p41555
aS'hocuspocussing'
p41556
aS'hocuspocussed'
p41557
aS'hocuspocussed'
p41558
asS'obviate'
p41559
(lp41560
S'obviates'
p41561
aS'obviating'
p41562
aS'obviated'
p41563
aS'obviated'
p41564
asS'snip'
p41565
(lp41566
S'snips'
p41567
aS'snipping'
p41568
aS'snipped'
p41569
aS'snipped'
p41570
asS'rot'
p41571
(lp41572
S'rots'
p41573
aS'rotting'
p41574
aS'rotted'
p41575
aS'rotted'
p41576
asS'empathize'
p41577
(lp41578
S'empathizes'
p41579
aS'empathizing'
p41580
aS'empathized'
p41581
aS'empathized'
p41582
asS'catenate'
p41583
(lp41584
S'catenates'
p41585
aS'catenating'
p41586
aS'catenated'
p41587
aS'catenated'
p41588
asS'passage'
p41589
(lp41590
S'passages'
p41591
aS'passaging'
p41592
aS'passaged'
p41593
aS'passaged'
p41594
asS'charge'
p41595
(lp41596
S'charges'
p41597
aS'charging'
p41598
aS'charged'
p41599
aS'charged'
p41600
asS'quash'
p41601
(lp41602
S'quashes'
p41603
aS'quashing'
p41604
aS'quashed'
p41605
aS'quashed'
p41606
asS'wimble'
p41607
(lp41608
S'wimbles'
p41609
aS'wimbling'
p41610
aS'wimbled'
p41611
aS'wimbled'
p41612
asS'assoil'
p41613
(lp41614
S'assoils'
p41615
aS'assoiling'
p41616
aS'assoiled'
p41617
aS'assoiled'
p41618
asS'coop'
p41619
(lp41620
S'coops'
p41621
aS'cooping'
p41622
aS'cooped'
p41623
aS'cooped'
p41624
asS'advantage'
p41625
(lp41626
S'advantages'
p41627
aS'advantaging'
p41628
aS'advantaged'
p41629
aS'advantaged'
p41630
asS'cantilever'
p41631
(lp41632
S'cantilevers'
p41633
aS'cantilevering'
p41634
aS'cantilevered'
p41635
aS'cantilevered'
p41636
asS'underpay'
p41637
(lp41638
S'underpays'
p41639
aS'underpaying'
p41640
aS'underpaid'
p41641
aS'underpaid'
p41642
asS'airlift'
p41643
(lp41644
S'airlifts'
p41645
aS'airlifting'
p41646
aS'airlifted'
p41647
aS'airlifted'
p41648
asS'gravitate'
p41649
(lp41650
S'gravitates'
p41651
aS'gravitating'
p41652
aS'gravitated'
p41653
aS'gravitated'
p41654
asS'convoke'
p41655
(lp41656
S'convokes'
p41657
aS'convoking'
p41658
aS'convoked'
p41659
aS'convoked'
p41660
asS'masturbate'
p41661
(lp41662
S'masturbates'
p41663
aS'masturbating'
p41664
aS'masturbated'
p41665
aS'masturbated'
p41666
asS'waylay'
p41667
(lp41668
S'waylays'
p41669
aS'waylaying'
p41670
aS'waylaid'
p41671
aS'waylaid'
p41672
asS'cook'
p41673
(lp41674
S'cooks'
p41675
aS'cooking'
p41676
aS'cooked'
p41677
aS'cooked'
p41678
asS'attitudinize'
p41679
(lp41680
S'attitudinizes'
p41681
aS'attitudinizing'
p41682
aS'attitudinized'
p41683
aS'attitudinized'
p41684
asS'cool'
p41685
(lp41686
S'cools'
p41687
aS'cooling'
p41688
aS'cooled'
p41689
aS'cooled'
p41690
asS'level'
p41691
(lp41692
S'levels'
p41693
aS'levelling'
p41694
aS'levelled'
p41695
aS'levelled'
p41696
asS'enthuse'
p41697
(lp41698
S'enthuses'
p41699
aS'enthusing'
p41700
aS'enthused'
p41701
aS'enthused'
p41702
asS'encroach'
p41703
(lp41704
S'encroaches'
p41705
aS'encroaching'
p41706
aS'encroached'
p41707
aS'encroached'
p41708
asS'lever'
p41709
(lp41710
S'levers'
p41711
aS'levering'
p41712
aS'levered'
p41713
aS'levered'
p41714
asS'waggon'
p41715
(lp41716
S'waggoning'
p41717
aS'waggoned'
p41718
aS'waggoned'
p41719
asS'intercommunicate'
p41720
(lp41721
S'intercommunicates'
p41722
aS'intercommunicating'
p41723
aS'intercommunicated'
p41724
aS'intercommunicated'
p41725
asS'trend'
p41726
(lp41727
S'trends'
p41728
aS'trending'
p41729
aS'trended'
p41730
aS'trended'
p41731
asS'pore'
p41732
(lp41733
S'pores'
p41734
aS'poring'
p41735
aS'pored'
p41736
aS'pored'
p41737
asS'obsolete'
p41738
(lp41739
S'obsoletes'
p41740
aS'obsoleting'
p41741
aS'obsoleted'
p41742
aS'obsoleted'
p41743
asS'weatherproof'
p41744
(lp41745
S'weatherproofs'
p41746
aS'weatherproofing'
p41747
aS'weatherproofed'
p41748
aS'weatherproofed'
p41749
asS'crashland'
p41750
(lp41751
S'crashlands'
p41752
aS'crashlanding'
p41753
aS'crashlanded'
p41754
aS'crashlanded'
p41755
asS'utter'
p41756
(lp41757
S'utters'
p41758
aS'uttering'
p41759
aS'uttered'
p41760
aS'uttered'
p41761
asS'bake'
p41762
(lp41763
S'bakes'
p41764
aS'baking'
p41765
aS'baked'
p41766
aS'baked'
p41767
asS'port'
p41768
(lp41769
S'ports'
p41770
aS'porting'
p41771
aS'ported'
p41772
aS'ported'
p41773
asS'substitute'
p41774
(lp41775
S'substitutes'
p41776
aS'substituting'
p41777
aS'substituted'
p41778
aS'substituted'
p41779
asS'hymn'
p41780
(lp41781
S'hymns'
p41782
aS'hymning'
p41783
aS'hymned'
p41784
aS'hymned'
p41785
asS'distaste'
p41786
(lp41787
S'distastes'
p41788
aS'distasting'
p41789
aS'distasted'
p41790
aS'distasted'
p41791
asS'spire'
p41792
(lp41793
S'spires'
p41794
aS'spiring'
p41795
aS'spired'
p41796
aS'spired'
p41797
asS'hypothecate'
p41798
(lp41799
S'hypothecates'
p41800
aS'hypothecating'
p41801
aS'hypothecated'
p41802
aS'hypothecated'
p41803
asS'tarmac'
p41804
(lp41805
S'tarmacs'
p41806
aS'tarmacking'
p41807
aS'tarmacked'
p41808
aS'tarmacked'
p41809
asS'reply'
p41810
(lp41811
S'replies'
p41812
aS'replying'
p41813
aS'replied'
p41814
aS'replied'
p41815
asS'Normanize'
p41816
(lp41817
S'Normanizes'
p41818
aS'Normanizing'
p41819
aS'Normanized'
p41820
aS'Normanized'
p41821
asS'corbel'
p41822
(lp41823
S'corbels'
p41824
aS'corbelling'
p41825
aS'corbelled'
p41826
aS'corbelled'
p41827
asS'water'
p41828
(lp41829
S'waters'
p41830
aS'watering'
p41831
aS'watered'
p41832
aS'watered'
p41833
asS'fluke'
p41834
(lp41835
S'flukes'
p41836
aS'fluking'
p41837
aS'fluked'
p41838
aS'fluked'
p41839
asS'chass_e'
p41840
(lp41841
S'chass_es'
p41842
aS'chass_eing'
p41843
aS'chass_ed'
p41844
aS'chass_ed'
p41845
asS'witch'
p41846
(lp41847
S'witches'
p41848
aS'witching'
p41849
aS'witched'
p41850
aS'witched'
p41851
asS'blarney'
p41852
(lp41853
S'blarneys'
p41854
aS'blarneying'
p41855
aS'blarneyed'
p41856
aS'blarneyed'
p41857
asS'rubberize'
p41858
(lp41859
S'rubberizes'
p41860
aS'rubberizing'
p41861
aS'rubberized'
p41862
aS'rubberized'
p41863
asS'sleepwalk'
p41864
(lp41865
S'sleepwalks'
p41866
aS'sleepwalking'
p41867
aS'sleepwalked'
p41868
aS'sleepwalked'
p41869
asS'boast'
p41870
(lp41871
S'boasts'
p41872
aS'boasting'
p41873
aS'boasted'
p41874
aS'boasted'
p41875
asS'rethink'
p41876
(lp41877
S'rethinks'
p41878
aS'rethinking'
p41879
aS'rethought'
p41880
aS'rethought'
p41881
asS'catnap'
p41882
(lp41883
S'catnaps'
p41884
aS'catnapping'
p41885
aS'catnapped'
p41886
aS'catnapped'
p41887
asS'blotch'
p41888
(lp41889
S'blotches'
p41890
aS'blotching'
p41891
aS'blotched'
p41892
aS'blotched'
p41893
asS'reincarnate'
p41894
(lp41895
S'reincarnates'
p41896
aS'reincarnating'
p41897
aS'reincarnated'
p41898
aS'reincarnated'
p41899
asS'outride'
p41900
(lp41901
S'outrides'
p41902
aS'outriding'
p41903
aS'outrode'
p41904
aS'outridden'
p41905
asS'emerge'
p41906
(lp41907
S'emerges'
p41908
aS'emerging'
p41909
aS'emerged'
p41910
aS'emerged'
p41911
asS'humour'
p41912
(lp41913
S'humours'
p41914
aS'humouring'
p41915
aS'humoured'
p41916
aS'humoured'
p41917
asS'tweak'
p41918
(lp41919
S'tweaks'
p41920
aS'tweaking'
p41921
aS'tweaked'
p41922
aS'tweaked'
p41923
asS'shark'
p41924
(lp41925
S'sharks'
p41926
aS'sharking'
p41927
aS'sharked'
p41928
aS'sharked'
p41929
asS'threep'
p41930
(lp41931
S'threeps'
p41932
aS'threeping'
p41933
aS'threeped'
p41934
aS'threeped'
p41935
asS'palatalize'
p41936
(lp41937
S'palatalizes'
p41938
aS'palatalizing'
p41939
aS'palatalized'
p41940
aS'palatalized'
p41941
asS'peer'
p41942
(lp41943
S'peers'
p41944
aS'peering'
p41945
aS'peered'
p41946
aS'peered'
p41947
asS'bituminize'
p41948
(lp41949
S'bituminizes'
p41950
aS'bituminizing'
p41951
aS'bituminized'
p41952
aS'bituminized'
p41953
asS'thrum'
p41954
(lp41955
S'thrums'
p41956
aS'thrumming'
p41957
aS'thrummed'
p41958
aS'thrummed'
p41959
asS'touchdown'
p41960
(lp41961
S'touchdowns'
p41962
aS'touchdowning'
p41963
aS'touchdowned'
p41964
aS'touchdowned'
p41965
asS'prompt'
p41966
(lp41967
S'prompts'
p41968
aS'prompting'
p41969
aS'prompted'
p41970
aS'prompted'
p41971
asS'post'
p41972
(lp41973
S'posts'
p41974
aS'posting'
p41975
aS'posted'
p41976
aS'posted'
p41977
asS'sledgehammer'
p41978
(lp41979
S'sledgehammers'
p41980
aS'sledgehammering'
p41981
aS'sledgehammered'
p41982
aS'sledgehammered'
p41983
asS'concoct'
p41984
(lp41985
S'concocts'
p41986
aS'concocting'
p41987
aS'concocted'
p41988
aS'concocted'
p41989
asS'scan'
p41990
(lp41991
S'scans'
p41992
aS'scanning'
p41993
aS'scanned'
p41994
aS'scanned'
p41995
asS'ravage'
p41996
(lp41997
S'ravages'
p41998
aS'ravaging'
p41999
aS'ravaged'
p42000
aS'ravaged'
p42001
asS'unsheathe'
p42002
(lp42003
S'unsheathes'
p42004
aS'unsheathing'
p42005
aS'unsheathed'
p42006
aS'unsheathed'
p42007
asS'prey'
p42008
(lp42009
S'preys'
p42010
aS'preying'
p42011
aS'preyed'
p42012
aS'preyed'
p42013
asS'dowse'
p42014
(lp42015
S'dowses'
p42016
aS'dowsing'
p42017
aS'dowsed'
p42018
aS'dowsed'
p42019
asS'hogtie'
p42020
(lp42021
S'hogties'
p42022
aS'hogtying'
p42023
aS'hogtied'
p42024
aS'hogtied'
p42025
asS'dismay'
p42026
(lp42027
S'dismays'
p42028
aS'dismaying'
p42029
aS'dismayed'
p42030
aS'dismayed'
p42031
asS'riot'
p42032
(lp42033
S'riots'
p42034
aS'rioting'
p42035
aS'rioted'
p42036
aS'rioted'
p42037
asS'muffle'
p42038
(lp42039
S'muffles'
p42040
aS'muffling'
p42041
aS'muffled'
p42042
aS'muffled'
p42043
asS'cashier'
p42044
(lp42045
S'cashiers'
p42046
aS'cashiering'
p42047
aS'cashiered'
p42048
aS'cashiered'
p42049
asS'fuel'
p42050
(lp42051
S'fuels'
p42052
aS'fuelling'
p42053
aS'fuelled'
p42054
aS'fuelled'
p42055
asS'drown'
p42056
(lp42057
S'drowns'
p42058
aS'drowning'
p42059
aS'drowned'
p42060
aS'drowned'
p42061
asS'dismast'
p42062
(lp42063
S'dismasts'
p42064
aS'dismasting'
p42065
aS'dismasted'
p42066
aS'dismasted'
p42067
asS'scag'
p42068
(lp42069
S'scags'
p42070
aS'scagging'
p42071
aS'scagged'
p42072
aS'scagged'
p42073
asS'befuddle'
p42074
(lp42075
S'befuddles'
p42076
aS'befuddling'
p42077
aS'befuddled'
p42078
aS'befuddled'
p42079
asS'reflux'
p42080
(lp42081
S'refluxes'
p42082
aS'refluxing'
p42083
aS'refluxed'
p42084
aS'refluxed'
p42085
asS'ferry'
p42086
(lp42087
S'ferries'
p42088
aS'ferrying'
p42089
aS'ferried'
p42090
aS'ferried'
p42091
asS'pickle'
p42092
(lp42093
S'pickles'
p42094
aS'pickling'
p42095
aS'pickled'
p42096
aS'pickled'
p42097
asS'streak'
p42098
(lp42099
S'streaks'
p42100
aS'streaking'
p42101
aS'streaked'
p42102
aS'streaked'
p42103
asS'overpass'
p42104
(lp42105
S'overpasses'
p42106
aS'overpassing'
p42107
aS'overpassed'
p42108
aS'overpassed'
p42109
asS'elasticize'
p42110
(lp42111
S'elasticizes'
p42112
aS'elasticizing'
p42113
aS'elasticized'
p42114
aS'elasticized'
p42115
asS'tittivate'
p42116
(lp42117
S'tittivates'
p42118
aS'tittivating'
p42119
aS'tittivated'
p42120
aS'tittivated'
p42121
asS'figure'
p42122
(lp42123
S'figures'
p42124
aS'figuring'
p42125
aS'figured'
p42126
aS'figured'
p42127
asS'scrimshaw'
p42128
(lp42129
S'scrimshaws'
p42130
aS'scrimshawing'
p42131
aS'scrimshawed'
p42132
aS'scrimshawed'
p42133
asS'sense'
p42134
(lp42135
S'senses'
p42136
aS'sensing'
p42137
aS'sensed'
p42138
aS'sensed'
p42139
asS'outvie'
p42140
(lp42141
S'outvies'
p42142
aS'outvying'
p42143
aS'outvied'
p42144
aS'outvied'
p42145
asS'stroke'
p42146
(lp42147
S'strokes'
p42148
aS'stroking'
p42149
aS'stroked'
p42150
aS'stroked'
p42151
asS'surround'
p42152
(lp42153
S'surrounds'
p42154
aS'surrounding'
p42155
aS'surrounded'
p42156
aS'surrounded'
p42157
asS'provoke'
p42158
(lp42159
S'provokes'
p42160
aS'provoking'
p42161
aS'provoked'
p42162
aS'provoked'
p42163
asS'filtrate'
p42164
(lp42165
S'filtrates'
p42166
aS'filtrating'
p42167
aS'filtrated'
p42168
aS'filtrated'
p42169
asS'decolonize'
p42170
(lp42171
S'decolonizes'
p42172
aS'decolonizing'
p42173
aS'decolonized'
p42174
aS'decolonized'
p42175
asS'stenograph'
p42176
(lp42177
S'stenographs'
p42178
aS'stenographing'
p42179
aS'stenographed'
p42180
aS'stenographed'
p42181
asS'spud'
p42182
(lp42183
S'spuds'
p42184
aS'spudding'
p42185
aS'spudded'
p42186
aS'spudded'
p42187
asS'levy'
p42188
(lp42189
S'levies'
p42190
aS'levying'
p42191
aS'levied'
p42192
aS'levied'
p42193
asS'spue'
p42194
(lp42195
S'spues'
p42196
aS'spuing'
p42197
aS'spued'
p42198
aS'spued'
p42199
asS'clonk'
p42200
(lp42201
S'clonks'
p42202
aS'clonking'
p42203
aS'clonked'
p42204
aS'clonked'
p42205
asS'scoff'
p42206
(lp42207
S'scoffs'
p42208
aS'scoffing'
p42209
aS'scoffed'
p42210
aS'scoffed'
p42211
asS'psychoanalyze'
p42212
(lp42213
S'psychoanalyzes'
p42214
aS'psychoanalyzing'
p42215
aS'psychoanalyzed'
p42216
aS'psychoanalyzed'
p42217
asS'flyspeck'
p42218
(lp42219
S'flyspecks'
p42220
aS'flyspecking'
p42221
aS'flyspecked'
p42222
aS'flyspecked'
p42223
asS'repeat'
p42224
(lp42225
S'repeats'
p42226
aS'repeating'
p42227
aS'repeated'
p42228
aS'repeated'
p42229
asS'reposition'
p42230
(lp42231
S'repositions'
p42232
aS'repositioning'
p42233
aS'repositioned'
p42234
aS'repositioned'
p42235
asS'amuse'
p42236
(lp42237
S'amuses'
p42238
aS'amusing'
p42239
aS'amused'
p42240
aS'amused'
p42241
asS'befool'
p42242
(lp42243
S'befools'
p42244
aS'befooling'
p42245
aS'befooled'
p42246
aS'befooled'
p42247
asS'unfreeze'
p42248
(lp42249
S'unfreezes'
p42250
aS'unfreezing'
p42251
aS'unfroze'
p42252
aS'unfrozen'
p42253
asS'refund'
p42254
(lp42255
S'refunds'
p42256
aS'refunding'
p42257
ag21117
aS'refunded'
p42258
asS'treble'
p42259
(lp42260
S'trebles'
p42261
aS'trebling'
p42262
aS'trebled'
p42263
aS'trebled'
p42264
asS'sonnet'
p42265
(lp42266
S'sonnets'
p42267
aS'sonneting'
p42268
aS'sonneted'
p42269
aS'sonneted'
p42270
asS'defalcate'
p42271
(lp42272
S'defalcates'
p42273
aS'defalcating'
p42274
aS'defalcated'
p42275
aS'defalcated'
p42276
asS'stylize'
p42277
(lp42278
S'stylizes'
p42279
aS'stylizing'
p42280
aS'stylized'
p42281
aS'stylized'
p42282
asS'worship'
p42283
(lp42284
S'worships'
p42285
aS'worshipping'
p42286
aS'worshipped'
p42287
aS'worshipped'
p42288
asS'swank'
p42289
(lp42290
S'swanks'
p42291
aS'swanking'
p42292
aS'swanked'
p42293
aS'swanked'
p42294
asS'sugarcoat'
p42295
(lp42296
S'sugarcoats'
p42297
aS'sugarcoating'
p42298
aS'sugarcoated'
p42299
aS'sugarcoated'
p42300
asS'embosom'
p42301
(lp42302
S'embosoms'
p42303
aS'embosoming'
p42304
aS'embosomed'
p42305
aS'embosomed'
p42306
asS'decontrol'
p42307
(lp42308
S'decontrols'
p42309
aS'decontrolling'
p42310
aS'decontrolled'
p42311
aS'decontrolled'
p42312
asS'pervade'
p42313
(lp42314
S'pervades'
p42315
aS'pervading'
p42316
aS'pervaded'
p42317
aS'pervaded'
p42318
asS'loophole'
p42319
(lp42320
S'loopholes'
p42321
aS'loopholing'
p42322
aS'loopholed'
p42323
aS'loopholed'
p42324
asS'trapan'
p42325
(lp42326
S'trapans'
p42327
aS'trapaning'
p42328
aS'trapaned'
p42329
aS'trapaned'
p42330
asS'cajole'
p42331
(lp42332
S'cajoles'
p42333
aS'cajoling'
p42334
aS'cajoled'
p42335
aS'cajoled'
p42336
asS'subduct'
p42337
(lp42338
S'subducts'
p42339
aS'subducting'
p42340
aS'subducted'
p42341
aS'subducted'
p42342
asS'deoxygenize'
p42343
(lp42344
S'deoxygenizes'
p42345
aS'deoxygenizing'
p42346
aS'deoxygenized'
p42347
aS'deoxygenized'
p42348
asS'conquer'
p42349
(lp42350
S'conquers'
p42351
aS'conquering'
p42352
aS'conquered'
p42353
aS'conquered'
p42354
asS'rescind'
p42355
(lp42356
S'rescinds'
p42357
aS'rescinding'
p42358
aS'rescinded'
p42359
aS'rescinded'
p42360
asS'occult'
p42361
(lp42362
S'occults'
p42363
aS'occulting'
p42364
aS'occulted'
p42365
aS'occulted'
p42366
asS'wagon'
p42367
(lp42368
S'wagons'
p42369
aS'wagoning'
p42370
aS'wagoned'
p42371
aS'wagoned'
p42372
asS'execute'
p42373
(lp42374
S'executes'
p42375
aS'executing'
p42376
aS'executed'
p42377
aS'executed'
p42378
asS'name'
p42379
(lp42380
S'names'
p42381
aS'naming'
p42382
aS'named'
p42383
aS'named'
p42384
asS'stabilize'
p42385
(lp42386
S'stabilizes'
p42387
aS'stabilizing'
p42388
aS'stabilized'
p42389
aS'stabilized'
p42390
asS'clutch'
p42391
(lp42392
S'clutches'
p42393
aS'clutching'
p42394
aS'clutched'
p42395
aS'clutched'
p42396
asS'synchronize'
p42397
(lp42398
S'synchronizes'
p42399
aS'synchronizing'
p42400
aS'synchronized'
p42401
aS'synchronized'
p42402
asS'annualize'
p42403
(lp42404
S'annualizes'
p42405
aS'annualizing'
p42406
aS'annualized'
p42407
aS'annualized'
p42408
asS'gape'
p42409
(lp42410
S'gapes'
p42411
aS'gaping'
p42412
aS'gaped'
p42413
aS'gaped'
p42414
asS'torch'
p42415
(lp42416
S'torches'
p42417
aS'torching'
p42418
aS'torched'
p42419
aS'torched'
p42420
asS'sprinkle'
p42421
(lp42422
S'sprinkles'
p42423
aS'sprinkling'
p42424
aS'sprinkled'
p42425
aS'sprinkled'
p42426
asS'straightarm'
p42427
(lp42428
S'straightarms'
p42429
aS'straightarming'
p42430
aS'straightarmed'
p42431
aS'straightarmed'
p42432
asS'photoset'
p42433
(lp42434
S'photosets'
p42435
aS'photosetting'
p42436
aS'photoset'
p42437
aS'photoset'
p42438
asS'superstruct'
p42439
(lp42440
S'superstructs'
p42441
aS'superstructing'
p42442
aS'superstructed'
p42443
aS'superstructed'
p42444
asS'transmigrate'
p42445
(lp42446
S'transmigrates'
p42447
aS'transmigrating'
p42448
aS'transmigrated'
p42449
aS'transmigrated'
p42450
asS'counterchange'
p42451
(lp42452
S'counterchanges'
p42453
aS'counterchanging'
p42454
aS'counterchanged'
p42455
aS'counterchanged'
p42456
asS'concur'
p42457
(lp42458
S'concurs'
p42459
aS'concurring'
p42460
aS'concurred'
p42461
aS'concurred'
p42462
asS'envenom'
p42463
(lp42464
S'envenoms'
p42465
aS'envenoming'
p42466
aS'envenomed'
p42467
aS'envenomed'
p42468
asS'profit'
p42469
(lp42470
S'profits'
p42471
aS'profiting'
p42472
aS'profited'
p42473
aS'profited'
p42474
asS'condole'
p42475
(lp42476
S'condoles'
p42477
aS'condoling'
p42478
aS'condoled'
p42479
aS'condoled'
p42480
asS'extrapolate'
p42481
(lp42482
S'extrapolates'
p42483
aS'extrapolating'
p42484
aS'extrapolated'
p42485
aS'extrapolated'
p42486
asS'collate'
p42487
(lp42488
S'collates'
p42489
aS'collating'
p42490
aS'collated'
p42491
aS'collated'
p42492
asS'maneuver'
p42493
(lp42494
S'maneuvers'
p42495
aS'maneuvering'
p42496
aS'maneuvered'
p42497
aS'maneuvered'
p42498
asS'hulk'
p42499
(lp42500
S'hulks'
p42501
aS'hulking'
p42502
aS'hulked'
p42503
aS'hulked'
p42504
asS'thumbindex'
p42505
(lp42506
S'thumbindexes'
p42507
aS'thumbindexing'
p42508
aS'thumbindexed'
p42509
aS'thumbindexed'
p42510
asS'hobble'
p42511
(lp42512
S'hobbles'
p42513
aS'hobbling'
p42514
aS'hobbled'
p42515
aS'hobbled'
p42516
asS'delude'
p42517
(lp42518
S'deludes'
p42519
aS'deluding'
p42520
aS'deluded'
p42521
aS'deluded'
p42522
asS'flare'
p42523
(lp42524
S'flares'
p42525
aS'flaring'
p42526
aS'flared'
p42527
aS'flared'
p42528
asS'impose'
p42529
(lp42530
S'imposes'
p42531
aS'imposing'
p42532
aS'imposed'
p42533
aS'imposed'
p42534
asS'motion'
p42535
(lp42536
S'motions'
p42537
aS'motioning'
p42538
aS'motioned'
p42539
aS'motioned'
p42540
asS'turn'
p42541
(lp42542
S'turns'
p42543
aS'turning'
p42544
aS'turned'
p42545
aS'turned'
p42546
asS'place'
p42547
(lp42548
S'places'
p42549
aS'placing'
p42550
aS'placed'
p42551
aS'placed'
p42552
asS'brutalize'
p42553
(lp42554
S'brutalizes'
p42555
aS'brutalizing'
p42556
aS'brutalized'
p42557
aS'brutalized'
p42558
asS'turf'
p42559
(lp42560
S'turfs'
p42561
aS'turfing'
p42562
aS'turfed'
p42563
aS'turfed'
p42564
asS'impost'
p42565
(lp42566
S'imposts'
p42567
aS'imposting'
p42568
aS'imposted'
p42569
aS'imposted'
p42570
asS'swink'
p42571
(lp42572
S'swinks'
p42573
aS'swinking'
p42574
aS'swinked'
p42575
aS'swinked'
p42576
asS'excommunicate'
p42577
(lp42578
S'excommunicates'
p42579
aS'excommunicating'
p42580
aS'excommunicated'
p42581
aS'excommunicated'
p42582
asS'feign'
p42583
(lp42584
S'feigns'
p42585
aS'feigning'
p42586
aS'feigned'
p42587
aS'feigned'
p42588
asS'suspend'
p42589
(lp42590
S'suspends'
p42591
aS'suspending'
p42592
aS'suspended'
p42593
aS'suspended'
p42594
asS'refloat'
p42595
(lp42596
S'refloats'
p42597
aS'refloating'
p42598
aS'refloated'
p42599
aS'refloated'
p42600
asS'escarp'
p42601
(lp42602
S'escarps'
p42603
aS'escarping'
p42604
aS'escarped'
p42605
aS'escarped'
p42606
asS'scollop'
p42607
(lp42608
S'scollops'
p42609
aS'scolloping'
p42610
aS'scolloped'
p42611
aS'scolloped'
p42612
asS'array'
p42613
(lp42614
S'arrays'
p42615
aS'arraying'
p42616
aS'arrayed'
p42617
aS'arrayed'
p42618
asS'intone'
p42619
(lp42620
S'intones'
p42621
aS'intoning'
p42622
aS'intoned'
p42623
aS'intoned'
p42624
asS'engineer'
p42625
(lp42626
S'engineers'
p42627
aS'engineering'
p42628
aS'engineered'
p42629
aS'engineered'
p42630
asS'unpeople'
p42631
(lp42632
S'unpeoples'
p42633
aS'unpeopling'
p42634
aS'unpeopled'
p42635
aS'unpeopled'
p42636
asS'district'
p42637
(lp42638
S'districts'
p42639
aS'districting'
p42640
aS'districted'
p42641
aS'districted'
p42642
asS'carbonate'
p42643
(lp42644
S'carbonates'
p42645
aS'carbonating'
p42646
aS'carbonated'
p42647
aS'carbonated'
p42648
asS'plank'
p42649
(lp42650
S'planks'
p42651
aS'planking'
p42652
aS'planked'
p42653
aS'planked'
p42654
asS'assort'
p42655
(lp42656
S'assorts'
p42657
aS'assorting'
p42658
aS'assorted'
p42659
aS'assorted'
p42660
asS'persecute'
p42661
(lp42662
S'persecutes'
p42663
aS'persecuting'
p42664
aS'persecuted'
p42665
aS'persecuted'
p42666
asS'crosscheck'
p42667
(lp42668
sS'unfrock'
p42669
(lp42670
S'unfrocks'
p42671
aS'unfrocking'
p42672
aS'unfrocked'
p42673
aS'unfrocked'
p42674
asS'whistlestop'
p42675
(lp42676
S'whistlestops'
p42677
aS'whistlestoping'
p42678
aS'whistlestoped'
p42679
aS'whistlestoped'
p42680
asS'holden'
p42681
(lp42682
S'holdens'
p42683
aS'holdening'
p42684
aS'holdened'
p42685
aS'holdened'
p42686
asS'hug'
p42687
(lp42688
S'hugs'
p42689
aS'hugging'
p42690
aS'hugged'
p42691
aS'hugged'
p42692
asS'cope'
p42693
(lp42694
S'copes'
p42695
aS'coping'
p42696
aS'coped'
p42697
aS'coped'
p42698
asS'hum'
p42699
(lp42700
S'hums'
p42701
aS'humming'
p42702
ag36277
aS'hummed'
p42703
asS'indoctrinate'
p42704
(lp42705
S'indoctrinates'
p42706
aS'indoctrinating'
p42707
aS'indoctrinated'
p42708
aS'indoctrinated'
p42709
asS'wax'
p42710
(lp42711
S'waxes'
p42712
aS'waxing'
p42713
aS'waxed'
p42714
aS'waxed'
p42715
asS'backpedal'
p42716
(lp42717
S'backpedals'
p42718
aS'backpedalling'
p42719
aS'backpedalled'
p42720
aS'backpedalled'
p42721
asS'grunt'
p42722
(lp42723
S'grunts'
p42724
aS'grunting'
p42725
aS'grunted'
p42726
aS'grunted'
p42727
asS'specify'
p42728
(lp42729
S'specifies'
p42730
aS'specifying'
p42731
aS'specified'
p42732
aS'specified'
p42733
asS'bewitch'
p42734
(lp42735
S'bewitches'
p42736
aS'bewitching'
p42737
aS'bewitched'
p42738
aS'bewitched'
p42739
asS'defrock'
p42740
(lp42741
S'defrocks'
p42742
aS'defrocking'
p42743
aS'defrocked'
p42744
aS'defrocked'
p42745
asS'require'
p42746
(lp42747
S'requires'
p42748
aS'requiring'
p42749
aS'required'
p42750
aS'required'
p42751
asS'sere'
p42752
(lp42753
S'seres'
p42754
aS'sering'
p42755
aS'sered'
p42756
aS'sered'
p42757
asS'ooze'
p42758
(lp42759
S'oozes'
p42760
aS'oozing'
p42761
aS'oozed'
p42762
aS'oozed'
p42763
asS'posit'
p42764
(lp42765
S'posits'
p42766
aS'positing'
p42767
aS'posited'
p42768
aS'posited'
p42769
asS'collimate'
p42770
(lp42771
S'collimates'
p42772
aS'collimating'
p42773
aS'collimated'
p42774
aS'collimated'
p42775
asS'depilate'
p42776
(lp42777
S'depilates'
p42778
aS'depilating'
p42779
aS'depilated'
p42780
aS'depilated'
p42781
asS'rend'
p42782
(lp42783
S'rends'
p42784
aS'rending'
p42785
aS'rent'
p42786
aS'rent'
p42787
asS'froth'
p42788
(lp42789
S'froths'
p42790
aS'frothing'
p42791
aS'frothed'
p42792
aS'frothed'
p42793
asS'wolfwhistle'
p42794
(lp42795
S'wolfwhistles'
p42796
aS'wolfwhistling'
p42797
aS'wolfwhistled'
p42798
aS'wolfwhistled'
p42799
asS'liquidize'
p42800
(lp42801
S'liquidizes'
p42802
aS'liquidizing'
p42803
aS'liquidized'
p42804
aS'liquidized'
p42805
asS'stoush'
p42806
(lp42807
S'stoushes'
p42808
aS'stoushing'
p42809
aS'stoushed'
p42810
aS'stoushed'
p42811
asS'rent'
p42812
(lp42813
S'rents'
p42814
aS'renting'
p42815
aS'rented'
p42816
aS'rented'
p42817
asS'pry'
p42818
(lp42819
S'pries'
p42820
aS'prying'
p42821
aS'pried'
p42822
aS'pried'
p42823
asS'silhouette'
p42824
(lp42825
S'silhouettes'
p42826
aS'silhouetting'
p42827
aS'silhouetted'
p42828
aS'silhouetted'
p42829
asS'acclimatize'
p42830
(lp42831
S'acclimatises'
p42832
aS'acclimatizing'
p42833
aS'acclimatized'
p42834
aS'acclimatized'
p42835
asS'fracture'
p42836
(lp42837
S'fractures'
p42838
aS'fracturing'
p42839
aS'fractured'
p42840
aS'fractured'
p42841
asS'paraphrase'
p42842
(lp42843
S'paraphrases'
p42844
aS'paraphrasing'
p42845
aS'paraphrased'
p42846
aS'paraphrased'
p42847
asS'blunt'
p42848
(lp42849
S'blunts'
p42850
aS'blunting'
p42851
aS'blunted'
p42852
aS'blunted'
p42853
asS'surf'
p42854
(lp42855
S'surfs'
p42856
aS'surfing'
p42857
aS'surfed'
p42858
aS'surfed'
p42859
asS'urge'
p42860
(lp42861
S'urges'
p42862
aS'urging'
p42863
aS'urged'
p42864
aS'urged'
p42865
asS'biff'
p42866
(lp42867
S'biffs'
p42868
aS'biffing'
p42869
aS'biffed'
p42870
aS'biffed'
p42871
asS'embitter'
p42872
(lp42873
S'embitters'
p42874
aS'embittering'
p42875
aS'embittered'
p42876
aS'embittered'
p42877
asS'apprize'
p42878
(lp42879
S'apprizes'
p42880
aS'apprizing'
p42881
aS'apprized'
p42882
aS'apprized'
p42883
asS'remunerate'
p42884
(lp42885
S'remunerates'
p42886
aS'remunerating'
p42887
aS'remunerated'
p42888
aS'remunerated'
p42889
asS'rematch'
p42890
(lp42891
S'rematches'
p42892
aS'rematching'
p42893
aS'rematched'
p42894
aS'rematched'
p42895
asS'frig'
p42896
(lp42897
S'frigs'
p42898
aS'frigging'
p42899
aS'frigged'
p42900
aS'frigged'
p42901
asS'fluoridize'
p42902
(lp42903
S'fluoridizes'
p42904
aS'fluoridizing'
p42905
aS'fluoridized'
p42906
aS'fluoridized'
p42907
asS'saunter'
p42908
(lp42909
S'saunters'
p42910
aS'sauntering'
p42911
aS'sauntered'
p42912
aS'sauntered'
p42913
asS'annul'
p42914
(lp42915
S'annuls'
p42916
aS'annulling'
p42917
aS'annulled'
p42918
aS'annulled'
p42919
asS'misfire'
p42920
(lp42921
S'misfires'
p42922
aS'misfiring'
p42923
aS'misfired'
p42924
aS'misfired'
p42925
asS'adopt'
p42926
(lp42927
S'adopts'
p42928
aS'adopting'
p42929
aS'adopted'
p42930
aS'adopted'
p42931
asS'calcify'
p42932
(lp42933
S'calcifies'
p42934
aS'calcifying'
p42935
aS'calcified'
p42936
aS'calcified'
p42937
asS'incardinate'
p42938
(lp42939
S'incardinates'
p42940
aS'incardinating'
p42941
aS'incardinated'
p42942
aS'incardinated'
p42943
asS'readjust'
p42944
(lp42945
S'readjusts'
p42946
aS'readjusting'
p42947
aS'readjusted'
p42948
aS'readjusted'
p42949
asS'slope'
p42950
(lp42951
S'slopes'
p42952
aS'sloping'
p42953
aS'sloped'
p42954
aS'sloped'
p42955
asS'perch'
p42956
(lp42957
S'perches'
p42958
aS'perching'
p42959
aS'perched'
p42960
aS'perched'
p42961
asS'forage'
p42962
(lp42963
S'forages'
p42964
aS'foraging'
p42965
aS'foraged'
p42966
aS'foraged'
p42967
asS'cheat'
p42968
(lp42969
S'cheats'
p42970
aS'cheating'
p42971
aS'cheated'
p42972
aS'cheated'
p42973
asS'reinvigorate'
p42974
(lp42975
S'reinvigorates'
p42976
aS'reinvigorating'
p42977
aS'reinvigorated'
p42978
aS'reinvigorated'
p42979
asS'trog'
p42980
(lp42981
S'trogs'
p42982
aS'trogging'
p42983
aS'trogged'
p42984
aS'trogged'
p42985
asS'trespass'
p42986
(lp42987
S'trespasses'
p42988
aS'trespassing'
p42989
aS'trespassed'
p42990
aS'trespassed'
p42991
asS'hack'
p42992
(lp42993
S'hacks'
p42994
aS'hacking'
p42995
aS'hacked'
p42996
aS'hacked'
p42997
asS'pustulate'
p42998
(lp42999
S'pustulates'
p43000
aS'pustulating'
p43001
aS'pustulated'
p43002
aS'pustulated'
p43003
asS'broach'
p43004
(lp43005
S'broaches'
p43006
aS'broaching'
p43007
aS'broached'
p43008
aS'broached'
p43009
asS'mister'
p43010
(lp43011
S'misters'
p43012
aS'mistering'
p43013
aS'mistered'
p43014
aS'mistered'
p43015
asS'doublecheck'
p43016
(lp43017
S'doublechecks'
p43018
aS'doublechecking'
p43019
aS'doublechecked'
p43020
aS'doublechecked'
p43021
asS'trot'
p43022
(lp43023
S'trots'
p43024
aS'trotting'
p43025
aS'trotted'
p43026
aS'trotted'
p43027
asS'featherbed'
p43028
(lp43029
S'featherbeds'
p43030
aS'featherbedding'
p43031
aS'featherbedded'
p43032
aS'featherbedded'
p43033
asS'transistorize'
p43034
(lp43035
S'transistorizes'
p43036
aS'transistorizing'
p43037
aS'transistorized'
p43038
aS'transistorized'
p43039
asS'gulf'
p43040
(lp43041
S'gulfs'
p43042
aS'gulfing'
p43043
aS'gulfed'
p43044
aS'gulfed'
p43045
asS'gull'
p43046
(lp43047
S'gulls'
p43048
aS'gulling'
p43049
aS'gulled'
p43050
aS'gulled'
p43051
asS'ventriloquize'
p43052
(lp43053
S'ventriloquizes'
p43054
aS'ventriloquizing'
p43055
aS'ventriloquized'
p43056
aS'ventriloquized'
p43057
asS'shimmer'
p43058
(lp43059
S'shimmers'
p43060
aS'shimmering'
p43061
aS'shimmered'
p43062
aS'shimmered'
p43063
asS'gulp'
p43064
(lp43065
S'gulps'
p43066
aS'gulping'
p43067
aS'gulped'
p43068
aS'gulped'
p43069
asS'woof'
p43070
(lp43071
S'woofs'
p43072
aS'woofing'
p43073
aS'woofed'
p43074
aS'woofed'
p43075
asS'wood'
p43076
(lp43077
S'woods'
p43078
aS'wooding'
p43079
aS'wooded'
p43080
aS'wooded'
p43081
asS'partake'
p43082
(lp43083
S'partakes'
p43084
aS'partaking'
p43085
aS'partook'
p43086
aS'partaken'
p43087
asS'deign'
p43088
(lp43089
S'deigns'
p43090
aS'deigning'
p43091
aS'deigned'
p43092
aS'deigned'
p43093
asS'crimp'
p43094
(lp43095
S'crimps'
p43096
aS'crimping'
p43097
aS'crimped'
p43098
aS'crimped'
p43099
asS'involute'
p43100
(lp43101
S'involutes'
p43102
aS'involuting'
p43103
aS'involuted'
p43104
aS'involuted'
p43105
asS'lighten'
p43106
(lp43107
S'lightens'
p43108
aS'lightening'
p43109
aS'lightened'
p43110
aS'lightened'
p43111
asS'jazz'
p43112
(lp43113
S'jazzes'
p43114
aS'jazzing'
p43115
aS'jazzed'
p43116
aS'jazzed'
p43117
asS'festoon'
p43118
(lp43119
S'festoons'
p43120
aS'festooning'
p43121
aS'festooned'
p43122
aS'festooned'
p43123
asS'tailor'
p43124
(lp43125
S'tailors'
p43126
aS'tailoring'
p43127
aS'tailored'
p43128
aS'tailored'
p43129
asS'dye'
p43130
(lp43131
S'dyes'
p43132
aS'dyeing'
p43133
aS'dyed'
p43134
aS'dyed'
p43135
asS'hedge'
p43136
(lp43137
S'hedges'
p43138
aS'hedging'
p43139
aS'hedged'
p43140
aS'hedged'
p43141
asS'closure'
p43142
(lp43143
S'closures'
p43144
aS'closuring'
p43145
aS'closured'
p43146
aS'closured'
p43147
asS'reveal'
p43148
(lp43149
S'reveals'
p43150
aS'revealing'
p43151
aS'revealed'
p43152
aS'revealed'
p43153
asS'pinnacle'
p43154
(lp43155
S'pinnacles'
p43156
aS'pinnacling'
p43157
aS'pinnacled'
p43158
aS'pinnacled'
p43159
asS'outperform'
p43160
(lp43161
S'outperforms'
p43162
aS'outperforming'
p43163
aS'outperformed'
p43164
aS'outperformed'
p43165
asS'obliterate'
p43166
(lp43167
S'obliterates'
p43168
aS'obliterating'
p43169
aS'obliterated'
p43170
aS'obliterated'
p43171
asS'underplay'
p43172
(lp43173
S'underplays'
p43174
aS'underplaying'
p43175
aS'underplayed'
p43176
aS'underplayed'
p43177
asS'dumfound'
p43178
(lp43179
S'dumfounds'
p43180
aS'dumfounding'
p43181
aS'dumfounded'
p43182
aS'dumfounded'
p43183
asS'dawdle'
p43184
(lp43185
S'dawdles'
p43186
aS'dawdling'
p43187
aS'dawdled'
p43188
aS'dawdled'
p43189
asS'convolve'
p43190
(lp43191
S'convolves'
p43192
aS'convolving'
p43193
aS'convolved'
p43194
aS'convolved'
p43195
asS'picnic'
p43196
(lp43197
S'picnicking'
p43198
aS'picnicked'
p43199
aS'picnicked'
p43200
asS'emote'
p43201
(lp43202
S'emotes'
p43203
aS'emoting'
p43204
aS'emoted'
p43205
aS'emoted'
p43206
asS'prowl'
p43207
(lp43208
S'prowls'
p43209
aS'prowling'
p43210
aS'prowled'
p43211
aS'prowled'
p43212
asS'westernize'
p43213
(lp43214
S'westernizes'
p43215
aS'westernizing'
p43216
aS'westernized'
p43217
aS'westernized'
p43218
asS'sile'
p43219
(lp43220
S'siles'
p43221
aS'siling'
p43222
aS'siled'
p43223
aS'siled'
p43224
asS'scabble'
p43225
(lp43226
S'scabbles'
p43227
aS'scabbling'
p43228
aS'scabbled'
p43229
aS'scabbled'
p43230
asS'detect'
p43231
(lp43232
S'detects'
p43233
aS'detecting'
p43234
aS'detected'
p43235
aS'detected'
p43236
asS'emplace'
p43237
(lp43238
S'emplaces'
p43239
aS'emplacing'
p43240
aS'emplaced'
p43241
aS'emplaced'
p43242
asS'mortgage'
p43243
(lp43244
S'mortgages'
p43245
aS'mortgaging'
p43246
aS'mortgaged'
p43247
aS'mortgaged'
p43248
asS'review'
p43249
(lp43250
S'reviews'
p43251
aS'reviewing'
p43252
aS'reviewed'
p43253
aS'reviewed'
p43254
asS'hiss'
p43255
(lp43256
S'hisses'
p43257
aS'hissing'
p43258
aS'hissed'
p43259
aS'hissed'
p43260
asS'caucus'
p43261
(lp43262
S'caucuses'
p43263
aS'caucusing'
p43264
aS'caucused'
p43265
aS'caucused'
p43266
asS'crossquestion'
p43267
(lp43268
S'crossquestions'
p43269
aS'crossquestioning'
p43270
aS'crossquestioned'
p43271
aS'crossquestioned'
p43272
asS'bowwow'
p43273
(lp43274
S'bowwows'
p43275
aS'bowwowing'
p43276
aS'bowwowed'
p43277
aS'bowwowed'
p43278
asS'overcharge'
p43279
(lp43280
S'overcharges'
p43281
aS'overcharging'
p43282
aS'overcharged'
p43283
aS'overcharged'
p43284
asS'comb'
p43285
(lp43286
S'combs'
p43287
aS'combing'
p43288
aS'combed'
p43289
aS'combed'
p43290
asS'come'
p43291
(lp43292
S'comes'
p43293
aS'coming'
p43294
aS'came'
p43295
aS'come'
p43296
asS'forfend'
p43297
(lp43298
S'forfends'
p43299
aS'forfending'
p43300
aS'forfended'
p43301
aS'forfended'
p43302
asS'bunko'
p43303
(lp43304
S'bunkos'
p43305
aS'bunkoing'
p43306
aS'bunkoed'
p43307
aS'bunkoed'
p43308
asS'bemoan'
p43309
(lp43310
S'bemoans'
p43311
aS'bemoaning'
p43312
aS'bemoaned'
p43313
aS'bemoaned'
p43314
asS'quiet'
p43315
(lp43316
S'quiets'
p43317
aS'quieting'
p43318
aS'quieted'
p43319
aS'quieted'
p43320
asS'contract'
p43321
(lp43322
S'contracts'
p43323
aS'contracting'
p43324
aS'contracted'
p43325
aS'contracted'
p43326
asS're-afforest'
p43327
(lp43328
S're-afforests'
p43329
aS're-afforesting'
p43330
aS're-afforested'
p43331
aS're-afforested'
p43332
asS'berry'
p43333
(lp43334
S'berries'
p43335
aS'berrying'
p43336
aS'berried'
p43337
aS'berried'
p43338
asS'cabal'
p43339
(lp43340
S'cabals'
p43341
aS'caballing'
p43342
aS'caballed'
p43343
aS'caballed'
p43344
asS'pot'
p43345
(lp43346
S'pots'
p43347
aS'potting'
p43348
aS'potted'
p43349
aS'potted'
p43350
asS'insist'
p43351
(lp43352
S'insists'
p43353
aS'insisting'
p43354
aS'insisted'
p43355
aS'insisted'
p43356
asS'pole'
p43357
(lp43358
S'poles'
p43359
aS'poling'
p43360
aS'poled'
p43361
aS'poled'
p43362
asS'pod'
p43363
(lp43364
S'pods'
p43365
aS'podding'
p43366
aS'podded'
p43367
aS'podded'
p43368
asS'poll'
p43369
(lp43370
S'polls'
p43371
aS'polling'
p43372
aS'polled'
p43373
aS'polled'
p43374
asS'sypher'
p43375
(lp43376
S'syphers'
p43377
aS'syphering'
p43378
aS'syphered'
p43379
aS'syphered'
p43380
asS'shroff'
p43381
(lp43382
S'shroffs'
p43383
aS'shroffing'
p43384
aS'shroffed'
p43385
aS'shroffed'
p43386
asS'anthologize'
p43387
(lp43388
S'anthologizes'
p43389
aS'anthologizing'
p43390
aS'anthologized'
p43391
aS'anthologized'
p43392
asS'umpire'
p43393
(lp43394
S'umpires'
p43395
aS'umpiring'
p43396
aS'umpired'
p43397
aS'umpired'
p43398
asS'disembogue'
p43399
(lp43400
S'disembogues'
p43401
aS'disemboguing'
p43402
aS'disembogued'
p43403
aS'disembogued'
p43404
asS'reimburse'
p43405
(lp43406
S'reimburses'
p43407
aS'reimbursing'
p43408
aS'reimbursed'
p43409
aS'reimbursed'
p43410
asS'catholicize'
p43411
(lp43412
S'catholicizes'
p43413
aS'catholicizing'
p43414
aS'catholicized'
p43415
aS'catholicized'
p43416
asS'borate'
p43417
(lp43418
S'borates'
p43419
aS'borating'
p43420
aS'borated'
p43421
aS'borated'
p43422
asS'padlock'
p43423
(lp43424
S'padlocks'
p43425
aS'padlocking'
p43426
aS'padlocked'
p43427
aS'padlocked'
p43428
asS'silk'
p43429
(lp43430
S'silks'
p43431
aS'silking'
p43432
aS'silked'
p43433
aS'silked'
p43434
asS'minister'
p43435
(lp43436
S'ministers'
p43437
aS'ministering'
p43438
aS'ministered'
p43439
aS'ministered'
p43440
asS'dribble'
p43441
(lp43442
S'dribbles'
p43443
aS'dribbling'
p43444
aS'dribbled'
p43445
aS'dribbled'
p43446
asS'pilot'
p43447
(lp43448
S'pilots'
p43449
aS'piloting'
p43450
aS'piloted'
p43451
aS'piloted'
p43452
asS'case'
p43453
(lp43454
S'cases'
p43455
aS'casing'
p43456
aS'cased'
p43457
aS'cased'
p43458
asS'shaft'
p43459
(lp43460
S'shafts'
p43461
aS'shafting'
p43462
aS'shafted'
p43463
aS'shafted'
p43464
asS'hightail'
p43465
(lp43466
S'hightails'
p43467
aS'hightailing'
p43468
aS'hightailed'
p43469
aS'hightailed'
p43470
asS'amend'
p43471
(lp43472
S'amends'
p43473
aS'amending'
p43474
aS'amended'
p43475
aS'amended'
p43476
asS'mount'
p43477
(lp43478
S'mounts'
p43479
aS'mounting'
p43480
aS'mounted'
p43481
aS'mounted'
p43482
asS'cash'
p43483
(lp43484
S'cashes'
p43485
aS'cashing'
p43486
aS'cashed'
p43487
aS'cashed'
p43488
asS'cast'
p43489
(lp43490
S'casts'
p43491
aS'casting'
p43492
aS'cast'
p43493
aS'cast'
p43494
asS'Roneo'
p43495
(lp43496
S'Roneos'
p43497
aS'Roneoing'
p43498
aS'Roneoed'
p43499
aS'Roneoed'
p43500
asS'embank'
p43501
(lp43502
S'embanks'
p43503
aS'embanking'
p43504
aS'embanked'
p43505
aS'embanked'
p43506
asS'shingle'
p43507
(lp43508
S'shingles'
p43509
aS'shingling'
p43510
aS'shingled'
p43511
aS'shingled'
p43512
asS'mound'
p43513
(lp43514
S'mounds'
p43515
aS'mounding'
p43516
aS'mounded'
p43517
aS'mounded'
p43518
asS'vest'
p43519
(lp43520
S'vests'
p43521
aS'vesting'
p43522
aS'vested'
p43523
aS'vested'
p43524
asS'bemean'
p43525
(lp43526
S'bemeans'
p43527
aS'bemeaning'
p43528
aS'bemeaned'
p43529
aS'bemeaned'
p43530
asS'depersonalize'
p43531
(lp43532
S'depersonalizes'
p43533
aS'depersonalizing'
p43534
aS'depersonalized'
p43535
aS'depersonalized'
p43536
asS'telephone'
p43537
(lp43538
S'telephones'
p43539
aS'telephoning'
p43540
aS'telephoned'
p43541
aS'telephoned'
p43542
asS'parse'
p43543
(lp43544
S'parses'
p43545
aS'parsing'
p43546
aS'parsed'
p43547
aS'parsed'
p43548
asS'big-note'
p43549
(lp43550
S'big-notes'
p43551
aS'big-noting'
p43552
aS'big-noted'
p43553
aS'big-noted'
p43554
asS'clutter'
p43555
(lp43556
S'clutters'
p43557
aS'cluttering'
p43558
aS'cluttered'
p43559
aS'cluttered'
p43560
asS'saponify'
p43561
(lp43562
S'saponifies'
p43563
aS'saponifying'
p43564
aS'saponified'
p43565
aS'saponified'
p43566
asS'reshape'
p43567
(lp43568
S'reshapes'
p43569
aS'reshaping'
p43570
aS'reshaped'
p43571
aS'reshaped'
p43572
asS'bowl'
p43573
(lp43574
S'bowls'
p43575
aS'bowling'
p43576
aS'bowled'
p43577
aS'bowled'
p43578
asS'furl'
p43579
(lp43580
S'furls'
p43581
aS'furling'
p43582
aS'furled'
p43583
aS'furled'
p43584
asS'sucker'
p43585
(lp43586
S'suckers'
p43587
aS'suckering'
p43588
aS'suckered'
p43589
aS'suckered'
p43590
asS'spatter'
p43591
(lp43592
S'spatters'
p43593
aS'spattering'
p43594
aS'spattered'
p43595
aS'spattered'
p43596
asS'ween'
p43597
(lp43598
S'weens'
p43599
aS'weening'
p43600
aS'weened'
p43601
aS'weened'
p43602
asS'applaud'
p43603
(lp43604
S'applauds'
p43605
aS'applauding'
p43606
aS'applauded'
p43607
aS'applauded'
p43608
asS'nest'
p43609
(lp43610
S'nests'
p43611
aS'nesting'
p43612
aS'nested'
p43613
aS'nested'
p43614
asS'weed'
p43615
(lp43616
sS'drivel'
p43617
(lp43618
S'drivels'
p43619
aS'drivelling'
p43620
aS'drivelled'
p43621
aS'drivelled'
p43622
asS'lute'
p43623
(lp43624
S'lutes'
p43625
aS'luting'
p43626
aS'luted'
p43627
aS'luted'
p43628
asS'ragout'
p43629
(lp43630
S'ragouts'
p43631
aS'ragouting'
p43632
aS'ragouted'
p43633
aS'ragouted'
p43634
asS'encrypt'
p43635
(lp43636
S'encrypts'
p43637
aS'encrypting'
p43638
aS'encrypted'
p43639
aS'encrypted'
p43640
asS'weep'
p43641
(lp43642
S'weeps'
p43643
aS'weeping'
p43644
aS'wept'
p43645
aS'wept'
p43646
asS'minimize'
p43647
(lp43648
S'minimizes'
p43649
aS'minimizing'
p43650
aS'minimized'
p43651
aS'minimized'
p43652
asS'ranch'
p43653
(lp43654
S'ranches'
p43655
aS'ranching'
p43656
aS'ranched'
p43657
aS'ranched'
p43658
asS'brede'
p43659
(lp43660
S'bredes'
p43661
aS'breding'
p43662
aS'breded'
p43663
aS'breded'
p43664
asS'communalize'
p43665
(lp43666
S'communalizes'
p43667
aS'communalizing'
p43668
aS'communalized'
p43669
aS'communalized'
p43670
asS'co-edit'
p43671
(lp43672
S'co-edits'
p43673
aS'co-editing'
p43674
aS'co-edited'
p43675
aS'co-edited'
p43676
asS'inbreathe'
p43677
(lp43678
S'inbreathes'
p43679
aS'inbreathing'
p43680
aS'inbreathed'
p43681
aS'inbreathed'
p43682
asS'illume'
p43683
(lp43684
S'illumes'
p43685
aS'illuming'
p43686
aS'illumed'
p43687
aS'illumed'
p43688
asS'model'
p43689
(lp43690
S'models'
p43691
aS'modelling'
p43692
aS'modelled'
p43693
aS'modelled'
p43694
asS'retroject'
p43695
(lp43696
S'retrojects'
p43697
aS'retrojecting'
p43698
aS'retrojected'
p43699
aS'retrojected'
p43700
asS'justify'
p43701
(lp43702
S'justifies'
p43703
aS'justifying'
p43704
aS'justified'
p43705
aS'justified'
p43706
asS'clog'
p43707
(lp43708
S'clogs'
p43709
aS'clogging'
p43710
aS'clogged'
p43711
aS'clogged'
p43712
asS'crossindex'
p43713
(lp43714
S'crossindexes'
p43715
aS'crossindexing'
p43716
aS'crossindexed'
p43717
aS'crossindexed'
p43718
asS'kilt'
p43719
(lp43720
S'kilts'
p43721
aS'kilting'
p43722
aS'kilted'
p43723
aS'kilted'
p43724
asS'clot'
p43725
(lp43726
S'clots'
p43727
aS'clotting'
p43728
aS'clotted'
p43729
aS'clotted'
p43730
asS'lavish'
p43731
(lp43732
S'lavishes'
p43733
aS'lavishing'
p43734
aS'lavished'
p43735
aS'lavished'
p43736
asS'clop'
p43737
(lp43738
S'clops'
p43739
aS'clopping'
p43740
aS'clopped'
p43741
aS'clopped'
p43742
asS'kiln'
p43743
(lp43744
S'kilns'
p43745
aS'kilning'
p43746
aS'kilned'
p43747
aS'kilned'
p43748
asS'polish'
p43749
(lp43750
S'polishes'
p43751
aS'polishing'
p43752
aS'polished'
p43753
aS'polished'
p43754
asS'velarize'
p43755
(lp43756
S'velarizes'
p43757
aS'velarizing'
p43758
aS'velarized'
p43759
aS'velarized'
p43760
asS'cloy'
p43761
(lp43762
S'cloys'
p43763
aS'cloying'
p43764
aS'cloyed'
p43765
aS'cloyed'
p43766
asS'blow'
p43767
(lp43768
S'blows'
p43769
aS'blowing'
p43770
aS'blew'
p43771
aS'blown'
p43772
asS'blot'
p43773
(lp43774
S'blots'
p43775
aS'blotting'
p43776
aS'blotted'
p43777
aS'blotted'
p43778
asS'hint'
p43779
(lp43780
S'hints'
p43781
aS'hinting'
p43782
aS'hinted'
p43783
aS'hinted'
p43784
asS'except'
p43785
(lp43786
S'excepts'
p43787
aS'excepting'
p43788
aS'excepted'
p43789
aS'excepted'
p43790
asS'enfilade'
p43791
(lp43792
S'enfilades'
p43793
aS'enfilading'
p43794
aS'enfiladed'
p43795
aS'enfiladed'
p43796
asS'blob'
p43797
(lp43798
S'blobs'
p43799
aS'blobbing'
p43800
aS'blobbed'
p43801
aS'blobbed'
p43802
asS'backbite'
p43803
(lp43804
S'backbites'
p43805
aS'backbiting'
p43806
aS'backbit'
p43807
aS'backbitten'
p43808
asS'disrupt'
p43809
(lp43810
S'disrupts'
p43811
aS'disrupting'
p43812
aS'disrupted'
p43813
aS'disrupted'
p43814
asS'impound'
p43815
(lp43816
S'impounds'
p43817
aS'impounding'
p43818
aS'impounded'
p43819
aS'impounded'
p43820
asS'devest'
p43821
(lp43822
S'devests'
p43823
aS'devesting'
p43824
aS'devested'
p43825
aS'devested'
p43826
asS'entwintwine'
p43827
(lp43828
S'entwintwines'
p43829
aS'entwintwining'
p43830
aS'entwintwined'
p43831
aS'entwintwined'
p43832
asS'snore'
p43833
(lp43834
S'snores'
p43835
aS'snoring'
p43836
aS'snored'
p43837
aS'snored'
p43838
asS'shrink'
p43839
(lp43840
S'shrinks'
p43841
aS'shrinking'
p43842
aS'shrunk'
p43843
aS'shrunken'
p43844
asS'snort'
p43845
(lp43846
S'snorts'
p43847
aS'snorting'
p43848
aS'snorted'
p43849
aS'snorted'
p43850
asS'deduct'
p43851
(lp43852
S'deducts'
p43853
aS'deducting'
p43854
aS'deducted'
p43855
aS'deducted'
p43856
asS'subsidize'
p43857
(lp43858
S'subsidizes'
p43859
aS'subsidizing'
p43860
aS'subsidized'
p43861
aS'subsidized'
p43862
asS'interlock'
p43863
(lp43864
S'interlocks'
p43865
aS'interlocking'
p43866
aS'interlocked'
p43867
aS'interlocked'
p43868
asS'deduce'
p43869
(lp43870
S'deduces'
p43871
aS'deducing'
p43872
aS'deduced'
p43873
aS'deduced'
p43874
asS'mispled'
p43875
(lp43876
S'mispleds'
p43877
aS'mispleding'
p43878
aS'mispled'
p43879
aS'mispled'
p43880
asS'respect'
p43881
(lp43882
S'respects'
p43883
aS'respecting'
p43884
aS'respected'
p43885
aS'respected'
p43886
asS'slice'
p43887
(lp43888
S'slices'
p43889
aS'slicing'
p43890
aS'sliced'
p43891
aS'sliced'
p43892
asS'overstay'
p43893
(lp43894
S'overstays'
p43895
aS'overstaying'
p43896
aS'overstayed'
p43897
aS'overstayed'
p43898
asS'renounce'
p43899
(lp43900
S'renounces'
p43901
aS'renouncing'
p43902
aS'renounced'
p43903
aS'renounced'
p43904
asS'divvy'
p43905
(lp43906
S'divvies'
p43907
aS'divvying'
p43908
aS'divvied'
p43909
aS'divvied'
p43910
asS'slick'
p43911
(lp43912
S'slicks'
p43913
aS'slicking'
p43914
aS'slicked'
p43915
aS'slicked'
p43916
asS'jiggle'
p43917
(lp43918
S'jiggles'
p43919
aS'jiggling'
p43920
aS'jiggled'
p43921
aS'jiggled'
p43922
asS'moon'
p43923
(lp43924
S'moons'
p43925
aS'mooning'
p43926
aS'mooned'
p43927
aS'mooned'
p43928
asS'moor'
p43929
(lp43930
S'moors'
p43931
aS'mooring'
p43932
aS'moored'
p43933
aS'moored'
p43934
asS'moot'
p43935
(lp43936
S'moots'
p43937
aS'mooting'
p43938
aS'mooted'
p43939
aS'mooted'
p43940
asS'stope'
p43941
(lp43942
S'stopes'
p43943
aS'stoping'
p43944
aS'stoped'
p43945
aS'stoped'
p43946
asS'herringbone'
p43947
(lp43948
S'herringbones'
p43949
aS'herringboning'
p43950
aS'herringboned'
p43951
aS'herringboned'
p43952
asS'inspect'
p43953
(lp43954
S'inspects'
p43955
aS'inspecting'
p43956
aS'inspected'
p43957
aS'inspected'
p43958
asS'communicate'
p43959
(lp43960
S'communicates'
p43961
aS'communicating'
p43962
aS'communicated'
p43963
aS'communicated'
p43964
asS'slaughter'
p43965
(lp43966
S'slaughters'
p43967
aS'slaughtering'
p43968
aS'slaughtered'
p43969
aS'slaughtered'
p43970
asS'update'
p43971
(lp43972
S'updates'
p43973
aS'updating'
p43974
aS'updated'
p43975
aS'updated'
p43976
asS'fantasize'
p43977
(lp43978
S'fantasizes'
p43979
aS'fantasizing'
p43980
aS'fantasized'
p43981
aS'fantasized'
p43982
asS'immigrate'
p43983
(lp43984
S'immigrates'
p43985
aS'immigrating'
p43986
aS'immigrated'
p43987
aS'immigrated'
p43988
asS'prattle'
p43989
(lp43990
S'prattles'
p43991
aS'prattling'
p43992
aS'prattled'
p43993
aS'prattled'
p43994
asS'concuss'
p43995
(lp43996
S'concusses'
p43997
aS'concussing'
p43998
aS'concussed'
p43999
aS'concussed'
p44000
asS'tread'
p44001
(lp44002
S'treads'
p44003
aS'treading'
p44004
aS'trod'
p44005
aS'trodden'
p44006
asS'ok'
p44007
(lp44008
S'oks'
p44009
aS'oking'
p44010
aS'oked'
p44011
aS'oked'
p44012
asS'jeer'
p44013
(lp44014
S'jeers'
p44015
aS'jeering'
p44016
aS'jeered'
p44017
aS'jeered'
p44018
asS'shrimp'
p44019
(lp44020
S'shrimps'
p44021
aS'shrimping'
p44022
aS'shrimped'
p44023
aS'shrimped'
p44024
asS'stand'
p44025
(lp44026
S'stands'
p44027
aS'standing'
p44028
aS'stood'
p44029
aS'stood'
p44030
asS'equalize'
p44031
(lp44032
S'equalizes'
p44033
aS'equalizing'
p44034
aS'equalized'
p44035
aS'equalized'
p44036
asS'doze'
p44037
(lp44038
S'dozes'
p44039
aS'dozing'
p44040
aS'dozed'
p44041
aS'dozed'
p44042
asS'broddle'
p44043
(lp44044
S'broddles'
p44045
aS'broddling'
p44046
aS'broddled'
p44047
aS'broddled'
p44048
asS'accredit'
p44049
(lp44050
S'accredits'
p44051
aS'accrediting'
p44052
aS'accredited'
p44053
aS'accredited'
p44054
asS'undervalue'
p44055
(lp44056
S'undervalues'
p44057
aS'undervaluing'
p44058
aS'undervalued'
p44059
aS'undervalued'
p44060
asS'garb'
p44061
(lp44062
S'garbs'
p44063
aS'garbing'
p44064
aS'garbed'
p44065
aS'garbed'
p44066
asS'garner'
p44067
(lp44068
S'garners'
p44069
aS'garnering'
p44070
aS'garnered'
p44071
aS'garnered'
p44072
asS'annotate'
p44073
(lp44074
S'annotates'
p44075
aS'annotating'
p44076
aS'annotated'
p44077
aS'annotated'
p44078
asS'forewarn'
p44079
(lp44080
S'forewarns'
p44081
aS'forewarning'
p44082
aS'forewarned'
p44083
aS'forewarned'
p44084
asS'determine'
p44085
(lp44086
S'determines'
p44087
aS'determining'
p44088
aS'determined'
p44089
aS'determined'
p44090
asS'syringe'
p44091
(lp44092
S'syringing'
p44093
aS'syringed'
p44094
aS'syringed'
p44095
asS'abrogate'
p44096
(lp44097
S'abrogates'
p44098
aS'abrogating'
p44099
aS'abrogated'
p44100
aS'abrogated'
p44101
asS'weight'
p44102
(lp44103
S'weights'
p44104
aS'weighting'
p44105
aS'weighted'
p44106
aS'weighted'
p44107
asS'backwater'
p44108
(lp44109
S'backwaters'
p44110
aS'backwatering'
p44111
aS'backwatered'
p44112
aS'backwatered'
p44113
asS'scry'
p44114
(lp44115
S'scries'
p44116
aS'scrying'
p44117
aS'scried'
p44118
aS'scried'
p44119
asS'ponce'
p44120
(lp44121
S'ponces'
p44122
aS'poncing'
p44123
aS'ponced'
p44124
aS'ponced'
p44125
asS'deterge'
p44126
(lp44127
S'deterges'
p44128
aS'deterging'
p44129
aS'deterged'
p44130
aS'deterged'
p44131
asS'expatriate'
p44132
(lp44133
S'expatriates'
p44134
aS'expatriating'
p44135
aS'expatriated'
p44136
aS'expatriated'
p44137
asS'condone'
p44138
(lp44139
S'condones'
p44140
aS'condoning'
p44141
aS'condoned'
p44142
aS'condoned'
p44143
asS'carouse'
p44144
(lp44145
S'carouses'
p44146
aS'carousing'
p44147
aS'caroused'
p44148
aS'caroused'
p44149
asS'gibe'
p44150
(lp44151
S'gibes'
p44152
aS'gibing'
p44153
aS'gibed'
p44154
aS'gibed'
p44155
asS'jug'
p44156
(lp44157
S'jugs'
p44158
aS'jugging'
p44159
aS'jugged'
p44160
aS'jugged'
p44161
asS'winnow'
p44162
(lp44163
S'winnows'
p44164
aS'winnowing'
p44165
aS'winnowed'
p44166
aS'winnowed'
p44167
asS'roust'
p44168
(lp44169
S'rousts'
p44170
aS'rousting'
p44171
aS'rousted'
p44172
aS'rousted'
p44173
asS'regard'
p44174
(lp44175
S'regards'
p44176
aS'regarding'
p44177
aS'regarded'
p44178
aS'regarded'
p44179
asS'betoken'
p44180
(lp44181
S'betokens'
p44182
aS'betokening'
p44183
aS'betokened'
p44184
aS'betokened'
p44185
asS'notate'
p44186
(lp44187
S'notates'
p44188
aS'notating'
p44189
aS'notated'
p44190
aS'notated'
p44191
asS'jut'
p44192
(lp44193
S'juts'
p44194
aS'jutting'
p44195
aS'jutted'
p44196
aS'jutted'
p44197
asS'promote'
p44198
(lp44199
S'promotes'
p44200
aS'promoting'
p44201
aS'promoted'
p44202
aS'promoted'
p44203
asS'emancipate'
p44204
(lp44205
S'emancipates'
p44206
aS'emancipating'
p44207
aS'emancipated'
p44208
aS'emancipated'
p44209
asS'scrouge'
p44210
(lp44211
S'scrouges'
p44212
aS'scrouging'
p44213
aS'scrouged'
p44214
aS'scrouged'
p44215
asS'demilitarize'
p44216
(lp44217
S'demilitarizes'
p44218
aS'demilitarizing'
p44219
aS'demilitarized'
p44220
aS'demilitarized'
p44221
asS'fabricate'
p44222
(lp44223
S'fabricates'
p44224
aS'fabricating'
p44225
aS'fabricated'
p44226
aS'fabricated'
p44227
asS'wholesale'
p44228
(lp44229
S'wholesales'
p44230
aS'wholesaling'
p44231
aS'wholesaled'
p44232
aS'wholesaled'
p44233
asS'excruciate'
p44234
(lp44235
S'excruciates'
p44236
aS'excruciating'
p44237
aS'excruciated'
p44238
aS'excruciated'
p44239
asS'incise'
p44240
(lp44241
S'incises'
p44242
aS'incising'
p44243
aS'incised'
p44244
aS'incised'
p44245
asS'putput'
p44246
(lp44247
S'putputs'
p44248
aS'putputting'
p44249
aS'putputted'
p44250
aS'putputted'
p44251
asS'nigrify'
p44252
(lp44253
S'nigrifies'
p44254
aS'nigrifying'
p44255
aS'nigrified'
p44256
aS'nigrified'
p44257
asS'grasp'
p44258
(lp44259
S'grasps'
p44260
aS'grasping'
p44261
aS'grasped'
p44262
aS'grasped'
p44263
asS'grass'
p44264
(lp44265
S'grasses'
p44266
aS'grassing'
p44267
aS'grassed'
p44268
aS'grassed'
p44269
asS'politick'
p44270
(lp44271
S'politicks'
p44272
aS'politicking'
p44273
aS'politicked'
p44274
aS'politicked'
p44275
asS'tranquillize'
p44276
(lp44277
S'tranquillizes'
p44278
aS'tranquillizing'
p44279
aS'tranquillized'
p44280
aS'tranquillized'
p44281
asS'taste'
p44282
(lp44283
S'tastes'
p44284
aS'tasting'
p44285
aS'tasted'
p44286
aS'tasted'
p44287
asS'frighten'
p44288
(lp44289
S'frightens'
p44290
aS'frightening'
p44291
aS'frightened'
p44292
aS'frightened'
p44293
asS'thrombose'
p44294
(lp44295
S'thromboses'
p44296
aS'thrombosing'
p44297
aS'thrombosed'
p44298
aS'thrombosed'
p44299
asS'fossick'
p44300
(lp44301
S'fossicks'
p44302
aS'fossicking'
p44303
aS'fossicked'
p44304
aS'fossicked'
p44305
asS'trundle'
p44306
(lp44307
S'trundles'
p44308
aS'trundling'
p44309
aS'trundled'
p44310
aS'trundled'
p44311
asS'encompass'
p44312
(lp44313
S'encompasses'
p44314
aS'encompassing'
p44315
aS'encompassed'
p44316
aS'encompassed'
p44317
asS'deraign'
p44318
(lp44319
S'deraigns'
p44320
aS'deraigning'
p44321
aS'deraigned'
p44322
aS'deraigned'
p44323
asS'wanton'
p44324
(lp44325
S'wantons'
p44326
aS'wantoning'
p44327
aS'wantoned'
p44328
aS'wantoned'
p44329
asS'deserve'
p44330
(lp44331
S'deserves'
p44332
aS'deserving'
p44333
aS'deserved'
p44334
aS'deserved'
p44335
asS'compel'
p44336
(lp44337
S'compels'
p44338
aS'compelling'
p44339
aS'compelled'
p44340
aS'compelled'
p44341
asS'rubber'
p44342
(lp44343
S'rubbers'
p44344
aS'rubbering'
p44345
aS'rubbered'
p44346
aS'rubbered'
p44347
asS'trash'
p44348
(lp44349
S'trashes'
p44350
aS'trashing'
p44351
aS'trashed'
p44352
aS'trashed'
p44353
asS'sully'
p44354
(lp44355
S'sullies'
p44356
aS'sullying'
p44357
aS'sullied'
p44358
aS'sullied'
p44359
asS'proliferate'
p44360
(lp44361
S'proliferates'
p44362
aS'proliferating'
p44363
aS'proliferated'
p44364
aS'proliferated'
p44365
asS'unbend'
p44366
(lp44367
S'unbends'
p44368
aS'unbending'
p44369
aS'unbent'
p44370
aS'unbent'
p44371
asS'separate'
p44372
(lp44373
S'separates'
p44374
aS'separating'
p44375
aS'separated'
p44376
aS'separated'
p44377
asS'symbol'
p44378
(lp44379
S'symbols'
p44380
aS'symbolling'
p44381
aS'symbolled'
p44382
aS'symbolled'
p44383
asS'cove'
p44384
(lp44385
S'coves'
p44386
aS'coving'
p44387
aS'coved'
p44388
aS'coved'
p44389
asS'flocculate'
p44390
(lp44391
S'flocculates'
p44392
aS'flocculating'
p44393
aS'flocculated'
p44394
aS'flocculated'
p44395
asS'despoil'
p44396
(lp44397
S'despoils'
p44398
aS'despoiling'
p44399
aS'despoiled'
p44400
aS'despoiled'
p44401
asS'dishonour'
p44402
(lp44403
S'dishonours'
p44404
aS'dishonouring'
p44405
aS'dishonoured'
p44406
aS'dishonoured'
p44407
asS'ferrule'
p44408
(lp44409
S'ferrules'
p44410
aS'ferruling'
p44411
aS'ferruled'
p44412
aS'ferruled'
p44413
asS'feudalize'
p44414
(lp44415
S'feudalizes'
p44416
aS'feudalizing'
p44417
aS'feudalized'
p44418
aS'feudalized'
p44419
asS'spouse'
p44420
(lp44421
S'spouses'
p44422
aS'spousing'
p44423
aS'spoused'
p44424
aS'spoused'
p44425
asS'verjuice'
p44426
(lp44427
S'verjuices'
p44428
aS'verjuicing'
p44429
aS'verjuiced'
p44430
aS'verjuiced'
p44431
asS'crossbred'
p44432
(lp44433
S'crossbred'
p44434
aS'crossbred'
p44435
asS'luxate'
p44436
(lp44437
S'luxates'
p44438
aS'luxating'
p44439
aS'luxated'
p44440
aS'luxated'
p44441
asS'overblow'
p44442
(lp44443
S'overblows'
p44444
aS'overblowing'
p44445
aS'overblew'
p44446
aS'overblown'
p44447
asS'invest'
p44448
(lp44449
S'invests'
p44450
aS'investing'
p44451
aS'invested'
p44452
aS'invested'
p44453
asS'curve'
p44454
(lp44455
S'curves'
p44456
aS'curving'
p44457
aS'curved'
p44458
aS'curved'
p44459
asS'lyse'
p44460
(lp44461
S'lyses'
p44462
aS'lysing'
p44463
aS'lysed'
p44464
aS'lysed'
p44465
asS'wamble'
p44466
(lp44467
S'wambles'
p44468
aS'wambling'
p44469
aS'wambled'
p44470
aS'wambled'
p44471
asS'philosophize'
p44472
(lp44473
S'philosophizes'
p44474
aS'philosophizing'
p44475
aS'philosophized'
p44476
aS'philosophized'
p44477
asS'derrick'
p44478
(lp44479
S'derricks'
p44480
aS'derricking'
p44481
aS'derricked'
p44482
aS'derricked'
p44483
asS'fizzle'
p44484
(lp44485
S'fizzles'
p44486
aS'fizzling'
p44487
aS'fizzled'
p44488
aS'fizzled'
p44489
asS'enswathe'
p44490
(lp44491
S'enswathes'
p44492
aS'enswathing'
p44493
aS'enswathed'
p44494
aS'enswathed'
p44495
asS'lallygag'
p44496
(lp44497
S'lallygags'
p44498
aS'lallygagging'
p44499
aS'lallygagged'
p44500
aS'lallygagged'
p44501
asS'lack'
p44502
(lp44503
S'lacks'
p44504
aS'lacking'
p44505
aS'lacked'
p44506
aS'lacked'
p44507
asS'disc'
p44508
(lp44509
S'discs'
p44510
aS'discing'
p44511
aS'disced'
p44512
aS'disced'
p44513
asS'antagonize'
p44514
(lp44515
S'antagonizes'
p44516
aS'antagonizing'
p44517
aS'antagonized'
p44518
aS'antagonized'
p44519
asS'dish'
p44520
(lp44521
S'dishes'
p44522
aS'dishing'
p44523
aS'dished'
p44524
aS'dished'
p44525
asS'follow'
p44526
(lp44527
S'follows'
p44528
aS'following'
p44529
aS'followed'
p44530
aS'followed'
p44531
asS'glimpse'
p44532
(lp44533
S'glimpses'
p44534
aS'glimpsing'
p44535
aS'glimpsed'
p44536
aS'glimpsed'
p44537
asS'depressurize'
p44538
(lp44539
S'depressurizes'
p44540
aS'depressurizing'
p44541
aS'depressurized'
p44542
aS'depressurized'
p44543
asS'homage'
p44544
(lp44545
S'homages'
p44546
aS'homaging'
p44547
aS'homaged'
p44548
aS'homaged'
p44549
asS'assuage'
p44550
(lp44551
S'assuages'
p44552
aS'assuaging'
p44553
aS'assuaged'
p44554
aS'assuaged'
p44555
asS'begird'
p44556
(lp44557
S'begirds'
p44558
aS'begirding'
p44559
aS'begirt'
p44560
aS'begirt'
p44561
asS'precast'
p44562
(lp44563
S'precasts'
p44564
aS'precasting'
p44565
aS'precast'
p44566
aS'precast'
p44567
asS'backslide'
p44568
(lp44569
S'backslides'
p44570
aS'backsliding'
p44571
aS'backslidden'
p44572
aS'backslidden'
p44573
asS'fay'
p44574
(lp44575
S'fays'
p44576
aS'faying'
p44577
aS'fayed'
p44578
aS'fayed'
p44579
asS'disjoin'
p44580
(lp44581
S'disjoins'
p44582
aS'disjoining'
p44583
aS'disjoined'
p44584
aS'disjoined'
p44585
asS'induce'
p44586
(lp44587
S'induces'
p44588
aS'inducing'
p44589
aS'induced'
p44590
aS'induced'
p44591
asS'fan'
p44592
(lp44593
S'fans'
p44594
aS'fanning'
p44595
aS'fanned'
p44596
aS'fanned'
p44597
asS'ticket'
p44598
(lp44599
S'tickets'
p44600
aS'ticketing'
p44601
aS'ticketed'
p44602
aS'ticketed'
p44603
asS'gainsay'
p44604
(lp44605
S'gainsays'
p44606
aS'gainsaying'
p44607
aS'gainsaid'
p44608
aS'gainsaid'
p44609
asS'steeve'
p44610
(lp44611
S'steeves'
p44612
aS'steeving'
p44613
aS'steeved'
p44614
aS'steeved'
p44615
asS'induct'
p44616
(lp44617
S'inducts'
p44618
aS'inducting'
p44619
aS'inducted'
p44620
aS'inducted'
p44621
asS'lisp'
p44622
(lp44623
S'lisps'
p44624
aS'lisping'
p44625
aS'lisped'
p44626
aS'lisped'
p44627
asS'list'
p44628
(lp44629
S'lists'
p44630
aS'listing'
p44631
aS'listed'
p44632
aS'listed'
p44633
asS'goster'
p44634
(lp44635
S'gosters'
p44636
aS'gostering'
p44637
aS'gostered'
p44638
aS'gostered'
p44639
asS'intimidate'
p44640
(lp44641
S'intimidates'
p44642
aS'intimidating'
p44643
aS'intimidated'
p44644
aS'intimidated'
p44645
asS'programme'
p44646
(lp44647
S'programs'
p44648
aS'programming'
p44649
aS'programmed'
p44650
aS'programmed'
p44651
asS'flick'
p44652
(lp44653
S'flicks'
p44654
aS'flicking'
p44655
aS'flicked'
p44656
aS'flicked'
p44657
asS'ted'
p44658
(lp44659
S'teds'
p44660
aS'tedding'
p44661
aS'tedded'
p44662
aS'tedded'
p44663
asS'tee'
p44664
(lp44665
S'tees'
p44666
aS'teeing'
p44667
aS'teed'
p44668
aS'teed'
p44669
asS'jib'
p44670
(lp44671
S'jibs'
p44672
aS'jibbing'
p44673
aS'jibbed'
p44674
aS'jibbed'
p44675
asS'rate'
p44676
(lp44677
S'rates'
p44678
aS'rating'
p44679
aS'rated'
p44680
aS'rated'
p44681
asS'design'
p44682
(lp44683
S'designs'
p44684
aS'designing'
p44685
aS'designed'
p44686
aS'designed'
p44687
asS'canalize'
p44688
(lp44689
S'canalizes'
p44690
aS'canalizing'
p44691
aS'canalized'
p44692
aS'canalized'
p44693
asS'overachieve'
p44694
(lp44695
S'overachieves'
p44696
aS'overachieving'
p44697
aS'overachieved'
p44698
aS'overachieved'
p44699
asS'countermove'
p44700
(lp44701
S'countermoves'
p44702
aS'countermoving'
p44703
aS'countermoved'
p44704
aS'countermoved'
p44705
asS'sue'
p44706
(lp44707
S'sues'
p44708
aS'suing'
p44709
aS'sued'
p44710
aS'sued'
p44711
asS'prepossess'
p44712
(lp44713
S'prepossesses'
p44714
aS'prepossessing'
p44715
aS'prepossessed'
p44716
aS'prepossessed'
p44717
asS'sub'
p44718
(lp44719
S'subs'
p44720
aS'subbing'
p44721
aS'subbed'
p44722
aS'subbed'
p44723
asS'whap'
p44724
(lp44725
S'whaps'
p44726
aS'whaping'
p44727
aS'whaped'
p44728
aS'whaped'
p44729
asS'sun'
p44730
(lp44731
S'suns'
p44732
aS'sunning'
p44733
aS'sunned'
p44734
aS'sunned'
p44735
asS'sum'
p44736
(lp44737
S'sums'
p44738
aS'summing'
p44739
aS'summed'
p44740
aS'summed'
p44741
asS'whimper'
p44742
(lp44743
S'whimpers'
p44744
aS'whimpering'
p44745
aS'whimpered'
p44746
aS'whimpered'
p44747
asS'crust'
p44748
(lp44749
S'crusts'
p44750
aS'crusting'
p44751
aS'crusted'
p44752
aS'crusted'
p44753
asS'brief'
p44754
(lp44755
S'briefs'
p44756
aS'briefing'
p44757
aS'briefed'
p44758
aS'briefed'
p44759
asS'overload'
p44760
(lp44761
S'overloads'
p44762
aS'overloading'
p44763
aS'overloaded'
p44764
aS'overloaded'
p44765
asS'boodle'
p44766
(lp44767
S'boodles'
p44768
aS'boodling'
p44769
aS'boodled'
p44770
aS'boodled'
p44771
asS'crush'
p44772
(lp44773
S'crushes'
p44774
aS'crushing'
p44775
aS'crushed'
p44776
aS'crushed'
p44777
asS'desegregate'
p44778
(lp44779
S'desegregates'
p44780
aS'desegregating'
p44781
aS'desegregated'
p44782
aS'desegregated'
p44783
asS'intersect'
p44784
(lp44785
S'intersects'
p44786
aS'intersecting'
p44787
aS'intersected'
p44788
aS'intersected'
p44789
asS'sup'
p44790
(lp44791
S'sups'
p44792
aS'supping'
p44793
aS'supped'
p44794
aS'supped'
p44795
asS'discern'
p44796
(lp44797
S'discerns'
p44798
aS'discerning'
p44799
aS'discerned'
p44800
aS'discerned'
p44801
asS'experimentalize'
p44802
(lp44803
S'experimentalizes'
p44804
aS'experimentalizing'
p44805
aS'experimentalized'
p44806
aS'experimentalized'
p44807
asS'lacquer'
p44808
(lp44809
S'lacquers'
p44810
aS'lacquering'
p44811
aS'lacquered'
p44812
aS'lacquered'
p44813
asS'espalier'
p44814
(lp44815
S'espaliers'
p44816
aS'espaliering'
p44817
aS'espaliered'
p44818
aS'espaliered'
p44819
asS'eventuate'
p44820
(lp44821
S'eventuates'
p44822
aS'eventuating'
p44823
aS'eventuated'
p44824
aS'eventuated'
p44825
asS'alchemize'
p44826
(lp44827
S'alchemizes'
p44828
aS'alchemizing'
p44829
aS'alchemized'
p44830
aS'alchemized'
p44831
asS'transfigure'
p44832
(lp44833
S'transfigures'
p44834
aS'transfiguring'
p44835
aS'transfigured'
p44836
aS'transfigured'
p44837
asS'ventilate'
p44838
(lp44839
S'ventilates'
p44840
aS'ventilating'
p44841
aS'ventilated'
p44842
aS'ventilated'
p44843
asS'misinterpret'
p44844
(lp44845
S'misinterprets'
p44846
aS'misinterpreting'
p44847
aS'misinterpreted'
p44848
aS'misinterpreted'
p44849
asS'aphorize'
p44850
(lp44851
S'aphorizes'
p44852
aS'aphorizing'
p44853
aS'aphorized'
p44854
aS'aphorized'
p44855
asS'qualify'
p44856
(lp44857
S'qualifies'
p44858
aS'qualifying'
p44859
aS'qualified'
p44860
aS'qualified'
p44861
asS'sophisticate'
p44862
(lp44863
S'sophisticates'
p44864
aS'sophisticating'
p44865
aS'sophisticated'
p44866
aS'sophisticated'
p44867
asS'infringe'
p44868
(lp44869
S'infringes'
p44870
aS'infringing'
p44871
aS'infringed'
p44872
aS'infringed'
p44873
asS'supplicate'
p44874
(lp44875
S'supplicates'
p44876
aS'supplicating'
p44877
aS'supplicated'
p44878
aS'supplicated'
p44879
asS'suckle'
p44880
(lp44881
S'suckles'
p44882
aS'suckling'
p44883
aS'suckled'
p44884
aS'suckled'
p44885
asS'cooey'
p44886
(lp44887
S'cooeys'
p44888
aS'cooeying'
p44889
aS'cooeyed'
p44890
aS'cooeyed'
p44891
asS'demit'
p44892
(lp44893
S'demits'
p44894
aS'demitting'
p44895
aS'demitted'
p44896
aS'demitted'
p44897
asS'plonk'
p44898
(lp44899
S'plonks'
p44900
aS'plonking'
p44901
aS'plonked'
p44902
aS'plonked'
p44903
asS'snub'
p44904
(lp44905
S'snubs'
p44906
aS'snubbing'
p44907
aS'snubbed'
p44908
aS'snubbed'
p44909
asS'proceed'
p44910
(lp44911
S'proceeds'
p44912
aS'proceeding'
p44913
aS'proceeded'
p44914
aS'proceeded'
p44915
asS'disenable'
p44916
(lp44917
S'disenables'
p44918
aS'disenabling'
p44919
aS'disenabled'
p44920
aS'disenabled'
p44921
asS'faint'
p44922
(lp44923
S'faints'
p44924
aS'fainting'
p44925
aS'fainted'
p44926
aS'fainted'
p44927
asS'wield'
p44928
(lp44929
S'wields'
p44930
aS'wielding'
p44931
aS'wielded'
p44932
aS'wielded'
p44933
asS'somnambulate'
p44934
(lp44935
S'somnambulates'
p44936
aS'somnambulating'
p44937
aS'somnambulated'
p44938
aS'somnambulated'
p44939
asS'irritate'
p44940
(lp44941
S'irritates'
p44942
aS'irritating'
p44943
aS'irritated'
p44944
aS'irritated'
p44945
asS'inlay'
p44946
(lp44947
S'inlays'
p44948
aS'inlaying'
p44949
aS'inlaid'
p44950
aS'inlaid'
p44951
asS'testmarket'
p44952
(lp44953
S'testmarkets'
p44954
aS'testmarketing'
p44955
aS'testmarketed'
p44956
aS'testmarketed'
p44957
asS'garnish'
p44958
(lp44959
S'garnishes'
p44960
aS'garnishing'
p44961
aS'garnished'
p44962
aS'garnished'
p44963
asS'hurrah'
p44964
(lp44965
S'hurrahs'
p44966
aS'hurrahing'
p44967
aS'hurrahed'
p44968
aS'hurrahed'
p44969
asS'waxen'
p44970
(lp44971
S'waxens'
p44972
aS'waxening'
p44973
aS'waxened'
p44974
aS'waxened'
p44975
asS'mercerize'
p44976
(lp44977
S'mercerizes'
p44978
aS'mercerizing'
p44979
aS'mercerized'
p44980
aS'mercerized'
p44981
asS'flaw'
p44982
(lp44983
S'flaws'
p44984
aS'flawing'
p44985
aS'flawed'
p44986
aS'flawed'
p44987
asS'flap'
p44988
(lp44989
S'flaps'
p44990
aS'flapping'
p44991
aS'flapped'
p44992
aS'flapped'
p44993
asS'mire'
p44994
(lp44995
S'mires'
p44996
aS'miring'
p44997
aS'mired'
p44998
aS'mired'
p44999
asS'unkennel'
p45000
(lp45001
S'unkennels'
p45002
aS'unkenneling'
p45003
aS'unkenneled'
p45004
aS'unkenneled'
p45005
asS'stutter'
p45006
(lp45007
S'stutters'
p45008
aS'stuttering'
p45009
aS'stuttered'
p45010
aS'stuttered'
p45011
asS're-sort'
p45012
(lp45013
S're-sorts'
p45014
aS're-sorting'
p45015
ag17594
aS're-sorted'
p45016
asS'flag'
p45017
(lp45018
S'flags'
p45019
aS'flagging'
p45020
aS'flagged'
p45021
aS'flagged'
p45022
asS'stick'
p45023
(lp45024
S'sticks'
p45025
aS'sticking'
p45026
aS'stuck'
p45027
aS'stuck'
p45028
asS'amputate'
p45029
(lp45030
S'amputates'
p45031
aS'amputating'
p45032
aS'amputated'
p45033
aS'amputated'
p45034
asS'flam'
p45035
(lp45036
S'flams'
p45037
aS'flamming'
p45038
aS'flammed'
p45039
aS'flammed'
p45040
asS'mellow'
p45041
(lp45042
S'mellows'
p45043
aS'mellowing'
p45044
aS'mellowed'
p45045
aS'mellowed'
p45046
asS'glad'
p45047
(lp45048
S'glads'
p45049
aS'glading'
p45050
aS'gladed'
p45051
aS'gladed'
p45052
asS'domineer'
p45053
(lp45054
S'domineers'
p45055
aS'domineering'
p45056
aS'domineered'
p45057
aS'domineered'
p45058
asS'berth'
p45059
(lp45060
S'berths'
p45061
aS'berthing'
p45062
aS'berthed'
p45063
aS'berthed'
p45064
asS'squish'
p45065
(lp45066
S'squishes'
p45067
aS'squishing'
p45068
aS'squished'
p45069
aS'squished'
p45070
asS'conspire'
p45071
(lp45072
S'conspires'
p45073
aS'conspiring'
p45074
aS'conspired'
p45075
aS'conspired'
p45076
asS'coerce'
p45077
(lp45078
S'coerces'
p45079
aS'coercing'
p45080
aS'coerced'
p45081
aS'coerced'
p45082
asS'arise'
p45083
(lp45084
S'arises'
p45085
aS'arising'
p45086
aS'arose'
p45087
aS'arisen'
p45088
asS'cultivate'
p45089
(lp45090
S'cultivates'
p45091
aS'cultivating'
p45092
aS'cultivated'
p45093
aS'cultivated'
p45094
asS'allege'
p45095
(lp45096
S'alleges'
p45097
aS'alleging'
p45098
aS'alleged'
p45099
aS'alleged'
p45100
asS'court'
p45101
(lp45102
S'courts'
p45103
aS'courting'
p45104
aS'courted'
p45105
aS'courted'
p45106
asS'irrigate'
p45107
(lp45108
S'irrigates'
p45109
aS'irrigating'
p45110
aS'irrigated'
p45111
aS'irrigated'
p45112
asS'goad'
p45113
(lp45114
S'goads'
p45115
aS'goading'
p45116
aS'goaded'
p45117
aS'goaded'
p45118
asS'overbalance'
p45119
(lp45120
S'overbalances'
p45121
aS'overbalancing'
p45122
aS'overbalanced'
p45123
aS'overbalanced'
p45124
asS'mould'
p45125
(lp45126
S'moulds'
p45127
aS'moulding'
p45128
aS'moulded'
p45129
aS'moulded'
p45130
asS'sandwich'
p45131
(lp45132
S'sandwiches'
p45133
aS'sandwiching'
p45134
aS'sandwiched'
p45135
aS'sandwiched'
p45136
asS'okay'
p45137
(lp45138
S'okays'
p45139
aS'okaying'
p45140
aS'okayed'
p45141
aS'okayed'
p45142
asS'abdicate'
p45143
(lp45144
S'abdicates'
p45145
aS'abdicating'
p45146
aS'abdicated'
p45147
aS'abdicated'
p45148
asS'acerbate'
p45149
(lp45150
S'acerbates'
p45151
aS'acerbating'
p45152
aS'acerbated'
p45153
aS'acerbated'
p45154
asS'emulate'
p45155
(lp45156
S'emulates'
p45157
aS'emulating'
p45158
aS'emulated'
p45159
aS'emulated'
p45160
asS'embalm'
p45161
(lp45162
S'embalms'
p45163
aS'embalming'
p45164
aS'embalmed'
p45165
aS'embalmed'
p45166
asS'incumber'
p45167
(lp45168
S'incumbers'
p45169
aS'incumbering'
p45170
aS'incumbered'
p45171
aS'incumbered'
p45172
asS'acierate'
p45173
(lp45174
S'acierates'
p45175
aS'acierating'
p45176
aS'acierated'
p45177
aS'acierated'
p45178
asS'disable'
p45179
(lp45180
S'disables'
p45181
aS'disabling'
p45182
aS'disabled'
p45183
aS'disabled'
p45184
asS'adventure'
p45185
(lp45186
S'adventures'
p45187
aS'adventuring'
p45188
aS'adventured'
p45189
aS'adventured'
p45190
asS'incurvate'
p45191
(lp45192
S'incurvates'
p45193
aS'incurvating'
p45194
aS'incurvated'
p45195
aS'incurvated'
p45196
asS'capitalize'
p45197
(lp45198
S'capitalizes'
p45199
aS'capitalizing'
p45200
aS'capitalized'
p45201
aS'capitalized'
p45202
asS'castle'
p45203
(lp45204
S'castles'
p45205
aS'castling'
p45206
aS'castled'
p45207
aS'castled'
p45208
asS'pronominalize'
p45209
(lp45210
S'pronominalizes'
p45211
aS'pronominalizing'
p45212
aS'pronominalized'
p45213
aS'pronominalized'
p45214
asS'palpitate'
p45215
(lp45216
S'palpitates'
p45217
aS'palpitating'
p45218
aS'palpitated'
p45219
aS'palpitated'
p45220
asS'rationalize'
p45221
(lp45222
S'rationalizes'
p45223
aS'rationalizing'
p45224
aS'rationalized'
p45225
aS'rationalized'
p45226
asS'postfix'
p45227
(lp45228
S'postfixes'
p45229
aS'postfixing'
p45230
aS'postfixed'
p45231
aS'postfixed'
p45232
asS'Gnosticize'
p45233
(lp45234
S'Gnosticizes'
p45235
aS'Gnosticizing'
p45236
aS'Gnosticized'
p45237
aS'Gnosticized'
p45238
asS'stash'
p45239
(lp45240
S'stashes'
p45241
aS'stashing'
p45242
aS'stashed'
p45243
aS'stashed'
p45244
asS'ricochet'
p45245
(lp45246
S'ricochets'
p45247
aS'ricochetting'
p45248
aS'ricochetted'
p45249
aS'ricochetted'
p45250
asS'recrudesce'
p45251
(lp45252
S'recrudesces'
p45253
aS'recrudescing'
p45254
aS'recrudesced'
p45255
aS'recrudesced'
p45256
asS'shore'
p45257
(lp45258
S'shores'
p45259
aS'shoring'
p45260
aS'shored'
p45261
aS'shored'
p45262
asS'poohpooh'
p45263
(lp45264
S'poohpoohs'
p45265
aS'poohpoohing'
p45266
aS'poohpoohed'
p45267
aS'poohpoohed'
p45268
asS'shade'
p45269
(lp45270
S'shades'
p45271
aS'shading'
p45272
aS'shaded'
p45273
aS'shaded'
p45274
asS'retaliate'
p45275
(lp45276
S'retaliates'
p45277
aS'retaliating'
p45278
aS'retaliated'
p45279
aS'retaliated'
p45280
asS'dissatisfy'
p45281
(lp45282
S'dissatisfies'
p45283
aS'dissatisfying'
p45284
aS'dissatisfied'
p45285
aS'dissatisfied'
p45286
asS'abseil'
p45287
(lp45288
S'abseils'
p45289
aS'abseiling'
p45290
aS'abseiled'
p45291
aS'abseiled'
p45292
asS'mission'
p45293
(lp45294
S'missions'
p45295
aS'missioning'
p45296
aS'missioned'
p45297
aS'missioned'
p45298
asS'flaunt'
p45299
(lp45300
S'flaunts'
p45301
aS'flaunting'
p45302
aS'flaunted'
p45303
aS'flaunted'
p45304
asS'reconnect'
p45305
(lp45306
S'reconnects'
p45307
aS'reconnecting'
p45308
aS'reconnected'
p45309
aS'reconnected'
p45310
asS'flounce'
p45311
(lp45312
S'flounces'
p45313
aS'flouncing'
p45314
aS'flounced'
p45315
aS'flounced'
p45316
asS'style'
p45317
(lp45318
S'styles'
p45319
aS'styling'
p45320
aS'styled'
p45321
aS'styled'
p45322
asS'jollify'
p45323
(lp45324
S'jollifies'
p45325
aS'jollifying'
p45326
aS'jollified'
p45327
aS'jollified'
p45328
asS'resorb'
p45329
(lp45330
S'resorbs'
p45331
aS'resorbing'
p45332
aS'resorbed'
p45333
aS'resorbed'
p45334
asS'pray'
p45335
(lp45336
S'prays'
p45337
aS'praying'
p45338
aS'prayed'
p45339
aS'prayed'
p45340
asS'wilder'
p45341
(lp45342
S'wilders'
p45343
aS'wildering'
p45344
aS'wildered'
p45345
aS'wildered'
p45346
asS'constitutionalize'
p45347
(lp45348
S'constitutionalizes'
p45349
aS'constitutionalizing'
p45350
aS'constitutionalized'
p45351
aS'constitutionalized'
p45352
asS'cocknify'
p45353
(lp45354
S'cocknifies'
p45355
aS'cocknifying'
p45356
aS'cocknified'
p45357
aS'cocknified'
p45358
asS'might'
p45359
(lp45360
S"mightn't"
p45361
asS'alter'
p45362
(lp45363
S'alters'
p45364
aS'altering'
p45365
aS'altered'
p45366
aS'altered'
p45367
asS'return'
p45368
(lp45369
S'returns'
p45370
aS'returning'
p45371
aS'returned'
p45372
aS'returned'
p45373
asS'belittle'
p45374
(lp45375
S'belittles'
p45376
aS'belittling'
p45377
aS'belittled'
p45378
aS'belittled'
p45379
asS'accumulate'
p45380
(lp45381
S'accumulates'
p45382
aS'accumulating'
p45383
aS'accumulated'
p45384
aS'accumulated'
p45385
asS'slipper'
p45386
(lp45387
S'slippers'
p45388
aS'slippering'
p45389
aS'slippered'
p45390
aS'slippered'
p45391
asS'refresh'
p45392
(lp45393
S'refreshes'
p45394
aS'refreshing'
p45395
aS'refreshed'
p45396
aS'refreshed'
p45397
asS'modge'
p45398
(lp45399
S'modges'
p45400
aS'modging'
p45401
aS'modged'
p45402
aS'modged'
p45403
asS'malfunction'
p45404
(lp45405
S'malfunctions'
p45406
aS'malfunctioning'
p45407
aS'malfunctioned'
p45408
aS'malfunctioned'
p45409
asS'readdress'
p45410
(lp45411
S'readdresses'
p45412
aS'readdressing'
p45413
aS'readdressed'
p45414
aS'readdressed'
p45415
asS'shoal'
p45416
(lp45417
S'shoals'
p45418
aS'shoaling'
p45419
aS'shoaled'
p45420
aS'shoaled'
p45421
asS'formulate'
p45422
(lp45423
S'formulates'
p45424
aS'formulating'
p45425
aS'formulated'
p45426
aS'formulated'
p45427
asS'repartition'
p45428
(lp45429
S'repartitions'
p45430
aS'repartitioning'
p45431
aS'repartitioned'
p45432
aS'repartitioned'
p45433
asS'recapitulate'
p45434
(lp45435
S'recapitulates'
p45436
aS'recapitulating'
p45437
aS'recapitulated'
p45438
aS'recapitulated'
p45439
asS'expect'
p45440
(lp45441
S'expects'
p45442
aS'expecting'
p45443
aS'expected'
p45444
aS'expected'
p45445
asS'inflict'
p45446
(lp45447
S'inflicts'
p45448
aS'inflicting'
p45449
aS'inflicted'
p45450
aS'inflicted'
p45451
asS'chunder'
p45452
(lp45453
S'chunders'
p45454
aS'chundering'
p45455
aS'chundered'
p45456
aS'chundered'
p45457
asS'focalize'
p45458
(lp45459
S'focalizes'
p45460
aS'focalizing'
p45461
aS'focalized'
p45462
aS'focalized'
p45463
asS'rebound'
p45464
(lp45465
sS'disquiet'
p45466
(lp45467
S'disquiets'
p45468
aS'disquieting'
p45469
aS'disquieted'
p45470
aS'disquieted'
p45471
asS'hilt'
p45472
(lp45473
S'hilts'
p45474
aS'hilting'
p45475
aS'hilted'
p45476
aS'hilted'
p45477
asS'loll'
p45478
(lp45479
S'lolls'
p45480
aS'lolling'
p45481
aS'lolled'
p45482
aS'lolled'
p45483
asS'chaffer'
p45484
(lp45485
S'chaffers'
p45486
aS'chaffering'
p45487
aS'chaffered'
p45488
aS'chaffered'
p45489
asS'hill'
p45490
(lp45491
S'hills'
p45492
aS'hilling'
p45493
aS'hilled'
p45494
aS'hilled'
p45495
asS'silicify'
p45496
(lp45497
S'silicifies'
p45498
aS'silicifying'
p45499
aS'silicified'
p45500
aS'silicified'
p45501
asS'gut'
p45502
(lp45503
S'guts'
p45504
aS'gutting'
p45505
aS'gutted'
p45506
aS'gutted'
p45507
asS'forgive'
p45508
(lp45509
S'forgives'
p45510
aS'forgiving'
p45511
aS'forgave'
p45512
aS'forgiven'
p45513
asS'powwow'
p45514
(lp45515
S'powwows'
p45516
aS'powwowing'
p45517
aS'powwowed'
p45518
aS'powwowed'
p45519
asS'disinfect'
p45520
(lp45521
S'disinfects'
p45522
aS'disinfecting'
p45523
aS'disinfected'
p45524
aS'disinfected'
p45525
asS'teach'
p45526
(lp45527
S'teaches'
p45528
aS'teaching'
p45529
aS'taught'
p45530
aS'taught'
p45531
asS'interiorize'
p45532
(lp45533
S'interiorizes'
p45534
aS'interiorizing'
p45535
aS'interiorized'
p45536
aS'interiorized'
p45537
asS'blister'
p45538
(lp45539
S'blisters'
p45540
aS'blistering'
p45541
aS'blistered'
p45542
aS'blistered'
p45543
asS'thread'
p45544
(lp45545
S'threads'
p45546
aS'threading'
p45547
aS'threaded'
p45548
aS'threaded'
p45549
asS'stampede'
p45550
(lp45551
S'stampedes'
p45552
aS'stampeding'
p45553
aS'stampeded'
p45554
aS'stampeded'
p45555
asS'misreport'
p45556
(lp45557
S'misreports'
p45558
aS'misreporting'
p45559
aS'misreported'
p45560
aS'misreported'
p45561
asS'prejudice'
p45562
(lp45563
S'prejudices'
p45564
aS'prejudicing'
p45565
aS'prejudiced'
p45566
aS'prejudiced'
p45567
asS'circuit'
p45568
(lp45569
S'circuits'
p45570
aS'circuiting'
p45571
aS'circuited'
p45572
aS'circuited'
p45573
asS'debouch'
p45574
(lp45575
S'debouches'
p45576
aS'debouching'
p45577
aS'debouched'
p45578
aS'debouched'
p45579
asS'bushel'
p45580
(lp45581
S'bushels'
p45582
aS'bushelling'
p45583
aS'bushelled'
p45584
aS'bushelled'
p45585
asS'feed'
p45586
(lp45587
S'fees'
p45588
aS'feeing'
p45589
aS'feed'
p45590
aS'feed'
p45591
asS'dine'
p45592
(lp45593
S'dines'
p45594
aS'dining'
p45595
aS'dined'
p45596
aS'dined'
p45597
asS'feel'
p45598
(lp45599
S'feels'
p45600
aS'feeling'
p45601
aS'felt'
p45602
aS'felt'
p45603
asS'relate'
p45604
(lp45605
S'relates'
p45606
aS'relating'
p45607
aS'related'
p45608
aS'related'
p45609
asS'fancy'
p45610
(lp45611
S'fancies'
p45612
aS'fancying'
p45613
aS'fancied'
p45614
aS'fancied'
p45615
asS'plummet'
p45616
(lp45617
S'plummets'
p45618
aS'plummeting'
p45619
aS'plummeted'
p45620
aS'plummeted'
p45621
asS'notify'
p45622
(lp45623
S'notifies'
p45624
aS'notifying'
p45625
aS'notified'
p45626
aS'notified'
p45627
asS'wench'
p45628
(lp45629
S'wenches'
p45630
aS'wenching'
p45631
aS'wenched'
p45632
aS'wenched'
p45633
asS'blank'
p45634
(lp45635
S'blanks'
p45636
aS'blanking'
p45637
aS'blanked'
p45638
aS'blanked'
p45639
asS'moan'
p45640
(lp45641
S'moans'
p45642
aS'moaning'
p45643
aS'moaned'
p45644
aS'moaned'
p45645
asS'story'
p45646
(lp45647
S'stories'
p45648
aS'storying'
p45649
aS'storied'
p45650
aS'storied'
p45651
asS'script'
p45652
(lp45653
S'scripts'
p45654
aS'scripting'
p45655
aS'scripted'
p45656
aS'scripted'
p45657
asS'interact'
p45658
(lp45659
S'interacts'
p45660
aS'interacting'
p45661
aS'interacted'
p45662
aS'interacted'
p45663
asS'grime'
p45664
(lp45665
S'grimes'
p45666
aS'griming'
p45667
aS'grimed'
p45668
aS'grimed'
p45669
asS'collar'
p45670
(lp45671
S'collars'
p45672
aS'collaring'
p45673
aS'collared'
p45674
aS'collared'
p45675
asS'swarm'
p45676
(lp45677
S'swarms'
p45678
aS'swarming'
p45679
aS'swarmed'
p45680
aS'swarmed'
p45681
asS'storm'
p45682
(lp45683
S'storms'
p45684
aS'storming'
p45685
aS'stormed'
p45686
aS'stormed'
p45687
asS'moat'
p45688
(lp45689
S'moats'
p45690
aS'moating'
p45691
aS'moated'
p45692
aS'moated'
p45693
asS'syrup'
p45694
(lp45695
S'syrups'
p45696
aS'syruping'
p45697
aS'syruped'
p45698
aS'syruped'
p45699
asS'embus'
p45700
(lp45701
S'embuses'
p45702
aS'embusing'
p45703
aS'embused'
p45704
aS'embused'
p45705
asS'store'
p45706
(lp45707
S'stores'
p45708
aS'storing'
p45709
aS'stored'
p45710
aS'stored'
p45711
asS'redistribute'
p45712
(lp45713
S'redistributes'
p45714
aS'redistributing'
p45715
aS'redistributed'
p45716
aS'redistributed'
p45717
asS'flyfish'
p45718
(lp45719
S'flyfishes'
p45720
aS'flyfishing'
p45721
aS'flyfished'
p45722
aS'flyfished'
p45723
asS'fidget'
p45724
(lp45725
S'fidgets'
p45726
aS'fidgeting'
p45727
aS'fidgeted'
p45728
aS'fidgeted'
p45729
asS'rifle'
p45730
(lp45731
S'rifles'
p45732
aS'rifling'
p45733
aS'rifled'
p45734
aS'rifled'
p45735
asS'officiate'
p45736
(lp45737
S'officiates'
p45738
aS'officiating'
p45739
aS'officiated'
p45740
aS'officiated'
p45741
asS'throttle'
p45742
(lp45743
S'throttles'
p45744
aS'throttling'
p45745
aS'throttled'
p45746
aS'throttled'
p45747
asS'denazify'
p45748
(lp45749
S'denazifies'
p45750
aS'denazifying'
p45751
aS'denazified'
p45752
aS'denazified'
p45753
asS'double'
p45754
(lp45755
S'doubles'
p45756
aS'doubling'
p45757
aS'doubled'
p45758
aS'doubled'
p45759
asS'countercharge'
p45760
(lp45761
S'countercharges'
p45762
aS'countercharging'
p45763
aS'countercharged'
p45764
aS'countercharged'
p45765
asS'medicate'
p45766
(lp45767
S'medicates'
p45768
aS'medicating'
p45769
aS'medicated'
p45770
aS'medicated'
p45771
asS'stall'
p45772
(lp45773
S'stalls'
p45774
aS'stalling'
p45775
aS'stalled'
p45776
aS'stalled'
p45777
asS'cuff'
p45778
(lp45779
S'cuffs'
p45780
aS'cuffing'
p45781
aS'cuffed'
p45782
aS'cuffed'
p45783
asS'parenthesize'
p45784
(lp45785
S'parenthesizes'
p45786
aS'parenthesizing'
p45787
aS'parenthesized'
p45788
aS'parenthesized'
p45789
asS'stale'
p45790
(lp45791
S'stales'
p45792
aS'staling'
p45793
aS'staled'
p45794
aS'staled'
p45795
asS'amass'
p45796
(lp45797
S'amasses'
p45798
aS'amassing'
p45799
aS'amassed'
p45800
aS'amassed'
p45801
asS'sectionalize'
p45802
(lp45803
S'sectionalizes'
p45804
aS'sectionalizing'
p45805
aS'sectionalized'
p45806
aS'sectionalized'
p45807
asS'exert'
p45808
(lp45809
S'exerts'
p45810
aS'exerting'
p45811
aS'exerted'
p45812
aS'exerted'
p45813
asS'strengthen'
p45814
(lp45815
S'strengthens'
p45816
aS'strengthening'
p45817
aS'strengthened'
p45818
aS'strengthened'
p45819
asS'redintegrate'
p45820
(lp45821
S'redintegrates'
p45822
aS'redintegrating'
p45823
aS'redintegrated'
p45824
aS'redintegrated'
p45825
asS'gall'
p45826
(lp45827
S'galls'
p45828
aS'galling'
p45829
aS'galled'
p45830
aS'galled'
p45831
asS'remodel'
p45832
(lp45833
S'remodels'
p45834
aS'remodeling'
p45835
aS'remodeled'
p45836
aS'remodeled'
p45837
asS'toughen'
p45838
(lp45839
S'toughens'
p45840
aS'toughening'
p45841
aS'toughened'
p45842
aS'toughened'
p45843
asS'humanize'
p45844
(lp45845
S'humanizes'
p45846
aS'humanizing'
p45847
aS'humanized'
p45848
aS'humanized'
p45849
asS'over-heat'
p45850
(lp45851
S'over-heats'
p45852
aS'over-heating'
p45853
ag25579
aS'over-heated'
p45854
asS'recentralize'
p45855
(lp45856
S'recentralizes'
p45857
aS'recentralizing'
p45858
aS'recentralized'
p45859
aS'recentralized'
p45860
asS'eff'
p45861
(lp45862
S'effs'
p45863
aS'effing'
p45864
aS'effed'
p45865
aS'effed'
p45866
asS'gill'
p45867
(lp45868
S'gills'
p45869
aS'gilling'
p45870
aS'gilled'
p45871
aS'gilled'
p45872
asS'populate'
p45873
(lp45874
S'populates'
p45875
aS'populating'
p45876
aS'populated'
p45877
aS'populated'
p45878
asS'nonsuit'
p45879
(lp45880
S'nonsuits'
p45881
aS'nonsuiting'
p45882
aS'nonsuited'
p45883
aS'nonsuited'
p45884
asS'customize'
p45885
(lp45886
S'customizes'
p45887
aS'customizing'
p45888
aS'customized'
p45889
aS'customized'
p45890
asS'pillage'
p45891
(lp45892
S'pillages'
p45893
aS'pillaging'
p45894
aS'pillaged'
p45895
aS'pillaged'
p45896
asS'inconvenience'
p45897
(lp45898
S'inconveniences'
p45899
aS'inconveniencing'
p45900
aS'inconvenienced'
p45901
aS'inconvenienced'
p45902
asS'reach'
p45903
(lp45904
S'reaches'
p45905
aS'reaching'
p45906
aS'reached'
p45907
aS'reached'
p45908
asS'circumfuse'
p45909
(lp45910
S'circumfuses'
p45911
aS'circumfusing'
p45912
aS'circumfused'
p45913
aS'circumfused'
p45914
asS'palpate'
p45915
(lp45916
S'palpates'
p45917
aS'palpating'
p45918
aS'palpated'
p45919
aS'palpated'
p45920
asS'cofound'
p45921
(lp45922
S'cofounds'
p45923
aS'cofounding'
p45924
aS'cofounded'
p45925
aS'cofounded'
p45926
asS'destruct'
p45927
(lp45928
S'destructs'
p45929
aS'destructing'
p45930
aS'destructed'
p45931
aS'destructed'
p45932
asS'devalue'
p45933
(lp45934
S'devalues'
p45935
aS'devaluing'
p45936
aS'devalued'
p45937
aS'devalued'
p45938
asS'eloin'
p45939
(lp45940
S'eloins'
p45941
aS'eloining'
p45942
aS'eloined'
p45943
aS'eloined'
p45944
asS'notch'
p45945
(lp45946
S'notches'
p45947
aS'notching'
p45948
aS'notched'
p45949
aS'notched'
p45950
asS'liberate'
p45951
(lp45952
S'liberates'
p45953
aS'liberating'
p45954
aS'liberated'
p45955
aS'liberated'
p45956
asS'scaffold'
p45957
(lp45958
S'scaffolds'
p45959
aS'scaffolding'
p45960
aS'scaffolded'
p45961
aS'scaffolded'
p45962
asS'niggle'
p45963
(lp45964
S'niggles'
p45965
aS'niggling'
p45966
aS'niggled'
p45967
aS'niggled'
p45968
asS'unclose'
p45969
(lp45970
S'uncloses'
p45971
aS'unclosing'
p45972
aS'unclosed'
p45973
aS'unclosed'
p45974
asS'barter'
p45975
(lp45976
S'barters'
p45977
aS'bartering'
p45978
aS'bartered'
p45979
aS'bartered'
p45980
asS'unloosen'
p45981
(lp45982
S'unlooses'
p45983
aS'unloosing'
p45984
aS'unloosened'
p45985
aS'unloosened'
p45986
asS'divulgate'
p45987
(lp45988
S'divulgates'
p45989
aS'divulgating'
p45990
aS'divulgated'
p45991
aS'divulgated'
p45992
asS'cinchonize'
p45993
(lp45994
S'cinchonizes'
p45995
aS'cinchonizing'
p45996
aS'cinchonized'
p45997
aS'cinchonized'
p45998
asS'uniform'
p45999
(lp46000
S'uniforms'
p46001
aS'uniforming'
p46002
aS'uniformed'
p46003
aS'uniformed'
p46004
asS'whiffle'
p46005
(lp46006
S'whiffles'
p46007
aS'whiffling'
p46008
aS'whiffled'
p46009
aS'whiffled'
p46010
asS'aggravate'
p46011
(lp46012
S'aggravates'
p46013
aS'aggravating'
p46014
aS'aggravated'
p46015
aS'aggravated'
p46016
asS'predecease'
p46017
(lp46018
S'predeceases'
p46019
aS'predeceasing'
p46020
aS'predeceased'
p46021
aS'predeceased'
p46022
asS'justle'
p46023
(lp46024
S'justles'
p46025
aS'justling'
p46026
aS'justled'
p46027
aS'justled'
p46028
asS'mosey'
p46029
(lp46030
S'moseys'
p46031
aS'moseying'
p46032
aS'moseyed'
p46033
aS'moseyed'
p46034
asS'frivol'
p46035
(lp46036
S'frivols'
p46037
aS'frivolling'
p46038
aS'frivolled'
p46039
aS'frivolled'
p46040
asS'betray'
p46041
(lp46042
S'betrays'
p46043
aS'betraying'
p46044
aS'betrayed'
p46045
aS'betrayed'
p46046
asS'shepherd'
p46047
(lp46048
S'shepherds'
p46049
aS'shepherding'
p46050
aS'shepherded'
p46051
aS'shepherded'
p46052
asS'hit'
p46053
(lp46054
S'hits'
p46055
aS'hitting'
p46056
aS'hit'
p46057
aS'hit'
p46058
asS'invoke'
p46059
(lp46060
S'invokes'
p46061
aS'invoking'
p46062
aS'invoked'
p46063
aS'invoked'
p46064
asS'babble'
p46065
(lp46066
S'babbles'
p46067
aS'babbling'
p46068
aS'babbled'
p46069
aS'babbled'
p46070
asS'abscise'
p46071
(lp46072
S'abscises'
p46073
aS'abscising'
p46074
aS'abscised'
p46075
aS'abscised'
p46076
asS'affright'
p46077
(lp46078
S'affrights'
p46079
aS'affrighting'
p46080
aS'affrighted'
p46081
aS'affrighted'
p46082
asS'whistle'
p46083
(lp46084
S'whistles'
p46085
aS'whistling'
p46086
aS'whistled'
p46087
aS'whistled'
p46088
asS'cote'
p46089
(lp46090
S'cotes'
p46091
aS'coting'
p46092
aS'coted'
p46093
aS'coted'
p46094
asS'hie'
p46095
(lp46096
S'hies'
p46097
aS'hying'
p46098
aS'hied'
p46099
aS'hied'
p46100
asS'capacitate'
p46101
(lp46102
S'capacitates'
p46103
aS'capacitating'
p46104
aS'capacitated'
p46105
aS'capacitated'
p46106
asS'unbelt'
p46107
(lp46108
S'unbelts'
p46109
aS'unbelting'
p46110
aS'unbelted'
p46111
aS'unbelted'
p46112
asS'deaden'
p46113
(lp46114
S'deadens'
p46115
aS'deadening'
p46116
aS'deadened'
p46117
aS'deadened'
p46118
asS'reprint'
p46119
(lp46120
S'reprints'
p46121
aS'reprinting'
p46122
aS'reprinted'
p46123
aS'reprinted'
p46124
asS'banquet'
p46125
(lp46126
S'banquets'
p46127
aS'banqueting'
p46128
aS'banqueted'
p46129
aS'banqueted'
p46130
asS'investigate'
p46131
(lp46132
S'investigates'
p46133
aS'investigating'
p46134
aS'investigated'
p46135
aS'investigated'
p46136
asS'push-start'
p46137
(lp46138
S'push-starts'
p46139
aS'push-starting'
p46140
aS'push-started'
p46141
aS'push-started'
p46142
asS'cringe'
p46143
(lp46144
S'cringes'
p46145
aS'cringing'
p46146
aS'cringed'
p46147
aS'cringed'
p46148
asS'tourney'
p46149
(lp46150
S'tourneys'
p46151
aS'tourneying'
p46152
aS'tourneyed'
p46153
aS'tourneyed'
p46154
asS'signify'
p46155
(lp46156
S'signifies'
p46157
aS'signifying'
p46158
aS'signified'
p46159
aS'signified'
p46160
asS'dump'
p46161
(lp46162
S'dumps'
p46163
aS'dumping'
p46164
aS'dumped'
p46165
aS'dumped'
p46166
asS'upsurge'
p46167
(lp46168
S'upsurges'
p46169
aS'upsurging'
p46170
aS'upsurged'
p46171
aS'upsurged'
p46172
asS'resinate'
p46173
(lp46174
S'resinates'
p46175
aS'resinating'
p46176
aS'resinated'
p46177
aS'resinated'
p46178
asS'arc'
p46179
(lp46180
S'arcs'
p46181
aS'arcking'
p46182
aS'arcked'
p46183
aS'arcked'
p46184
asS'bare'
p46185
(lp46186
S'bares'
p46187
aS'baring'
p46188
aS'bared'
p46189
aS'bared'
p46190
asS'bark'
p46191
(lp46192
S'barks'
p46193
aS'barking'
p46194
aS'barked'
p46195
aS'barked'
p46196
asS'arm'
p46197
(lp46198
S'arms'
p46199
aS'arming'
p46200
aS'armed'
p46201
aS'armed'
p46202
asS'visualize'
p46203
(lp46204
S'visualizes'
p46205
aS'visualizing'
p46206
aS'visualized'
p46207
aS'visualized'
p46208
asS'chicane'
p46209
(lp46210
S'chicanes'
p46211
aS'chicaning'
p46212
aS'chicaned'
p46213
aS'chicaned'
p46214
asS'blurt'
p46215
(lp46216
S'blurts'
p46217
aS'blurting'
p46218
aS'blurted'
p46219
aS'blurted'
p46220
asS'inebriate'
p46221
(lp46222
S'inebriates'
p46223
aS'inebriating'
p46224
aS'inebriated'
p46225
aS'inebriated'
p46226
asS'misjudge'
p46227
(lp46228
S'misjudges'
p46229
aS'misjudging'
p46230
aS'misjudged'
p46231
aS'misjudged'
p46232
asS'enwrap'
p46233
(lp46234
S'enwraps'
p46235
aS'enwrapping'
p46236
aS'enwrapped'
p46237
aS'enwrapped'
p46238
asS'cyclostyle'
p46239
(lp46240
S'cyclostyles'
p46241
aS'cyclostyling'
p46242
aS'cyclostyled'
p46243
aS'cyclostyled'
p46244
asS'solo'
p46245
(lp46246
S'solos'
p46247
aS'soloing'
p46248
aS'soloed'
p46249
aS'soloed'
p46250
asS'derestrict'
p46251
(lp46252
S'derestricts'
p46253
aS'derestricting'
p46254
aS'derestricted'
p46255
aS'derestricted'
p46256
asS'serialize'
p46257
(lp46258
S'serializes'
p46259
aS'serializing'
p46260
aS'serialized'
p46261
aS'serialized'
p46262
asS'sole'
p46263
(lp46264
S'soles'
p46265
aS'soling'
p46266
aS'soled'
p46267
aS'soled'
p46268
asS'indue'
p46269
(lp46270
S'indues'
p46271
aS'induing'
p46272
aS'indued'
p46273
aS'indued'
p46274
asS'outfit'
p46275
(lp46276
S'outfits'
p46277
aS'outfitting'
p46278
aS'outfitted'
p46279
aS'outfitted'
p46280
asS'york'
p46281
(lp46282
S'yorks'
p46283
aS'yorking'
p46284
aS'yorked'
p46285
aS'yorked'
p46286
asS'succeed'
p46287
(lp46288
S'succeeds'
p46289
aS'succeeding'
p46290
aS'succeeded'
p46291
aS'succeeded'
p46292
asS'franchise'
p46293
(lp46294
S'franchises'
p46295
aS'franchising'
p46296
aS'franchised'
p46297
aS'franchised'
p46298
asS'prelude'
p46299
(lp46300
S'preludes'
p46301
aS'preluding'
p46302
aS'preluded'
p46303
aS'preluded'
p46304
asS'bronze'
p46305
(lp46306
S'bronzes'
p46307
aS'bronzing'
p46308
aS'bronzed'
p46309
aS'bronzed'
p46310
asS'license'
p46311
(lp46312
S'licenses'
p46313
aS'licensing'
p46314
aS'licensed'
p46315
aS'licensed'
p46316
asS'oversee'
p46317
(lp46318
S'oversees'
p46319
aS'overseeing'
p46320
aS'oversaw'
p46321
aS'overseen'
p46322
asS'interrogate'
p46323
(lp46324
S'interrogates'
p46325
aS'interrogating'
p46326
aS'interrogated'
p46327
aS'interrogated'
p46328
asS'entertain'
p46329
(lp46330
S'entertains'
p46331
aS'entertaining'
p46332
aS'entertained'
p46333
aS'entertained'
p46334
asS'depredate'
p46335
(lp46336
S'depredates'
p46337
aS'depredating'
p46338
aS'depredated'
p46339
aS'depredated'
p46340
asS'attorn'
p46341
(lp46342
S'attorns'
p46343
aS'attorning'
p46344
aS'attorned'
p46345
aS'attorned'
p46346
asS'sheathe'
p46347
(lp46348
S'sheathes'
p46349
ag18565
ag18566
ag18567
asS'reside'
p46350
(lp46351
S'resides'
p46352
aS'residing'
p46353
aS'resided'
p46354
aS'resided'
p46355
asS'distress'
p46356
(lp46357
S'distresses'
p46358
aS'distressing'
p46359
aS'distressed'
p46360
aS'distressed'
p46361
asS'whelp'
p46362
(lp46363
S'whelps'
p46364
aS'whelping'
p46365
aS'whelped'
p46366
aS'whelped'
p46367
asS'sweep'
p46368
(lp46369
S'sweeps'
p46370
aS'sweeping'
p46371
aS'swept'
p46372
aS'swept'
p46373
asS'harbour'
p46374
(lp46375
S'harbours'
p46376
aS'harbouring'
p46377
aS'harboured'
p46378
aS'harboured'
p46379
asS'whelm'
p46380
(lp46381
S'whelms'
p46382
aS'whelming'
p46383
aS'whelmed'
p46384
aS'whelmed'
p46385
asS'rave'
p46386
(lp46387
S'raves'
p46388
aS'raving'
p46389
aS'raved'
p46390
aS'raved'
p46391
asS'bolster'
p46392
(lp46393
S'bolsters'
p46394
aS'bolstering'
p46395
aS'bolstered'
p46396
aS'bolstered'
p46397
asS'decline'
p46398
(lp46399
S'declines'
p46400
aS'declining'
p46401
aS'declined'
p46402
aS'declined'
p46403
asS'dun'
p46404
(lp46405
S'duns'
p46406
aS'dunning'
p46407
aS'dunned'
p46408
aS'dunned'
p46409
asS'dibble'
p46410
(lp46411
S'dibbles'
p46412
aS'dibbling'
p46413
aS'dibbled'
p46414
aS'dibbled'
p46415
asS'overlook'
p46416
(lp46417
S'overlooks'
p46418
aS'overlooking'
p46419
aS'overlooked'
p46420
aS'overlooked'
p46421
asS'whop'
p46422
(lp46423
S'whops'
p46424
aS'whopping'
p46425
aS'whopped'
p46426
aS'whopped'
p46427
asS'stravaig'
p46428
(lp46429
S'stravaigs'
p46430
aS'stravaiging'
p46431
aS'stravaiged'
p46432
aS'stravaiged'
p46433
asS'dup'
p46434
(lp46435
S'dups'
p46436
aS'dupping'
p46437
aS'dupped'
p46438
aS'dupped'
p46439
asS'brick'
p46440
(lp46441
S'bricks'
p46442
aS'bricking'
p46443
aS'bricked'
p46444
aS'bricked'
p46445
asS'pi'
p46446
(lp46447
S'pies'
p46448
aS'piing'
p46449
aS'pied'
p46450
aS'pied'
p46451
asS'deice'
p46452
(lp46453
S'deices'
p46454
aS'deicing'
p46455
aS'deiced'
p46456
aS'deiced'
p46457
asS'exculpate'
p46458
(lp46459
S'exculpates'
p46460
aS'exculpating'
p46461
aS'exculpated'
p46462
aS'exculpated'
p46463
asS'referee'
p46464
(lp46465
S'referees'
p46466
aS'refereeing'
p46467
aS'refereed'
p46468
aS'refereed'
p46469
asS'flight'
p46470
(lp46471
S'flights'
p46472
aS'flighting'
p46473
aS'flighted'
p46474
aS'flighted'
p46475
asS'keratinize'
p46476
(lp46477
S'keratinizes'
p46478
aS'keratinizing'
p46479
aS'keratinized'
p46480
aS'keratinized'
p46481
asS'dropout'
p46482
(lp46483
S'dropouts'
p46484
aS'dropouting'
p46485
aS'dropouted'
p46486
aS'dropouted'
p46487
asS'heel-and-toe'
p46488
(lp46489
S'heel-and-toes'
p46490
aS'heel-and-toeing'
p46491
aS'heel-and-toed'
p46492
aS'heel-and-toed'
p46493
asS'cinch'
p46494
(lp46495
S'cinches'
p46496
aS'cinching'
p46497
aS'cinched'
p46498
aS'cinched'
p46499
asS'demand'
p46500
(lp46501
S'demands'
p46502
aS'demanding'
p46503
aS'demanded'
p46504
aS'demanded'
p46505
asS'heighten'
p46506
(lp46507
S'heightens'
p46508
aS'heightening'
p46509
aS'heightened'
p46510
aS'heightened'
p46511
asS'Australianize'
p46512
(lp46513
S'Australianizes'
p46514
aS'Australianizing'
p46515
aS'Australianized'
p46516
aS'Australianized'
p46517
asS'shove'
p46518
(lp46519
S'shoves'
p46520
aS'shoving'
p46521
aS'shoved'
p46522
aS'shoved'
p46523
asS'batch'
p46524
(lp46525
S'batches'
p46526
aS'batching'
p46527
aS'batched'
p46528
aS'batched'
p46529
asS'bodge'
p46530
(lp46531
S'bodges'
p46532
aS'bodging'
p46533
aS'bodged'
p46534
aS'bodged'
p46535
asS'pitchfork'
p46536
(lp46537
S'pitchforks'
p46538
aS'pitchforking'
p46539
aS'pitchforked'
p46540
aS'pitchforked'
p46541
asS'barricade'
p46542
(lp46543
S'barricades'
p46544
aS'barricading'
p46545
aS'barricaded'
p46546
aS'barricaded'
p46547
asS'enact'
p46548
(lp46549
S'enacts'
p46550
aS'enacting'
p46551
aS'enacted'
p46552
aS'enacted'
p46553
asS'bedizen'
p46554
(lp46555
S'bedizens'
p46556
aS'bedizening'
p46557
aS'bedizened'
p46558
aS'bedizened'
p46559
asS'putrefy'
p46560
(lp46561
S'putrefies'
p46562
aS'putrefying'
p46563
aS'putrefied'
p46564
aS'putrefied'
p46565
asS'mordant'
p46566
(lp46567
S'mordants'
p46568
aS'mordanting'
p46569
aS'mordanted'
p46570
aS'mordanted'
p46571
asS'demob'
p46572
(lp46573
S'demobs'
p46574
aS'demobbing'
p46575
aS'demobbed'
p46576
aS'demobbed'
p46577
asS'waul'
p46578
(lp46579
S'wauls'
p46580
aS'wauling'
p46581
aS'wauled'
p46582
aS'wauled'
p46583
asS'twiddle'
p46584
(lp46585
S'twiddles'
p46586
aS'twiddling'
p46587
aS'twiddled'
p46588
aS'twiddled'
p46589
asS'rip'
p46590
(lp46591
S'rips'
p46592
aS'ripping'
p46593
aS'ripped'
p46594
aS'ripped'
p46595
asS'rim'
p46596
(lp46597
S'rims'
p46598
aS'rimming'
p46599
aS'rimmed'
p46600
aS'rimmed'
p46601
asS'impersonate'
p46602
(lp46603
S'impersonates'
p46604
aS'impersonating'
p46605
aS'impersonated'
p46606
aS'impersonated'
p46607
asS'quail'
p46608
(lp46609
S'quails'
p46610
aS'quailing'
p46611
aS'quailed'
p46612
aS'quailed'
p46613
asS'rid'
p46614
(lp46615
S'rids'
p46616
aS'ridding'
p46617
aS'ridded'
p46618
aS'ridded'
p46619
asS'anguish'
p46620
(lp46621
S'anguishes'
p46622
aS'anguishing'
p46623
aS'anguished'
p46624
aS'anguished'
p46625
asS'chauffeur'
p46626
(lp46627
S'chauffeurs'
p46628
aS'chauffeuring'
p46629
aS'chauffeured'
p46630
aS'chauffeured'
p46631
asS'shirr'
p46632
(lp46633
S'shirrs'
p46634
aS'shirring'
p46635
aS'shirred'
p46636
aS'shirred'
p46637
asS'unvoice'
p46638
(lp46639
S'unvoices'
p46640
aS'unvoicing'
p46641
aS'unvoiced'
p46642
aS'unvoiced'
p46643
asS'shire'
p46644
(lp46645
S'shires'
p46646
aS'shiring'
p46647
aS'shired'
p46648
aS'shired'
p46649
asS'stickle'
p46650
(lp46651
S'stickles'
p46652
aS'stickling'
p46653
aS'stickled'
p46654
aS'stickled'
p46655
asS'seize'
p46656
(lp46657
S'seizes'
p46658
aS'seizing'
p46659
aS'seized'
p46660
aS'seized'
p46661
asS'advise'
p46662
(lp46663
S'advises'
p46664
aS'advising'
p46665
aS'advised'
p46666
aS'advised'
p46667
asS'sliver'
p46668
(lp46669
S'slivers'
p46670
aS'slivering'
p46671
aS'slivered'
p46672
aS'slivered'
p46673
asS'overcrop'
p46674
(lp46675
S'overcrops'
p46676
aS'overcropping'
p46677
aS'overcropped'
p46678
aS'overcropped'
p46679
asS'chequer'
p46680
(lp46681
S'chequers'
p46682
aS'chequering'
p46683
aS'chequered'
p46684
aS'chequered'
p46685
asS'nitrogenize'
p46686
(lp46687
S'nitrogenizes'
p46688
aS'nitrogenizing'
p46689
aS'nitrogenized'
p46690
aS'nitrogenized'
p46691
asS'negotiate'
p46692
(lp46693
S'negotiates'
p46694
aS'negotiating'
p46695
aS'negotiated'
p46696
aS'negotiated'
p46697
asS'cement'
p46698
(lp46699
S'cements'
p46700
aS'cementing'
p46701
aS'cemented'
p46702
aS'cemented'
p46703
asS'impede'
p46704
(lp46705
S'impedes'
p46706
aS'impeding'
p46707
aS'impeded'
p46708
aS'impeded'
p46709
asS'birch'
p46710
(lp46711
S'birches'
p46712
aS'birching'
p46713
aS'birched'
p46714
aS'birched'
p46715
asS'brocade'
p46716
(lp46717
S'brocades'
p46718
aS'brocading'
p46719
aS'brocaded'
p46720
aS'brocaded'
p46721
asS'lower'
p46722
(lp46723
sS'earmark'
p46724
(lp46725
S'earmarks'
p46726
aS'earmarking'
p46727
aS'earmarked'
p46728
aS'earmarked'
p46729
asS'cheek'
p46730
(lp46731
S'cheeks'
p46732
aS'cheeking'
p46733
aS'cheeked'
p46734
aS'cheeked'
p46735
asS'cheep'
p46736
(lp46737
S'cheeps'
p46738
aS'cheeping'
p46739
aS'cheeped'
p46740
aS'cheeped'
p46741
asS'cheer'
p46742
(lp46743
S'cheers'
p46744
aS'cheering'
p46745
aS'cheered'
p46746
aS'cheered'
p46747
asS'edge'
p46748
(lp46749
S'edges'
p46750
aS'edging'
p46751
aS'edged'
p46752
aS'edged'
p46753
asS'reflect'
p46754
(lp46755
S'reflects'
p46756
aS'reflecting'
p46757
aS'reflected'
p46758
aS'reflected'
p46759
asS'riffle'
p46760
(lp46761
S'riffles'
p46762
aS'riffling'
p46763
aS'riffled'
p46764
aS'riffled'
p46765
asS'cohobate'
p46766
(lp46767
S'cohobates'
p46768
aS'cohobating'
p46769
aS'cohobated'
p46770
aS'cohobated'
p46771
asS'frizz'
p46772
(lp46773
S'frizzes'
p46774
aS'frizzing'
p46775
aS'frizzed'
p46776
aS'frizzed'
p46777
asS'hotdog'
p46778
(lp46779
S'hotdogs'
p46780
aS'hotdoging'
p46781
aS'hotdoged'
p46782
aS'hotdoged'
p46783
asS'immingle'
p46784
(lp46785
S'immingles'
p46786
aS'immingling'
p46787
aS'immingled'
p46788
aS'immingled'
p46789
asS'endeavour'
p46790
(lp46791
S'endeavours'
p46792
aS'endeavouring'
p46793
aS'endeavoured'
p46794
aS'endeavoured'
p46795
asS'knot'
p46796
(lp46797
S'knots'
p46798
aS'knotting'
p46799
aS'knotted'
p46800
aS'knotted'
p46801
asS'prorate'
p46802
(lp46803
S'prorates'
p46804
aS'prorating'
p46805
aS'prorated'
p46806
aS'prorated'
p46807
asS'foreshorten'
p46808
(lp46809
S'foreshortens'
p46810
aS'foreshortening'
p46811
aS'foreshortened'
p46812
aS'foreshortened'
p46813
asS'skinnydip'
p46814
(lp46815
S'skinnydips'
p46816
aS'skinnydipping'
p46817
aS'skinnydipped'
p46818
aS'skinnydipped'
p46819
asS'predetermine'
p46820
(lp46821
S'predetermines'
p46822
aS'predetermining'
p46823
aS'predetermined'
p46824
aS'predetermined'
p46825
asS'reinstate'
p46826
(lp46827
S'reinstates'
p46828
aS'reinstating'
p46829
aS'reinstated'
p46830
aS'reinstated'
p46831
asS'vindicate'
p46832
(lp46833
S'vindicates'
p46834
aS'vindicating'
p46835
aS'vindicated'
p46836
aS'vindicated'
p46837
asS'workharden'
p46838
(lp46839
S'workhardens'
p46840
aS'work-hardening'
p46841
aS'workhardened'
p46842
aS'workhardened'
p46843
asS'advocate'
p46844
(lp46845
S'advocates'
p46846
aS'advocating'
p46847
aS'advocated'
p46848
aS'advocated'
p46849
asS'conscript'
p46850
(lp46851
S'conscripts'
p46852
aS'conscripting'
p46853
aS'conscripted'
p46854
aS'conscripted'
p46855
asS'preexist'
p46856
(lp46857
S'preexists'
p46858
aS'preexisting'
p46859
aS'preexisted'
p46860
aS'preexisted'
p46861
asS'awaken'
p46862
(lp46863
S'awakens'
p46864
aS'awakening'
p46865
aS'awakened'
p46866
aS'awakened'
p46867
asS'rotate'
p46868
(lp46869
S'rotates'
p46870
aS'rotating'
p46871
aS'rotated'
p46872
aS'rotated'
p46873
asS'confront'
p46874
(lp46875
S'confronts'
p46876
aS'confronting'
p46877
aS'confronted'
p46878
aS'confronted'
p46879
asS'ignore'
p46880
(lp46881
S'ignores'
p46882
aS'ignoring'
p46883
aS'ignored'
p46884
aS'ignored'
p46885
asS'moralize'
p46886
(lp46887
S'moralizes'
p46888
aS'moralizing'
p46889
aS'moralized'
p46890
aS'moralized'
p46891
asS'distrust'
p46892
(lp46893
S'distrusts'
p46894
aS'distrusting'
p46895
aS'distrusted'
p46896
aS'distrusted'
p46897
asS'entice'
p46898
(lp46899
S'entices'
p46900
aS'enticing'
p46901
aS'enticed'
p46902
aS'enticed'
p46903
asS'cohabit'
p46904
(lp46905
S'cohabits'
p46906
aS'cohabiting'
p46907
aS'cohabited'
p46908
aS'cohabited'
p46909
asS'transmute'
p46910
(lp46911
S'transmutes'
p46912
aS'transmuting'
p46913
aS'transmuted'
p46914
aS'transmuted'
p46915
asS'hallmark'
p46916
(lp46917
S'hallmarks'
p46918
aS'hallmarking'
p46919
aS'hallmarked'
p46920
aS'hallmarked'
p46921
asS'embroil'
p46922
(lp46923
S'embroils'
p46924
aS'embroiling'
p46925
aS'embroiled'
p46926
aS'embroiled'
p46927
asS'emanate'
p46928
(lp46929
S'emanates'
p46930
aS'emanating'
p46931
aS'emanated'
p46932
aS'emanated'
p46933
asS'incriminate'
p46934
(lp46935
S'incriminates'
p46936
aS'incriminating'
p46937
aS'incriminated'
p46938
aS'incriminated'
p46939
asS'empt'
p46940
(lp46941
S'empts'
p46942
aS'empting'
p46943
aS'empted'
p46944
aS'empted'
p46945
asS'catalyze'
p46946
(lp46947
S'catalyzes'
p46948
aS'catalyzing'
p46949
aS'catalyzed'
p46950
aS'catalyzed'
p46951
asS'uppercut'
p46952
(lp46953
S'uppercuts'
p46954
aS'uppercutting'
p46955
aS'uppercut'
p46956
aS'uppercut'
p46957
asS'clown'
p46958
(lp46959
S'clowns'
p46960
aS'clowning'
p46961
aS'clowned'
p46962
aS'clowned'
p46963
asS'vacate'
p46964
(lp46965
S'vacates'
p46966
aS'vacating'
p46967
aS'vacated'
p46968
aS'vacated'
p46969
asS'modernize'
p46970
(lp46971
S'modernizes'
p46972
aS'modernizing'
p46973
aS'modernized'
p46974
aS'modernized'
p46975
asS'retry'
p46976
(lp46977
S'retries'
p46978
aS'retrying'
p46979
aS'retried'
p46980
aS'retried'
p46981
asS'debrief'
p46982
(lp46983
S'debriefs'
p46984
aS'debriefing'
p46985
aS'debriefed'
p46986
aS'debriefed'
p46987
asS'prop'
p46988
(lp46989
S'props'
p46990
aS'propping'
p46991
aS'propped'
p46992
aS'propped'
p46993
asS'inoculate'
p46994
(lp46995
S'inoculates'
p46996
aS'inoculating'
p46997
aS'inoculated'
p46998
aS'inoculated'
p46999
asS'prog'
p47000
(lp47001
S'progs'
p47002
aS'progging'
p47003
aS'progged'
p47004
aS'progged'
p47005
asS'prod'
p47006
(lp47007
S'prods'
p47008
aS'prodding'
p47009
aS'prodded'
p47010
aS'prodded'
p47011
asS'shend'
p47012
(lp47013
S'shends'
p47014
aS'shending'
p47015
aS'shent'
p47016
aS'shent'
p47017
asS'roughcast'
p47018
(lp47019
sS'Sanforize'
p47020
(lp47021
S'Sanforizes'
p47022
aS'Sanforizing'
p47023
aS'Sanforized'
p47024
aS'Sanforized'
p47025
asS'tinker'
p47026
(lp47027
S'tinkers'
p47028
aS'tinkering'
p47029
aS'tinkered'
p47030
aS'tinkered'
p47031
asS'metallize'
p47032
(lp47033
S'metallizes'
p47034
aS'metallizing'
p47035
aS'metallized'
p47036
aS'metallized'
p47037
asS'caseate'
p47038
(lp47039
S'caseates'
p47040
aS'caseating'
p47041
aS'caseated'
p47042
aS'caseated'
p47043
asS'pipeline'
p47044
(lp47045
S'pipelines'
p47046
aS'pipelining'
p47047
aS'pipelined'
p47048
aS'pipelined'
p47049
asS'row'
p47050
(lp47051
S'rows'
p47052
aS'rowing'
p47053
aS'rowed'
p47054
aS'rowed'
p47055
asS'prove'
p47056
(lp47057
S'proves'
p47058
aS'proving'
p47059
aS'proved'
p47060
aS'proven'
p47061
asS'vesture'
p47062
(lp47063
S'vestures'
p47064
aS'vesturing'
p47065
aS'vestured'
p47066
aS'vestured'
p47067
asS'range'
p47068
(lp47069
S'ranges'
p47070
aS'ranging'
p47071
aS'ranged'
p47072
aS'ranged'
p47073
asS'apperceive'
p47074
(lp47075
S'apperceives'
p47076
aS'apperceiving'
p47077
aS'apperceived'
p47078
aS'apperceived'
p47079
asS'wanna'
p47080
(lp47081
S'wannas'
p47082
aS'wannaing'
p47083
aS'wannaed'
p47084
aS'wannaed'
p47085
asS'degrease'
p47086
(lp47087
S'degreases'
p47088
aS'degreasing'
p47089
aS'degreased'
p47090
aS'degreased'
p47091
asS'underrate'
p47092
(lp47093
S'underrates'
p47094
aS'underrating'
p47095
aS'underrated'
p47096
aS'underrated'
p47097
asS'curtsy'
p47098
(lp47099
S'curtsies'
p47100
aS'curtsying'
p47101
aS'curtsied'
p47102
aS'curtsied'
p47103
asS'numerate'
p47104
(lp47105
S'numerates'
p47106
aS'numerating'
p47107
aS'numerated'
p47108
aS'numerated'
p47109
asS'canal'
p47110
(lp47111
S'canals'
p47112
aS'canalling'
p47113
aS'canalled'
p47114
aS'canalled'
p47115
asS'gouge'
p47116
(lp47117
S'gouges'
p47118
aS'gouging'
p47119
aS'gouged'
p47120
aS'gouged'
p47121
asS'scrunch'
p47122
(lp47123
S'scrunches'
p47124
aS'scrunching'
p47125
aS'scrunched'
p47126
aS'scrunched'
p47127
asS'acquiesce'
p47128
(lp47129
S'acquiesces'
p47130
aS'acquiescing'
p47131
aS'acquiesced'
p47132
aS'acquiesced'
p47133
asS'question'
p47134
(lp47135
S'questions'
p47136
aS'questioning'
p47137
aS'questioned'
p47138
aS'questioned'
p47139
asS'deepfreeze'
p47140
(lp47141
S'deepfreezes'
p47142
aS'deepfreezing'
p47143
aS'deepfrozen'
p47144
aS'deepfrozen'
p47145
asS'fast'
p47146
(lp47147
S'fasts'
p47148
aS'fasting'
p47149
aS'fasted'
p47150
aS'fasted'
p47151
asS'fash'
p47152
(lp47153
S'fashes'
p47154
aS'fashing'
p47155
aS'fashed'
p47156
aS'fashed'
p47157
asS'etch'
p47158
(lp47159
S'etches'
p47160
aS'etching'
p47161
aS'etched'
p47162
aS'etched'
p47163
asS'analyze'
p47164
(lp47165
S'analyzes'
p47166
aS'analyzing'
p47167
aS'analyzed'
p47168
aS'analyzed'
p47169
asS'sloganeer'
p47170
(lp47171
S'sloganeers'
p47172
aS'sloganeering'
p47173
aS'sloganeered'
p47174
aS'sloganeered'
p47175
asS'counterpoise'
p47176
(lp47177
S'counterpoises'
p47178
aS'counterpoising'
p47179
aS'counterpoised'
p47180
aS'counterpoised'
p47181
asS'plunge'
p47182
(lp47183
S'plunges'
p47184
aS'plunging'
p47185
aS'plunged'
p47186
aS'plunged'
p47187
asS'crank'
p47188
(lp47189
S'cranks'
p47190
aS'cranking'
p47191
aS'cranked'
p47192
aS'cranked'
p47193
asS'usurp'
p47194
(lp47195
S'usurps'
p47196
aS'usurping'
p47197
aS'usurped'
p47198
aS'usurped'
p47199
asS'upright'
p47200
(lp47201
S'uprights'
p47202
aS'uprighting'
p47203
aS'uprighted'
p47204
aS'uprighted'
p47205
asS'crane'
p47206
(lp47207
S'cranes'
p47208
aS'craning'
p47209
aS'craned'
p47210
aS'craned'
p47211
asS'supercool'
p47212
(lp47213
S'supercools'
p47214
aS'supercooling'
p47215
aS'supercooled'
p47216
aS'supercooled'
p47217
asS'showcase'
p47218
(lp47219
S'showcases'
p47220
aS'showcasing'
p47221
aS'showcased'
p47222
aS'showcased'
p47223
asS'mystify'
p47224
(lp47225
S'mystifies'
p47226
aS'mystifying'
p47227
aS'mystified'
p47228
aS'mystified'
p47229
asS'hush'
p47230
(lp47231
S'hushes'
p47232
aS'hushing'
p47233
aS'hushed'
p47234
aS'hushed'
p47235
asS'consist'
p47236
(lp47237
S'consists'
p47238
aS'consisting'
p47239
aS'consisted'
p47240
aS'consisted'
p47241
asS'incase'
p47242
(lp47243
S'incases'
p47244
aS'incasing'
p47245
aS'incased'
p47246
aS'incased'
p47247
asS'elide'
p47248
(lp47249
S'elides'
p47250
aS'eliding'
p47251
aS'elided'
p47252
aS'elided'
p47253
asS'telecasted'
p47254
(lp47255
S'telecasts'
p47256
aS'telecasting'
p47257
aS'telecasteded'
p47258
aS'telecasteded'
p47259
asS'redress'
p47260
(lp47261
S'redresses'
p47262
aS'redressing'
p47263
ag14226
aS'redressed'
p47264
asS'highlight'
p47265
(lp47266
S'highlights'
p47267
aS'highlighting'
p47268
aS'highlighted'
p47269
aS'highlighted'
p47270
asS'estivate'
p47271
(lp47272
S'estivates'
p47273
aS'estivating'
p47274
aS'estivated'
p47275
aS'estivated'
p47276
asS'desorb'
p47277
(lp47278
S'desorbs'
p47279
aS'desorbing'
p47280
aS'desorbed'
p47281
aS'desorbed'
p47282
asS'steepen'
p47283
(lp47284
S'steepens'
p47285
aS'steepening'
p47286
aS'steepened'
p47287
aS'steepened'
p47288
asS'freak'
p47289
(lp47290
S'freaks'
p47291
aS'freaking'
p47292
aS'freaked'
p47293
aS'freaked'
p47294
asS'sublet'
p47295
(lp47296
S'sublets'
p47297
aS'subletting'
p47298
aS'sublet'
p47299
aS'sublet'
p47300
asS'photomap'
p47301
(lp47302
S'photomaps'
p47303
aS'photomapping'
p47304
aS'photomapped'
p47305
aS'photomapped'
p47306
asS'rally'
p47307
(lp47308
S'rallies'
p47309
aS'rallying'
p47310
aS'rallied'
p47311
aS'rallied'
p47312
asS'peach'
p47313
(lp47314
S'peaches'
p47315
aS'peaching'
p47316
aS'peached'
p47317
aS'peached'
p47318
asS'peace'
p47319
(lp47320
S'peaces'
p47321
aS'peacing'
p47322
aS'peaced'
p47323
aS'peaced'
p47324
asS'intwine'
p47325
(lp47326
S'intwines'
p47327
aS'intwining'
p47328
aS'intwined'
p47329
aS'intwined'
p47330
asS'nick'
p47331
(lp47332
S'nicks'
p47333
aS'nicking'
p47334
aS'nicked'
p47335
aS'nicked'
p47336
asS'disenchant'
p47337
(lp47338
S'disenchants'
p47339
aS'disenchanting'
p47340
aS'disenchanted'
p47341
aS'disenchanted'
p47342
asS'caparison'
p47343
(lp47344
S'caparisons'
p47345
aS'caparisoning'
p47346
aS'caparisoned'
p47347
aS'caparisoned'
p47348
asS'ferment'
p47349
(lp47350
S'ferments'
p47351
aS'fermenting'
p47352
aS'fermented'
p47353
aS'fermented'
p47354
asS'buddle'
p47355
(lp47356
S'buddles'
p47357
aS'buddling'
p47358
aS'buddled'
p47359
aS'buddled'
p47360
asS'mock'
p47361
(lp47362
S'mocks'
p47363
aS'mocking'
p47364
aS'mocked'
p47365
aS'mocked'
p47366
asS'teasel'
p47367
(lp47368
S'teasels'
p47369
aS'teaselling'
p47370
aS'teaselled'
p47371
aS'teaselled'
p47372
asS'chirm'
p47373
(lp47374
S'chirms'
p47375
aS'chirming'
p47376
aS'chirmed'
p47377
aS'chirmed'
p47378
asS'inflame'
p47379
(lp47380
S'inflames'
p47381
aS'inflaming'
p47382
aS'inflamed'
p47383
aS'inflamed'
p47384
asS'puncture'
p47385
(lp47386
S'punctures'
p47387
aS'puncturing'
p47388
aS'punctured'
p47389
aS'punctured'
p47390
asS'assibilate'
p47391
(lp47392
S'assibilates'
p47393
aS'assibilating'
p47394
aS'assibilated'
p47395
aS'assibilated'
p47396
asS'wrinkle'
p47397
(lp47398
S'wrinkles'
p47399
aS'wrinkling'
p47400
aS'wrinkled'
p47401
aS'wrinkled'
p47402
asS'sightsee'
p47403
(lp47404
S'sightsees'
p47405
aS'sightseeing'
p47406
aS'sightsaw'
p47407
aS'sightseen'
p47408
asS'relaunch'
p47409
(lp47410
S'relaunches'
p47411
aS'relaunching'
p47412
aS'relaunched'
p47413
aS'relaunched'
p47414
asS'agist'
p47415
(lp47416
S'agists'
p47417
aS'agisting'
p47418
aS'agisted'
p47419
aS'agisted'
p47420
asS'skydive'
p47421
(lp47422
S'skydives'
p47423
aS'skydiving'
p47424
aS'skydived'
p47425
aS'skydived'
p47426
asS'transilluminate'
p47427
(lp47428
S'transilluminates'
p47429
aS'transilluminating'
p47430
aS'transilluminated'
p47431
aS'transilluminated'
p47432
asS'liquefy'
p47433
(lp47434
S'liquefies'
p47435
aS'liquefying'
p47436
aS'liquefied'
p47437
aS'liquefied'
p47438
asS'remit'
p47439
(lp47440
S'remits'
p47441
aS'remitting'
p47442
aS'remitted'
p47443
aS'remitted'
p47444
asS'rehear'
p47445
(lp47446
S'rehears'
p47447
aS'rehearing'
p47448
aS'reheard'
p47449
aS'reheard'
p47450
asS'buffalo'
p47451
(lp47452
S'buffalos'
p47453
aS'buffaloing'
p47454
aS'buffaloed'
p47455
aS'buffaloed'
p47456
asS'peculate'
p47457
(lp47458
S'peculates'
p47459
aS'peculating'
p47460
aS'peculated'
p47461
aS'peculated'
p47462
asS'pervert'
p47463
(lp47464
S'perverts'
p47465
aS'perverting'
p47466
aS'perverted'
p47467
aS'perverted'
p47468
asS'overwind'
p47469
(lp47470
S'overwinds'
p47471
aS'overwinding'
p47472
aS'overwound'
p47473
aS'overwound'
p47474
asS'dispel'
p47475
(lp47476
S'dispels'
p47477
aS'dispelling'
p47478
aS'dispelled'
p47479
aS'dispelled'
p47480
asS'gang'
p47481
(lp47482
S'gangs'
p47483
aS'ganging'
p47484
aS'ganged'
p47485
aS'ganged'
p47486
asS'pubcrawl'
p47487
(lp47488
S'pubcrawls'
p47489
aS'pubcrawling'
p47490
aS'pubcrawled'
p47491
aS'pubcrawled'
p47492
asS'uphold'
p47493
(lp47494
S'upholds'
p47495
aS'upholding'
p47496
aS'upheld'
p47497
aS'upheld'
p47498
asS'exterminate'
p47499
(lp47500
S'exterminates'
p47501
aS'exterminating'
p47502
aS'exterminated'
p47503
aS'exterminated'
p47504
asS'cradle'
p47505
(lp47506
S'cradles'
p47507
aS'cradling'
p47508
aS'cradled'
p47509
aS'cradled'
p47510
asS'repackage'
p47511
(lp47512
S'repackages'
p47513
aS'repackaging'
p47514
aS'repackaged'
p47515
aS'repackaged'
p47516
asS'ironize'
p47517
(lp47518
S'ironizes'
p47519
aS'ironizing'
p47520
aS'ironized'
p47521
aS'ironized'
p47522
asS'breach'
p47523
(lp47524
S'breaches'
p47525
aS'breaching'
p47526
aS'breached'
p47527
aS'breached'
p47528
asS'include'
p47529
(lp47530
S'includes'
p47531
aS'including'
p47532
aS'included'
p47533
aS'included'
p47534
asS'rag'
p47535
(lp47536
S'rags'
p47537
aS'ragging'
p47538
aS'ragged'
p47539
aS'ragged'
p47540
asS'ladle'
p47541
(lp47542
S'ladles'
p47543
aS'ladling'
p47544
aS'ladled'
p47545
aS'ladled'
p47546
asS'ghostwrite'
p47547
(lp47548
S'ghostwrites'
p47549
aS'ghostwriting'
p47550
aS'ghostwrote'
p47551
aS'ghostwritten'
p47552
asS'elutriate'
p47553
(lp47554
S'elutriates'
p47555
aS'elutriating'
p47556
aS'elutriated'
p47557
aS'elutriated'
p47558
asS'spoor'
p47559
(lp47560
S'spoors'
p47561
aS'spooring'
p47562
aS'spoored'
p47563
aS'spoored'
p47564
asS'spool'
p47565
(lp47566
S'spools'
p47567
aS'spooling'
p47568
aS'spooled'
p47569
aS'spooled'
p47570
asS'spoon'
p47571
(lp47572
S'spoons'
p47573
aS'spooning'
p47574
aS'spooned'
p47575
aS'spooned'
p47576
asS'foretell'
p47577
(lp47578
S'foretells'
p47579
aS'foretelling'
p47580
aS'foretold'
p47581
aS'foretold'
p47582
asS'photocompose'
p47583
(lp47584
S'photocomposes'
p47585
aS'photocomposing'
p47586
aS'photocomposed'
p47587
aS'photocomposed'
p47588
asS'spook'
p47589
(lp47590
S'spooks'
p47591
aS'spooking'
p47592
aS'spooked'
p47593
aS'spooked'
p47594
asS'spoof'
p47595
(lp47596
S'spoofs'
p47597
aS'spoofing'
p47598
aS'spoofed'
p47599
aS'spoofed'
p47600
asS'posture'
p47601
(lp47602
S'postures'
p47603
aS'posturing'
p47604
aS'postured'
p47605
aS'postured'
p47606
asS'bedeck'
p47607
(lp47608
S'bedecks'
p47609
aS'bedecking'
p47610
aS'bedecked'
p47611
aS'bedecked'
p47612
asS'diazotize'
p47613
(lp47614
S'diazotizes'
p47615
aS'diazotizing'
p47616
aS'diazotized'
p47617
aS'diazotized'
p47618
asS'extenuate'
p47619
(lp47620
S'extenuates'
p47621
aS'extenuating'
p47622
aS'extenuated'
p47623
aS'extenuated'
p47624
asS'sleave'
p47625
(lp47626
S'sleaves'
p47627
aS'sleaving'
p47628
aS'sleaved'
p47629
aS'sleaved'
p47630
asS'deaminize'
p47631
(lp47632
S'deaminizes'
p47633
aS'deaminizing'
p47634
aS'deaminized'
p47635
aS'deaminized'
p47636
asS'idealize'
p47637
(lp47638
S'idealizes'
p47639
aS'idealizing'
p47640
aS'idealized'
p47641
aS'idealized'
p47642
asS'outdo'
p47643
(lp47644
S'outdoes'
p47645
aS'outdoing'
p47646
aS'outdid'
p47647
aS'outdone'
p47648
asS'unchain'
p47649
(lp47650
S'unchains'
p47651
aS'unchaining'
p47652
aS'unchained'
p47653
aS'unchained'
p47654
asS'misplay'
p47655
(lp47656
S'misplays'
p47657
aS'misplaying'
p47658
aS'misplayed'
p47659
aS'misplayed'
p47660
asS'miscall'
p47661
(lp47662
S'miscalls'
p47663
aS'miscalling'
p47664
aS'miscalled'
p47665
aS'miscalled'
p47666
asS'hinder'
p47667
(lp47668
S'hinders'
p47669
aS'hindering'
p47670
aS'hindered'
p47671
aS'hindered'
p47672
asS'smirch'
p47673
(lp47674
S'smirches'
p47675
aS'smirching'
p47676
aS'smirched'
p47677
aS'smirched'
p47678
asS'vittle'
p47679
(lp47680
S'vittles'
p47681
aS'vittling'
p47682
aS'vittled'
p47683
aS'vittled'
p47684
asS'reinsure'
p47685
(lp47686
S'reinsures'
p47687
aS'reinsuring'
p47688
aS'reinsured'
p47689
aS'reinsured'
p47690
asS'pleat'
p47691
(lp47692
S'pleats'
p47693
aS'pleating'
p47694
aS'pleated'
p47695
aS'pleated'
p47696
asS'chastise'
p47697
(lp47698
S'chastises'
p47699
aS'chastising'
p47700
aS'chastised'
p47701
aS'chastised'
p47702
asS'colorcode'
p47703
(lp47704
S'colorcodes'
p47705
aS'colorcoding'
p47706
aS'colorcoded'
p47707
aS'colorcoded'
p47708
asS'procession'
p47709
(lp47710
S'processions'
p47711
aS'processioning'
p47712
aS'processioned'
p47713
aS'processioned'
p47714
asS'pleach'
p47715
(lp47716
S'pleaches'
p47717
aS'pleaching'
p47718
aS'pleached'
p47719
aS'pleached'
p47720
asS'plead'
p47721
(lp47722
S'pleads'
p47723
aS'pleading'
p47724
aS'pled'
p47725
aS'pled'
p47726
asS'interosculate'
p47727
(lp47728
S'interosculates'
p47729
aS'interosculating'
p47730
aS'interosculated'
p47731
aS'interosculated'
p47732
asS'concelebrate'
p47733
(lp47734
S'concelebrates'
p47735
aS'concelebrating'
p47736
aS'concelebrated'
p47737
aS'concelebrated'
p47738
asS'folk'
p47739
(lp47740
S'folks'
p47741
aS'folking'
p47742
aS'folked'
p47743
aS'folked'
p47744
asS'outsmart'
p47745
(lp47746
S'outsmarts'
p47747
aS'outsmarting'
p47748
aS'outsmarted'
p47749
aS'outsmarted'
p47750
asS'spelunk'
p47751
(lp47752
S'spelunks'
p47753
aS'spelunking'
p47754
aS'spelunked'
p47755
aS'spelunked'
p47756
asS'relent'
p47757
(lp47758
S'relents'
p47759
aS'relenting'
p47760
aS'relented'
p47761
aS'relented'
p47762
asS'attire'
p47763
(lp47764
S'attires'
p47765
aS'attiring'
p47766
aS'attired'
p47767
aS'attired'
p47768
asS'relocate'
p47769
(lp47770
S'relocates'
p47771
aS'relocating'
p47772
aS'relocated'
p47773
aS'relocated'
p47774
asS'kangaroo'
p47775
(lp47776
S'kangaroos'
p47777
aS'kangarooing'
p47778
aS'kangarooed'
p47779
aS'kangarooed'
p47780
asS'sough'
p47781
(lp47782
S'soughs'
p47783
aS'soughing'
p47784
aS'soughed'
p47785
aS'soughed'
p47786
asS'swoosh'
p47787
(lp47788
S'swooshes'
p47789
aS'swooshing'
p47790
aS'swooshed'
p47791
aS'swooshed'
p47792
asS'explore'
p47793
(lp47794
S'explores'
p47795
aS'exploring'
p47796
aS'explored'
p47797
aS'explored'
p47798
asS'gloat'
p47799
(lp47800
S'gloats'
p47801
aS'gloating'
p47802
aS'gloated'
p47803
aS'gloated'
p47804
asS'scunner'
p47805
(lp47806
S'scunners'
p47807
aS'scunnering'
p47808
aS'scunnered'
p47809
aS'scunnered'
p47810
asS'trivialize'
p47811
(lp47812
S'trivializes'
p47813
aS'trivializing'
p47814
aS'trivialized'
p47815
aS'trivialized'
p47816
asS'opiate'
p47817
(lp47818
S'opiates'
p47819
aS'opiating'
p47820
aS'opiated'
p47821
aS'opiated'
p47822
asS'subedit'
p47823
(lp47824
S'subedits'
p47825
aS'subediting'
p47826
aS'subedited'
p47827
aS'subedited'
p47828
asS'largen'
p47829
(lp47830
S'largens'
p47831
aS'largening'
p47832
aS'largened'
p47833
aS'largened'
p47834
asS'requite'
p47835
(lp47836
S'requites'
p47837
aS'requiting'
p47838
aS'requited'
p47839
aS'requited'
p47840
asS'ruin'
p47841
(lp47842
S'ruins'
p47843
aS'ruining'
p47844
aS'ruined'
p47845
aS'ruined'
p47846
asS'shovel'
p47847
(lp47848
S'shovels'
p47849
aS'shovelling'
p47850
aS'shovelled'
p47851
aS'shovelled'
p47852
asS'blether'
p47853
(lp47854
S'blethers'
p47855
aS'blethering'
p47856
aS'blethered'
p47857
aS'blethered'
p47858
asS'spy'
p47859
(lp47860
S'spies'
p47861
aS'spying'
p47862
aS'spied'
p47863
aS'spied'
p47864
asS'forbid'
p47865
(lp47866
S'forbids'
p47867
aS'forbidding'
p47868
aS'forbade'
p47869
aS'forbidden'
p47870
asS'dichotomize'
p47871
(lp47872
S'dichotomizes'
p47873
aS'dichotomizing'
p47874
aS'dichotomized'
p47875
aS'dichotomized'
p47876
asS'sandbag'
p47877
(lp47878
S'sandbags'
p47879
aS'sandbagging'
p47880
aS'sandbagged'
p47881
aS'sandbagged'
p47882
asS'motor'
p47883
(lp47884
S'motors'
p47885
aS'motoring'
p47886
aS'motored'
p47887
aS'motored'
p47888
asS'duck'
p47889
(lp47890
S'ducks'
p47891
aS'ducking'
p47892
aS'ducked'
p47893
aS'ducked'
p47894
asS'apply'
p47895
(lp47896
S'applies'
p47897
aS'applying'
p47898
aS'applied'
p47899
aS'applied'
p47900
asS'depute'
p47901
(lp47902
S'deputes'
p47903
aS'deputing'
p47904
aS'deputed'
p47905
aS'deputed'
p47906
asS'redo'
p47907
(lp47908
S'redoes'
p47909
aS'redoing'
p47910
aS'redid'
p47911
aS'redone'
p47912
asS'ape'
p47913
(lp47914
S'apes'
p47915
aS'aping'
p47916
aS'aped'
p47917
aS'aped'
p47918
asS'fed'
p47919
(lp47920
S'fed'
p47921
aS'fed'
p47922
asS'stream'
p47923
(lp47924
S'streams'
p47925
aS'streaming'
p47926
aS'streamed'
p47927
aS'streamed'
p47928
asS'birdlime'
p47929
(lp47930
S'birdlimes'
p47931
aS'birdliming'
p47932
aS'birdlimed'
p47933
aS'birdlimed'
p47934
asS'doodle'
p47935
(lp47936
S'doodles'
p47937
aS'doodling'
p47938
aS'doodled'
p47939
aS'doodled'
p47940
asS'obelize'
p47941
(lp47942
S'obelizes'
p47943
aS'obelizing'
p47944
aS'obelized'
p47945
aS'obelized'
p47946
asS'frog'
p47947
(lp47948
S'frogs'
p47949
aS'frogging'
p47950
aS'frogged'
p47951
aS'frogged'
p47952
asS'procrastinate'
p47953
(lp47954
S'procrastinates'
p47955
aS'procrastinating'
p47956
aS'procrastinated'
p47957
aS'procrastinated'
p47958
asS'overman'
p47959
(lp47960
S'overmans'
p47961
aS'overmanning'
p47962
aS'overmanned'
p47963
aS'overmanned'
p47964
asS'dishevel'
p47965
(lp47966
S'dishevels'
p47967
aS'dishevelling'
p47968
aS'dishevelled'
p47969
aS'dishevelled'
p47970
asS'slue'
p47971
(lp47972
S'slues'
p47973
aS'sluing'
p47974
aS'slued'
p47975
aS'slued'
p47976
asS'start'
p47977
(lp47978
S'starts'
p47979
aS'starting'
p47980
aS'started'
p47981
aS'started'
p47982
asS'sanitize'
p47983
(lp47984
S'sanitizes'
p47985
aS'sanitizing'
p47986
aS'sanitized'
p47987
aS'sanitized'
p47988
asS'sort'
p47989
(lp47990
S'sorts'
p47991
aS'sorting'
p47992
aS'sorted'
p47993
aS'sorted'
p47994
asS'detail'
p47995
(lp47996
S'details'
p47997
aS'detailing'
p47998
aS'detailed'
p47999
aS'detailed'
p48000
asS'impress'
p48001
(lp48002
S'impresses'
p48003
aS'impressing'
p48004
aS'impressed'
p48005
aS'impressed'
p48006
asS'underdrain'
p48007
(lp48008
S'underdrains'
p48009
aS'underdraining'
p48010
aS'underdrained'
p48011
aS'underdrained'
p48012
asS'cooperate'
p48013
(lp48014
S'cooperates'
p48015
aS'cooperating'
p48016
aS'cooperated'
p48017
aS'cooperated'
p48018
asS'rabbit'
p48019
(lp48020
S'rabbits'
p48021
aS'rabbiting'
p48022
aS'rabbited'
p48023
aS'rabbited'
p48024
asS'recount'
p48025
(lp48026
S'recounts'
p48027
aS'recounting'
p48028
ag39405
aS'recounted'
p48029
asS'sorn'
p48030
(lp48031
S'sorns'
p48032
aS'sorning'
p48033
aS'sorned'
p48034
aS'sorned'
p48035
asS'hand-knit'
p48036
(lp48037
S'hand-knits'
p48038
aS'hand-knitting'
p48039
aS'hand-knitted'
p48040
aS'hand-knitted'
p48041
asS'incline'
p48042
(lp48043
S'inclines'
p48044
aS'inclining'
p48045
aS'inclined'
p48046
aS'inclined'
p48047
asS'annoy'
p48048
(lp48049
S'annoys'
p48050
aS'annoying'
p48051
aS'annoyed'
p48052
aS'annoyed'
p48053
asS'fraternize'
p48054
(lp48055
S'fraternizes'
p48056
aS'fraternizing'
p48057
aS'fraternized'
p48058
aS'fraternized'
p48059
asS'augment'
p48060
(lp48061
S'augments'
p48062
aS'augmenting'
p48063
aS'augmented'
p48064
aS'augmented'
p48065
asS'saddle'
p48066
(lp48067
S'saddles'
p48068
aS'saddling'
p48069
aS'saddled'
p48070
aS'saddled'
p48071
asS'octuple'
p48072
(lp48073
S'octuples'
p48074
aS'octupling'
p48075
aS'octupled'
p48076
aS'octupled'
p48077
asS'regale'
p48078
(lp48079
S'regales'
p48080
aS'regaling'
p48081
aS'regaled'
p48082
aS'regaled'
p48083
asS'dissolve'
p48084
(lp48085
S'dissolves'
p48086
aS'dissolving'
p48087
aS'dissolved'
p48088
aS'dissolved'
p48089
asS'proof'
p48090
(lp48091
S'proofs'
p48092
aS'proofing'
p48093
aS'proofed'
p48094
aS'proofed'
p48095
asS'tat'
p48096
(lp48097
S'tats'
p48098
aS'tatting'
p48099
aS'tatted'
p48100
aS'tatted'
p48101
asS'patrol'
p48102
(lp48103
S'patrols'
p48104
aS'patrolling'
p48105
aS'patrolled'
p48106
aS'patrolled'
p48107
asS'tar'
p48108
(lp48109
S'tars'
p48110
aS'tarring'
p48111
aS'tarred'
p48112
aS'tarred'
p48113
asS'manhandle'
p48114
(lp48115
S'manhandles'
p48116
aS'manhandling'
p48117
ag12738
aS'manhandled'
p48118
asS'tax'
p48119
(lp48120
S'taxes'
p48121
aS'taxing'
p48122
aS'taxed'
p48123
aS'taxed'
p48124
asS'crick'
p48125
(lp48126
S'cricks'
p48127
aS'cricking'
p48128
aS'cricked'
p48129
aS'cricked'
p48130
asS'tag'
p48131
(lp48132
S'tags'
p48133
aS'tagging'
p48134
aS'tagged'
p48135
aS'tagged'
p48136
asS'condescend'
p48137
(lp48138
S'condescends'
p48139
aS'condescending'
p48140
aS'condescended'
p48141
aS'condescended'
p48142
asS'wizen'
p48143
(lp48144
S'wizens'
p48145
aS'wizening'
p48146
aS'wizened'
p48147
aS'wizened'
p48148
asS'tan'
p48149
(lp48150
S'tans'
p48151
aS'tanning'
p48152
aS'tanned'
p48153
aS'tanned'
p48154
asS'rape'
p48155
(lp48156
S'rapes'
p48157
aS'raping'
p48158
aS'raped'
p48159
aS'raped'
p48160
asS'counterfeit'
p48161
(lp48162
S'counterfeits'
p48163
aS'counterfeiting'
p48164
aS'counterfeited'
p48165
aS'counterfeited'
p48166
asS'sip'
p48167
(lp48168
S'sips'
p48169
aS'sipping'
p48170
aS'sipped'
p48171
aS'sipped'
p48172
asS'jape'
p48173
(lp48174
S'japes'
p48175
aS'japing'
p48176
aS'japed'
p48177
aS'japed'
p48178
asS'sit'
p48179
(lp48180
S'sits'
p48181
aS'sitting'
p48182
aS'sat'
p48183
aS'sat'
p48184
asS'tamper'
p48185
(lp48186
S'tampers'
p48187
aS'tampering'
p48188
aS'tampered'
p48189
aS'tampered'
p48190
asS'outclass'
p48191
(lp48192
S'outclasses'
p48193
aS'outclassing'
p48194
aS'outclassed'
p48195
aS'outclassed'
p48196
asS'patronize'
p48197
(lp48198
S'patronizes'
p48199
aS'patronizing'
p48200
aS'patronized'
p48201
aS'patronized'
p48202
asS'sic'
p48203
(lp48204
S'sics'
p48205
aS'sicking'
p48206
aS'sicked'
p48207
aS'sicked'
p48208
asS'crutch'
p48209
(lp48210
S'crutches'
p48211
aS'crutching'
p48212
aS'crutched'
p48213
aS'crutched'
p48214
asS'resurge'
p48215
(lp48216
S'resurges'
p48217
aS'resurging'
p48218
aS'resurged'
p48219
aS'resurged'
p48220
asS'panic'
p48221
(lp48222
S'panics'
p48223
aS'panicking'
p48224
aS'panicked'
p48225
aS'panicked'
p48226
asS'sin'
p48227
(lp48228
S'sins'
p48229
aS'sinning'
p48230
aS'sinned'
p48231
aS'sinned'
p48232
asS'exemplify'
p48233
(lp48234
S'exemplifies'
p48235
aS'exemplifying'
p48236
aS'exemplified'
p48237
aS'exemplified'
p48238
asS'underfeed'
p48239
(lp48240
S'underfeeds'
p48241
aS'underfeeding'
p48242
aS'underfed'
p48243
aS'underfed'
p48244
asS'attend'
p48245
(lp48246
S'attends'
p48247
aS'attending'
p48248
aS'attended'
p48249
aS'attended'
p48250
asS'perjure'
p48251
(lp48252
S'perjures'
p48253
aS'perjuring'
p48254
aS'perjured'
p48255
aS'perjured'
p48256
asS'discomfort'
p48257
(lp48258
S'discomforts'
p48259
aS'discomforting'
p48260
aS'discomforted'
p48261
aS'discomforted'
p48262
asS'abuse'
p48263
(lp48264
S'abuses'
p48265
aS'abusing'
p48266
aS'abused'
p48267
aS'abused'
p48268
asS'light'
p48269
(lp48270
S'lights'
p48271
aS'lighting'
p48272
aS'lighted'
p48273
aS'lighted'
p48274
asS'budge'
p48275
(lp48276
S'budges'
p48277
aS'budging'
p48278
aS'budged'
p48279
aS'budged'
p48280
asS'melodize'
p48281
(lp48282
S'melodizes'
p48283
aS'melodizing'
p48284
aS'melodized'
p48285
aS'melodized'
p48286
asS'acetify'
p48287
(lp48288
S'acetifies'
p48289
aS'acetifying'
p48290
aS'acetified'
p48291
aS'acetified'
p48292
asS're-serve'
p48293
(lp48294
S're-serves'
p48295
aS're-serving'
p48296
ag14196
aS're-served'
p48297
asS'retrogress'
p48298
(lp48299
S'retrogresses'
p48300
aS'retrogressing'
p48301
aS'retrogressed'
p48302
aS'retrogressed'
p48303
asS'windrow'
p48304
(lp48305
S'windrows'
p48306
aS'windrowing'
p48307
aS'windrowed'
p48308
aS'windrowed'
p48309
asS'beguile'
p48310
(lp48311
S'beguiles'
p48312
aS'beguiling'
p48313
aS'beguiled'
p48314
aS'beguiled'
p48315
asS'wawa'
p48316
(lp48317
S'wawas'
p48318
aS'wawaing'
p48319
aS'wawaed'
p48320
aS'wawaed'
p48321
asS'quake'
p48322
(lp48323
S'quakes'
p48324
aS'quaking'
p48325
aS'quaked'
p48326
aS'quaked'
p48327
asS'double-time'
p48328
(lp48329
S'double-times'
p48330
aS'double-timing'
p48331
aS'double-timed'
p48332
aS'double-timed'
p48333
asS'wawl'
p48334
(lp48335
S'wawls'
p48336
aS'wawling'
p48337
aS'wawled'
p48338
aS'wawled'
p48339
asS'badger'
p48340
(lp48341
S'badgers'
p48342
aS'badgering'
p48343
aS'badgered'
p48344
aS'badgered'
p48345
asS'write'
p48346
(lp48347
S'writes'
p48348
ag10295
aS'wrote'
p48349
aS'written'
p48350
asS'complicate'
p48351
(lp48352
S'complicates'
p48353
aS'complicating'
p48354
aS'complicated'
p48355
aS'complicated'
p48356
asS'inlet'
p48357
(lp48358
S'inlets'
p48359
aS'inletting'
p48360
aS'inlet'
p48361
aS'inlet'
p48362
asS'reeve'
p48363
(lp48364
S'reeves'
p48365
aS'reeving'
p48366
aS'reeved'
p48367
aS'reeved'
p48368
asS'overvalue'
p48369
(lp48370
S'overvalues'
p48371
aS'overvaluing'
p48372
aS'overvalued'
p48373
aS'overvalued'
p48374
asS'stridulate'
p48375
(lp48376
S'stridulates'
p48377
aS'stridulating'
p48378
aS'stridulated'
p48379
aS'stridulated'
p48380
asS'flank'
p48381
(lp48382
S'flanks'
p48383
aS'flanking'
p48384
aS'flanked'
p48385
aS'flanked'
p48386
asS'restrain'
p48387
(lp48388
S'restrains'
p48389
aS'restraining'
p48390
aS'restrained'
p48391
aS'restrained'
p48392
asS'choose'
p48393
(lp48394
S'chooses'
p48395
aS'choosing'
p48396
aS'chose'
p48397
aS'chosen'
p48398
asS'underpin'
p48399
(lp48400
S'underpins'
p48401
aS'underpinning'
p48402
aS'underpinned'
p48403
aS'underpinned'
p48404
asS'holiday'
p48405
(lp48406
S'holidays'
p48407
aS'holidaying'
p48408
aS'holidayed'
p48409
aS'holidayed'
p48410
asS'fley'
p48411
(lp48412
S'fleys'
p48413
aS'fleying'
p48414
aS'fleyed'
p48415
aS'fleyed'
p48416
asS'flex'
p48417
(lp48418
S'flexs'
p48419
aS'flexing'
p48420
aS'flexed'
p48421
aS'flexed'
p48422
asS'crash'
p48423
(lp48424
S'crashes'
p48425
aS'crashing'
p48426
aS'crashed'
p48427
aS'crashed'
p48428
asS'flour'
p48429
(lp48430
S'flours'
p48431
aS'flouring'
p48432
aS'floured'
p48433
aS'floured'
p48434
asS'practice'
p48435
(lp48436
S'practices'
p48437
aS'practicing'
p48438
aS'practiced'
p48439
aS'practiced'
p48440
asS'flout'
p48441
(lp48442
S'flouts'
p48443
aS'flouting'
p48444
aS'flouted'
p48445
aS'flouted'
p48446
asS'precess'
p48447
(lp48448
S'precesses'
p48449
aS'precessing'
p48450
aS'precessed'
p48451
aS'precessed'
p48452
asS'fingerprint'
p48453
(lp48454
S'fingerprints'
p48455
aS'fingerprinting'
p48456
aS'fingerprinted'
p48457
aS'fingerprinted'
p48458
asS'liquify'
p48459
(lp48460
S'liquifies'
p48461
aS'liquifying'
p48462
aS'liquified'
p48463
aS'liquified'
p48464
asS'flee'
p48465
(lp48466
S'flees'
p48467
aS'fleeing'
p48468
aS'fled'
p48469
aS'fled'
p48470
asS'parasitize'
p48471
(lp48472
S'parasitizes'
p48473
aS'parasitizing'
p48474
aS'parasitized'
p48475
aS'parasitized'
p48476
asS'impower'
p48477
(lp48478
S'impowers'
p48479
aS'impowering'
p48480
aS'impowered'
p48481
aS'impowered'
p48482
asS'edit'
p48483
(lp48484
S'edits'
p48485
aS'editing'
p48486
aS'edited'
p48487
aS'edited'
p48488
asS'fuze'
p48489
(lp48490
S'fuzes'
p48491
aS'fuzing'
p48492
aS'fuzed'
p48493
aS'fuzed'
p48494
asS'fuzz'
p48495
(lp48496
S'fuzzes'
p48497
aS'fuzzing'
p48498
aS'fuzzed'
p48499
aS'fuzzed'
p48500
asS'fiddle'
p48501
(lp48502
S'fiddles'
p48503
aS'fiddling'
p48504
aS'fiddled'
p48505
aS'fiddled'
p48506
asS'trap'
p48507
(lp48508
S'traps'
p48509
aS'trapping'
p48510
aS'trapped'
p48511
aS'trapped'
p48512
asS'cocoon'
p48513
(lp48514
S'cocoons'
p48515
aS'cocooning'
p48516
aS'cocooned'
p48517
aS'cocooned'
p48518
asS'stithy'
p48519
(lp48520
S'stithies'
p48521
aS'stithying'
p48522
aS'stithied'
p48523
aS'stithied'
p48524
asS'sojourn'
p48525
(lp48526
S'sojourns'
p48527
aS'sojourning'
p48528
aS'sojourned'
p48529
aS'sojourned'
p48530
asS'interfuse'
p48531
(lp48532
S'interfuses'
p48533
aS'interfusing'
p48534
aS'interfused'
p48535
aS'interfused'
p48536
asS'tabulate'
p48537
(lp48538
S'tabulates'
p48539
aS'tabulating'
p48540
aS'tabulated'
p48541
aS'tabulated'
p48542
asS'out'
p48543
(lp48544
S'outs'
p48545
aS'outing'
p48546
aS'outed'
p48547
aS'outed'
p48548
asS'Afrikanerize'
p48549
(lp48550
S'Afrikanerizes'
p48551
aS'Afrikanerizing'
p48552
aS'Afrikanerized'
p48553
aS'Afrikanerized'
p48554
asS'effloresce'
p48555
(lp48556
S'effloresces'
p48557
aS'efflorescing'
p48558
aS'effloresced'
p48559
aS'effloresced'
p48560
asS'notarize'
p48561
(lp48562
S'notarizes'
p48563
aS'notarizing'
p48564
aS'notarized'
p48565
aS'notarized'
p48566
asS'ejaculate'
p48567
(lp48568
S'ejaculates'
p48569
aS'ejaculating'
p48570
aS'ejaculated'
p48571
aS'ejaculated'
p48572
asS'superintend'
p48573
(lp48574
S'superintends'
p48575
aS'superintending'
p48576
aS'superintended'
p48577
aS'superintended'
p48578
asS'clatter'
p48579
(lp48580
S'clatters'
p48581
aS'clattering'
p48582
aS'clattered'
p48583
aS'clattered'
p48584
asS'impart'
p48585
(lp48586
S'imparts'
p48587
aS'imparting'
p48588
aS'imparted'
p48589
aS'imparted'
p48590
asS'sacrifice'
p48591
(lp48592
S'sacrifices'
p48593
aS'sacrificing'
p48594
aS'sacrificed'
p48595
aS'sacrificed'
p48596
asS'disclose'
p48597
(lp48598
S'discloses'
p48599
aS'disclosing'
p48600
aS'disclosed'
p48601
aS'disclosed'
p48602
asS'enfranchise'
p48603
(lp48604
S'enfranchises'
p48605
aS'enfranchising'
p48606
aS'enfranchised'
p48607
aS'enfranchised'
p48608
asS'implode'
p48609
(lp48610
S'implodes'
p48611
aS'imploding'
p48612
aS'imploded'
p48613
aS'imploded'
p48614
asS'planish'
p48615
(lp48616
S'planishes'
p48617
aS'planishing'
p48618
aS'planished'
p48619
aS'planished'
p48620
asS'rejoice'
p48621
(lp48622
S'rejoices'
p48623
aS'rejoicing'
p48624
aS'rejoiced'
p48625
aS'rejoiced'
p48626
asS'tenant'
p48627
(lp48628
S'tenants'
p48629
aS'tenanting'
p48630
aS'tenanted'
p48631
aS'tenanted'
p48632
asS'overtake'
p48633
(lp48634
S'overtakes'
p48635
aS'overtaking'
p48636
aS'overtook'
p48637
aS'overtaken'
p48638
asS'substantiate'
p48639
(lp48640
S'substantiates'
p48641
aS'substantiating'
p48642
aS'substantiated'
p48643
aS'substantiated'
p48644
asS'outman'
p48645
(lp48646
S'outmans'
p48647
aS'outmanning'
p48648
aS'outmanned'
p48649
aS'outmanned'
p48650
asS'uproot'
p48651
(lp48652
S'uproots'
p48653
aS'uprooting'
p48654
aS'uprooted'
p48655
aS'uprooted'
p48656
asS'boondoggle'
p48657
(lp48658
S'boondoggles'
p48659
aS'boondoggling'
p48660
aS'boondoggled'
p48661
aS'boondoggled'
p48662
asS'rubberneck'
p48663
(lp48664
sS'echo'
p48665
(lp48666
S'echoes'
p48667
aS'echoing'
p48668
aS'echoed'
p48669
aS'echoed'
p48670
asS'collogue'
p48671
(lp48672
S'collogues'
p48673
aS'colloguing'
p48674
aS'collogued'
p48675
aS'collogued'
p48676
asS'droop'
p48677
(lp48678
S'droops'
p48679
aS'drooping'
p48680
aS'drooped'
p48681
aS'drooped'
p48682
asS'overtrump'
p48683
(lp48684
S'overtrumps'
p48685
aS'overtrumping'
p48686
aS'overtrumped'
p48687
aS'overtrumped'
p48688
asS'liquate'
p48689
(lp48690
S'liquates'
p48691
aS'liquating'
p48692
aS'liquated'
p48693
aS'liquated'
p48694
asS'accent'
p48695
(lp48696
S'accents'
p48697
aS'accenting'
p48698
aS'accented'
p48699
aS'accented'
p48700
asS'glister'
p48701
(lp48702
S'glisters'
p48703
aS'glistering'
p48704
aS'glistered'
p48705
aS'glistered'
p48706
asS'boil'
p48707
(lp48708
S'boils'
p48709
aS'boiling'
p48710
aS'boiled'
p48711
aS'boiled'
p48712
asS'shell'
p48713
(lp48714
S'shells'
p48715
aS'shelling'
p48716
aS'shelled'
p48717
aS'shelled'
p48718
asS'shallow'
p48719
(lp48720
S'shallows'
p48721
aS'shallowing'
p48722
aS'shallowed'
p48723
aS'shallowed'
p48724
asS'simulate'
p48725
(lp48726
S'simulates'
p48727
aS'simulating'
p48728
aS'simulated'
p48729
aS'simulated'
p48730
asS'diminish'
p48731
(lp48732
S'diminishes'
p48733
aS'diminishing'
p48734
aS'diminished'
p48735
aS'diminished'
p48736
asS'commence'
p48737
(lp48738
S'commences'
p48739
aS'commencing'
p48740
aS'commenced'
p48741
aS'commenced'
p48742
asS'vilipend'
p48743
(lp48744
S'vilipends'
p48745
aS'vilipending'
p48746
aS'vilipended'
p48747
aS'vilipended'
p48748
asS'elope'
p48749
(lp48750
S'elopes'
p48751
aS'eloping'
p48752
aS'eloped'
p48753
aS'eloped'
p48754
asS'featherstitch'
p48755
(lp48756
S'featherstitches'
p48757
aS'featherstitching'
p48758
aS'featherstitched'
p48759
aS'featherstitched'
p48760
asS'brazen'
p48761
(lp48762
S'brazens'
p48763
aS'brazening'
p48764
aS'brazened'
p48765
aS'brazened'
p48766
asS'elongate'
p48767
(lp48768
S'elongates'
p48769
aS'elongating'
p48770
aS'elongated'
p48771
aS'elongated'
p48772
asS'sculpture'
p48773
(lp48774
S'sculptures'
p48775
aS'sculpturing'
p48776
aS'sculptured'
p48777
aS'sculptured'
p48778
asS'encore'
p48779
(lp48780
S'encores'
p48781
aS'encoring'
p48782
aS'encored'
p48783
aS'encored'
p48784
asS'reposit'
p48785
(lp48786
S'reposits'
p48787
aS'repositing'
p48788
aS'reposited'
p48789
aS'reposited'
p48790
asS'crucify'
p48791
(lp48792
S'crucifies'
p48793
aS'crucifying'
p48794
aS'crucified'
p48795
aS'crucified'
p48796
asS'clip'
p48797
(lp48798
S'clips'
p48799
aS'clipping'
p48800
aS'clipped'
p48801
aS'clipped'
p48802
asS'fowl'
p48803
(lp48804
S'fowls'
p48805
aS'fowling'
p48806
aS'fowled'
p48807
aS'fowled'
p48808
asS'splatter'
p48809
(lp48810
S'splatters'
p48811
aS'splattering'
p48812
aS'splattered'
p48813
aS'splattered'
p48814
asS'softland'
p48815
(lp48816
S'softlands'
p48817
aS'softlanding'
p48818
aS'softlanded'
p48819
aS'softlanded'
p48820
asS'blip'
p48821
(lp48822
S'blips'
p48823
aS'blipping'
p48824
aS'blipped'
p48825
aS'blipped'
p48826
asS'unknit'
p48827
(lp48828
S'unknits'
p48829
aS'unknitting'
p48830
aS'unknitted'
p48831
aS'unknitted'
p48832
asS'outstrip'
p48833
(lp48834
S'outstrips'
p48835
aS'outstripping'
p48836
aS'outstripped'
p48837
aS'outstripped'
p48838
asS'disjoint'
p48839
(lp48840
S'disjoints'
p48841
aS'disjointing'
p48842
aS'disjointed'
p48843
aS'disjointed'
p48844
asS'luminesce'
p48845
(lp48846
S'luminesces'
p48847
aS'luminescing'
p48848
aS'luminesced'
p48849
aS'luminesced'
p48850
asS'angle'
p48851
(lp48852
S'angles'
p48853
aS'angling'
p48854
aS'angled'
p48855
aS'angled'
p48856
asS'inform'
p48857
(lp48858
S'informs'
p48859
aS'informing'
p48860
aS'informed'
p48861
aS'informed'
p48862
asS'rout'
p48863
(lp48864
S'routs'
p48865
ag23043
ag23044
ag23045
asS'invigilate'
p48866
(lp48867
S'invigilates'
p48868
aS'invigilating'
p48869
aS'invigilated'
p48870
aS'invigilated'
p48871
asS'roup'
p48872
(lp48873
S'roups'
p48874
aS'rouping'
p48875
aS'rouped'
p48876
aS'rouped'
p48877
asS'lope'
p48878
(lp48879
S'lopes'
p48880
aS'loping'
p48881
aS'loped'
p48882
aS'loped'
p48883
asS'deprave'
p48884
(lp48885
S'depraves'
p48886
aS'depraving'
p48887
aS'depraved'
p48888
aS'depraved'
p48889
asS'divert'
p48890
(lp48891
S'diverts'
p48892
aS'diverting'
p48893
aS'diverted'
p48894
aS'diverted'
p48895
asS'outpour'
p48896
(lp48897
S'outpours'
p48898
aS'outpouring'
p48899
aS'outpoured'
p48900
aS'outpoured'
p48901
asS'clash'
p48902
(lp48903
S'clashes'
p48904
aS'clashing'
p48905
aS'clashed'
p48906
aS'clashed'
p48907
asS'centre'
p48908
(lp48909
S'centres'
p48910
aS'centring'
p48911
aS'centred'
p48912
aS'centred'
p48913
asS'quitclaim'
p48914
(lp48915
S'quitclaims'
p48916
aS'quitclaiming'
p48917
aS'quitclaimed'
p48918
aS'quitclaimed'
p48919
asS'invocate'
p48920
(lp48921
S'invocates'
p48922
aS'invocating'
p48923
aS'invocated'
p48924
aS'invocated'
p48925
asS'filch'
p48926
(lp48927
S'filches'
p48928
aS'filching'
p48929
aS'filched'
p48930
aS'filched'
p48931
asS'writhen'
p48932
(lp48933
S'writhens'
p48934
aS'writhening'
p48935
aS'writhened'
p48936
aS'writhened'
p48937
asS'tinplate'
p48938
(lp48939
S'tinplates'
p48940
aS'tinplating'
p48941
aS'tinplated'
p48942
aS'tinplated'
p48943
asS'delve'
p48944
(lp48945
S'delves'
p48946
aS'delving'
p48947
aS'delved'
p48948
aS'delved'
p48949
asS'class'
p48950
(lp48951
S'classes'
p48952
aS'classing'
p48953
aS'classed'
p48954
aS'classed'
p48955
asS'clasp'
p48956
(lp48957
S'clasps'
p48958
aS'clasping'
p48959
aS'clasped'
p48960
aS'clasped'
p48961
asS'tinct'
p48962
(lp48963
S'tincts'
p48964
aS'tincting'
p48965
aS'tincted'
p48966
aS'tincted'
p48967
asS'discourage'
p48968
(lp48969
S'discourages'
p48970
aS'discouraging'
p48971
aS'discouraged'
p48972
aS'discouraged'
p48973
asS'refract'
p48974
(lp48975
S'refracts'
p48976
aS'refracting'
p48977
aS'refracted'
p48978
aS'refracted'
p48979
asS'dent'
p48980
(lp48981
S'dents'
p48982
aS'denting'
p48983
aS'dented'
p48984
aS'dented'
p48985
asS'pipe'
p48986
(lp48987
S'pipes'
p48988
aS'piping'
p48989
aS'piped'
p48990
aS'piped'
p48991
asS'intercross'
p48992
(lp48993
S'intercrosses'
p48994
aS'intercrossing'
p48995
aS'intercrossed'
p48996
aS'intercrossed'
p48997
asS'stove'
p48998
(lp48999
S'stoves'
p49000
aS'stoving'
p49001
aS'stoved'
p49002
aS'stoved'
p49003
asS'swizzle'
p49004
(lp49005
S'swizzles'
p49006
aS'swizzling'
p49007
aS'swizzled'
p49008
aS'swizzled'
p49009
asS'betake'
p49010
(lp49011
S'betakes'
p49012
aS'betaking'
p49013
aS'betook'
p49014
aS'betaken'
p49015
asS'complot'
p49016
(lp49017
S'complots'
p49018
aS'complotting'
p49019
aS'complotted'
p49020
aS'complotted'
p49021
asS'fear'
p49022
(lp49023
S'fears'
p49024
aS'fearing'
p49025
aS'feared'
p49026
aS'feared'
p49027
asS'debate'
p49028
(lp49029
S'debates'
p49030
aS'debating'
p49031
aS'debated'
p49032
aS'debated'
p49033
asS'vesicate'
p49034
(lp49035
S'vesicates'
p49036
aS'vesicating'
p49037
aS'vesicated'
p49038
aS'vesicated'
p49039
asS'succour'
p49040
(lp49041
S'succours'
p49042
aS'succouring'
p49043
aS'succoured'
p49044
aS'succoured'
p49045
asS'manacle'
p49046
(lp49047
S'manacles'
p49048
aS'manacling'
p49049
aS'manacled'
p49050
aS'manacled'
p49051
asS'filiate'
p49052
(lp49053
S'filiates'
p49054
aS'filiating'
p49055
aS'filiated'
p49056
aS'filiated'
p49057
asS'reminisce'
p49058
(lp49059
S'reminisces'
p49060
aS'reminiscing'
p49061
aS'reminisced'
p49062
aS'reminisced'
p49063
asS'freeload'
p49064
(lp49065
S'freeloads'
p49066
aS'freeloading'
p49067
aS'freeloaded'
p49068
aS'freeloaded'
p49069
asS're-echo'
p49070
(lp49071
S're-echoes'
p49072
aS're-echoing'
p49073
aS're-echoed'
p49074
aS're-echoed'
p49075
asS'herald'
p49076
(lp49077
S'heralds'
p49078
aS'heralding'
p49079
aS'heralded'
p49080
aS'heralded'
p49081
asS'inhabit'
p49082
(lp49083
S'inhabits'
p49084
aS'inhabiting'
p49085
aS'inhabited'
p49086
aS'inhabited'
p49087
asS'outsell'
p49088
(lp49089
S'outsells'
p49090
aS'outselling'
p49091
aS'outsold'
p49092
aS'outsold'
p49093
asS'prosecute'
p49094
(lp49095
S'prosecutes'
p49096
aS'prosecuting'
p49097
aS'prosecuted'
p49098
aS'prosecuted'
p49099
asS'winterize'
p49100
(lp49101
S'winterizes'
p49102
aS'winterizing'
p49103
aS'winterized'
p49104
aS'winterized'
p49105
asS'cube'
p49106
(lp49107
S'cubes'
p49108
aS'cubing'
p49109
aS'cubed'
p49110
aS'cubed'
p49111
asS'topple'
p49112
(lp49113
S'topples'
p49114
aS'toppling'
p49115
aS'toppled'
p49116
aS'toppled'
p49117
asS'skimp'
p49118
(lp49119
S'skimps'
p49120
aS'skimping'
p49121
aS'skimped'
p49122
aS'skimped'
p49123
asS'dope'
p49124
(lp49125
S'dopes'
p49126
aS'doping'
p49127
aS'doped'
p49128
aS'doped'
p49129
asS'massacre'
p49130
(lp49131
S'massacres'
p49132
aS'massacring'
p49133
aS'massacred'
p49134
aS'massacred'
p49135
asS'blare'
p49136
(lp49137
S'blares'
p49138
aS'blaring'
p49139
aS'blared'
p49140
aS'blared'
p49141
asS'penetrate'
p49142
(lp49143
S'penetrates'
p49144
aS'penetrating'
p49145
aS'penetrated'
p49146
aS'penetrated'
p49147
asS'isochronize'
p49148
(lp49149
S'isochronizes'
p49150
aS'isochronizing'
p49151
aS'isochronized'
p49152
aS'isochronized'
p49153
asS'swindle'
p49154
(lp49155
S'swindles'
p49156
aS'swindling'
p49157
aS'swindled'
p49158
aS'swindled'
p49159
asS'anatomize'
p49160
(lp49161
S'anatomizes'
p49162
aS'anatomizing'
p49163
aS'anatomized'
p49164
aS'anatomized'
p49165
asS'cotter'
p49166
(lp49167
S'cotters'
p49168
aS'cottering'
p49169
aS'cottered'
p49170
aS'cottered'
p49171
asS'bisect'
p49172
(lp49173
S'bisects'
p49174
aS'bisecting'
p49175
aS'bisected'
p49176
aS'bisected'
p49177
asS'postil'
p49178
(lp49179
S'postils'
p49180
aS'postiling'
p49181
aS'postiled'
p49182
aS'postiled'
p49183
asS'compliment'
p49184
(lp49185
S'compliments'
p49186
aS'complimenting'
p49187
aS'complimented'
p49188
aS'complimented'
p49189
asS'ascertain'
p49190
(lp49191
S'ascertains'
p49192
aS'ascertaining'
p49193
aS'ascertained'
p49194
aS'ascertained'
p49195
asS'editorialize'
p49196
(lp49197
S'editorializes'
p49198
aS'editorializing'
p49199
aS'editorialized'
p49200
aS'editorialized'
p49201
asS'view'
p49202
(lp49203
S'views'
p49204
aS'viewing'
p49205
aS'viewed'
p49206
aS'viewed'
p49207
asS'premiss'
p49208
(lp49209
S'premisses'
p49210
aS'premissing'
p49211
aS'premissed'
p49212
aS'premissed'
p49213
asS'ebb'
p49214
(lp49215
S'ebbs'
p49216
aS'ebbing'
p49217
aS'ebbed'
p49218
aS'ebbed'
p49219
asS'expel'
p49220
(lp49221
S'expels'
p49222
aS'expelling'
p49223
aS'expelled'
p49224
aS'expelled'
p49225
asS'grieve'
p49226
(lp49227
S'grieves'
p49228
aS'grieving'
p49229
aS'grieved'
p49230
aS'grieved'
p49231
asS'gerrymander'
p49232
(lp49233
S'gerrymanders'
p49234
aS'gerrymandering'
p49235
aS'gerrymandered'
p49236
aS'gerrymandered'
p49237
asS'crossruff'
p49238
(lp49239
S'crossruffs'
p49240
aS'crossruffing'
p49241
aS'crossruffed'
p49242
aS'crossruffed'
p49243
asS'lapidate'
p49244
(lp49245
S'lapidates'
p49246
aS'lapidating'
p49247
aS'lapidated'
p49248
aS'lapidated'
p49249
asS'closet'
p49250
(lp49251
S'closets'
p49252
aS'closeting'
p49253
aS'closeted'
p49254
aS'closeted'
p49255
asS'enamour'
p49256
(lp49257
S'enamours'
p49258
aS'enamouring'
p49259
aS'enamoured'
p49260
aS'enamoured'
p49261
asS'diverge'
p49262
(lp49263
S'diverges'
p49264
aS'diverging'
p49265
aS'diverged'
p49266
aS'diverged'
p49267
asS'torpedo'
p49268
(lp49269
S'torpedos'
p49270
aS'torpedoing'
p49271
aS'torpedoed'
p49272
aS'torpedoed'
p49273
asS'whipstitch'
p49274
(lp49275
S'whipstitches'
p49276
aS'whipstitching'
p49277
aS'whipstitched'
p49278
aS'whipstitched'
p49279
asS'flitch'
p49280
(lp49281
S'flitches'
p49282
aS'flitching'
p49283
aS'flitched'
p49284
aS'flitched'
p49285
asS'avow'
p49286
(lp49287
S'avows'
p49288
aS'avowing'
p49289
aS'avowed'
p49290
aS'avowed'
p49291
asS'jot'
p49292
(lp49293
S'jots'
p49294
aS'jotting'
p49295
aS'jotted'
p49296
aS'jotted'
p49297
asS'overdevelop'
p49298
(lp49299
S'overdevelops'
p49300
aS'overdeveloping'
p49301
aS'overdeveloped'
p49302
aS'overdeveloped'
p49303
asS'joy'
p49304
(lp49305
S'joys'
p49306
aS'joying'
p49307
aS'joyed'
p49308
aS'joyed'
p49309
asS'uprouse'
p49310
(lp49311
S'uprouses'
p49312
aS'uprousing'
p49313
aS'uproused'
p49314
aS'uproused'
p49315
asS'job'
p49316
(lp49317
S'jobs'
p49318
aS'jobbing'
p49319
aS'jobbed'
p49320
aS'jobbed'
p49321
asS'joggle'
p49322
(lp49323
S'joggles'
p49324
aS'joggling'
p49325
aS'joggled'
p49326
aS'joggled'
p49327
asS'depolymerize'
p49328
(lp49329
S'depolymerizes'
p49330
aS'depolymerizing'
p49331
aS'depolymerized'
p49332
aS'depolymerized'
p49333
asS'spoil'
p49334
(lp49335
S'spoils'
p49336
aS'spoiling'
p49337
aS'spoilt'
p49338
aS'spoilt'
p49339
asS'jog'
p49340
(lp49341
S'jogs'
p49342
aS'jogging'
p49343
aS'jogged'
p49344
aS'jogged'
p49345
asS'disallow'
p49346
(lp49347
S'disallows'
p49348
aS'disallowing'
p49349
aS'disallowed'
p49350
aS'disallowed'
p49351
asS'stucco'
p49352
(lp49353
S'stuccos'
p49354
aS'stuccoing'
p49355
aS'stuccoed'
p49356
aS'stuccoed'
p49357
asS'stagemanage'
p49358
(lp49359
S'stagemanages'
p49360
aS'stagemanaging'
p49361
aS'stagemanaged'
p49362
aS'stagemanaged'
p49363
asS'outshoot'
p49364
(lp49365
S'outshoots'
p49366
aS'outshooting'
p49367
aS'outshot'
p49368
aS'outshot'
p49369
asS'disestablish'
p49370
(lp49371
S'disestablishes'
p49372
aS'disestablishing'
p49373
aS'disestablished'
p49374
aS'disestablished'
p49375
asS'demulsify'
p49376
(lp49377
S'demulsifies'
p49378
aS'demulsifying'
p49379
aS'demulsified'
p49380
aS'demulsified'
p49381
asS'grain'
p49382
(lp49383
S'grains'
p49384
aS'graining'
p49385
aS'grained'
p49386
aS'grained'
p49387
asS'retrograde'
p49388
(lp49389
S'retrogrades'
p49390
aS'retrograding'
p49391
aS'retrograded'
p49392
aS'retrograded'
p49393
asS'tousle'
p49394
(lp49395
S'tousles'
p49396
aS'tousling'
p49397
aS'tousled'
p49398
aS'tousled'
p49399
asS'canopy'
p49400
(lp49401
S'canopies'
p49402
aS'canopying'
p49403
aS'canopied'
p49404
aS'canopied'
p49405
asS'wale'
p49406
(lp49407
S'wales'
p49408
aS'waling'
p49409
aS'waled'
p49410
aS'waled'
p49411
asS'dement'
p49412
(lp49413
S'dements'
p49414
aS'dementing'
p49415
aS'demented'
p49416
aS'demented'
p49417
asS'munition'
p49418
(lp49419
S'munitions'
p49420
aS'munitioning'
p49421
aS'munitioned'
p49422
aS'munitioned'
p49423
asS'wall'
p49424
(lp49425
S'walls'
p49426
aS'walling'
p49427
aS'walled'
p49428
aS'walled'
p49429
asS'immunize'
p49430
(lp49431
S'immunizes'
p49432
aS'immunizing'
p49433
aS'immunized'
p49434
aS'immunized'
p49435
asS'walk'
p49436
(lp49437
S'walks'
p49438
aS'walking'
p49439
aS'walked'
p49440
aS'walked'
p49441
asS'subscribe'
p49442
(lp49443
S'subscribes'
p49444
aS'subscribing'
p49445
aS'subscribed'
p49446
aS'subscribed'
p49447
asS'coddle'
p49448
(lp49449
S'coddles'
p49450
aS'coddling'
p49451
aS'coddled'
p49452
aS'coddled'
p49453
asS'predestinate'
p49454
(lp49455
S'predestinates'
p49456
aS'predestinating'
p49457
aS'predestinated'
p49458
aS'predestinated'
p49459
asS'transubstantiate'
p49460
(lp49461
S'transubstantiates'
p49462
aS'transubstantiating'
p49463
aS'transubstantiated'
p49464
aS'transubstantiated'
p49465
asS'trademark'
p49466
(lp49467
S'trademarks'
p49468
aS'trademarking'
p49469
aS'trademarked'
p49470
aS'trademarked'
p49471
asS'enchain'
p49472
(lp49473
S'enchains'
p49474
aS'enchaining'
p49475
aS'enchained'
p49476
aS'enchained'
p49477
asS'tutor'
p49478
(lp49479
S'tutors'
p49480
aS'tutoring'
p49481
aS'tutored'
p49482
aS'tutored'
p49483
asS'catechize'
p49484
(lp49485
S'catechizes'
p49486
aS'catechizing'
p49487
aS'catechized'
p49488
aS'catechized'
p49489
asS'bottlefeed'
p49490
(lp49491
S'bottlefeeds'
p49492
aS'bottlefeeding'
p49493
aS'bottlefed'
p49494
aS'bottlefed'
p49495
asS'mike'
p49496
(lp49497
S'mikes'
p49498
aS'miking'
p49499
aS'miked'
p49500
aS'miked'
p49501
asS'nickel'
p49502
(lp49503
S'nickels'
p49504
aS'nickelling'
p49505
aS'nickelled'
p49506
aS'nickelled'
p49507
asS'tap'
p49508
(lp49509
S'taps'
p49510
aS'tapping'
p49511
aS'tapped'
p49512
aS'tapped'
p49513
asS'twinge'
p49514
(lp49515
S'twinges'
p49516
aS'twinging'
p49517
aS'twinged'
p49518
aS'twinged'
p49519
asS'overture'
p49520
(lp49521
S'overtures'
p49522
aS'overturing'
p49523
aS'overtured'
p49524
aS'overtured'
p49525
asS'nicker'
p49526
(lp49527
S'nickers'
p49528
aS'nickering'
p49529
aS'nickered'
p49530
aS'nickered'
p49531
asS'overturn'
p49532
(lp49533
S'overturns'
p49534
aS'overturning'
p49535
aS'overturned'
p49536
aS'overturned'
p49537
asS'present'
p49538
(lp49539
S'presents'
p49540
aS'presenting'
p49541
aS'presented'
p49542
aS'presented'
p49543
asS'twist'
p49544
(lp49545
S'twists'
p49546
aS'twisting'
p49547
aS'twisted'
p49548
aS'twisted'
p49549
asS'corset'
p49550
(lp49551
S'corsets'
p49552
aS'corseting'
p49553
aS'corseted'
p49554
aS'corseted'
p49555
asS'sanctify'
p49556
(lp49557
S'sanctifies'
p49558
aS'sanctifying'
p49559
aS'sanctified'
p49560
aS'sanctified'
p49561
asS'wilt'
p49562
(lp49563
S'wilts'
p49564
aS'wilting'
p49565
aS'wilted'
p49566
aS'wilted'
p49567
asS'exclaim'
p49568
(lp49569
S'exclaims'
p49570
aS'exclaiming'
p49571
aS'exclaimed'
p49572
aS'exclaimed'
p49573
asS'will'
p49574
(lp49575
S'willing'
p49576
aS'willed'
p49577
aS'willed'
p49578
aS"won't"
p49579
asS'ensconce'
p49580
(lp49581
S'ensconces'
p49582
aS'ensconcing'
p49583
aS'ensconced'
p49584
aS'ensconced'
p49585
asS'wile'
p49586
(lp49587
S'wiles'
p49588
aS'wiling'
p49589
aS'wiled'
p49590
aS'wiled'
p49591
asS'rename'
p49592
(lp49593
S'renames'
p49594
aS'renaming'
p49595
aS'renamed'
p49596
aS'renamed'
p49597
asS'hobbyhorse'
p49598
(lp49599
S'hobbyhorses'
p49600
aS'hobbyhorsing'
p49601
aS'hobbyhorsed'
p49602
aS'hobbyhorsed'
p49603
asS'layer'
p49604
(lp49605
sS'apprehend'
p49606
(lp49607
S'apprehends'
p49608
aS'apprehending'
p49609
aS'apprehended'
p49610
aS'apprehended'
p49611
asS'wrongfoot'
p49612
(lp49613
S'wrongfoots'
p49614
aS'wrongfooting'
p49615
aS'wrongfooted'
p49616
aS'wrongfooted'
p49617
asS'disapprove'
p49618
(lp49619
S'disapproves'
p49620
aS'disapproving'
p49621
aS'disapproved'
p49622
aS'disapproved'
p49623
asS'thud'
p49624
(lp49625
S'thuds'
p49626
aS'thudding'
p49627
aS'thudded'
p49628
aS'thudded'
p49629
asS'whore'
p49630
(lp49631
S'whores'
p49632
aS'whoring'
p49633
aS'whored'
p49634
aS'whored'
p49635
asS'hocus'
p49636
(lp49637
S'hocuses'
p49638
aS'hocusing'
p49639
aS'hocused'
p49640
aS'hocused'
p49641
asS'vintage'
p49642
(lp49643
S'vintages'
p49644
aS'vintaging'
p49645
aS'vintaged'
p49646
aS'vintaged'
p49647
asS'subcontract'
p49648
(lp49649
S'subcontracts'
p49650
aS'subcontracting'
p49651
aS'subcontracted'
p49652
aS'subcontracted'
p49653
asS'cross'
p49654
(lp49655
S'crosses'
p49656
aS'crossing'
p49657
aS'crossed'
p49658
aS'crossed'
p49659
asS'unite'
p49660
(lp49661
S'unites'
p49662
aS'uniting'
p49663
aS'united'
p49664
aS'united'
p49665
asS'clinker'
p49666
(lp49667
S'clinkers'
p49668
aS'clinkering'
p49669
aS'clinkered'
p49670
aS'clinkered'
p49671
asS'scamp'
p49672
(lp49673
S'scamps'
p49674
aS'scamping'
p49675
aS'scamped'
p49676
aS'scamped'
p49677
asS'maculate'
p49678
(lp49679
S'maculates'
p49680
aS'maculating'
p49681
aS'maculated'
p49682
aS'maculated'
p49683
asS'slave'
p49684
(lp49685
S'slaves'
p49686
aS'slaving'
p49687
aS'slaved'
p49688
aS'slaved'
p49689
asS'recline'
p49690
(lp49691
S'reclines'
p49692
aS'reclining'
p49693
aS'reclined'
p49694
aS'reclined'
p49695
asS'disagree'
p49696
(lp49697
S'disagrees'
p49698
aS'disagreeing'
p49699
aS'disagreed'
p49700
aS'disagreed'
p49701
asS'pestle'
p49702
(lp49703
S'pestles'
p49704
aS'pestling'
p49705
aS'pestled'
p49706
aS'pestled'
p49707
asS'pedal'
p49708
(lp49709
S'pedals'
p49710
aS'pedaling'
p49711
aS'pedaled'
p49712
aS'pedaled'
p49713
asS'whale'
p49714
(lp49715
S'whales'
p49716
aS'whaling'
p49717
aS'whaled'
p49718
aS'whaled'
p49719
asS'lobby'
p49720
(lp49721
S'lobbies'
p49722
aS'lobbying'
p49723
aS'lobbied'
p49724
aS'lobbied'
p49725
asS'gutter'
p49726
(lp49727
S'gutters'
p49728
aS'guttering'
p49729
aS'guttered'
p49730
aS'guttered'
p49731
asS'splint'
p49732
(lp49733
S'splints'
p49734
aS'splinting'
p49735
aS'splinted'
p49736
aS'splinted'
p49737
asS'stablish'
p49738
(lp49739
S'stablishes'
p49740
aS'stablishing'
p49741
aS'stablished'
p49742
aS'stablished'
p49743
asS'overwork'
p49744
(lp49745
S'overworks'
p49746
aS'overworking'
p49747
aS'overworked'
p49748
aS'overworked'
p49749
asS'perpetrate'
p49750
(lp49751
S'perpetrates'
p49752
aS'perpetrating'
p49753
aS'perpetrated'
p49754
aS'perpetrated'
p49755
asS'scissor'
p49756
(lp49757
S'scissors'
p49758
aS'scissoring'
p49759
aS'scissored'
p49760
aS'scissored'
p49761
asS'demonize'
p49762
(lp49763
S'demonizes'
p49764
aS'demonizing'
p49765
aS'demonized'
p49766
aS'demonized'
p49767
asS'hale'
p49768
(lp49769
S'hales'
p49770
aS'haling'
p49771
aS'haled'
p49772
aS'haled'
p49773
asS'outgrow'
p49774
(lp49775
S'outgrows'
p49776
aS'outgrowing'
p49777
aS'outgrew'
p49778
aS'outgrown'
p49779
asS'rocket'
p49780
(lp49781
S'rockets'
p49782
aS'rocketing'
p49783
aS'rocketed'
p49784
aS'rocketed'
p49785
asS'obtain'
p49786
(lp49787
S'obtains'
p49788
aS'obtaining'
p49789
aS'obtained'
p49790
aS'obtained'
p49791
asS'replenish'
p49792
(lp49793
S'replenishes'
p49794
aS'replenishing'
p49795
aS'replenished'
p49796
aS'replenished'
p49797
asS'mythicize'
p49798
(lp49799
S'mythicizes'
p49800
aS'mythicizing'
p49801
aS'mythicized'
p49802
aS'mythicized'
p49803
asS'faceharden'
p49804
(lp49805
S'facehardens'
p49806
aS'facehardening'
p49807
aS'facehardened'
p49808
aS'facehardened'
p49809
asS'distend'
p49810
(lp49811
S'distends'
p49812
aS'distending'
p49813
aS'distended'
p49814
aS'distended'
p49815
asS'smite'
p49816
(lp49817
S'smites'
p49818
aS'smiting'
p49819
aS'smited'
p49820
aS'smitten'
p49821
asS'console'
p49822
(lp49823
S'consoles'
p49824
aS'consoling'
p49825
aS'consoled'
p49826
aS'consoled'
p49827
asS'reprehend'
p49828
(lp49829
S'reprehends'
p49830
aS'reprehending'
p49831
aS'reprehended'
p49832
aS'reprehended'
p49833
asS'supply'
p49834
(lp49835
S'supplies'
p49836
aS'supplying'
p49837
aS'supplied'
p49838
aS'supplied'
p49839
asS'sky'
p49840
(lp49841
S'skies'
p49842
aS'skying'
p49843
aS'skied'
p49844
aS'skied'
p49845
asS'halo'
p49846
(lp49847
S'halos'
p49848
aS'haloing'
p49849
aS'haloed'
p49850
aS'haloed'
p49851
asS'smart'
p49852
(lp49853
S'smarts'
p49854
aS'smarting'
p49855
aS'smarted'
p49856
aS'smarted'
p49857
asS'ski'
p49858
(lp49859
S'skis'
p49860
aS'skiing'
p49861
ag49844
aS"ski'd"
p49862
asS'empoison'
p49863
(lp49864
S'empoisons'
p49865
aS'empoisoning'
p49866
aS'empoisoned'
p49867
aS'empoisoned'
p49868
asS'ambulate'
p49869
(lp49870
S'ambulates'
p49871
aS'ambulating'
p49872
aS'ambulated'
p49873
aS'ambulated'
p49874
asS'knob'
p49875
(lp49876
S'knobs'
p49877
aS'knobbing'
p49878
aS'knobbed'
p49879
aS'knobbed'
p49880
asS'te-hee'
p49881
(lp49882
S'te-hees'
p49883
aS'te-heeing'
p49884
aS'te-heed'
p49885
aS'te-heed'
p49886
asS'quartersaw'
p49887
(lp49888
S'quartersaws'
p49889
aS'quartersawing'
p49890
aS'quartersawed'
p49891
aS'quartersawed'
p49892
asS'masquerade'
p49893
(lp49894
S'masquerades'
p49895
aS'masquerading'
p49896
aS'masqueraded'
p49897
aS'masqueraded'
p49898
asS'term'
p49899
(lp49900
S'terms'
p49901
aS'terming'
p49902
aS'termed'
p49903
aS'termed'
p49904
asS'overmaster'
p49905
(lp49906
S'overmasters'
p49907
aS'overmastering'
p49908
aS'overmastered'
p49909
aS'overmastered'
p49910
asS'know'
p49911
(lp49912
S'knows'
p49913
aS'knowing'
p49914
aS'knew'
p49915
aS'known'
p49916
asS'exsanguinate'
p49917
(lp49918
S'exsanguinates'
p49919
aS'exsanguinating'
p49920
aS'exsanguinated'
p49921
aS'exsanguinated'
p49922
asS'press'
p49923
(lp49924
S'presses'
p49925
aS'pressing'
p49926
aS'pressed'
p49927
aS'pressed'
p49928
asS'redesign'
p49929
(lp49930
S'redesigns'
p49931
aS'redesigning'
p49932
aS'redesigned'
p49933
aS'redesigned'
p49934
asS'hollow'
p49935
(lp49936
S'hollows'
p49937
aS'hollowing'
p49938
aS'hollowed'
p49939
aS'hollowed'
p49940
asS'mongrelize'
p49941
(lp49942
S'mongrelizes'
p49943
aS'mongrelizing'
p49944
aS'mongrelized'
p49945
aS'mongrelized'
p49946
asS'calliper'
p49947
(lp49948
S'callipers'
p49949
aS'callipering'
p49950
aS'callipered'
p49951
aS'callipered'
p49952
asS'unthrone'
p49953
(lp49954
S'unthrones'
p49955
aS'unthroning'
p49956
aS'unthroned'
p49957
aS'unthroned'
p49958
asS'hitchhike'
p49959
(lp49960
S'hitchhikes'
p49961
aS'hitchhiking'
p49962
aS'hitchhiked'
p49963
aS'hitchhiked'
p49964
asS'apostrophize'
p49965
(lp49966
S'apostrophizes'
p49967
aS'apostrophizing'
p49968
aS'apostrophized'
p49969
aS'apostrophized'
p49970
asS'exceed'
p49971
(lp49972
S'exceeds'
p49973
aS'exceeding'
p49974
aS'exceeded'
p49975
aS'exceeded'
p49976
asS'tumble'
p49977
(lp49978
S'tumbles'
p49979
aS'tumbling'
p49980
aS'tumbled'
p49981
aS'tumbled'
p49982
asS'holler'
p49983
(lp49984
S'hollers'
p49985
aS'hollering'
p49986
aS'hollered'
p49987
aS'hollered'
p49988
asS'earwig'
p49989
(lp49990
S'earwigs'
p49991
aS'earwigging'
p49992
aS'earwigged'
p49993
aS'earwigged'
p49994
asS'leaf'
p49995
(lp49996
S'leafs'
p49997
aS'leafing'
p49998
aS'leafed'
p49999
aS'leafed'
p50000
asS'lead'
p50001
(lp50002
S'leads'
p50003
aS'leading'
p50004
aS'led'
p50005
aS'led'
p50006
asS'leak'
p50007
(lp50008
S'leaks'
p50009
aS'leaking'
p50010
aS'leaked'
p50011
aS'leaked'
p50012
asS'skelp'
p50013
(lp50014
S'skelps'
p50015
aS'skelping'
p50016
aS'skelped'
p50017
aS'skelped'
p50018
asS'lean'
p50019
(lp50020
S'leans'
p50021
aS'leaning'
p50022
aS'leant'
p50023
aS'leant'
p50024
asS'thank'
p50025
(lp50026
S'thanks'
p50027
aS'thanking'
p50028
aS'thanked'
p50029
aS'thanked'
p50030
asS'handfast'
p50031
(lp50032
S'handfasts'
p50033
aS'handfasting'
p50034
aS'handfasted'
p50035
aS'handfasted'
p50036
asS'leap'
p50037
(lp50038
S'leaps'
p50039
aS'leaping'
p50040
aS'leapt'
p50041
aS'leapt'
p50042
asS'belt'
p50043
(lp50044
S'belts'
p50045
aS'belting'
p50046
aS'belted'
p50047
aS'belted'
p50048
asS'locate'
p50049
(lp50050
S'locates'
p50051
aS'locating'
p50052
aS'located'
p50053
aS'located'
p50054
asS'obey'
p50055
(lp50056
S'obeys'
p50057
aS'obeying'
p50058
aS'obeyed'
p50059
aS'obeyed'
p50060
asS'slur'
p50061
(lp50062
S'slurs'
p50063
aS'slurring'
p50064
aS'slurred'
p50065
aS'slurred'
p50066
asS'slum'
p50067
(lp50068
S'slums'
p50069
aS'slumming'
p50070
aS'slummed'
p50071
aS'slummed'
p50072
asS'paste'
p50073
(lp50074
S'pastes'
p50075
ag6555
ag6556
ag6557
asS'slug'
p50076
(lp50077
S'slugs'
p50078
aS'slugging'
p50079
aS'slugged'
p50080
aS'slugged'
p50081
asS'reward'
p50082
(lp50083
S'rewards'
p50084
aS'rewarding'
p50085
aS'rewarded'
p50086
aS'rewarded'
p50087
asS'throne'
p50088
(lp50089
S'thrones'
p50090
aS'throning'
p50091
aS'throned'
p50092
aS'throned'
p50093
asS'pike'
p50094
(lp50095
S'pikes'
p50096
aS'piking'
p50097
aS'piked'
p50098
aS'piked'
p50099
asS'throng'
p50100
(lp50101
S'throngs'
p50102
aS'thronging'
p50103
aS'thronged'
p50104
aS'thronged'
p50105
asS'plane-table'
p50106
(lp50107
S'plane-tables'
p50108
aS'plane-tabling'
p50109
aS'plane-tabled'
p50110
aS'plane-tabled'
p50111
asS'linger'
p50112
(lp50113
S'lingers'
p50114
aS'lingering'
p50115
aS'lingered'
p50116
aS'lingered'
p50117
asS'hookup'
p50118
(lp50119
S'hookups'
p50120
aS'hookuping'
p50121
aS'hookuped'
p50122
aS'hookuped'
p50123
asS'surge'
p50124
(lp50125
S'surges'
p50126
aS'surging'
p50127
aS'surged'
p50128
aS'surged'
p50129
asS'swear'
p50130
(lp50131
S'swears'
p50132
aS'swearing'
p50133
aS'swore'
p50134
aS'sworn'
p50135
asS'prestress'
p50136
(lp50137
S'prestresses'
p50138
aS'prestressing'
p50139
aS'prestressed'
p50140
aS'prestressed'
p50141
asS'bugle'
p50142
(lp50143
S'bugles'
p50144
aS'bugling'
p50145
aS'bugled'
p50146
aS'bugled'
p50147
asS'own'
p50148
(lp50149
S'owns'
p50150
aS'owning'
p50151
aS'owned'
p50152
aS'owned'
p50153
asS'owe'
p50154
(lp50155
S'owes'
p50156
aS'owing'
p50157
aS'owed'
p50158
aS'owed'
p50159
asS'cocker'
p50160
(lp50161
S'cockers'
p50162
aS'cockering'
p50163
aS'cockered'
p50164
aS'cockered'
p50165
asS'champ'
p50166
(lp50167
S'champs'
p50168
aS'champing'
p50169
aS'champed'
p50170
aS'champed'
p50171
asS'brush'
p50172
(lp50173
S'brushes'
p50174
aS'brushing'
p50175
aS'brushed'
p50176
aS'brushed'
p50177
asS'outdate'
p50178
(lp50179
S'outdates'
p50180
aS'outdating'
p50181
aS'outdated'
p50182
aS'outdated'
p50183
asS'negate'
p50184
(lp50185
S'negates'
p50186
aS'negating'
p50187
aS'negated'
p50188
aS'negated'
p50189
asS'gurgle'
p50190
(lp50191
S'gurgles'
p50192
aS'gurgling'
p50193
aS'gurgled'
p50194
aS'gurgled'
p50195
asS'stellify'
p50196
(lp50197
S'stellifies'
p50198
aS'stellifying'
p50199
aS'stellified'
p50200
aS'stellified'
p50201
asS'limn'
p50202
(lp50203
S'limns'
p50204
aS'limning'
p50205
aS'limned'
p50206
aS'limned'
p50207
asS'single-tongue'
p50208
(lp50209
S'single-tongues'
p50210
aS'single-tonguing'
p50211
aS'single-tongued'
p50212
aS'single-tongued'
p50213
asS'transfer'
p50214
(lp50215
S'transfers'
p50216
aS'transferring'
p50217
aS'transferred'
p50218
aS'transferred'
p50219
asS'spiral'
p50220
(lp50221
S'spirals'
p50222
aS'spiralling'
p50223
aS'spiralled'
p50224
aS'spiralled'
p50225
asS'overtime'
p50226
(lp50227
S'overtimes'
p50228
aS'overtiming'
p50229
aS'overtimed'
p50230
aS'overtimed'
p50231
asS'unreason'
p50232
(lp50233
S'unreasons'
p50234
aS'unreasoning'
p50235
aS'unreasoned'
p50236
aS'unreasoned'
p50237
asS'dynamite'
p50238
(lp50239
S'dynamites'
p50240
aS'dynamiting'
p50241
aS'dynamited'
p50242
aS'dynamited'
p50243
asS'vat'
p50244
(lp50245
S'vats'
p50246
aS'vatting'
p50247
aS'vatted'
p50248
aS'vatted'
p50249
asS'nourish'
p50250
(lp50251
S'nourishes'
p50252
aS'nourishing'
p50253
aS'nourished'
p50254
aS'nourished'
p50255
asS'shank'
p50256
(lp50257
S'shanks'
p50258
aS'shanking'
p50259
aS'shanked'
p50260
aS'shanked'
p50261
asS'unwrap'
p50262
(lp50263
S'unwraps'
p50264
aS'unwrapping'
p50265
aS'unwrapped'
p50266
aS'unwrapped'
p50267
asS'mutter'
p50268
(lp50269
S'mutters'
p50270
aS'muttering'
p50271
aS'muttered'
p50272
aS'muttered'
p50273
asS'assail'
p50274
(lp50275
S'assails'
p50276
aS'assailing'
p50277
aS'assailed'
p50278
aS'assailed'
p50279
asS'squeeze'
p50280
(lp50281
S'squeezes'
p50282
aS'squeezing'
p50283
aS'squeezed'
p50284
aS'squeezed'
p50285
asS'goose'
p50286
(lp50287
S'gooses'
p50288
aS'goosing'
p50289
aS'goosed'
p50290
aS'goosed'
p50291
asS'embolden'
p50292
(lp50293
S'emboldens'
p50294
aS'emboldening'
p50295
aS'emboldened'
p50296
aS'emboldened'
p50297
asS'recede'
p50298
(lp50299
S'recedes'
p50300
aS'receding'
p50301
ag3443
aS'receded'
p50302
asS'distract'
p50303
(lp50304
S'distracts'
p50305
aS'distracting'
p50306
aS'distracted'
p50307
aS'distracted'
p50308
asS'retool'
p50309
(lp50310
S'retools'
p50311
aS'retooling'
p50312
aS'retooled'
p50313
aS'retooled'
p50314
asS'record'
p50315
(lp50316
S'records'
p50317
aS'recording'
p50318
aS'recorded'
p50319
aS'recorded'
p50320
asS'supplant'
p50321
(lp50322
S'supplants'
p50323
aS'supplanting'
p50324
aS'supplanted'
p50325
aS'supplanted'
p50326
asS'cake'
p50327
(lp50328
S'cakes'
p50329
aS'caking'
p50330
aS'caked'
p50331
aS'caked'
p50332
asS'demonstrate'
p50333
(lp50334
S'demonstrates'
p50335
aS'demonstrating'
p50336
aS'demonstrated'
p50337
aS'demonstrated'
p50338
asS'hornswoggle'
p50339
(lp50340
S'hornswoggles'
p50341
aS'hornswoggling'
p50342
aS'hornswoggled'
p50343
aS'hornswoggled'
p50344
asS'bewail'
p50345
(lp50346
S'bewails'
p50347
aS'bewailing'
p50348
aS'bewailed'
p50349
aS'bewailed'
p50350
asS'affranchise'
p50351
(lp50352
S'affranchises'
p50353
aS'affranchising'
p50354
aS'affranchised'
p50355
aS'affranchised'
p50356
asS'nobble'
p50357
(lp50358
S'nobbles'
p50359
aS'nobbling'
p50360
aS'nobbled'
p50361
aS'nobbled'
p50362
asS'maroon'
p50363
(lp50364
S'maroons'
p50365
aS'marooning'
p50366
aS'marooned'
p50367
aS'marooned'
p50368
asS'happen'
p50369
(lp50370
S'happens'
p50371
aS'happening'
p50372
aS'happened'
p50373
aS'happened'
p50374
asS'immobilize'
p50375
(lp50376
S'immobilizes'
p50377
aS'immobilizing'
p50378
aS'immobilized'
p50379
aS'immobilized'
p50380
asS'wimple'
p50381
(lp50382
S'wimples'
p50383
aS'wimpling'
p50384
aS'wimpled'
p50385
aS'wimpled'
p50386
asS'glint'
p50387
(lp50388
S'glints'
p50389
aS'glinting'
p50390
aS'glinted'
p50391
aS'glinted'
p50392
asS'boot'
p50393
(lp50394
S'boots'
p50395
aS'booting'
p50396
aS'booted'
p50397
aS'booted'
p50398
asS'portion'
p50399
(lp50400
S'portions'
p50401
aS'portioning'
p50402
aS'portioned'
p50403
aS'portioned'
p50404
asS'tessellate'
p50405
(lp50406
S'tessellates'
p50407
aS'tessellating'
p50408
aS'tessellated'
p50409
aS'tessellated'
p50410
asS'book'
p50411
(lp50412
S'books'
p50413
aS'booking'
p50414
aS'booked'
p50415
aS'booked'
p50416
asS'boom'
p50417
(lp50418
S'booms'
p50419
aS'booming'
p50420
aS'boomed'
p50421
aS'boomed'
p50422
asS'branch'
p50423
(lp50424
S'branches'
p50425
aS'branching'
p50426
aS'branched'
p50427
aS'branched'
p50428
asS'disproportion'
p50429
(lp50430
S'disproportions'
p50431
aS'disproportioning'
p50432
aS'disproportioned'
p50433
aS'disproportioned'
p50434
asS'repute'
p50435
(lp50436
S'reputes'
p50437
aS'reputing'
p50438
aS'reputed'
p50439
aS'reputed'
p50440
asS'boob'
p50441
(lp50442
S'boobs'
p50443
aS'boobing'
p50444
aS'boobed'
p50445
aS'boobed'
p50446
asS'pantomime'
p50447
(lp50448
S'pantomimes'
p50449
aS'pantomiming'
p50450
aS'pantomimed'
p50451
aS'pantomimed'
p50452
asS'lance'
p50453
(lp50454
S'lances'
p50455
aS'lancing'
p50456
aS'lanced'
p50457
aS'lanced'
p50458
asS'junk'
p50459
(lp50460
S'junks'
p50461
aS'junking'
p50462
aS'junked'
p50463
aS'junked'
p50464
asS'mulch'
p50465
(lp50466
S'mulches'
p50467
aS'mulching'
p50468
aS'mulched'
p50469
aS'mulched'
p50470
asS'auscultate'
p50471
(lp50472
S'auscultates'
p50473
aS'auscultating'
p50474
aS'auscultated'
p50475
aS'auscultated'
p50476
asS'frustrate'
p50477
(lp50478
S'frustrates'
p50479
aS'frustrating'
p50480
aS'frustrated'
p50481
aS'frustrated'
p50482
asS'mulct'
p50483
(lp50484
S'mulcts'
p50485
aS'mulcting'
p50486
aS'mulcted'
p50487
aS'mulcted'
p50488
asS'squeak'
p50489
(lp50490
S'squeaks'
p50491
aS'squeaking'
p50492
aS'squeaked'
p50493
aS'squeaked'
p50494
asS'squeal'
p50495
(lp50496
S'squeals'
p50497
aS'squealing'
p50498
aS'squealed'
p50499
aS'squealed'
p50500
asS'extort'
p50501
(lp50502
S'extorts'
p50503
aS'extorting'
p50504
aS'extorted'
p50505
aS'extorted'
p50506
asS'highhat'
p50507
(lp50508
S'highhats'
p50509
aS'highhatting'
p50510
aS'highhatted'
p50511
aS'highhatted'
p50512
asS'sass'
p50513
(lp50514
S'sasses'
p50515
aS'sassing'
p50516
aS'sassed'
p50517
aS'sassed'
p50518
asS'unbridle'
p50519
(lp50520
S'unbridles'
p50521
aS'unbridling'
p50522
aS'unbridled'
p50523
aS'unbridled'
p50524
asS'jewel'
p50525
(lp50526
S'jewels'
p50527
aS'jewelling'
p50528
aS'jewelled'
p50529
aS'jewelled'
p50530
asS'understand'
p50531
(lp50532
S'understands'
p50533
aS'understanding'
p50534
aS'understood'
p50535
aS'understood'
p50536
asS'sash'
p50537
(lp50538
S'sashes'
p50539
aS'sashing'
p50540
aS'sashed'
p50541
aS'sashed'
p50542
asS'inspan'
p50543
(lp50544
S'inspans'
p50545
aS'inspanning'
p50546
aS'inspanned'
p50547
aS'inspanned'
p50548
as.
================================================
FILE: corpkit/dictionaries/process_types.py
================================================
#!/usr/bin/python
# dictionaries: process type wordlists
# Author: Daniel McDonald
# make regular expressions and lists of inflected words from word lists
try:
from corpkit.lazyprop import lazyprop
except:
import corpkit
from lazyprop import lazyprop
def _verbs():
import corpkit
from corpkit.dictionaries.verblist import allverbs
verblist = [i for i in allverbs if '_' not in i]
return Wordlist(verblist)
def load_verb_data():
"""load the verb lexicon"""
def resource_path(relative):
"""seemingly not working"""
import os
return os.path.join(os.environ.get("_MEIPASS2", os.path.abspath(".")), relative)
import os
import corpkit
import pickle
from corpkit.process import get_gui_resource_dir
corpath = os.path.dirname(corpkit.__file__)
baspat = os.path.dirname(corpath)
dicpath = os.path.join(baspat, 'dictionaries')
lastpath = os.path.join(baspat, 'corpkit', 'dictionaries')
paths_to_check = [resource_path('eng_verb_lexicon.p'),
os.path.join(dicpath, 'eng_verb_lexicon.p'),
os.path.join(get_gui_resource_dir(), 'eng_verb_lexicon.p'),
os.path.join(lastpath, 'eng_verb_lexicon.p')]
for p in paths_to_check:
try:
return pickle.load(open(p, 'rb'))
except:
pass
return
def find_lexeme(verb):
""" For a regular verb (base form), returns the forms using a rule-based approach.
taken from pattern.en, because it wouldn't go into py2app properly
"""
vowels = ['a', 'e', 'i', 'o', 'u']
v = verb.lower()
if len(v) > 1 and v.endswith("e") and v[-2] not in vowels:
# Verbs ending in a consonant followed by "e": dance, save, devote, evolve.
return [v, v, v, v+"s", v, v[:-1]+"ing"] + [v+"d"]*6
if len(v) > 1 and v.endswith("y") and v[-2] not in vowels:
# Verbs ending in a consonant followed by "y": comply, copy, magnify.
return [v, v, v, v[:-1]+"ies", v, v+"ing"] + [v[:-1]+"ied"]*6
if v.endswith(("ss", "sh", "ch", "x")):
# Verbs ending in sibilants: kiss, bless, box, polish, preach.
return [v, v, v, v+"es", v, v+"ing"] + [v+"ed"]*6
if v.endswith("ic"):
# Verbs ending in -ic: panic, mimic.
return [v, v, v, v+"es", v, v+"king"] + [v+"ked"]*6
if len(v) > 1 and v[-1] not in vowels and v[-2] not in vowels:
# Verbs ending in a consonant cluster: delight, clamp.
return [v, v, v, v+"s", v, v+"ing"] + [v+"ed"]*6
if (len(v) > 1 and v.endswith(("y", "w")) and v[-2] in vowels) \
or (len(v) > 2 and v[-1] not in vowels and v[-2] in vowels and v[-3] in vowels) \
or (len(v) > 3 and v[-1] not in vowels and v[-3] in vowels and v[-4] in vowels):
# Verbs ending in a long vowel or diphthong followed by a consonant: paint, devour, play.
return [v, v, v, v+"s", v, v+"ing"] + [v+"ed"]*6
if len(v) > 2 and v[-1] not in vowels and v[-2] in vowels and v[-3] not in vowels:
# Verbs ending in a short vowel followed by a consonant: chat, chop, or compel.
return [v, v, v, v+"s", v, v+v[-1]+"ing"] + [v+v[-1]+"ed"]*6
return [v, v, v, v+"s", v, v+"ing"] + [v+"ed"]*6
def get_both_spellings(verb_list):
"""add alternative spellings to verb_list"""
from corpkit.dictionaries.word_transforms import usa_convert
uk_convert = {v: k for k, v in usa_convert.items()}
to_add_to_verb_list = []
for w in verb_list:
if w in usa_convert.keys():
to_add_to_verb_list.append(usa_convert[w])
for w in verb_list:
if w in uk_convert.keys():
to_add_to_verb_list.append(uk_convert[w])
verb_list = sorted(list(set(verb_list + to_add_to_verb_list)))
return verb_list
def add_verb_inflections(verb_list):
"""add verb inflections to verb_list"""
from corpkit.dictionaries.word_transforms import usa_convert
uk_convert = {v: k for k, v in usa_convert.items()}
# get lexemes
lexemes = load_verb_data()
verbforms = []
# for each verb, get or guess the inflections
# make list of ALL VERBS IN ALL INFLECTIONS
all_lists = [lst for lst in lexemes.values()]
allverbs = []
for lst in all_lists:
for v in lst:
if v:
allverbs.append(v)
allverbs = list(set(allverbs))
# use dict first
for w in verb_list:
verbforms.append(w)
try:
wforms = lexemes[w]
except KeyError:
# if not in dict, if it's an inflection, forget it
if w in allverbs:
continue
if "'" in w:
continue
# if it's a coinage, guess
else:
wforms = find_lexeme(w)
# get list of unique forms
forms = list(set([form.replace("n't", "").replace(" not", "") for form in wforms if form]))
for f in forms:
verbforms.append(f)
# deal with contractions
if w == 'be':
be_conts = [r"'m", r"'re", r"'s"]
for cont in be_conts:
verbforms.append(cont)
if w == "have":
have_conts = [r"'d", r"'s", r"'ve"]
for cont in have_conts:
verbforms.append(cont)
# go over again, and add both possible spellings
to_add = []
for w in verbforms:
if w in usa_convert.keys():
to_add.append(usa_convert[w])
for w in verbforms:
if w in uk_convert.keys():
to_add.append(uk_convert[w])
verbforms = sorted(list(set(verbforms + to_add)))
# ensure unicode
t = []
for w in verbforms:
try:
t.append(unicode(w, errors='ignore'))
except:
t.append(w)
return t
# using 'list' keeps compatibility---change to object with no super call soon
class Wordlist(list):
"""A list of words, containing a `words` attribute and a `lemmata` attribute"""
def __init__(self, data, **kwargs):
self.data = data
self.kwargs = kwargs
super(Wordlist, self).__init__(self.data)
# make slice also return wordlist
@lazyprop
def words(self):
"""get inflections"""
if not self.kwargs.get('single'):
return Wordlist(add_verb_inflections(get_both_spellings(self.data)), single=True)
else:
return
@lazyprop
def lemmata(self):
"""show base forms of verbs"""
if not self.kwargs.get('single'):
return Wordlist(get_both_spellings(self.data), single=True)
else:
return
def as_regex(self, boundaries='w', case_sensitive=False, inverse=False, compile=False):
"""
Turn list into regular expression matching any item in list
"""
from corpkit.other import as_regex
return as_regex(get_both_spellings(self.data),
boundaries=boundaries,
case_sensitive=case_sensitive,
inverse=inverse,
compile=compile)
class Processes(object):
"""Process types: relational, verbal, mental, material"""
def __init__(self):
relational = ["become",
"feel",
"be",
"have",
"sound",
"look",
"seem",
"appear",
"smell"
]
verbal = ["forbid",
"forswear",
"prophesy",
"say",
"swear",
"tell",
"write",
"certify",
"deny",
"imply",
"move",
"notify",
"reply",
"specify",
"accede",
"add",
"admit",
"advise",
"advocate",
"allege",
"announce",
"answer",
"apprise",
"argue",
"ask",
"assert",
"assure",
"attest",
"aver",
"avow",
"bark",
"beg",
"bellow",
"blubber",
"boast",
"brag",
"cable",
"call",
"claim",
"comment",
"complain",
"confess",
"confide",
"confirm",
"contend",
"convey",
"counsel",
"declare",
"demand",
"disclaim",
"disclose",
"divulge",
"emphasise",
"emphasize",
"encourage",
"exclaim",
"explain",
"forecast",
"gesture",
"grizzle",
"guarantee",
"hint",
"holler",
"indicate",
"inform",
"insist",
"intimate",
"mention",
"moan",
"mumble",
"murmur",
"mutter",
"note",
"object",
"offer",
"phone",
"pledge",
"preach",
"predicate",
"preordain",
"prescribe",
"proclaim",
"profess",
"prohibit",
"promise",
"propose",
"protest",
"reaffirm",
"reassure",
"rejoin",
"remark",
"remind",
"repeat",
"report",
"request",
"require",
"respond",
"retort",
"reveal",
"riposte",
"roar",
"scream",
"shout",
"signal",
"state",
"stipulate",
"telegraph",
"telephone",
"testify",
"threaten",
"vow",
"warn",
"wire",
"reemphasise",
"reemphasize",
"rumor",
"rumour",
"yell",
# added manually:
'tell',
'say',
'call',
'vent',
'talk',
'ask',
'prescribe',
'diagnose',
'speak',
'suggest',
'mention',
'recommend',
'add',
'discuss',
'agree',
'contact',
'refer',
'explain',
'write',
'consult',
'advise',
'insist',
'perscribe',
'warn',
'offer',
'inform',
'question',
'describe',
'convince',
'order',
'report',
'lie',
'address',
'ring',
'state',
"pray",
'phone',
'share',
'beg',
'blame',
'instruct',
'chat',
'assure',
'dx',
'recomend',
'prescibe',
'promise',
'communicate',
'notify',
'claim',
'convince',
'page',
'wish',
'post',
'complain',
'swear']
behavioural = ['laugh', 'cry', 'listen', 'look', 'hear', 'wake', 'awaken', ]
mental = ["choose",
"feel",
"find",
"forget",
"hear",
"know",
"mean",
"overhear",
"prove",
"read",
"see",
"think",
"understand",
"abide",
"abominate",
"accept",
"acknowledge",
"acquiesce",
"adjudge",
"adore",
"affirm",
"agree",
"allow",
"allure",
"anticipate",
"appreciate",
"ascertain",
"aspire",
"assent",
"assume",
"begrudge",
"believe",
"calculate",
"care",
"conceal",
"concede",
"conceive",
"concern",
"conclude",
"concur",
"condone",
"conjecture",
"consent",
"consider",
"contemplate",
"convince",
"crave",
"decide",
"deduce",
"deem",
"delight",
"desire",
"determine",
"detest",
"discern",
"discover",
"dislike",
"doubt",
"dread",
"enjoy",
"envisage",
"estimate",
"excuse",
"expect",
"exult",
"fear",
"foreknow",
"foresee",
"gather",
"grant",
"grasp",
"hate",
"hope",
"hurt",
"hypothesise",
"hypothesize",
"imagine",
"infer",
"inspire",
"intend",
"intuit",
"judge",
"ken",
"lament",
"like",
"loathe",
"love",
"marvel",
"mind",
"miss",
"need",
"neglect",
"notice",
"observe",
"omit",
"opine",
"perceive",
"plan",
"please",
"posit",
"postulate",
"pray",
"preclude",
"prefer",
"presume",
"presuppose",
"pretend",
"provoke",
"realize",
"realise",
"reason",
"recall",
"reckon",
"recognise",
"recognize",
"recollect",
"reflect",
"regret",
"rejoice",
"relish",
"remember",
"resent",
"resolve",
"rue",
"scent",
"scorn",
"sense",
"settle",
"speculate",
"suffer",
"suppose",
"surmise",
"surprise",
"suspect",
"trust",
"visualise",
"visualize",
"want",
"wish",
"wonder",
"yearn",
"rediscover",
"dream",
"justify",
"figure",
"smell",
"worry",
'know',
'think',
'feel',
'want',
'hope',
'find',
'guess',
'love',
'wish',
'like',
'understand',
'wonder',
'believe',
'hate',
'remember',
'agree',
'notice',
'learn',
'realize',
'miss',
'appreciate',
'decide',
'suffer',
'deal',
'forget',
'care',
'imagine',
'relate',
'worry',
'figure',
'handle',
'struggle',
'pray',
'consider',
'enjoy',
'expect',
'plan',
'suppose',
'trust',
'bother',
'blame',
'accept',
'admit',
'assume',
'remind',
'seek',
'bet',
'refuse',
'cope',
'choose',
'freak',
'fear',
'question',
'recall',
'doubt',
'suspect',
'focus',
'calm'
]
can_be_material = ['bother', 'find']
self.relational = Wordlist(relational)
self.verbal = Wordlist(verbal)
self.mental = Wordlist(mental)
self.behavioural = Wordlist(behavioural)
from corpkit.dictionaries.verblist import allverbs
nonmat = set(self.relational + self.verbal + self.behavioural + self.mental)
vbs = [i for i in allverbs if i not in nonmat and '_' not in i]
self.material = Wordlist(vbs + can_be_material)
processes = Processes()
verbs = _verbs()
================================================
FILE: corpkit/dictionaries/queries.py
================================================
try:
from corpkit.lazyprop import lazyprop
except:
import corpkit
from lazyprop import lazyprop
class Queries(object):
def __init__(self):
import corpkit
from corpkit.dictionaries import roles, processes
self.sayer = {'f': roles.participant1, 'gl': processes.verbal.lemmata, 'gf': roles.event}
self.verbiage = {'f': roles.participant2, 'gl': processes.verbal.lemmata, 'gf': roles.event}
self.senser = {'f': roles.participant1, 'gl': processes.mental.lemmata, 'gf': roles.event}
self.phenomenon = {'f': roles.participant2, 'gl': processes.mental.lemmata, 'gf': roles.event}
self.token = {'f': roles.participant1, 'gl': processes.relational.lemmata, 'gf': roles.event}
self.value = {'f': roles.participant2, 'gl': processes.relational.lemmata, 'gf': roles.event}
self.agent = {'f': roles.participant1}
queries = Queries()
================================================
FILE: corpkit/dictionaries/roles.py
================================================
# This file translates CoreNLP labels into SFL categories
def translator():
from collections import namedtuple
roledict = {
'actor': ['nsubj', 'agent', 'csubj', 'agent'],
'adjunct': ['advmod', 'agent', '(prep|nmod)(_|:).*',
'advcl', 'tmod'],
'auxiliary': ['auxpass', 'aux'],
'circumstance': ['advmod', r'(prep|nmod)(_|:).*', 'pobj', 'tmod'],
'classifier': ['compound', 'nn'],
'complement': ['acomp', 'dobj', 'iobj'],
'deictic': ['possessive', 'predet', 'poss', 'det', 'preconj'],
'epithet': ['amod'],
'event': ['ccomp', 'cop', 'advcl', 'root', 'acl', r'acl(_|:)relcl'],
'existential': ['expl'],
'finite': ['aux'],
'goal': ['nsubjpass', 'acomp', 'dobj', 'csubjpass', 'iobj'],
'modifier': ['advmod', 'amod', 'compound', 'nn', r'nmod.*',
r'acl(_|:)relcl'],
'premodifier': ['amod', 'compound', 'nn', r'nmod'],
'postmodifier': [r'nmod:.*', r'acl(_|:)relcl'],
'modal': ['auxpass', 'aux'],
'numerative': ['number', 'quantmod'],
'participant': ['xsubj', 'nsubj', 'agent', 'nsubjpass', 'acomp',
'csubj', 'dobj', 'appos', 'csubjpass', 'iobj', 'xcomp'],
'participant1': ['nsubj', 'agent', 'csubj'],
'participant2': ['nsubjpass', 'acomp', 'dobj', 'csubjpass', 'iobj', 'xcomp'],
'polarity': ['neg'],
'predicator': ['ccomp', 'cop', 'root'],
'process': ['ccomp', 'prt', 'cop', 'advcl', 'root', 'aux',
'auxpass', 'acl', r'acl(_|:)relcl'],
'qualifier': ['rcmod', 'vmod'],
'subject': ['nsubj', 'nsubjpass', 'csubj', 'csubjpass'],
'textual': ['cc', 'ref', 'mark'],
'thing': ['nsubj', 'agent', 'nsubjpass', 'csubj', 'dobj',
r'(prep|nmod)(_|:).*', 'appos', 'csubjpass', 'pobj',
'iobj', 'tmod'],
'any': ['acl', r'acl(_|:)relcl', 'advcl', 'advmod', 'amod',
'appos', 'aux', 'auxpass', 'case', 'cc', 'cc:preconj',
'ccomp', 'compound', 'compound:prt', 'conj', 'cop',
'csubj', 'csubjpass', 'dep', 'det', 'det:predet',
'discourse', 'dislocated', 'dobj', 'expl', 'foreign',
'goeswith', 'iobj', 'list', 'mark', 'mwe', 'name',
'neg', 'nmod', 'nmod:npmod', 'nmod:poss', 'nmod:tmod',
'nsubj', 'nsubjpass', 'nummod', 'parataxis', 'punct',
'remnant', 'reparandum', 'root', 'vocative', 'xcomp']
}
from corpkit.dictionaries.process_types import Wordlist
outputnames = namedtuple('roles', sorted([i for i in roledict.keys()]))
fields = [Wordlist(sorted(roledict[w]), single=True) for w in outputnames._fields]
return outputnames(*fields)
roles = translator()
================================================
FILE: corpkit/dictionaries/stopwords.py
================================================
# stopwords from spindle
from corpkit.dictionaries.process_types import Wordlist
stopwords = Wordlist(["yeah", "monday","tuesday","wednesday","thursday","friday",
"saturday","sunday","a","able","about","above","abst","accordance",
"according","accordingly","across","act","actually","added","adj",
"adopted","affected","affecting","affects","after","afterwards",
"again","against","ah","all","almost","alone","along","already",
"also","although","always","am","among","amongst","an","and",
"announce","another","any","anybody","anyhow","anymore","anyone",
"anything","anyway","anyways","anywhere","apparently","approximately",
"are","aren","arent","arise","around","as","aside","ask","asking","at",
"auth","available","away","awfully","b","back","be","became","because",
"become","becomes","becoming","been","before","beforehand","begin",
"beginning","beginnings","begins","behind","being","believe","below",
"beside","besides","between","beyond","biol","both","brief","briefly",
"but","by","c","ca","came","can","cannot","cant","cause","causes",
"certain","certainly","co","com","come","comes","contain","containing",
"contains","could","couldnt","d","date","did","didnt","different","do",
"does","doesnt","doing","done","dont","down","downwards","due","during",
"e","each","ed","edu","effect","eg","eight","eighty","either","else",
"elsewhere","end","ending","enough","especially","et","et-al","etc","even",
"ever","every","everybody","everyone","everything","everywhere","ex",
"except","f","far","few","ff","fifth","first","five","fix","followed",
"following","follows","for","former","formerly","forth","found","four",
"from","further","furthermore","going","g","gave","get","gets","getting",
"give","given","gives","giving","go","goes","gone","got","gotten","h",
"had","happens","hardly","has","hasnt","have","havent","having","he",
"hed","hence","her","here","hereafter","hereby","herein","heres",
"hereupon","hers","herself","hes","hi","hid","him","himself","his",
"hither","home","how","howbeit","however","hundred","i","id","ie",
"if","ill","im","immediate","immediately","importance","important",
"in","inc","indeed","index","information","instead","into","invention",
"inward","is","isnt","it","itd","itll","its","itself","ive","j","just",
"k","keep","keeps","kept","keys","kg","km","know","known","knows",
"l","largely","last","lately","later","latter","latterly","least","less",
"lest","let","lets","like","liked","likely","line","little","ll","look",
"looking","looks","ltd","m","made","mainly","make","makes","many","may",
"maybe","me","mean","means","meantime","meanwhile","merely","mg","might",
"million","miss","ml","more","moreover","most","mostly","mr","mrs","much",
"mug","must","my","myself","n","na","name","namely","nay","nd","near",
"nearly","necessarily","necessary","need","needs","neither","never",
"nevertheless","new","next","nine","ninety","no","nobody","non","none",
"nonetheless","noone","nor","normally","nos","not","noted","nothing",
"now","nowhere","o","obtain","obtained","obviously","of","off","often",
"oh","ok","okay","old","omitted","on","once","one","ones","only","onto",
"or","ord","other","others","otherwise","ought","our","ours","ourselves",
"out","outside","over","overall","owing","own","p","page","pages","part",
"particular","particularly","past","per","perhaps","placed","please",
"plus","poorly","possible","possibly","potentially","pp","predominantly",
"present","previously","primarily","probably","promptly","proud","provides",
"put","q","que","quickly","quite","qv","r","ran","rather","rd","re",
"readily","really","recent","recently","ref","refs","regarding","regardless",
"regards","related","relatively","research","respectively","resulted",
"resulting","results","right","run","s","said","same","saw","say","saying",
"says","sec","section","see","seeing","seem","seemed","seeming","seems",
"seen","self","selves","sent","seven","several","shall","she","shed","shell",
"shes","should","shouldnt","show","showed","shown","showns","shows",
"significant","significantly","similar","similarly","since","six",
"slightly","so","some","somebody","somehow","someone","somethan","something",
"sometime","sometimes","somewhat","somewhere","soon","sorry","specifically",
"specified","specify","specifying","state","states","still","stop",
"strongly","sub","substantially","successfully","such","sufficiently",
"suggest","sup","sure","t","take","taken","taking","tell","tends","th",
"than","thank","thanks","thanx","that","thatll","thats","thatve","the",
"their","theirs","them","themselves","then","thence","there","thereafter",
"thereby","thered","therefore","therein","therell","thereof","therere",
"theres","thereto","thereupon","thereve","these","they","theyd","theyll",
"theyre","theyve","think","this","those","thou","though","thoughh","thousand",
"throug","through","throughout","thru","thus","til","tip","to","together",
"too","took","toward","towards","tried","tries","truly","try","trying",
"ts","twice","two","u","un","under","unfortunately","unless","unlike",
"unlikely","until","unto","up","upon","ups","us","use","used","useful",
"usefully","usefulness","uses","using","usually","v","value","various","ve",
"very","via","viz","vol","vols","vs","w","want","wants","was","wasnt","way",
"we","wed","welcome","well","went","were","werent","weve","what","whatever",
"whatll","whats","when","whence","whenever","where","whereafter","whereas",
"whereby","wherein","wheres","whereupon","wherever","whether","which",
"while","whim","whither","who","whod","whoever","whole","wholl","whom",
"whomever","whos","whose","why","widely","willing","wish","with","within",
"without","wont","words","world","would","wouldnt","www","x","y","yes","yet",
"you","youd","youll","your","youre","yours","yourself","yourselves","youve",
"z","zero", "isn", "doesn","didn", "couldn", "mustn","shoudn","wasn","woudn",
"i", "me", "my", "myself", "we", "our", "ours", "ourselves", "you", "your",
"yours", "yourself", "yourselves", "he", "him", "his", "himself", "she", "her",
"hers", "herself", "it", "its", "itself", "they", "them", "their", "theirs",
"themselves", "what", "which", "who", "whom", "this", "that", "these", "those",
"am", "is", "are", "was", "were", "be", "been", "being", "have", "has", "had",
"having", "do", "does", "did", "doing", "a", "an", "the", "and", "but", "if",
"or", "because", "as", "until", "while", "of", "at", "by", "for", "with",
"about", "against", "between", "into", "through", "during", "before", "after",
"above", "below", "to", "from", "up", "down", "in", "out", "on", "off",
"over", "under", "again", "further", "then", "once", "here", "there", "when",
"where", "why", "how", "all", "any", "both", "each", "few", "more", "most",
"other", "some", "such", "no", "nor", "not", "only", "own", "same", "so",
"than", "too", "very", "s", "t", "can", "will", "just", "don", "should",
"now", "gonna", "n't", '-lrb-', '-rrb-', "'m", "'ll", "'re", "'s", "'ve", "&"], single=True)
# add nltk, justext and minilist here ...
justtext_stopwords = Wordlist(["the","of","and","in","to","a","was","is","The","for","as","on","with","by",
"that","from","at","his","an","he","In","are","were","which","be","has","He","it",
"or","also","had","first","It","their","not","but","have","who","its","one","this",
"been","her","two","they","other","into","after","all","when","more","This","only",
"would","A","she","New","most","can","over","during","where","new","used","such","up",
"between","many","made","some","than","out","United","known","about","time","then",
"became","under","The","being","part","there","him","years","three","through","On",
"including","later","will","American","both","After","until","before","She","well",
"no","against","while","called","second","As","several","University","number","name",
"these","played","early","may","They","World","His","located","National","same","them",
"released","There","de","area","use","work","any","school","since","team","age","so",
"John","won","people","began","each","year","population","now","family","film","found",
"city","British","four","album","could","very","However","South","named","At","around",
"took","former","because","series","For","States","did","within","state","end","based",
"May","I","local","held","September","still","often","those","member","small","town","along",
"back","School","large","January","June","group","served","March","high","own","During","North",
"July","October","if","like","following","built","August","April","music","born","village","game",
"due","last","place","home","State","left","major","set","include","U.S","much","December",
"November","received","When","York","main","War","public","band","born","season","published",
"even","different","original","members","station","single","government","another","near","what",
"died","moved","become","just","February","company","included","song","came","led","late",
"form","national","make","went","These","off","show","French","five","system","few","various",
"given","best","English","City","long","third","among","every","West","German","using","do",
"said","started","currently","having","down","next","order","One","final","take","species",
"established","created","life","play","line","building","History","political","without","support",
"written","district","per","produced","High","popular","League","service","football","considered",
"St","way","returned","International","book","again","although","important","living","role",
"River","students","married","son","top","worked","San","continued","however","founded",
"joined","appeared","total","power","By","record","College","side","William","title","death",
"County","years","career","never","From","north","club","County","military","version",
"European","According","old","While","six","day","average","television","similar","world",
"general","million","With","Some","water","formed","international","usually","current","though",
"south","General","time","community","East","House","land","Although","George","making","player",
"playing","President","development","James","developed","common","should","great","century",
"does","further","run","working","largest","recorded","All","lost","must","elected","history",
"seen","live","opened","short","taken","once","professional","production","point","head",
"children","throughout","games","period","himself","originally","term","control","available",
"less","King","Its","modern","position","eventually","across","Royal","works","site","young",
"wrote","income","house","David","Other","Since","how","able","full","war","Australian",
"Air","London","Army","includes","law","designed","sold","featured","appointed","business","An",
"get","either","Japanese","program","US","Canadian","father","lead","approximately","performed",
"leading","radio","upon","remained","famous","Indian","we","Robert","First","help","west","gave",
"announced","men","result","times","field","you","right","east","almost","country","story",
"Church","followed","good","days","signed","features","together","described","research","sent",
"open","special","close","see","To","character","social","miles","rather","life","Council",
"Western","the","party","official","years","church"], single=True)
================================================
FILE: corpkit/dictionaries/verblist.py
================================================
allverbs = ["bird's-nest",
'abandon',
'abase',
'abash',
'abate',
'abbreviate',
'abdicate',
'abduct',
'abet',
'abhor',
'abide',
'abirritate',
'abjure',
'ablate',
'abnegate',
'abolish',
'abominate',
'abort',
'abound',
'about-ship',
'about-turn',
'aboutface',
'abrade',
'abreact',
'abridge',
'abrogate',
'abscess',
'abscise',
'abscond',
'abseil',
'absent',
'absolve',
'absorb',
'absquatulate',
'abstain',
'abstract',
'abuse',
'abut',
'abye',
'accede',
'accelerate',
'accent',
'accentuate',
'accept',
'access',
'accession',
'acclaim',
'acclimatize',
'accommodate',
'accompany',
'accomplish',
'accord',
'accost',
'account',
'accoutre',
'accredit',
'accrete',
'accrue',
'acculturate',
'accumulate',
'accuse',
'accustom',
'acerbate',
'acetify',
'acetylate',
'ache',
'achieve',
'achromatize',
'acidify',
'acidulate',
'acierate',
'acknowledge',
'acquaint',
'acquiesce',
'acquire',
'acquit',
'act',
'activate',
'actualize',
'actuate',
'acuminate',
'adapt',
'add',
'addict',
'addle',
'address',
'adduce',
'adduct',
'adhere',
'adhibit',
'adjoin',
'adjourn',
'adjudge',
'adjudicate',
'adjure',
'adjust',
'adlib',
'admeasure',
'administer',
'administrate',
'admire',
'admit',
'admix',
'admonish',
'adopt',
'adore',
'adorn',
'adsorb',
'adulate',
'adulterate',
'adumbrate',
'advance',
'advantage',
'adventure',
'advert',
'advertize',
'advise',
'advocate',
'aerate',
'aerify',
'aestivate',
'affect',
'affiance',
'affiliate',
'affirm',
'affix',
'afflict',
'afford',
'afforest',
'affranchise',
'affray',
'affright',
'affront',
'Africanize',
'Afrikanerize',
'age',
'agglomerate',
'agglutinate',
'aggrade',
'aggrandize',
'aggravate',
'aggregate',
'aggress',
'aggrieve',
'agist',
'agitate',
'agonize',
'agree',
'aid',
'ail',
'aim',
'air',
'aircondition',
'aircool',
'airdrop',
'airdry',
'airlift',
'airmail',
'alarm',
'albumenize',
'alchemize',
'alcoholize',
'alert',
'alibi',
'alien',
'alienate',
'alight',
'aliment',
'aline',
'alit',
'alkalify',
'alkalize',
'allay',
'allege',
'allegorize',
'alleviate',
'alliterate',
'allocate',
'allot',
'allow',
'allowance',
'alloy',
'allude',
'allure',
'ally',
'alphabetize',
'alter',
'altercate',
'alternate',
'aluminize',
'amalgamate',
'amass',
'amaze',
'amble',
'ambulate',
'ambuscade',
'ambush',
'ameliorate',
'amend',
'amerce',
'Americanize',
'ammoniate',
'ammonify',
'amnesty',
'amortize',
'amount',
'amplify',
'amputate',
'amuse',
'anagrammatize',
'analogize',
'analyze',
'anastomose',
'anathematize',
'anatomize',
'anchor',
'anele',
'anesthetize',
'anger',
'angle',
'angle-park',
'anglicize',
'anglify',
'anguish',
'angulate',
'animadvert',
'animalize',
'animate',
'ankylose',
'anneal',
'annex',
'annihilate',
'annotate',
'announce',
'annoy',
'annualize',
'annul',
'annunciate',
'anodize',
'anoint',
'answer',
'antagonize',
'ante',
'antecede',
'antedate',
'antevert',
'anthologize',
'anthropomorphize',
'anticipate',
'antiquate',
'antique',
'ape',
'aphorize',
'apocopate',
'apologize',
'apostatize',
'apostrophize',
'apotheosize',
'appall',
'appeal',
'appear',
'appease',
'append',
'apperceive',
'appertain',
'applaud',
'appliqu_e',
'apply',
'appoint',
'apportion',
'appose',
'appraise',
'appreciate',
'apprehend',
'apprentice',
'apprize',
'approach',
'approbate',
'appropriate',
'approve',
'approximate',
'apron',
'aquaplane',
'aquatint',
'arbitrate',
'arc',
'arch',
'archaize',
'argue',
'argufy',
'arise',
'arm',
'armour',
'aromatize',
'arouse',
'arraign',
'arrange',
'array',
'arrest',
'arrive',
'arrogate',
'arterialize',
'article',
'articulate',
'artificialize',
'Aryanize',
'ascend',
'ascertain',
'ascribe',
'ask',
'asperse',
'asphalt',
'asphyxiate',
'aspirate',
'aspire',
'assail',
'assassinate',
'assault',
'assay',
'assemble',
'assent',
'assert',
'assess',
'asseverate',
'assibilate',
'assign',
'assimilate',
'assist',
'associate',
'assoil',
'assort',
'assuage',
'assume',
'assure',
'asterisk',
'astonish',
'astound',
'astrict',
'atomize',
'atone',
'atrophy',
'attach',
'attack',
'attain',
'attaint',
'attemper',
'attempt',
'attend',
'attenuate',
'attest',
'attire',
'attitudinize',
'attorn',
'attract',
'attribute',
'attune',
'auction',
'auctioneer',
'audit',
'audition',
'augment',
'augur',
'auscultate',
'auspicate',
'Australianize',
'authenticate',
'authorize',
'autoclave',
'autograph',
'autolyze',
'automate',
'automatize',
'autotomize',
'avail',
'avalanche',
'avenge',
'aver',
'average',
'avert',
'aviate',
'avoid',
'avouch',
'avow',
'await',
'awake',
'awaken',
'award',
'awe',
'axe',
'azotize',
'baa',
'babbitt',
'babble',
'baby',
'babysit',
'back',
'backbite',
'backcomb',
'backcross',
'backdate',
'backfill',
'backfire',
'backhand',
'backpedal',
'backslide',
'backspace',
'backstitch',
'backstroke',
'backtrack',
'backwash',
'backwater',
'badger',
'badmouth',
'baffle',
'bag',
'bail',
'bait',
'baize',
'bake',
'baksheesh',
'balance',
'bale',
'Balkanize',
'ball',
'ballast',
'balloon',
'ballot',
'ballyhoo',
'ballyrag',
'bamboozle',
'ban',
'band',
'bandage',
'bandy',
'bang',
'banish',
'bankroll',
'bankrupt',
'banquet',
'bant',
'banter',
'baptize',
'bar',
'barbarize',
'barber',
'barde',
'bare',
'bargain',
'barge',
'bark',
'barnstorm',
'barr_e',
'barrack',
'barrage',
'barrel',
'barrel-roll',
'barricade',
'barter',
'base',
'bash',
'basify',
'bask',
'basset',
'bastardize',
'baste',
'bastinado',
'bat',
'batch',
'bate',
'batfowl',
'bath',
'bathe',
'batten',
'batter',
'battle',
'battledore',
'baulk',
'bawl',
'bay',
'bayonet',
'be',
'beach',
'beacon',
'bead',
'beagle',
'beam',
'bear',
'beard',
'beat',
'beatify',
'beautify',
'beaver',
'bechance',
'beckon',
'becloud',
'become',
'bed',
'bedaub',
'bedazzle',
'bedeck',
'bedevil',
'bedew',
'bedight',
'bedim',
'bedizen',
'bedraggle',
'beef',
'beep',
'beeswax',
'beetle',
'befall',
'befit',
'befog',
'befool',
'befoul',
'befriend',
'befuddle',
'beg',
'beget',
'beggar',
'begin',
'begird',
'begrime',
'begrudge',
'beguile',
'behave',
'behead',
'behold',
'behove',
'bejewel',
'belabour',
'belay',
'belch',
'beleaguer',
'belie',
'believe',
'belittle',
'bell',
'bellow',
'belly',
'belly-laugh',
'bellyache',
'bellyland',
'belong',
'belt',
'bemean',
'bemire',
'bemoan',
'bemuse',
'bename',
'bench',
'bend',
'benefice',
'benefit',
'benumb',
'bequeath',
'berate',
'bereave',
'bereft',
'berry',
'berth',
'beseech',
'beseem',
'beset',
'beshrew',
'besiege',
'besmear',
'besmirch',
'bespangle',
'bespatter',
'bespeak',
'bespread',
'besprinkle',
'best',
'besteaded',
'bestialize',
'bestir',
'bestow',
'bestrew',
'bestride',
'bet',
'betake',
'bethink',
'betide',
'betoken',
'betray',
'betroth',
'better',
'bewail',
'beware',
'bewilder',
'bewitch',
'bewray',
'bias',
'bicker',
'bicycle',
'bid',
'bide',
'biff',
'bifurcate',
'big-note',
'bight',
'bike',
'bilge',
'bilk',
'bill',
'billet',
'bin',
'bioassay',
'birch',
'birddog',
'birdlime',
'birdy',
'birl',
'birr',
'birth',
'bisect',
'bit',
'bitch',
'bite',
'bitter',
'bituminize',
'bivouac',
'blab',
'blabber',
'black-lead',
'blackball',
'blackbird',
'blacken',
'blackguard',
'blackjack',
'blackleg',
'blacklist',
'blackmail',
'blackmarket',
'blackout',
'blah',
'blame',
'blanch',
'blandish',
'blank',
'blanket',
'blare',
'blarney',
'blaspheme',
'blast',
'blat',
'blather',
'blaze',
'blazon',
'bleach',
'blear',
'bleat',
'bleed',
'bleep',
'blemish',
'blench',
'blend',
'blent',
'bless',
'blest',
'blether',
'blight',
'blind',
'blindfold',
'blink',
'blip',
'blister',
'blitz',
'bloat',
'blob',
'block',
'blockade',
'blood',
'bloody',
'bloom',
'blossom',
'blot',
'blotch',
'blouse',
'blow',
'blow-wave',
'blowdry',
'blub',
'blubber',
'bludge',
'bludgeon',
'blue',
'bluepencil',
'blueprint',
'bluff',
'blunder',
'blunge',
'blunt',
'blur',
'blurt',
'blush',
'bluster',
'board',
'boast',
'boat',
'bob',
'bobol',
'bobsleigh',
'bode',
'bodge',
'body',
'bodycheck',
'boggle',
'bogie',
'boil',
'bolster',
'bomb',
'bombard',
'bond',
'bone',
'bong',
'boo',
'boob',
'booby-trap',
'boodle',
'boogie',
'boohoo',
'book',
'boom',
'boomerang',
'boondoggle',
'boost',
'boot',
'bootleg',
'bootlick',
'booze',
'bop',
'borate',
'border',
'bore',
'borrow',
'bosom',
'boss',
'botanize',
'botch',
'bother',
'bottle',
'bottlefeed',
'bottleneck',
'bottom',
'boult',
'bounce',
'bound',
'bow',
'bowdlerize',
'bowl',
'bowse',
'bowwow',
'box',
'boxhaul',
'boycott',
'brabble',
'brace',
'brachiate',
'bracket',
'brag',
'brail',
'Braille',
'brain',
'brainwash',
'braise',
'brake',
'bramble',
'branch',
'brand',
'brandish',
'brattice',
'brave',
'brawl',
'bray',
'braze',
'brazen',
'breach',
'bread',
'break',
'breakaway',
'breakfast',
'bream',
'breast',
'breastfeed',
'breathalyze',
'breathe',
'brede',
'breech',
'breed',
'breeze',
'brevet',
'brew',
'brey',
'bribe',
'brick',
'bridge',
'bridle',
'brief',
'brigade',
'brighten',
'brim',
'brine',
'bring',
'briquette',
'bristle',
'broach',
'broadcast',
'broaden',
'brocade',
'broddle',
'broider',
'broil',
'bromate',
'brominate',
'bronze',
'brood',
'brook',
'browbeat',
'brown',
'browse',
'bruise',
'bruit',
'brush',
'brutalize',
'brutify',
'bubble',
'buck',
'bucket',
'buckle',
'buckler',
'buckram',
'bud',
'buddle',
'budge',
'budget',
'buffalo',
'buffer',
'buffet',
'bug',
'bugger',
'bugle',
'build',
'bulge',
'bulk',
'bull',
'bulldoze',
'bulletin',
'bulletproof',
'bullshit',
'bullwhip',
'bully',
'bullyrag',
'bulwark',
'bum',
'bumble',
'bump',
'bump-start',
'bumper',
'bunch',
'bundle',
'bung',
'bungle',
'bunk',
'bunker',
'bunko',
'bunt',
'buoy',
'bur',
'burble',
'burden',
'bureaucratize',
'burgeon',
'burglarize',
'burgle',
'burke',
'burl',
'burlesque',
'burn',
'burnish',
'burp',
'burrow',
'burst',
'burthen',
'bury',
'bus',
'bush',
'bushel',
'bushwhack',
'busk',
'bust',
'bustle',
'busy',
'butcher',
'butt',
'butter',
'button',
'buttonhole',
'buttress',
'buy',
'buzz',
'bypass',
'cabal',
'cabbage',
'cable',
'cachinnate',
'cackle',
'caddy',
'cadge',
'cage',
'cagmag',
'cajole',
'cake',
'calcify',
'calcine',
'calculate',
'calendar',
'calender',
'calibrate',
'calk',
'call',
'calliper',
'callous',
'callus',
'calm',
'calque',
'calumniate',
'calve',
'camber',
'camouflage',
'camp',
'campaign',
'camphorate',
'can',
'canal',
'canalize',
'cancel',
'candle',
'candy',
'cane',
'canker',
'cannibalize',
'cannon',
'cannonade',
'cannonball',
'canoe',
'canonize',
'canoodle',
'canopy',
'canter',
'cantilever',
'cantillate',
'canton',
'canulate',
'canvass',
'cap',
'capacitate',
'caparison',
'caper',
'capitalize',
'capitulate',
'caponize',
'capriole',
'capsize',
'capsulize',
'captain',
'caption',
'captivate',
'capture',
'caramelize',
'caravan',
'carbolize',
'carbonado',
'carbonate',
'carbonize',
'carburet',
'carburize',
'card',
'care',
'careen',
'career',
'caress',
'caricature',
'carillon',
'cark',
'carnify',
'carny',
'carol',
'carouse',
'carp',
'carpenter',
'carpet',
'carry',
'cartelize',
'carve',
'cascade',
'case',
'caseate',
'casefy',
'caseharden',
'cash',
'cashier',
'casserole',
'cast',
'castigate',
'castle',
'castoff',
'castrate',
'cat',
'catalogue',
'catalyze',
'catapult',
'catcall',
'catch',
'catechize',
'categorize',
'catenate',
'cater',
'caterwaul',
'catheterize',
'catholicize',
'catnap',
'caucus',
'caulk',
'cause',
'cauterize',
'caution',
'cave',
'cavern',
'cavil',
'cavort',
'caw',
'caway',
'cease',
'cede',
'ceil',
'celebrate',
'cellar',
'cement',
'cense',
'censor',
'censure',
'centralize',
'centre',
'centrifuge',
'centuplicate',
'cere',
'cerebrate',
'certificate',
'certify',
'cess',
'chafe',
'chaff',
'chaffer',
'chagrin',
'chain',
'chain-stitch',
'chainreact',
'chainsmoke',
'chair',
'chalk',
'challenge',
'chamber',
'chamfer',
'chamois',
'champ',
'champion',
'chance',
'chandelle',
'change',
'changeover',
'channel',
'channelize',
'chant',
'chap',
'chaperone',
'chapter',
'char',
'character',
'characterize',
'charcoal',
'charge',
'charm',
'chart',
'charter',
'chase',
'chass_e',
'chasten',
'chastise',
'chat',
'chatter',
'chauffeur',
'chaw',
'cheapen',
'cheat',
'check',
'checker',
'checkmate',
'checkrow',
'cheek',
'cheep',
'cheer',
'cheese',
'chelate',
'chelp',
'chemosorb',
'chequer',
'cherish',
'chevy',
'chew',
'chiack',
'chicane',
'chide',
'chill',
'chime',
'chin',
'chine',
'chink',
'chip',
'chirm',
'chirp',
'chirre',
'chirrup',
'chisel',
'chitchat',
'chitter',
'chivy',
'chlorinate',
'chock',
'choke',
'chomp',
'chondrify',
'choose',
'chop',
'chord',
'choreograph',
'chortle',
'chorus',
'christen',
'Christianize',
'chrome',
'chronicle',
'chuck',
'chuckle',
'chuff',
'chug',
'chum',
'chump',
'chunder',
'chunter',
'church',
'churn',
'churr',
'chute',
'chyack',
'cicatrize',
'cinch',
'cinchonize',
'cinder',
'cinematograph',
'cipher',
'circle',
'circuit',
'circularize',
'circulate',
'circumambulate',
'circumcise',
'circumfuse',
'circumnavigate',
'circumnutate',
'circumscribe',
'circumstantiate',
'circumvallate',
'circumvent',
'cite',
'cityfy',
'civilize',
'clack',
'clad',
'claim',
'clam',
'clamber',
'clamour',
'clamp',
'clang',
'clangour',
'clank',
'clap',
'clapboard',
'clapperclaw',
'clarify',
'clarion',
'clash',
'clasp',
'class',
'classicize',
'classify',
'clatter',
'claver',
'claw',
'clay',
'clean',
'cleanse',
'clear',
'cleat',
'cleave',
'cleck',
'cleft',
'clem',
'clench',
'clepe',
'clerk',
'clew',
'click',
'climax',
'climb',
'clinch',
'cling',
'clink',
'clinker',
'clip',
'cloak',
'clobber',
'clock',
'clog',
'cloister',
'clomb',
'clomp',
'clonk',
'clop',
'close',
'closet',
'closure',
'clot',
'clothe',
'cloture',
'cloud',
'clout',
'clown',
'cloy',
'club',
'clubhaul',
'cluck',
'clue',
'clump',
'clunk',
'cluster',
'clutch',
'clutter',
'clype',
'co-edit',
'coach',
'coagulate',
'coal',
'coalesce',
'coarsen',
'coast',
'coat',
'coauthor',
'coax',
'cob',
'cobble',
'cocainize',
'cock',
'cocker',
'cockle',
'cocknify',
'cocoon',
'cod',
'coddle',
'code',
'codename',
'codify',
'coedit',
'coerce',
'coexist',
'coextend',
'coextrude',
'coff',
'coffer',
'cofound',
'cog',
'cogitate',
'cognize',
'cohabit',
'cohere',
'cohobate',
'coif',
'coiffure',
'coil',
'coin',
'coincide',
'coinsure',
'coke',
'cold',
'coldshoulder',
'coldweld',
'collaborate',
'collapse',
'collar',
'collate',
'collect',
'collectivize',
'collet',
'collide',
'colligate',
'collimate',
'collocate',
'collogue',
'collude',
'colly',
'colonize',
'colorcode',
'colour',
'comanage',
'comb',
'combat',
'combine',
'combust',
'come',
'comfort',
'command',
'commandeer',
'commeasure',
'commemorate',
'commence',
'commend',
'comment',
'commentate',
'commercialize',
'commingle',
'comminute',
'commiserate',
'commission',
'commit',
'commix',
'commove',
'communalize',
'commune',
'communicate',
'communize',
'commutate',
'commute',
'comp`ere',
'compact',
'companion',
'company',
'compare',
'compartmentalize',
'compass',
'compel',
'compensate',
'compere',
'compete',
'compile',
'complain',
'complect',
'complement',
'complete',
'complicate',
'compliment',
'complot',
'comply',
'comport',
'compose',
'compost',
'compound',
'comprehend',
'compress',
'comprise',
'compromise',
'compute',
'computerize',
'concatenate',
'concave',
'conceal',
'concede',
'conceive',
'concelebrate',
'concentrate',
'concentre',
'conceptualize',
'concern',
'concertina',
'concertize',
'conciliate',
'conclude',
'concoct',
'concrete',
'concretize',
'concur',
'concuss',
'condemn',
'condense',
'condescend',
'condition',
'condole',
'condone',
'conduce',
'conduct',
'cone',
'confab',
'confabulate',
'confect',
'confederate',
'confer',
'confess',
'confide',
'configure',
'confine',
'confirm',
'confiscate',
'conflate',
'conflict',
'conform',
'confound',
'confront',
'confuse',
'confute',
'conga',
'congeal',
'congest',
'conglobate',
'conglomerate',
'conglutinate',
'congratulate',
'congregate',
'conjecture',
'conjoin',
'conjugate',
'conjure',
'conk',
'conn',
'connect',
'connive',
'connote',
'conquer',
'conscript',
'consecrate',
'consent',
'conserve',
'consider',
'consign',
'consist',
'consociate',
'console',
'consolidate',
'consort',
'conspire',
'constellate',
'consternate',
'constipate',
'constitute',
'constitutionalize',
'constrain',
'constrict',
'constringe',
'construct',
'construe',
'consubstantiate',
'consult',
'consume',
'consummate',
'contact',
'contain',
'containerize',
'contaminate',
'contango',
'contemn',
'contemplate',
'contemporize',
'contend',
'content',
'contest',
'contextualize',
'continue',
'contort',
'contour',
'contract',
'contradict',
'contradistinguish',
'contraindicate',
'contrast',
'contravene',
'contribute',
'contrive',
'control',
'controvert',
'contuse',
'convalesce',
'convene',
'conventionalize',
'converge',
'converse',
'convert',
'convex',
'convey',
'convict',
'convince',
'convoke',
'convolve',
'convoy',
'convulse',
'coo',
'cooey',
'cook',
'cool',
'coop',
'cooper',
'cooperate',
'coopt',
'coordinate',
'cop',
'cope',
'copolymerize',
'copper',
'copper-bottom',
'coproduce',
'copulate',
'copy',
'copyedit',
'copyread',
'copyright',
'coquet',
'corbel',
'cord',
'cordon',
'core',
'cork',
'corkscrew',
'corn',
'corner',
'cornice',
'corrade',
'corral',
'correct',
'correlate',
'correspond',
'corrival',
'corroborate',
'corrode',
'corrugate',
'corrupt',
'corset',
'coruscate',
'cosh',
'cosher',
'cosponsor',
'cosset',
'cost',
'costar',
'costume',
'cote',
'cotter',
'couch',
'cough',
'counsel',
'count',
'countenance',
'counter',
'counteract',
'counterattack',
'counterbalance',
'counterchange',
'countercharge',
'counterclaim',
'counterfeit',
'countermand',
'countermarch',
'countermine',
'countermove',
'counterplot',
'counterpoise',
'counterproposal',
'counterpunch',
'countersign',
'countersink',
'countervail',
'counterweigh',
'couple',
'course',
'court',
'courtmartial',
'cove',
'covenant',
'cover',
'coverup',
'covet',
'cow',
'cower',
'cowk',
'cowl',
'cowp',
'cox',
'cozen',
'crab',
'crack',
'crackle',
'cradle',
'craft',
'cram',
'cramp',
'crane',
'crank',
'crap',
'crash',
'crash-dive',
'crashland',
'crate',
'crater',
'craunch',
'crave',
'crawl',
'crayon',
'craze',
'creak',
'cream',
'crease',
'create',
'credit',
'creep',
'cremate',
'crenellate',
'crepe',
'crepitate',
'crescendo',
'crevasse',
'crew',
'crib',
'crick',
'criminalize',
'criminate',
'crimp',
'crimple',
'crimson',
'cringe',
'crinkle',
'cripple',
'crisp',
'crisscross',
'criticize',
'croak',
'crochet',
'crock',
'crook',
'croon',
'crop',
'croquet',
'cross',
'cross-breed',
'cross-fade',
'crossbred',
'crosscheck',
'crosscut',
'crossexamine',
'crossfertilize',
'crosshatch',
'crossindex',
'crosspollinate',
'crossquestion',
'crossrefer',
'crossreference',
'crossruff',
'crossstitch',
'crouch',
'croup',
'crow',
'crowd',
'crown',
'crucify',
'cruise',
'crumb',
'crumble',
'crump',
'crumple',
'crunch',
'crusade',
'crush',
'crust',
'crutch',
'cry',
'crystallize',
'cub',
'cube',
'cuckold',
'cuckoo',
'cuddle',
'cudgel',
'cue',
'cuff',
'cuirass',
'cull',
'culminate',
'cultivate',
'culture',
'cumber',
'cumulate',
'cup',
'cupel',
'curarize',
'curb',
'curd',
'curdle',
'cure',
'curette',
'curl',
'curry',
'curse',
'curtail',
'curtain',
'curtsy',
'curve',
'curvet',
'cushion',
'customize',
'cut',
'cutback',
'cutinize',
'cwtch',
'cybernate',
'cycle',
'cyclostyle',
'cypher',
'dab',
'dabble',
'dado',
'daff',
'dag',
'dagger',
'dally',
'dam',
'damage',
'damascene',
'damask',
'damn',
'damnify',
'damp',
'dampen',
'dance',
'dander',
'dandify',
'dandle',
'dangle',
'dap',
'dapple',
'dare',
'dark',
'darken',
'darkle',
'darn',
'dart',
'dash',
'date',
'dateline',
'daub',
'daunt',
'dawdle',
'dawn',
'day-dream',
'daydream',
'daze',
'dazzle',
'de-horn',
'deactivate',
'deaden',
'deadhead',
'deadlock',
'deafen',
'deal',
'deaminize',
'debag',
'debar',
'debark',
'debase',
'debate',
'debauch',
'debilitate',
'debit',
'debouch',
'debrief',
'debug',
'debunk',
'debus',
'debut',
'decaffeinate',
'decal',
'decalcify',
'decamp',
'decant',
'decapitate',
'decarbonate',
'decarbonize',
'decarburize',
'decay',
'decease',
'deceive',
'decelerate',
'decentralize',
'decerebrate',
'decern',
'decertify',
'decide',
'decimalize',
'decimate',
'decipher',
'deck',
'declaim',
'declare',
'declass',
'declassify',
'decline',
'declutch',
'decoct',
'decode',
'decoke',
'decollate',
'decolonize',
'decolour',
'decompose',
'decompound',
'decompress',
'deconsecrate',
'decontaminate',
'decontrol',
'decorate',
'decorticate',
'decoy',
'decrease',
'decree',
'decrepitate',
'decribe',
'decry',
'decrypt',
'decuple',
'decussate',
'dedicate',
'deduce',
'deduct',
'deed',
'deek',
'deem',
'deemphasize',
'deepen',
'deepfreeze',
'deepfry',
'deepsix',
'deescalate',
'deface',
'defalcate',
'defame',
'default',
'defeat',
'defecate',
'defect',
'defend',
'defer',
'defilade',
'defile',
'define',
'deflagrate',
'deflate',
'deflect',
'deflocculate',
'deflower',
'defoliate',
'deforce',
'deforest',
'deform',
'defraud',
'defray',
'defrock',
'defrost',
'defuze',
'defy',
'degas',
'degauss',
'degenerate',
'deglutinate',
'degrade',
'degrease',
'degustate',
'dehisce',
'dehorn',
'dehumanize',
'dehumidify',
'dehydrate',
'dehydrogenize',
'dehypnotize',
'deice',
'deify',
'deign',
'deject',
'delaminate',
'delate',
'delay',
'dele',
'delete',
'deliberate',
'delight',
'delimitate',
'delineate',
'deliquesce',
'deliver',
'delocalize',
'delouse',
'delude',
'deluge',
'delve',
'demagnetize',
'demagogue',
'demand',
'demarcate',
'dematerialize',
'demean',
'dement',
'demilitarize',
'demineralize',
'demise',
'demist',
'demit',
'demob',
'demobilize',
'democratize',
'demodulate',
'demolish',
'demonetize',
'demonize',
'demonstrate',
'demoralize',
'demote',
'demount',
'demulsify',
'demur',
'demystify',
'demythologize',
'den',
'denationalize',
'denaturalize',
'denaturize',
'denazify',
'denigrate',
'denitrate',
'denitrify',
'denizen',
'denominate',
'denote',
'denounce',
'dent',
'denuclearize',
'denudate',
'denude',
'denunciate',
'deny',
'deodorize',
'deoxidize',
'deoxygenize',
'depart',
'departmentalize',
'depasture',
'depend',
'depersonalize',
'depict',
'depicture',
'depilate',
'deplane',
'deplete',
'deplore',
'deploy',
'deplume',
'depolarize',
'depoliticize',
'depolymerize',
'depone',
'depopulate',
'deport',
'depose',
'deposit',
'deprave',
'deprecate',
'depreciate',
'depredate',
'depress',
'depressurize',
'deprive',
'depurate',
'depute',
'deputize',
'deracinate',
'deraign',
'derail',
'derange',
'derate',
'deration',
'deregister',
'derequisition',
'derestrict',
'deride',
'derive',
'derogate',
'derrick',
'desalinize',
'desalt',
'descale',
'descant',
'descend',
'deschool',
'describe',
'descry',
'desecrate',
'desegregate',
'desensitize',
'desert',
'deserve',
'desexualize',
'desiccate',
'desiderate',
'design',
'designate',
'desire',
'desist',
'desolate',
'desorb',
'despair',
'despatch',
'despise',
'despite',
'despoil',
'despond',
'despumate',
'desquamate',
'destine',
'destroy',
'destruct',
'desulphurize',
'detach',
'detail',
'detain',
'detect',
'deter',
'deterge',
'deteriorate',
'determine',
'detest',
'dethrone',
'detonate',
'detour',
'detoxicate',
'detoxify',
'detract',
'detrain',
'detribalize',
'detrude',
'detruncate',
'deuterate',
'devalue',
'devastate',
'develop',
'devest',
'deviate',
'devil',
'devise',
'devitalize',
'devitrify',
'devoice',
'devolve',
'devote',
'devour',
'dew',
'diabolize',
'diadem',
'diagnose',
'diagram',
'dial',
'dialogize',
'dialogue',
'dialyze',
'diamond',
'diaper',
'diazotize',
'dib',
'dibble',
'dice',
'dichotomize',
'dicker',
'dictate',
'diddle',
'die',
'die-cast',
'diet',
'differ',
'differentiate',
'diffract',
'diffuse',
'dig',
'digest',
'dight',
'digitalize',
'digitize',
'dignify',
'digress',
'dike',
'dilapidate',
'dilate',
'dillydally',
'dilute',
'dim',
'dimension',
'dimidiate',
'diminish',
'dimple',
'din',
'dine',
'ding',
'dint',
'dip',
'diphthongize',
'direct',
'dirk',
'dirty',
'disable',
'disabuse',
'disaccord',
'disaccredit',
'disaccustom',
'disadvantage',
'disaffect',
'disaffiliate',
'disaffirm',
'disafforest',
'disagree',
'disallow',
'disambiguate',
'disannul',
'disappear',
'disappoint',
'disapprove',
'disarm',
'disarrange',
'disarray',
'disarticulate',
'disassemble',
'disassociate',
'disavow',
'disband',
'disbar',
'disbelieve',
'disbranch',
'disbud',
'disburden',
'disburse',
'disc',
'discant',
'discard',
'discern',
'discharge',
'discipline',
'disclaim',
'disclose',
'discolour',
'discombobulate',
'discomfit',
'discomfort',
'discommend',
'discommode',
'discommon',
'discompose',
'disconcert',
'disconnect',
'disconsider',
'discontent',
'discontinue',
'discord',
'discount',
'discountenance',
'discourage',
'discourse',
'discover',
'discredit',
'discriminate',
'discuss',
'disdain',
'disembark',
'disembarrass',
'disembody',
'disembogue',
'disembowel',
'disembroil',
'disenable',
'disenchant',
'disencumber',
'disendow',
'disenfranchise',
'disengage',
'disentail',
'disentangle',
'disenthrall',
'disentitle',
'disentomb',
'disentwine',
'disestablish',
'disesteem',
'disfavour',
'disfeature',
'disfigure',
'disforest',
'disfranchise',
'disfrock',
'disgorge',
'disgrace',
'disgruntle',
'disguise',
'disgust',
'dish',
'dishearten',
'dishevel',
'dishonour',
'disillusion',
'disincline',
'disinfect',
'disinfest',
'disinherit',
'disintegrate',
'disinter',
'disinterest',
'disject',
'disjoin',
'disjoint',
'dislike',
'dislimn',
'dislocate',
'dislodge',
'dismantle',
'dismast',
'dismay',
'dismember',
'dismiss',
'dismount',
'disobey',
'disoblige',
'disorder',
'disorganize',
'disorientate',
'disown',
'disparage',
'dispatch',
'dispel',
'dispend',
'dispense',
'disperse',
'dispirit',
'displace',
'displant',
'display',
'displease',
'displeasure',
'displode',
'disport',
'dispose',
'dispossess',
'dispraise',
'disprize',
'disproportion',
'disproportionate',
'disprove',
'dispute',
'disqualify',
'disquiet',
'disrate',
'disregard',
'disrelish',
'disremember',
'disrespect',
'disrobe',
'disrupt',
'dissatisfy',
'dissect',
'disseize',
'dissemble',
'disseminate',
'dissent',
'dissertate',
'disserve',
'dissever',
'dissimilate',
'dissimulate',
'dissipate',
'dissociate',
'dissolve',
'dissuade',
'distance',
'distaste',
'distemper',
'distend',
'distill',
'distinguish',
'distort',
'distract',
'distrain',
'distress',
'distribute',
'district',
'distrust',
'disturb',
'disunite',
'ditch',
'dither',
'ditto',
'divagate',
'divaricate',
'dive',
'divebomb',
'diverge',
'diversify',
'divert',
'divest',
'divide',
'divine',
'divinize',
'divorce',
'divulgate',
'divulge',
'divvy',
'dizen',
'dizzy',
'do',
'dock',
'docket',
'doctor',
'document',
'dodder',
'dodge',
'doff',
'dog',
'dog-paddle',
'dogear',
'dogmatize',
'dole',
'dolly',
'dome',
'domesticize',
'domicile',
'dominate',
'domineer',
'don',
'donate',
'dong',
'doodle',
'doom',
'dope',
'dose',
'doss',
'dot',
'dote',
'double',
'double-bank',
'double-declutch',
'double-fault',
'double-stop',
'double-time',
'doublebogey',
'doublecheck',
'doublecross',
'doublepark',
'doublespace',
'doubletongue',
'doubt',
'douche',
'douse',
'dovetail',
'dow',
'dower',
'down',
'downgrade',
'downplay',
'dowse',
'doze',
'drab',
'drabble',
'draft',
'draggle',
'draghunt',
'dragoon',
'drain',
'dramatize',
'drape',
'drat',
'draw',
'drawl',
'dread',
'dream',
'dredge',
'dree',
'drench',
'dress',
'dribble',
'drift',
'drill',
'drink',
'drip',
'drive',
'drivel',
'drizzle',
'drone',
'drool',
'droop',
'drop',
'dropkick',
'dropout',
'drown',
'drowse',
'drub',
'drudge',
'drug',
'drum',
'dry',
'dry-salt',
'dryclean',
'drydock',
'dub',
'duck',
'duel',
'duff',
'dulcify',
'dull',
'dumfound',
'dummy',
'dump',
'dun',
'dung',
'dunk',
'dunt',
'dup',
'dupe',
'duplicate',
'dusk',
'dust',
'dwarf',
'dwell',
'dwindle',
'dye',
'dyke',
'dynamite',
'ear',
'earbash',
'earmark',
'earn',
'earth',
'earwig',
'ease',
'eat',
'eavesdrop',
'ebb',
'ebonize',
'echelon',
'echo',
'eclipse',
'economize',
'eddy',
'edge',
'edify',
'edit',
'editorialize',
'educate',
'educe',
'edulcorate',
'eff',
'efface',
'effect',
'effectuate',
'effervesce',
'effloresce',
'effuse',
'egest',
'egg',
'egotrip',
'egress',
'ejaculate',
'eject',
'eke',
'elaborate',
'elapse',
'elasticate',
'elasticize',
'elate',
'elbow',
'elect',
'electioneer',
'electrify',
'electrocute',
'electrodeposit',
'electroform',
'electrolyze',
'electroplate',
'electrotype',
'elegize',
'elevate',
'elicit',
'elide',
'eliminate',
'eloin',
'elongate',
'elope',
'elucidate',
'elude',
'elute',
'elutriate',
'emaciate',
'emanate',
'emancipate',
'emasculate',
'embalm',
'embank',
'embargo',
'embark',
'embarrass',
'embattle',
'embay',
'embellish',
'embezzle',
'embitter',
'emblaze',
'emblazon',
'emblemize',
'embody',
'embolden',
'embosom',
'emboss',
'embow',
'embowel',
'embower',
'embrace',
'embrangle',
'embrocate',
'embroider',
'embroil',
'embus',
'emend',
'emerge',
'emigrate',
'emit',
'emote',
'emotionalize',
'empathize',
'emphasize',
'emplace',
'emplane',
'employ',
'empoison',
'empower',
'empt',
'empty',
'emulate',
'emulsify',
'enable',
'enact',
'enamel',
'enamour',
'encage',
'encamp',
'encarnalize',
'encash',
'enchain',
'enchant',
'enchase',
'encipher',
'encircle',
'enclasp',
'encode',
'encompass',
'encore',
'encounter',
'encourage',
'encroach',
'encrypt',
'encyst',
'end',
'endamage',
'endanger',
'endear',
'endeavour',
'endow',
'endure',
'energize',
'enervate',
'enface',
'enfeeble',
'enfeoff',
'enfilade',
'enforce',
'enfranchise',
'engage',
'engender',
'engineer',
'English',
'englut',
'engorge',
'engrail',
'engrave',
'engross',
'enhance',
'enigmatize',
'enisle',
'enjoin',
'enjoy',
'enkindle',
'enlace',
'enlarge',
'enlighten',
'enlist',
'enliven',
'ennoble',
'enounce',
'enplane',
'enquire',
'enrage',
'enrapture',
'enrich',
'enrobe',
'enroll',
'enroot',
'ensanguine',
'ensconce',
'enshrinshrine',
'enshroud',
'ensile',
'enslave',
'ensue',
'enswathe',
'entail',
'entangle',
'enter',
'entertain',
'enthrall',
'enthrone',
'enthuse',
'entice',
'entitle',
'entoil',
'entomb',
'entomologize',
'entrain',
'entrammel',
'entrance',
'entrap',
'entwintwine',
'enucleate',
'enumerate',
'enunciate',
'envelop',
'envenom',
'environ',
'envisage',
'envision',
'envy',
'enwind',
'enwomb',
'enwrap',
'enwreath',
'epigrammatize',
'epilate',
'epitomize',
'equal',
'equalize',
'equate',
'equilibrate',
'equip',
'equipoise',
'equiponderate',
'equivocate',
'eradiate',
'eradicate',
'erase',
'erect',
'erode',
'err',
'eructate',
'erupt',
'escalade',
'escalate',
'escallop',
'escape',
'escarp',
'escheat',
'eschew',
'escort',
'escribe',
'espalier',
'espouse',
'espy',
'esquire',
'essay',
'establish',
'esteem',
'esterify',
'estimate',
'estivate',
'estop',
'estrange',
'estreat',
'etch',
'eternize',
'etherealize',
'etherify',
'etherize',
'ethicize',
'etiolate',
'etymologize',
'euchre',
'euhemerize',
'eulogize',
'euphemize',
'euphonize',
'Europeanize',
'evacuate',
'evade',
'evaginate',
'evaluate',
'evanesce',
'evangelize',
'evanish',
'evaporate',
'even',
'eventuate',
'evert',
'evict',
'evidence',
'evince',
'eviscerate',
'evite',
'evoke',
'evolve',
'exacerbate',
'exact',
'exaggerate',
'exalt',
'examine',
'exasperate',
'excavate',
'exceed',
'excel',
'except',
'excerpt',
'exchange',
'excide',
'excise',
'excite',
'exclaim',
'exclude',
'excogitate',
'excommunicate',
'excorciate',
'excoriate',
'excrete',
'excruciate',
'exculpate',
'excuse',
'execrate',
'execute',
'exemplify',
'exempt',
'exenterate',
'exercise',
'exert',
'exfoliate',
'exhale',
'exhaust',
'exhibit',
'exhilarate',
'exhort',
'exhume',
'exile',
'exist',
'exit',
'exonerate',
'exorcize',
'expand',
'expatiate',
'expatriate',
'expect',
'expectorate',
'expedite',
'expel',
'expend',
'expense',
'experience',
'experiment',
'experimentalize',
'expertize',
'expiate',
'expire',
'explain',
'explant',
'explicate',
'explode',
'exploit',
'explore',
'export',
'expose',
'expostulate',
'expound',
'express',
'expropriate',
'expunge',
'expurgate',
'exsanguinate',
'exscind',
'exsect',
'exsert',
'exsiccate',
'extemporize',
'extend',
'extenuate',
'exterminate',
'externalize',
'extinguish',
'extirpate',
'extoll',
'extort',
'extract',
'extradite',
'extrapolate',
'extravagate',
'extravasate',
'extricate',
'extrude',
'exuberate',
'exude',
'exult',
'exuviate',
'eye',
'eyeball',
'eyelet',
'f^ete',
'fable',
'fabricate',
'face',
'faceharden',
'faceoff',
'facet',
'facilitate',
'factor',
'factorize',
'fade',
'fadge',
'faff',
'fag',
'fail',
'faint',
'fair',
'fake',
'fall',
'fallow',
'false-card',
'falsify',
'falter',
'fame',
'familiarize',
'famish',
'fan',
'fanaticize',
'fancy',
'fankle',
'fantasize',
'faradize',
'farce',
'fare',
'farm',
'farrow',
'fart',
'fascinate',
'fash',
'fashion',
'fast',
'fasten',
'fat',
'fate',
'father',
'fathom',
'fatigue',
'fatten',
'fault',
'favour',
'fawn',
'fay',
'faze',
'fear',
'feast',
'feather',
'featherbed',
'featherstitch',
'feature',
'feaze',
'fecundate',
'fed',
'federalize',
'federate',
'feed',
'feel',
'feeze',
'feign',
'feint',
'felicitate',
'fellow',
'feminize',
'fence',
'fend',
'feoff',
'ferment',
'ferret',
'ferrule',
'ferry',
'fertilize',
'ferule',
'fester',
'festoon',
'fetch',
'fete',
'fetter',
'fettle',
'feud',
'feudalize',
'fever',
'fib',
'fictionalize',
'fiddle',
'fiddlefaddle',
'fidge',
'fidget',
'field',
'fife',
'fig',
'fight',
'figure',
'filagree',
'filch',
'file',
'filiate',
'filibuster',
'fill',
'fillagree',
'fillet',
'fillip',
'film',
'filmset',
'filter',
'filtrate',
'fin',
'finagle',
'finalize',
'finance',
'find',
'fine',
'fine-draw',
'finesse',
'finger',
'fingerprint',
'finish',
'fink',
'fire',
'firecure',
'fireproof',
'firm',
'first-foot',
'fishes',
'fishtail',
'fissure',
'fist',
'fit',
'fix',
'fixate',
'fizz',
'fizzle',
'flabbergast',
'flag',
'flagellate',
'flail',
'flake',
'flam',
'flame',
'flameout',
'flange',
'flank',
'flannel',
'flap',
'flare',
'flash',
'flatten',
'flatter',
'flaunt',
'flavour',
'flaw',
'fleck',
'fledge',
'flee',
'fleece',
'fleer',
'fleet',
'flense',
'flesh',
'fletch',
'flex',
'fley',
'flick',
'flicker',
'flight',
'flimflam',
'flinch',
'fling',
'flint',
'flip',
'flirt',
'flit',
'flitch',
'flite',
'flitter',
'float',
'flocculate',
'flock',
'flog',
'flood',
'floodlight',
'floor',
'flop',
'flounce',
'flounder',
'flour',
'flourish',
'flout',
'flow',
'flower',
'fluctuate',
'flue-cure',
'fluff',
'fluidize',
'fluke',
'flume',
'flummox',
'flunk',
'fluoresce',
'fluoridate',
'fluoridize',
'fluorinate',
'flurry',
'flush',
'fluster',
'flute',
'flutter',
'flux',
'fly',
'flyblow',
'flyfish',
'flyspeck',
'flyte',
'foal',
'foam',
'fob',
'focalize',
'focus',
'fodder',
'fog',
'foil',
'foin',
'foist',
'fold',
'foliate',
'folio',
'folk',
'folk-dance',
'follow',
'foment',
'fondle',
'fool',
'foot',
'foot-slog',
'footle',
'footnote',
'foozle',
'forage',
'foray',
'forbear',
'forbid',
'force',
'force-land',
'force-ripe',
'forcefeed',
'ford',
'forearm',
'forebode',
'forecast',
'foreclose',
'foredo',
'foredoom',
'foregather',
'forehand',
'foreknow',
'forelock',
'foreordain',
'forereach',
'forerun',
'foresee',
'foreshadow',
'foreshorten',
'foreshow',
'forespeak',
'forest',
'forestall',
'foreswear',
'foretaste',
'foretell',
'foretoken',
'forewarn',
'forfeit',
'forfend',
'forgat',
'forgather',
'forge',
'forget',
'forgive',
'forgo',
'forjudge',
'fork',
'form',
'formalize',
'format',
'formicate',
'formularize',
'formulate',
'fornicate',
'forsake',
'forspeak',
'forswear',
'fortify',
'fortress',
'fortune',
'forward',
'fossick',
'fossilize',
'foster',
'foul',
'founder',
'fourflush',
'fowl',
'fox',
'foxhunt',
'fraction',
'fractionate',
'fractionize',
'fracture',
'frag',
'fragment',
'frame',
'franchise',
'frank',
'frap',
'fraternize',
'fray',
'frazzle',
'freak',
'freckle',
'free',
'free-select',
'free-wheel',
'freeboot',
'freelance',
'freeload',
'freewheel',
'freeze',
'freezedry',
'freight',
'French-polish',
'Frenchify',
'frenzy',
'frequent',
'fresh',
'freshen',
'fret',
'fribble',
'fricassee',
'friend',
'frig',
'frighten',
'frill',
'fringe',
'frisk',
'fritt',
'fritter',
'frivol',
'frizz',
'frizzle',
'frock',
'frog',
'frogmarch',
'frolic',
'front',
'frost',
'froth',
'frown',
'fructify',
'fruit',
'frustrate',
'fry',
'fuck',
'fuddle',
'fudge',
'fuel',
'fulfill',
'fulgurate',
'fuller',
'fulminate',
'fumble',
'fume',
'fumigate',
'fun',
'function',
'fund',
'funk',
'funnel',
'fur',
'furbelow',
'furbish',
'furcate',
'furl',
'furlough',
'furnish',
'furrow',
'further',
'fusillade',
'fuss',
'fustigate',
'fuze',
'fuzz',
'gab',
'gabble',
'gad',
'gaff',
'gag',
'gaggle',
'gain',
'gainsay',
'gall',
'gallant',
'Gallicize',
'gallivant',
'gallop',
'galumph',
'galvanize',
'gam',
'gamble',
'gambol',
'game',
'gammon',
'gang',
'gangrene',
'gape',
'garage',
'garb',
'garble',
'garden',
'gargle',
'garland',
'garment',
'garner',
'garnish',
'garnishee',
'garrison',
'garrotte',
'garter',
'gas',
'gasconade',
'gash',
'gasify',
'gasp',
'gat',
'gate',
'gate-crash',
'gatecrash',
'gather',
'gauge',
'gawk',
'gawp',
'gaze',
'gazette',
'gazump',
'gear',
'gee',
'gelatinize',
'geld',
'gem',
'geminate',
'gemmate',
'generalize',
'generate',
'gentle',
'genuflect',
'geologize',
'geometrize',
'Germanize',
'germinate',
'gerrymander',
'gestate',
'gesticulate',
'gesture',
'get',
'getter',
'ghost',
'ghostwrite',
'gib',
'gibber',
'gibbet',
'gibe',
'gie',
'gift',
'giftwrap',
'gig',
'giggle',
'gild',
'gill',
'gimlet',
'gimme',
'gin',
'ginger',
'gird',
'girdle',
'girth',
'give',
'glac_e',
'glaciate',
'glad',
'gladden',
'glair',
'glamourize',
'glance',
'glare',
'glass',
'glaze',
'gleam',
'glean',
'glide',
'glimmer',
'glimpse',
'glint',
'glissade',
'glisten',
'glister',
'glitter',
'gloat',
'globe',
'globe-trot',
'gloom',
'glorify',
'glory',
'gloss',
'glove',
'glow',
'glower',
'gloze',
'glue',
'glut',
'gnarl',
'gnash',
'gnaw',
'Gnosticize',
'go',
'goad',
'gob',
'gobble',
'goffer',
'goggle',
'gold-plate',
'gollop',
'golly',
'goof',
'goose',
'goosestep',
'gore',
'gorge',
'gormandize',
'gossip',
'goster',
'Gothicize',
'gotta',
'gouge',
'govern',
'gown',
'grab',
'grabble',
'grace',
'gradate',
'grade',
'graduate',
'graft',
'grain',
'grandstand',
'grangerize',
'grant',
'granulate',
'graph',
'graphitize',
'grapple',
'grasp',
'grass',
'grate',
'gratify',
'gratulate',
'grave',
'gravel',
'gravitate',
'graze',
'grease',
'greaten',
'Grecize',
'gree',
'greet',
'grey',
'griddle',
'gride',
'grieve',
'grill',
'grimace',
'grime',
'grin',
'grind',
'grip',
'gripe',
'grit',
'grizzle',
'groan',
'groin',
'groom',
'groove',
'grope',
'gross',
'grouch',
'ground',
'group',
'grouse',
'grout',
'grovel',
'grow',
'growl',
'grub',
'grubstake',
'grudge',
'grumble',
'grump',
'grunt',
'guarantee',
'guaranty',
'guard',
'gudgeon',
'guerdon',
'guess',
'guest',
'guffaw',
'guide',
'guillotine',
'guise',
'gulf',
'gull',
'gully',
'gulp',
'gum',
'gumshoe',
'gun',
'gurgle',
'gush',
'gusset',
'gut',
'gutter',
'gutturalize',
'guy',
'guzzle',
'gybe',
'gyp',
'gyrate',
'gyve',
'habilitate',
'habit',
'habituate',
'hachure',
'hack',
'hackle',
'hackney',
'hacksaw',
'hade',
'haft',
'haggle',
'hail',
'hale',
'half-volley',
'hallal',
'hallmark',
'halloo',
'hallow',
'hallucinate',
'halo',
'halogenate',
'halter',
'halve',
'ham',
'hammer',
'hamper',
'hamshackle',
'hamstring',
'hand',
'hand-knit',
'handcuff',
'handfast',
'handfeed',
'handicap',
'handle',
'handpick',
'hang',
'hank',
'hanker',
'hansel',
'hap',
'happen',
'harangue',
'harass',
'harbinger',
'harbour',
'harden',
'hare',
'hark',
'harm',
'harmonize',
'harness',
'harp',
'harpoon',
'harrow',
'harrumph',
'harry',
'harvest',
'hash',
'hasp',
'hassle',
'haste',
'hasten',
'hat',
'hatch',
'hatchel',
'hate',
'haul',
'haunt',
'have',
'haven',
'haver',
'havoc',
'haw',
'hawk',
'hawse',
'hay',
'hazard',
'haze',
'head',
'head-load',
'headline',
'headreach',
'heal',
'heap',
'hear',
'hearken',
'heart',
'hearten',
'heat',
'heathenize',
'heattreat',
'heave',
'hebetate',
'Hebraize',
'heckle',
'hector',
'hedge',
'hedge-hop',
'hedgehop',
'heed',
'heel',
'heel-and-toe',
'heft',
'heighten',
'heist',
'Hellenize',
'helm',
'help',
'helve',
'hem',
'hemagglutinate',
'hemorrhage',
'hemstitch',
'henpeck',
'hent',
'herald',
'herd',
'heroworship',
'herringbone',
'hesitate',
'heterodyne',
'hew',
'hex',
'hibernate',
'hiccough',
'hiccup',
'hide',
'hie',
'higgle',
'highhat',
'highlight',
'hight',
'hightail',
'hijack',
'hike',
'hill',
'hilt',
'hinder',
'hinge',
'hinny',
'hint',
'hire',
'Hispanicize',
'hiss',
'hit',
'hitch',
'hitchhike',
'hive',
'hoard',
'hoarsen',
'hoax',
'hob',
'hobble',
'hobbyhorse',
'hobnob',
'hock',
'hocus',
'hocuspocus',
'hoe',
'hog',
'hogtie',
'hoick',
'hoiden',
'hoist',
'hoke',
'hold',
'holden',
'hole',
'holiday',
'holler',
'hollow',
'holp',
'holpen',
'holystone',
'homage',
'home',
'homogenize',
'homologate',
'homologize',
'hone',
'honey',
'honeycomb',
'honeymoon',
'honor',
'honour',
'hood',
'hoodoo',
'hoodwink',
'hoof',
'hook',
'hookup',
'hoop',
'hooray',
'hoot',
'Hoover',
'hop',
'hope',
'hopple',
'horde',
'horn',
'hornswoggle',
'horrify',
'horse',
'horseshoe',
'horsewhip',
'hose',
'hospitalize',
'host',
'hot-press',
'hotdog',
'hotfoot',
'hound',
'house',
'house-train',
'housel',
'hovel',
'hover',
'howl',
'huckster',
'huddle',
'huff',
'hug',
'huggermugger',
'hulk',
'hum',
'humanize',
'humble',
'humbug',
'humidify',
'humiliate',
'humour',
'hump',
'hunch',
'hunger',
'hunt',
'hurdle',
'hurl',
'hurrah',
'hurry',
'hurt',
'hurtle',
'husband',
'hush',
'hustle',
'hutch',
'huzzah',
'hybridize',
'hydrate',
'hydrogenize',
'hydrolyze',
'hydroplane',
'hymn',
'hyperbolize',
'hypersensitize',
'hypertrophy',
'hyphenate',
'hypnotize',
'hyposensitize',
'hypostasize',
'hypostatize',
'hypothecate',
'hypothesize',
'hysterectomize',
'ice',
'iceskate',
'idealize',
'ideate',
'identify',
'idle',
'idolatrize',
'idolize',
'ignite',
'ignore',
'illegalize',
'illtreat',
'illude',
'illume',
'illuminate',
'illumine',
'illuse',
'illustrate',
'image',
'imagine',
'imbed',
'imbibe',
'imbricate',
'imbrue',
'imbue',
'imitate',
'immaterialize',
'immerge',
'immerse',
'immigrate',
'immingle',
'immix',
'immobilize',
'immolate',
'immortalize',
'immunize',
'immure',
'imp',
'impact',
'impair',
'impale',
'impanel',
'imparadise',
'impart',
'impassion',
'impaste',
'impeach',
'impearl',
'impede',
'impel',
'impend',
'imperil',
'impersonalize',
'impersonate',
'impetrate',
'impinge',
'implant',
'implead',
'implement',
'implicate',
'implode',
'implore',
'imply',
'impolder',
'import',
'importune',
'impose',
'impost',
'impound',
'impoverish',
'impower',
'imprecate',
'impregnate',
'impress',
'imprint',
'imprison',
'impropriate',
'improve',
'improvise',
'impugn',
'impulse-buy',
'impute',
'inactivate',
'inarch',
'inaugurate',
'inbreathe',
'inbred',
'incandesce',
'incapacitate',
'incapsulate',
'incarcerate',
'incardinate',
'incarnadine',
'incarnate',
'incase',
'incense',
'incept',
'incinerate',
'incise',
'incite',
'incline',
'inclose',
'include',
'incommode',
'inconvenience',
'incorporate',
'incrassate',
'increase',
'incriminate',
'incross',
'incrust',
'incubate',
'inculcate',
'inculpate',
'incumber',
'incur',
'incurvate',
'indemnify',
'indent',
'indenture',
'index',
'indicate',
'indict',
'indispose',
'indite',
'individualize',
'individuate',
'indoctrinate',
'indorse',
'induce',
'induct',
'indue',
'indulge',
'indurate',
'industrialize',
'indwell',
'inearth',
'inebriate',
'infamize',
'infatuate',
'infect',
'infer',
'infest',
'infibulate',
'infiltrate',
'infix',
'inflame',
'inflate',
'inflect',
'inflict',
'influence',
'infold',
'inform',
'infract',
'infringe',
'infuriate',
'infuse',
'ingather',
'ingeminate',
'ingenerate',
'ingest',
'ingot',
'ingraft',
'ingrain',
'ingratiate',
'ingulf',
'ingurgitate',
'inhabit',
'inhale',
'inhere',
'inherit',
'inhibit',
'inhume',
'initial',
'initialize',
'initiate',
'inject',
'injure',
'ink',
'inlace',
'inlay',
'inlet',
'inmesh',
'innervate',
'innerve',
'innovate',
'inoculate',
'inosculate',
'inquire',
'insalivate',
'inscribe',
'inseminate',
'insert',
'inset',
'inshrine',
'insinuate',
'insist',
'insnare',
'insolate',
'insoul',
'inspan',
'inspect',
'insphere',
'inspire',
'inspirit',
'inspissate',
'install',
'instance',
'instantiate',
'instate',
'instigate',
'instill',
'institute',
'institutionalize',
'instruct',
'insufflate',
'insulate',
'insult',
'insure',
'integrate',
'intellectualize',
'intend',
'intenerate',
'intensify',
'inter',
'interact',
'interbreed',
'intercalate',
'intercede',
'intercept',
'interchange',
'intercommunicate',
'intercrop',
'intercross',
'intercut',
'interdict',
'interdigitate',
'interest',
'interfere',
'interfile',
'interflow',
'interfuse',
'intergrade',
'interiorize',
'interject',
'interlace',
'interlaminate',
'interlap',
'interlard',
'interlay',
'interleave',
'interlineate',
'interlink',
'interlock',
'interlope',
'intermarry',
'intermingle',
'intermit',
'intermix',
'intern',
'internalize',
'internationalize',
'interosculate',
'interpage',
'interpellate',
'interpenetrate',
'interplead',
'interpolate',
'interpose',
'interpret',
'interrelate',
'interrogate',
'interrupt',
'intersect',
'interspace',
'intersperse',
'interstratify',
'intertwine',
'intervene',
'interview',
'interweave',
'intimate',
'intimidate',
'intitule',
'intonate',
'intone',
'intoxicate',
'intreat',
'intrench',
'intrigue',
'introduce',
'introject',
'intromit',
'introspect',
'introvert',
'intrude',
'intrust',
'intubate',
'intuit',
'intumesce',
'intussuscept',
'intwine',
'inundate',
'inure',
'inurn',
'invade',
'invaginate',
'invalid',
'invalidate',
'inveigh',
'inveigle',
'invent',
'inventory',
'invert',
'invest',
'investigate',
'invigilate',
'invigorate',
'invite',
'invocate',
'invoice',
'invoke',
'involute',
'involve',
'inweave',
'inwrap',
'iodate',
'iodize',
'ionize',
'irk',
'iron',
'ironize',
'irradiate',
'irrigate',
'irritate',
'irrupt',
'Islamize',
'island',
'isochronize',
'isolate',
'isomerize',
'issue',
'Italianize',
'italicize',
'itch',
'item',
'itemize',
'iterate',
'itinerate',
'jab',
'jabber',
'jack',
'jacket',
'jackknife',
'jade',
'jaga',
'jagg',
'jail',
'jam',
'jampack',
'jangle',
'japan',
'jape',
'jar',
'jargon',
'jargonize',
'jaundice',
'jaunt',
'jaup',
'jaw',
'jay-walk',
'jaywalk',
'jazz',
'jeer',
'jell',
'jellify',
'jelly',
'jemmy',
'jeopardize',
'jerk',
'jerrybuild',
'jess',
'jest',
'jet',
'jettison',
'Jew',
'jewel',
'jib',
'jibe',
'jig',
'jiggle',
'jilt',
'jimmy',
'jingle',
'jink',
'jinx',
'jitter',
'job',
'jockey',
'jog',
'jog-trot',
'joggle',
'join',
'joint',
'joist',
'joke',
'jollify',
'jolly',
'jolt',
'jook',
'josh',
'jot',
'jounce',
'journalize',
'journey',
'joust',
'joy',
'joy-ride',
'joypop',
'jubilate',
'Judaize',
'judder',
'judge',
'jug',
'juggle',
'jugulate',
'jumble',
'jump',
'jumpstart',
'junk',
'junket',
'justify',
'justle',
'jut',
'juxtapose',
'kalsomine',
'kangaroo',
'kayo',
'keck',
'kedge',
'keek',
'keel',
'keelhaul',
'keen',
'keep',
'ken',
'kennel',
'kep',
'keratinize',
'kerfuffle',
'kerne',
'kernel',
'key',
'keyboard',
'keynote',
'keypunch',
'kibble',
'kibitz',
'kibosh',
'kick',
'kick-start',
'kid',
'kidnap',
'kill',
'kiln',
'kilt',
'kindle',
'kip',
'kipper',
'kiss',
'kite',
'kitten',
'kittle',
'knacker',
'knap',
'knead',
'kneel',
'knife',
'knight',
'knit',
'knob',
'knock',
'knoll',
'knot',
'know',
'knurl',
'ko',
'kockelsch',
'kotow',
'kowtow',
'kraal',
'kyanize',
'label',
'labialize',
'labour',
'lace',
'lacerate',
'lack',
'lackey',
'lacquer',
'lactate',
'ladder',
'lade',
'ladle',
'ladyfy',
'lag',
'laicize',
'laik',
'lair',
'lallygag',
'lam',
'lamb',
'lambaste',
'lame',
'lament',
'laminate',
'lampoon',
'lance',
'land',
'landscape',
'languish',
'lap',
'lapidate',
'lapidify',
'lapse',
'lard',
'largen',
'lark',
'larn',
'larrup',
'lase',
'lash',
'lasso',
'last',
'latch',
'lath',
'lathe',
'lather',
'Latinize',
'lattice',
'laud',
'laugh',
'launch',
'launder',
'lave',
'lavish',
'layer',
'laze',
'leach',
'lead',
'leaf',
'league',
'leak',
'lean',
'leap',
'leapfrog',
'learn',
'lease',
'leash',
'leather',
'leave',
'leaven',
'lecture',
'ledger',
'leer',
'left',
'leg',
'legalize',
'legislate',
'legitimate',
'legitimize',
'leister',
'lend',
'lengthen',
'lessen',
'lesson',
'let',
'letch',
'letter',
'levant',
'level',
'lever',
'levigate',
'levitate',
'levy',
'LHlike',
'liaise',
'libel',
'liberalize',
'liberate',
'librate',
'licence',
'license',
'lick',
'lie',
'lift',
'ligate',
'ligature',
'light',
'lighten',
'lignify',
'like',
'liken',
'lilt',
'limb',
'limber',
'lime',
'limit',
'limn',
'limp',
'line',
'linger',
'link',
'lionize',
'lip',
'lipread',
'liquate',
'liquefy',
'liquesce',
'liquidate',
'liquidize',
'liquify',
'liquor',
'lisp',
'list',
'listen',
'lit',
'lithograph',
'litigate',
'litter',
'live',
'liven',
'lixiviate',
'load',
'loaf',
'loam',
'loan',
'loathe',
'lob',
'lobby',
'localize',
'locate',
'lock',
'loco',
'lodge',
'loft',
'log',
'logroll',
'loiter',
'loll',
'lollop',
'long',
'look',
'loom',
'loop',
'loophole',
'loose',
'loosen',
'loot',
'lop',
'lope',
'lord',
'lose',
'lot',
'louden',
'lounge',
'lour',
'lout',
'love',
'lower',
'lowercase',
'lubricate',
'luck',
'lucubrate',
'luff',
'lug',
'lull',
'lullaby',
'lumber',
'luminesce',
'lump',
'lunch',
'lunge',
'lurch',
'lure',
'lurk',
'lush',
'lust',
'lustrate',
'lustre',
'lute',
'luxate',
'luxuriate',
'lynch',
'lyophilize',
'lyse',
'macadamize',
'Mace',
'macerate',
'machicolate',
'machinate',
'machine',
'machinegun',
'maculate',
'mad',
'madden',
'maffick',
'magnetize',
'magnify',
'mail',
'maim',
'maintain',
'major',
'make',
'maladminister',
'maledict',
'malfunction',
'malign',
'malinger',
'malt',
'maltreat',
'mamaguy',
'mambo',
'mammock',
'man',
'man-handle',
'manacle',
'manage',
'mandate',
'manducate',
'maneuver',
'mangle',
'manhandle',
'manicure',
'manifest',
'manifold',
'manipulate',
'manoeuvre',
'mantle',
'manufacture',
'manumit',
'manure',
'map',
'mar',
'maraud',
'marble',
'marcel',
'march',
'margin',
'marginalize',
'marginate',
'marinade',
'marinate',
'mark',
'market',
'marl',
'maroon',
'marry',
'marshal',
'martyr',
'marvel',
'mash',
'mask',
'mason',
'masquerade',
'mass',
'massacre',
'massage',
'massproduce',
'mast',
'master',
'master-mind',
'mastermind',
'masticate',
'masturbate',
'mat',
'match',
'matchmark',
'mate',
'materialize',
'matriculate',
'matter',
'maturate',
'mature',
'maul',
'maunder',
'maximize',
'may',
'maze',
'mean',
'meander',
'measure',
'mechanize',
'medal',
'meddle',
'mediate',
'mediatize',
'medicate',
'meditate',
'meet',
'meld',
'meliorate',
'mellow',
'melodize',
'melodramatize',
'melt',
'memorialize',
'memorize',
'menace',
'mend',
'menstruate',
'mention',
'mercerize',
'merchant',
'mercurate',
'mercurialize',
'merge',
'merit',
'mesh',
'mesmerize',
'mess',
'metabolize',
'metal',
'metallize',
'metamorphose',
'metaphrase',
'metaphysicize',
'metastasize',
'metathesize',
'mete',
'meter',
'methodize',
'methought',
'methylate',
'metricate',
'metricize',
'metrify',
'mew',
'mewl',
'mezzotint',
'miaul',
'microfilm',
'micturate',
'middle',
'miff',
'might',
'migrate',
'mike',
'milden',
'mildew',
'militarize',
'militate',
'milk',
'mill',
'milt',
'mime',
'mimeograph',
'Mimeograph',
'mimic',
'mince',
'mind',
'mine',
'mineralize',
'mingle',
'miniaturize',
'minify',
'minimize',
'minister',
'mint',
'minute',
'mire',
'mirror',
'misadvise',
'misapply',
'misapprehend',
'misappropriate',
'misbecome',
'misbehave',
'miscalculate',
'miscall',
'miscarry',
'miscast',
'misconceive',
'misconduct',
'misconstrue',
'miscount',
'miscreate',
'miscue',
'misdate',
'misdeal',
'misdemean',
'misdirect',
'misdoubt',
'misfile',
'misfire',
'misfit',
'misgive',
'misgovern',
'misguide',
'mishandle',
'mishear',
'mishit',
'misinform',
'misinterpret',
'misjudge',
'mislay',
'mislead',
'mislike',
'mismanage',
'mismatch',
'misname',
'misplace',
'misplay',
'mispled',
'misprint',
'misprize',
'mispronounce',
'misquote',
'misread',
'misreport',
'misrepresent',
'misrule',
'miss',
'misshape',
'mission',
'misspell',
'misspend',
'misstate',
'mist',
'mistake',
'mister',
'mistime',
'mistranslate',
'mistreat',
'mistrust',
'misunderstand',
'misuse',
'mitch',
'mitigate',
'mitre',
'mix',
'mizzle',
'moan',
'moat',
'mob',
'mobilize',
'mock',
'model',
'moderate',
'modernize',
'modge',
'modify',
'modulate',
'Mohammedanize',
'moil',
'moisten',
'moisturize',
'moither',
'molest',
'mollify',
'mollycoddle',
'molt',
'monetize',
'mongrelize',
'monitor',
'monopolize',
'monotonize',
'moo',
'mooch',
'moon',
'moonlight',
'moor',
'moot',
'mop',
'mope',
'moralize',
'mordant',
'mortar',
'mortgage',
'mortify',
'mortise',
'mosey',
'mothball',
'mother',
'mothproof',
'motion',
'motivate',
'motive',
'motor',
'motorize',
'mottle',
'mould',
'moulder',
'moult',
'mound',
'mount',
'mountaineer',
'mountebank',
'mourn',
'mouse',
'mouth',
'move',
'mow',
'muck',
'muckamuck',
'muckrake',
'mud',
'muddle',
'muddy',
'muff',
'muffle',
'mug',
'mulch',
'mulct',
'mull',
'multiply',
'mumble',
'mumm',
'mummify',
'mump',
'munch',
'municipalize',
'munition',
'murdabad',
'murder',
'mure',
'murmur',
'murther',
'muscle',
'muse',
'mushroom',
'muss',
'must',
'muster',
'mutate',
'mutch',
'mute',
'mutilate',
'mutiny',
'mutter',
'mutualize',
'muzz',
'muzzle',
'mystify',
'mythicize',
'mythologize',
'nab',
'nag',
'nail',
'name',
'name-drop',
'nap',
'napalm',
'narcotize',
'nark',
'narrate',
'narrow',
'nasalize',
'nationalize',
'natter',
'naturalize',
'nauseate',
'navigate',
'naysay',
'Nazify',
'near',
'neaten',
'nebulize',
'necessitate',
'neck',
'necrose',
'need',
'needle',
'negate',
'neglect',
'negotiate',
'neigh',
'neighbour',
'neologize',
'nerve',
'nest',
'nestle',
'net',
'nettle',
'network',
'neuter',
'neutralize',
'nibble',
'nick',
'nickel',
'nicker',
'nickname',
'nictitate',
'nid-nod',
'nidify',
'niello',
'niggle',
'nigrify',
'nip',
'nitrify',
'nitrogenize',
'nix',
'nobble',
'nock',
'nod',
'noddle',
'noise',
'nomadize',
'nominate',
'nonplus',
'nonpros',
'nonsuit',
'normalize',
'Normanize',
'nose',
'nosedive',
'nosh',
'notarize',
'notate',
'notch',
'note',
'notice',
'notify',
'nourish',
'novelize',
'nucleate',
'nudge',
'nullify',
'number',
'numerate',
'nurse',
'nurture',
'nut',
'nuzzle',
'oar',
'obelize',
'obey',
'obfuscate',
'object',
'objectify',
'objurgate',
'obligate',
'oblige',
'oblique',
'obliterate',
'obnubilate',
'obscure',
'obsecrate',
'observe',
'obsess',
'obsolesce',
'obsolete',
'obstruct',
'obtain',
'obtest',
'obtrude',
'obtund',
'obturate',
'obvert',
'obviate',
'occasion',
'Occidentalize',
'occlude',
'occult',
'occupy',
'occur',
'ochre',
'octuple',
'offend',
'offer',
'officer',
'officiate',
'offload',
'offprint',
'offset',
'ogle',
'oil',
'ok',
'okay',
'old-talk',
'omen',
'omit',
'ooze',
'opalesce',
'opaque',
'ope',
'open',
'operate',
'operatize',
'opiate',
'opine',
'oppilate',
'oppose',
'oppress',
'oppugn',
'opsonize',
'opt',
'optimize',
'orate',
'orb',
'orbit',
'orchestrate',
'ordain',
'order',
'organize',
'orient',
'Orientalize',
'orientate',
'originate',
'ornament',
'orphan',
'oscillate',
'osculate',
'osmose',
'ossify',
'ostracize',
'ought',
'oust',
'out',
'out-herod',
'outbalance',
'outbid',
'outbrave',
'outbreed',
'outclass',
'outcrop',
'outcross',
'outcry',
'outdate',
'outdistance',
'outdo',
'outface',
'outfight',
'outfit',
'outflank',
'outfoot',
'outfox',
'outgain',
'outgas',
'outgeneral',
'outgo',
'outgrow',
'outgun',
'outjockey',
'outlast',
'outlaw',
'outlay',
'outleap',
'outline',
'outlive',
'outman',
'outmanoeuvre',
'outmarch',
'outmatch',
'outnumber',
'outpace',
'outperform',
'outplay',
'outpoint',
'outpour',
'outrage',
'outrange',
'outrank',
'outreach',
'outride',
'outrival',
'outrun',
'outsail',
'outsell',
'outshine',
'outshoot',
'outsmart',
'outspan',
'outspread',
'outstand',
'outstay',
'outstretch',
'outstrip',
'outthink',
'outvie',
'outvote',
'outwear',
'outweigh',
'outwit',
'outwork',
'over-burden',
'over-estimate',
'over-expose',
'over-heat',
'over-simplify',
'overachieve',
'overact',
'overarch',
'overawe',
'overbalance',
'overbear',
'overbid',
'overblow',
'overbuild',
'overburden',
'overcall',
'overcapitalize',
'overcharge',
'overcloud',
'overcome',
'overcompensate',
'overcook',
'overcrop',
'overcrowd',
'overdevelop',
'overdo',
'overdose',
'overdraw',
'overdress',
'overdrive',
'overdye',
'overeat',
'overemphasize',
'overestimate',
'overexert',
'overexpose',
'overfeed',
'overflow',
'overfly',
'overgrow',
'overhand',
'overhang',
'overhaul',
'overhear',
'overheat',
'overindulge',
'overissue',
'overjoy',
'overland',
'overlap',
'overlay',
'overleap',
'overlie',
'overlive',
'overload',
'overlook',
'overman',
'overmaster',
'overmatch',
'overpass',
'overpay',
'overpersuade',
'overpitch',
'overplay',
'overpower',
'overpraise',
'overprint',
'overproduce',
'overprotect',
'overrate',
'overreach',
'overreact',
'overrefine',
'override',
'overrule',
'overrun',
'overscore',
'oversee',
'oversell',
'overset',
'oversew',
'overshadow',
'overshoot',
'overshot',
'oversimplify',
'oversleep',
'overspend',
'overspill',
'overstaff',
'overstate',
'overstay',
'oversteer',
'overstep',
'overstock',
'overstrain',
'overstuff',
'oversubscribe',
'overtake',
'overtask',
'overtax',
'overthrow',
'overtime',
'overtop',
'overtrade',
'overtrump',
'overture',
'overturn',
'overvalue',
'overwatch',
'overweigh',
'overweight',
'overwhelm',
'overwind',
'overwinter',
'overwork',
'overwrite',
'oviposit',
'ovulate',
'owe',
'own',
'oxidate',
'oxidize',
'oxygenize',
'oyster',
'ozonize',
'pace',
'pacify',
'pack',
'package',
'packet',
'pad',
'paddle',
'padlock',
'paganize',
'page',
'paginate',
'pain',
'paint',
'pair',
'pal',
'palatalize',
'palaver',
'pale',
'palisade',
'palliate',
'palm',
'palpate',
'palpebrate',
'palpitate',
'palter',
'pamper',
'pamphleteer',
'pan',
'pander',
'pandy',
'panegyrize',
'panel',
'panhandle',
'panic',
'pant',
'pantomime',
'paper',
'parabolize',
'parachute',
'parade',
'paragon',
'paragraph',
'parallel',
'paralyze',
'paraphrase',
'parasitize',
'parboil',
'parbuckle',
'parcel',
'parch',
'pardon',
'pare',
'parenthesize',
'park',
'parlay',
'parley',
'parleyvoo',
'parody',
'parole',
'parrot',
'parry',
'parse',
'part',
'partake',
'participate',
'particularize',
'partition',
'partner',
'pash',
'pass',
'passage',
'past',
'paste',
'pasteurize',
'pasture',
'pat',
'patch',
'patent',
'patrol',
'patronize',
'patter',
'pauperize',
'pause',
'pave',
'pavilion',
'paw',
'pawn',
'pay',
'peace',
'peach',
'peacock',
'peak',
'peal',
'pearl',
'pebble',
'peck',
'pectize',
'peculate',
'pedal',
'peddle',
'pedestrianize',
'pee',
'peek',
'peel',
'peen',
'peep',
'peer',
'peeve',
'peg',
'pellet',
'pelt',
'pen',
'penalize',
'penance',
'pencil',
'pend',
'penetrate',
'peninsulate',
'pension',
'people',
'pep',
'pepper',
'pepsinate',
'peptize',
'peptonize',
'perambulate',
'perceive',
'perch',
'percolate',
'percuss',
'peregrinate',
'perennate',
'perfect',
'perforate',
'perform',
'perfume',
'perfuse',
'perish',
'perjure',
'perk',
'permeate',
'permit',
'permute',
'perorate',
'peroxide',
'perpend',
'perpetrate',
'perpetuate',
'perplex',
'persecute',
'persevere',
'persist',
'personalize',
'personate',
'personify',
'perspire',
'persuade',
'pertain',
'perturb',
'peruse',
'pervade',
'pervert',
'pester',
'pestle',
'pet',
'peter',
'petition',
'petrify',
'pettifog',
'phantasy',
'phase',
'phenolate',
'philander',
'philosophize',
'phlebotomize',
'phonate',
'phone',
'phosphatize',
'phosphorate',
'phosphoresce',
'photocompose',
'photocopy',
'photoengrave',
'photograph',
'photolithograph',
'photomap',
'photosensitize',
'photoset',
'photostat',
'Photostat',
'photosynthesize',
'phototype',
'phrase',
'physic',
'pi',
'pick',
'pickaxe',
'picket',
'pickle',
'picnic',
'picture',
'piddle',
'piece',
'pierce',
'piffle',
'pig',
'pigeonhole',
'pigstick',
'pike',
'pile',
'pilfer',
'pilgrimage',
'pill',
'pillage',
'pillar',
'pillory',
'pillow',
'pilot',
'pimp',
'pin',
'pinch',
'pinchhit',
'pine',
'pinfold',
'ping',
'pinion',
'pink',
'pinnacle',
'pinpoint',
'pinprick',
'pioneer',
'pip',
'pipe',
'pipeline',
'pipette',
'pique',
'pirate',
'pirouette',
'pish',
'piss',
'pistol',
'pistolwhip',
'pit',
'pitapat',
'pitch',
'pitchfork',
'pith',
'pitterpatter',
'pity',
'pivot',
'pize',
'placard',
'placate',
'place',
'placekick',
'plagiarize',
'plague',
'plain',
'plait',
'plan',
'plane',
'plane-table',
'planish',
'plank',
'plant',
'plash',
'plasmolyze',
'plaster',
'plasticize',
'plate',
'platemark',
'platinize',
'platitudinize',
'Platonize',
'play',
'playact',
'playback',
'pleach',
'plead',
'please',
'pleasure',
'pleat',
'pledge',
'plenish',
'plight',
'ploat',
'plod',
'plodge',
'plonk',
'plop',
'plot',
'plough',
'plow',
'pluck',
'plug',
'plumb',
'plume',
'plummet',
'plump',
'plunder',
'plunge',
'plunk',
'pluralize',
'ply',
'poach',
'pocket',
'pockmark',
'pod',
'podzolize',
'poetize',
'poind',
'point',
'poise',
'poison',
'poke',
'polarize',
'pole',
'poleax',
'poleaxe',
'polevault',
'police',
'polish',
'politicize',
'politick',
'polka',
'poll',
'pollard',
'pollinate',
'pollute',
'polymerize',
'pomade',
'pommel',
'ponce',
'ponder',
'pong',
'poniard',
'pontificate',
'poohpooh',
'pool',
'poop',
'pop',
'popple',
'popularize',
'populate',
'pore',
'port',
'portage',
'portend',
'portion',
'portray',
'pose',
'posit',
'position',
'poss',
'posse',
'possess',
'post',
'postdate',
'postfix',
'postil',
'postpone',
'postulate',
'posture',
'posturize',
'pot',
'potentiate',
'pother',
'potter',
'pouch',
'poultice',
'pounce',
'pound',
'pour',
'poussette',
'pout',
'powder',
'power',
'powerdive',
'powwow',
'practice',
'practise',
'praise',
'prance',
'prank',
'prate',
'prattle',
'pray',
'pre-digest',
'preach',
'preachify',
'prearrange',
'precancel',
'precast',
'precede',
'precess',
'precipitate',
'precis',
'preclude',
'preconceive',
'precondition',
'preconize',
'precontract',
'predate',
'predecease',
'predestinate',
'predestine',
'predetermine',
'predicate',
'predict',
'predigest',
'predispose',
'predominate',
'preempt',
'preen',
'preexist',
'prefabricate',
'preface',
'prefer',
'prefigure',
'prefix',
'prejudge',
'prejudice',
'prelect',
'prelude',
'premeditate',
'premier',
'premise',
'premiss',
'premonish',
'preoccupy',
'preordain',
'prepare',
'prepay',
'preponderate',
'prepossess',
'prerecord',
'preregister',
'presage',
'prescind',
'prescribe',
'present',
'preserve',
'preside',
'presignify',
'press',
'pressgang',
'pressure',
'pressure-cook',
'pressurize',
'prestress',
'presume',
'presuppose',
'pretend',
'pretermit',
'prettify',
'prevail',
'prevaricate',
'prevent',
'previse',
'prevue',
'prey',
'price',
'prick',
'prickle',
'pride',
'prig',
'prill',
'prime',
'primp',
'prink',
'print',
'prise',
'privateer',
'privatize',
'privilege',
'prize',
'probe',
'proceed',
'process',
'procession',
'proclaim',
'procrastinate',
'procreate',
'procure',
'prod',
'produce',
'profane',
'profess',
'proffer',
'profit',
'profiteer',
'prog',
'prognosticate',
'programme',
'programtrade',
'progress',
'prohibit',
'project',
'prolapse',
'proliferate',
'prologue',
'prolong',
'promenade',
'promise',
'promote',
'prompt',
'promulgate',
'pronate',
'prong',
'pronominalize',
'pronounce',
'proof',
'proofread',
'prop',
'propagandize',
'propagate',
'propel',
'propend',
'prophesy',
'propitiate',
'proportion',
'proportionate',
'propose',
'proposition',
'propound',
'prorate',
'prorogue',
'proscribe',
'prose',
'prosecute',
'proselyte',
'proselytize',
'prospect',
'prosper',
'prostitute',
'prostrate',
'protect',
'protest',
'protract',
'protrude',
'protuberate',
'prove',
'provide',
'provision',
'provoke',
'prowl',
'prune',
'Prussianize',
'pry',
'psyche',
'psycho-analyse',
'psychoanalyze',
'psychologize',
'pubcrawl',
'publicize',
'publish',
'pucker',
'puddle',
'puff',
'pug',
'puke',
'pule',
'pull',
'pullulate',
'pulp',
'pulsate',
'pulse',
'pulverize',
'pummel',
'pump',
'pun',
'punce',
'punch',
'punctuate',
'puncture',
'punish',
'punt',
'pup',
'pupate',
'pur_ee',
'purchase',
'purfle',
'purge',
'purify',
'purl',
'purloin',
'purport',
'purpose',
'purr',
'purse',
'pursue',
'purvey',
'push',
'push-start',
'pussyfoot',
'pustulate',
'put',
'putput',
'putrefy',
'putt',
'putter',
'putty',
'puzzle',
'pyramid',
'quack',
'quadrisect',
'quadruple',
'quadruplicate',
'quaff',
'quail',
'quake',
'qualify',
'quant',
'quantify',
'quantize',
'quarantine',
'quarrel',
'quarry',
'quarter',
'quartersaw',
'quash',
'quaver',
'queen',
'queer',
'quell',
'quench',
'query',
'quest',
'question',
'queue',
'quibble',
'quicken',
'quickfreeze',
'quickstep',
'quiet',
'quieten',
'quill',
'quilt',
'quintuple',
'quintuplicate',
'quip',
'quit',
'quitclaim',
'quiver',
'quiz',
'quote',
'rabbit',
'rabble',
'race',
'racemize',
'racketeer',
'rackrent',
'racquet',
'raddle',
'radiate',
'radio',
'radioactivate',
'radiotelegraph',
'radiotelephone',
'raffle',
'raft',
'rag',
'rage',
'ragout',
'raid',
'rail',
'railroad',
'rain',
'rainproof',
'raise',
'rake',
'rally',
'ram',
'ramble',
'ramify',
'ramp',
'rampage',
'rampart',
'ranch',
'randomize',
'range',
'rank',
'rankle',
'ransack',
'ransom',
'rant',
'rap',
'rape',
'rappel',
'rapture',
'rarify',
'rash',
'rasp',
'rat',
'rate',
'ratify',
'ratiocinate',
'ration',
'rationalize',
'rattle',
'rattoon',
'ravage',
'rave',
'ravel',
'ravin',
'ravish',
'ray',
'raze',
'razor-cut',
'razz',
're-act',
're-afforest',
're-cede',
're-count',
're-cover',
're-create',
're-dress',
're-echo',
're-form',
're-fund',
're-join',
're-present',
're-press',
're-proof',
're-serve',
're-sign',
're-sort',
're-sound',
're-trace',
're-tread',
'reach',
'react',
'reactivate',
'read',
'readdress',
'readjust',
'ready',
'reaffirm',
'realign',
'realize',
'ream',
'reanimate',
'reap',
'reappear',
'reapportion',
'reappraise',
'rear',
'reard',
'rearm',
'rearrange',
'reason',
'reassert',
'reassign',
'reassure',
'reave',
'rebate',
'rebel',
'rebellow',
'rebound',
'rebuff',
'rebuild',
'rebuke',
'rebut',
'recalculate',
'recalesce',
'recall',
'recant',
'recap',
'recapitulate',
'recapture',
'recast',
'recce',
'recede',
'receipt',
'receive',
'recentralize',
'recess',
'reciprocate',
'recite',
'reck',
'reckon',
'reclaim',
'reclassify',
'recline',
'recognize',
'recoil',
'recollect',
'recommend',
'recommit',
'recompense',
'recompose',
'reconcile',
'recondition',
'reconnect',
'reconnoitre',
'reconsider',
'reconstitute',
'reconstruct',
'reconvert',
'record',
'recount',
'recoup',
'recover',
'recreate',
'recriminate',
'recrudesce',
'recruit',
'recrystallize',
'rectify',
'recuperate',
'recur',
'recurve',
'recycle',
'red',
'redact',
'redd',
'redden',
'reddle',
'rede',
'redeem',
'redeploy',
'redesign',
'redevelop',
'redintegrate',
'redirect',
'redistribute',
'redo',
'redouble',
'redound',
'redpencil',
'redraft',
'redraw',
'redress',
'reduce',
'reduplicate',
'reed',
'reef',
'reek',
'reel',
'reelect',
'reemphasize',
'reenact',
'reenter',
'reest',
'reestablish',
'reeve',
'reexamine',
'reexport',
'reface',
'refer',
'referee',
'reference',
'refile',
'refill',
'refinance',
'refine',
'refit',
'reflate',
'reflect',
'refloat',
'reflux',
'refocuse',
'reforest',
'reform',
'refract',
'refrain',
'refresh',
'refrigerate',
'reft',
'refuel',
'refuge',
'refund',
'refurbish',
'refuse',
'refute',
'regain',
'regale',
'regard',
'regelate',
'regenerate',
'regiment',
'register',
'regorge',
'regrate',
'regress',
'regret',
'regroup',
'regularize',
'regulate',
'regurgitate',
'rehabilitate',
'rehash',
'rehear',
'rehearse',
'reheat',
'rehouse',
'reify',
'reign',
'reignite',
'reimburse',
'reimport',
'rein',
'reincarnate',
'reindict',
'reinforce',
'reinstate',
'reinstitute',
'reinsure',
'reintroduce',
'reinvent',
'reinvest',
'reinvigorate',
'reissue',
'reiterate',
'reive',
'reject',
'rejig',
'rejoice',
'rejoin',
'rejuvenate',
'rejuvenesce',
'rekindle',
'relapse',
'relate',
'relativize',
'relaunch',
'relax',
'relay',
'release',
'relegate',
'relent',
'relieve',
'reline',
'relinquish',
'relish',
'relive',
'relocate',
'reluct',
'relumine',
'rely',
'remain',
'remainder',
'remake',
'remand',
'remark',
'remarry',
'rematch',
'remedy',
'remember',
'remilitarize',
'remind',
'reminisce',
'remise',
'remit',
'remodel',
'remonetize',
'remonstrate',
'remould',
'remount',
'remove',
'remunerate',
'rename',
'rencounter',
'rend',
'render',
'rendezvous',
'renegotiate',
'renegue',
'renew',
'renounce',
'renovate',
'rent',
'reopen',
'reorganize',
'reorient',
'reorientate',
'repackage',
'repair',
'repartition',
'repast',
'repatriate',
'repay',
'repeal',
'repeat',
'repel',
'repent',
'rephrase',
'repine',
'replace',
'replay',
'replenish',
'replevin',
'replevy',
'replicate',
'reply',
'repoint',
'repone',
'report',
'repose',
'reposit',
'reposition',
'repossess',
'repot',
'reprehend',
'represent',
'repress',
'reprieve',
'reprimand',
'reprint',
'reprise',
'reproach',
'reprobate',
'reproduce',
'reprove',
'republicanize',
'repudiate',
'repugn',
'repulse',
'repurchase',
'repute',
'request',
'require',
'requisition',
'requite',
'reread',
'reroute',
'rerun',
'reschedule',
'rescind',
'rescue',
'research',
'reseat',
'resell',
'resemble',
'resent',
'reserve',
'reset',
'resettle',
'reshape',
'reshuffle',
'reside',
'resign',
'resile',
'resin',
'resinate',
'resist',
'resit',
'resole',
'resolve',
'resonate',
'resorb',
'resort',
'resound',
'respect',
'respire',
'respite',
'respond',
'rest',
'restate',
'restock',
'restore',
'restrain',
'restrict',
'restring',
'restructure',
'resubmit',
'result',
'resume',
'resurface',
'resurge',
'resurrect',
'resuscitate',
'ret',
'retail',
'retain',
'retake',
'retaliate',
'retard',
'retch',
'retell',
'rethink',
'reticulate',
'retire',
'retool',
'retort',
'retouch',
'retrace',
'retract',
'retread',
'retreat',
'retrench',
'retrieve',
'retroact',
'retrocede',
'retrofit',
'retrograde',
'retrogress',
'retroject',
'retrospect',
'retry',
'return',
'reunify',
'reunite',
'rev',
'revalorize',
'revalue',
'revamp',
'reveal',
'revegetate',
'revel',
'revenge',
'reverberate',
'revere',
'reverence',
'reverse',
'revert',
'revest',
'revet',
'review',
'revile',
'revise',
'revisit',
'revitalize',
'revive',
'revivify',
'revoice',
'revoke',
'revolt',
'revolutionize',
'revolve',
'reward',
'rewind',
'rewire',
'reword',
'rework',
'rewrite',
'rhapsodize',
'rhubarb',
'rib',
'ribbon',
'rice',
'rick',
'ricochet',
'rid',
'riddle',
'ride',
'ridge',
'ridicule',
'riff',
'riffle',
'rifle',
'rift',
'rig',
'right',
'righten',
'rigidify',
'rile',
'rim',
'rime',
'ring',
'rinse',
'riot',
'rip',
'ripen',
'riposte',
'ripple',
'rise',
'risk',
'ritualize',
'rival',
'rive',
'rivet',
'roam',
'roar',
'roast',
'rob',
'robe',
'rock',
'rock-and-roll',
'rocket',
'rodomontade',
'roil',
'roister',
'roll',
'rollerskate',
'rollick',
'romance',
'Romanize',
'romanticize',
'romp',
'rone',
'Roneo',
'rontgenize',
'roof',
'rook',
'roose',
'roost',
'root',
'rootle',
'roquet',
'rosin',
'roster',
'rot',
'rotate',
'rouge',
'rough',
'rough-house',
'roughcast',
'roughdry',
'roughen',
'roughhew',
'roughhouse',
'round',
'roup',
'rouse',
'roust',
'rout',
'route',
'row',
'rowel',
'rub',
'rubber',
'rubberize',
'rubberneck',
'rubberstamp',
'rubbish',
'rubefy',
'rubricate',
'ruck',
'ruddle',
'rue',
'ruff',
'ruffle',
'ruggedize',
'ruin',
'rule',
'rumble',
'ruminate',
'rummage',
'rumour',
'rumple',
'run',
'rupture',
'ruralize',
'rush',
'Russianize',
'rust',
'rusticate',
'rustle',
'rut',
'saber',
'sabotage',
'saccharize',
'sack',
'sacrifice',
'sadden',
'saddle',
'safeconduct',
'safeguard',
'safety',
'sag',
'sail',
'sain',
'saint',
'salify',
'salivate',
'sallow',
'sally',
'salt',
'salute',
'salvage',
'salve',
'samba',
'sample',
'sanctify',
'sanction',
'sand',
'sand-blast',
'sandbag',
'sandblast',
'sandcast',
'sandpaper',
'sandwich',
'Sanforize',
'sanitize',
'sap',
'saponify',
'sash',
'sass',
'sate',
'satiate',
'satirize',
'satisfy',
'saturate',
'sauce',
'saunter',
'saut_e',
'savage',
'save',
'savour',
'savvy',
'saw',
'say',
'scab',
'scabble',
'scaffold',
'scag',
'scald',
'scale',
'scallop',
'scalp',
'scamp',
'scamper',
'scan',
'scandal',
'scandalize',
'scant',
'scape',
'scar',
'scare',
'scarf',
'scarify',
'scarp',
'scarper',
'scat',
'scathe',
'scatter',
'scavenge',
'scend',
'scent',
'sceptre',
'schedule',
'schematize',
'scheme',
'schlep',
'schmooze',
'school',
'schuss',
'scintillate',
'scissor',
'sclaff',
'scoff',
'scold',
'scollop',
'sconce',
'scoop',
'scoot',
'scorch',
'score',
'scorify',
'scorn',
'scotch',
'scour',
'scourge',
'scout',
'scowl',
'scrabble',
'scrag',
'scram',
'scramb',
'scramble',
'scrap',
'scrape',
'scratch',
'scrawl',
'screak',
'scream',
'screech',
'screen',
'screw',
'scribble',
'scribe',
'scrimmage',
'scrimp',
'scrimshank',
'scrimshaw',
'script',
'scroll',
'scroop',
'scrouge',
'scrounge',
'scrub',
'scrum',
'scrummage',
'scrump',
'scrunch',
'scruple',
'scrutinize',
'scry',
'scud',
'scuff',
'scuffle',
'scull',
'sculpt',
'sculpture',
'scum',
'scumble',
'scunge',
'scunner',
'scupper',
'scurry',
'scutch',
'scutter',
'scuttle',
'scythe',
'seal',
'seam',
'search',
'season',
'seat',
'secede',
'secern',
'seclude',
'second',
'secondguess',
'secrete',
'sectarianize',
'section',
'sectionalize',
'secularize',
'secure',
'sedate',
'seduce',
'see',
'seed',
'seek',
'seel',
'seem',
'seep',
'seesaw',
'seethe',
'segment',
'segregate',
'seine',
'seise',
'seize',
'select',
'sell',
'semaphore',
'send',
'sendoff',
'sense',
'sensitize',
'sentence',
'sentimentalize',
'sentinel',
'separate',
'septuple',
'sepulchre',
'sequester',
'sequestrate',
'sere',
'serenade',
'serialize',
'sermonize',
'serrate',
'serve',
'service',
'set',
'settle',
'sever',
'sew',
'sewer',
'sex',
'sextuplicate',
'shackle',
'shade',
'shadow',
'shadowbox',
'shaft',
'shag',
'shake',
'shall',
'shallow',
'shalt',
'sham',
'shamble',
'shame',
'shampoo',
'shanghai',
'shank',
'shape',
'share',
'sharecrop',
'shark',
'sharp',
'sharpen',
'shatter',
'shave',
'sheaf',
'shear',
'sheath',
'sheathe',
'sheave',
'shed',
'sheen',
'sheer',
'sheet',
'shell',
'shellac',
'shelter',
'shelve',
'shend',
'shepherd',
'sherardize',
'shew',
'shield',
'shift',
'shikar',
'shillyshally',
'shim',
'shimmer',
'shimmy',
'shin',
'shine',
'shingle',
'shinty',
'ship',
'shipwreck',
'shire',
'shirk',
'shirr',
'shit',
'shiver',
'shoal',
'shock',
'shoe',
'shoo',
'shoogle',
'shoot',
'shop',
'shop-lift',
'shore',
'short',
'short-list',
'shortchange',
'shortcircuit',
'shorten',
'shot',
'shotgun',
'should',
'shoulder',
'shouldst',
'shout',
'shove',
'shovel',
'show',
'showcase',
'showd',
'shower',
'shrank',
'shred',
'shriek',
'shrill',
'shrimp',
'shrine',
'shrink',
'shrinkwrap',
'shrive',
'shrivel',
'shroff',
'shroud',
'shrug',
'shrunk',
'shuck',
'shudder',
'shuffle',
'shun',
'shunt',
'shush',
'shut',
'shutter',
'shuttle',
'shy',
'sibilate',
'sic',
'sicken',
'side',
'side-dress',
'sideline',
'sideslip',
'sidestep',
'sideswipe',
'sidetrack',
'sidle',
'siege',
'sieve',
'sift',
'sigh',
'sight',
'sightread',
'sightsee',
'sign',
'signal',
'signalize',
'signet',
'signify',
'signpost',
'sile',
'silence',
'silhouette',
'silicify',
'silk',
'silver',
'silver-plate',
'simmer',
'simper',
'simplify',
'simulate',
'simulcast',
'sin',
'sing',
'singe',
'single',
'single-step',
'single-tongue',
'singlefoot',
'singlespace',
'singularize',
'sink',
'sinter',
'sip',
'sire',
'sit',
'site',
'situate',
'siwash',
'size',
'sizzle',
'sjambok',
'skate',
'skedaddle',
'skeletonize',
'skelly',
'skelp',
'sken',
'sket',
'sketch',
'skewer',
'ski',
'ski-jump',
'skid',
'skim',
'skimp',
'skin',
'skinnydip',
'skinpop',
'skip',
'skipper',
'skirl',
'skirmish',
'skirr',
'skirt',
'skite',
'skitter',
'skive',
'skivvy',
'skulk',
'skunks',
'sky',
'sky-rocket',
'skydive',
'skyjack',
'skylark',
'skyrocket',
'slab',
'slack',
'slacken',
'slake',
'slalom',
'slam',
'slander',
'slang',
'slant',
'slap',
'slash',
'slat',
'slate',
'slaughter',
'slave',
'slaver',
'slay',
'sleave',
'sledge',
'sledgehammer',
'sleek',
'sleep',
'sleepwalk',
'sleet',
'sleeve',
'sleigh',
'slenderize',
'sleuth',
'slice',
'slick',
'slide',
'slight',
'slim',
'slime',
'sling',
'slink',
'slip',
'slipper',
'slipsheet',
'slit',
'slither',
'sliver',
'slobber',
'slog',
'sloganeer',
'slop',
'slope',
'slosh',
'slot',
'slouch',
'slough',
'slow',
'slue',
'sluff',
'slug',
'sluice',
'slum',
'slumber',
'slump',
'slur',
'slurp',
'slush',
'smack',
'smarm',
'smart',
'smarten',
'smash',
'smatter',
'smear',
'smell',
'smelt',
'smile',
'smirch',
'smirk',
'smite',
'smock',
'smoke',
'smooch',
'smoodge',
'smooth',
'smoothen',
'smote',
'smother',
'smoulder',
'smudge',
'smuggle',
'smut',
'smutch',
'snack',
'snaffle',
'snafu',
'snake',
'snap',
'snare',
'snarl',
'snatch',
'sneak',
'sneck',
'sned',
'sneer',
'sneeze',
'snick',
'snicker',
'sniff',
'sniffle',
'snigger',
'sniggle',
'snip',
'snipe',
'snitch',
'snivel',
'snog',
'snood',
'snooker',
'snoop',
'snooze',
'snore',
'snorkel',
'snort',
'snow',
'snowshoe',
'snub',
'snuff',
'snuffle',
'snug',
'snuggle',
'soak',
'soap',
'soar',
'sob',
'sober',
'socialize',
'sock',
'socket',
'sodden',
'soft-solder',
'soften',
'softland',
'softpedal',
'softsoap',
'soil',
'sojourn',
'solace',
'solarize',
'solder',
'soldier',
'sole',
'solemnify',
'solemnize',
'solfa',
'solicit',
'solidify',
'soliloquize',
'solo',
'solubilize',
'solvate',
'solve',
'somnambulate',
'sonnet',
'soot',
'soothe',
'soothsay',
'sop',
'sophisticate',
'sorn',
'sorrow',
'sort',
'sortie',
'sough',
'sound',
'soundproof',
'sour',
'souse',
'sovietize',
'sow',
'space',
'spacewalk',
'spade',
'spae',
'spag',
'spall',
'span',
'spancel',
'spangle',
'spank',
'spar',
'spare',
'sparge',
'spark',
'sparkle',
'spatter',
'spawn',
'spay',
'speak',
'spear',
'spearhead',
'specialize',
'specify',
'speckle',
'speculate',
'speechify',
'speed',
'spell',
'spellbind',
'spelunk',
'spend',
'spew',
'spice',
'spiel',
'spiflicate',
'spike',
'spile',
'spill',
'spin',
'spin-dry',
'spindle',
'spiral',
'spire',
'spiritualize',
'spit',
'spite',
'splash',
'splatter',
'splay',
'splice',
'spline',
'splint',
'splinter',
'split',
'splodge',
'splosh',
'splotch',
'splurge',
'splutter',
'spoil',
'spoliate',
'sponge',
'sponsor',
'spoof',
'spook',
'spool',
'spoon',
'spoon-feed',
'spoor',
'spore',
'sport',
'sporulate',
'spot',
'spot-weld',
'spotlight',
'spouse',
'spout',
'sprain',
'sprawl',
'spray',
'spread',
'spreadeagle',
'sprig',
'spring',
'spring-clean',
'sprinkle',
'sprint',
'sprout',
'spruce',
'spruik',
'sprung',
'spud',
'spue',
'spume',
'spur',
'spurn',
'spurt',
'sputter',
'spy',
'squabble',
'squall',
'squander',
'square',
'squaredance',
'squash',
'squat',
'squawk',
'squeak',
'squeal',
'squeeze',
'squelch',
'squiggle',
'squilgee',
'squint',
'squire',
'squirm',
'squirt',
'squish',
'stab',
'stabilize',
'stable',
'stablish',
'stack',
'staff',
'stage',
'stagemanage',
'stagger',
'stagnate',
'stain',
'stake',
'stale',
'stalemate',
'stalk',
'stall',
'stallfeed',
'stammer',
'stamp',
'stampede',
'stanchion',
'stand',
'standardize',
'stang',
'staple',
'star',
'starch',
'stare',
'stargaze',
'start',
'startle',
'starve',
'stash',
'state',
'station',
'staunch',
'stave',
'stay',
'stead',
'steady',
'steal',
'steam',
'steam-heat',
'steamroller',
'steel',
'steep',
'steepen',
'steeplechase',
'steer',
'steeve',
'stellify',
'stem',
'stencil',
'stenograph',
'step',
'stereochrome',
'stereotype',
'sterilize',
'stet',
'stevedore',
'stew',
'steward',
'stick',
'stickle',
'sticky',
'stiffen',
'stifle',
'stigmatize',
'still',
'stillhunt',
'stilt',
'stimulate',
'sting',
'stint',
'stipple',
'stipulate',
'stir',
'stitch',
'stithy',
'stock',
'stockade',
'stockpile',
'stodge',
'stoke',
'stomach',
'stomp',
'stone',
'stone-wall',
'stonewall',
'stonk',
'stooge',
'stook',
'stool',
'stoop',
'stop',
'stope',
'stopper',
'store',
'storm',
'story',
'stot',
'stoush',
'stove',
'stow',
'straddle',
'strafe',
'straggle',
'straightarm',
'straighten',
'strain',
'straiten',
'strand',
'strangle',
'strangulate',
'strap',
'stratify',
'stravaig',
'straw',
'stray',
'streak',
'stream',
'streamline',
'strengthen',
'stress',
'stretch',
'strew',
'striate',
'strickle',
'stride',
'stridulate',
'strike',
'string',
'strip',
'stripe',
'strive',
'stroke',
'stroll',
'strongarm',
'strop',
'strow',
'stroy',
'structure',
'struggle',
'strum',
'strut',
'stub',
'stucco',
'stud',
'study',
'stuff',
'stultify',
'stum',
'stumble',
'stump',
'stun',
'stunk',
'stunt',
'stupefy',
'stutter',
'sty',
'style',
'stylize',
'stylopize',
'stymy',
'sub',
'subclass',
'subcontract',
'subculture',
'subdivide',
'subduct',
'subdue',
'subedit',
'suberize',
'subinfeudate',
'subirrigate',
'subject',
'subjectify',
'subjoin',
'subjugate',
'sublease',
'sublet',
'sublimate',
'sublime',
'submerse',
'subminiaturize',
'submit',
'subordinate',
'suborn',
'subpoena',
'subrogate',
'subscribe',
'subserve',
'subside',
'subsidize',
'subsist',
'subsoil',
'substantialize',
'substantiate',
'substantivize',
'substitute',
'substract',
'subsume',
'subtend',
'subtilize',
'subtitle',
'subtotal',
'subtract',
'suburbanize',
'subvene',
'subvert',
'succeed',
'succour',
'succumb',
'succuss',
'suck',
'sucker',
'suckle',
'sue',
'suffer',
'suffice',
'suffix',
'sufflate',
'suffocate',
'suffumigate',
'suffuse',
'sugar',
'sugarcoat',
'suggest',
'suit',
'sulk',
'sully',
'sulphate',
'sulphonate',
'sulphurate',
'sulphuret',
'sulphurize',
'sum',
'summarize',
'summer',
'summersault',
'summons',
'sun',
'sunbathe',
'sunder',
'sunk',
'sup',
'superabound',
'superadd',
'superannuate',
'supercalender',
'supercede',
'supercharge',
'supercool',
'supererogate',
'superfuse',
'superheat',
'superimpose',
'superinduce',
'superintend',
'superordinate',
'superpose',
'superscribe',
'supersede',
'superstruct',
'supervene',
'supervise',
'supinate',
'supper',
'supplant',
'supplement',
'supplicate',
'supply',
'support',
'suppose',
'suppress',
'suppurate',
'surcease',
'surcharge',
'surcingle',
'surf',
'surface',
'surfeit',
'surge',
'surmise',
'surmount',
'surname',
'surpass',
'surprint',
'surprise',
'surrender',
'surrogate',
'surround',
'surtax',
'survey',
'survive',
'suspect',
'suspend',
'suspire',
'suss',
'sustain',
'susurrate',
'suture',
'swab',
'swaddle',
'swag',
'swage',
'swagger',
'swallow',
'swamp',
'swank',
'swap',
'swarm',
'swarth',
'swash',
'swat',
'swathe',
'sway',
'swear',
'sweaway',
'sweep',
'sweeten',
'sweettalk',
'swell',
'swelter',
'swerve',
'swig',
'swill',
'swim',
'swindle',
'swing',
'swinge',
'swingle',
'swink',
'swipe',
'swirl',
'swish',
'switch',
'swive',
'swivel',
'swizzle',
'swob',
'swoon',
'swoop',
'swoosh',
'swop',
'swot',
'swound',
'syllabify',
'syllabize',
'syllable',
'syllogize',
'symbol',
'symbolize',
'symmetrize',
'sympathize',
'sync',
'synchronize',
'syncopate',
'syncretize',
'syndicate',
'synonymize',
'synopsize',
'synthetize',
'sypher',
'syphon',
'syringe',
'syrup',
'systemize',
'table',
'tabu',
'tabulate',
'tack',
'tackle',
'tag',
'tailor',
'taint',
'take',
'talc',
'talk',
'tallage',
'tallow',
'tally',
'tallyho',
'tambour',
'tame',
'tamp',
'tamper',
'tampon',
'tan',
'tangle',
'tango',
'tantalize',
'tap',
'tape',
'taper',
'tar',
'tare',
'target',
'tariff',
'tarmac',
'tarnish',
'tarry',
'tartarize',
'task',
'tassel',
'taste',
'tat',
'tatter',
'tattle',
'tattoo',
'taunt',
'tauten',
'tautologize',
'taway',
'taws',
'tawse',
'tax',
'taxi',
'te-hee',
'teach',
'team',
'tear',
'tease',
'teasel',
'ted',
'tee',
'teem',
'teeter',
'teethe',
'telecasted',
'telegraph',
'telemeter',
'telepathize',
'telephone',
'telescope',
'Teletype',
'televise',
'telex',
'tell',
'tellurize',
'telpher',
'temper',
'tempest',
'temporize',
'tempt',
'tenant',
'tend',
'tender',
'tenderize',
'tenon',
'tense',
'tent',
'tenter',
'tepefy',
'tergiversate',
'term',
'terminate',
'terrace',
'terrify',
'territorialize',
'terrorize',
'tessellate',
'test',
'testdrive',
'testfire',
'testify',
'testmarket',
'tetanize',
'tether',
'Teutonize',
'thank',
'thatch',
'thaw',
'theologize',
'theorize',
'thermalize',
'thicken',
'thieve',
'thin',
'think',
'thirl',
'thirst',
'thole',
'thrall',
'thrash',
'thread',
'threat',
'threaten',
'threep',
'thresh',
'thrill',
'thrive',
'throb',
'thrombose',
'throne',
'throng',
'throttle',
'throve',
'throw',
'throwaway',
'throwback',
'thrum',
'thrust',
'thud',
'thumb',
'thumbindex',
'thump',
'thunder',
'thwack',
'thwart',
'tick',
'ticket',
'tickle',
'ticktock',
'tide',
'tidy',
'tie',
'tier',
'tiff',
'tighten',
'tile',
'till',
'tiller',
'tilt',
'timber',
'time',
'tin',
'tinct',
'tincture',
'ting',
'tinge',
'tingle',
'tinker',
'tinkle',
'tinplate',
'tinsel',
'tint',
'tip',
'tipple',
'tiptoe',
'tire',
'tissue',
'tithe',
'titillate',
'titivate',
'title',
'titrate',
'titter',
'tittivate',
'tittletattle',
'tittup',
'toady',
'toast',
'toboggan',
'toddle',
'toe',
'toe-dance',
'toenail',
'tog',
'toggle',
'toil',
'token',
'tolerate',
'toll',
'tomb',
'tone',
'tong',
'tongue',
'tongue-lash',
'tonsure',
'tool',
'toot',
'tooth',
'tootle',
'top',
'topdress',
'tope',
'topple',
'topsoil',
'torch',
'torment',
'torpedo',
'torrify',
'torture',
'toss',
'tot',
'total',
'totalize',
'tote',
'totter',
'touch',
'touchdown',
'touchtype',
'toughen',
'tour',
'tourney',
'tousle',
'tout',
'touzle',
'tow',
'towel',
'trace',
'track',
'trade',
'trademark',
'traduce',
'traffic',
'trail',
'train',
'traipse',
'traject',
'tram',
'trammel',
'tramp',
'trample',
'trampoline',
'trance',
'tranquillize',
'transact',
'transcend',
'transcribe',
'transect',
'transfer',
'transfigure',
'transfix',
'transform',
'transfuse',
'transgress',
'transilluminate',
'transistorize',
'transit',
'translate',
'transliterate',
'translocate',
'transmigrate',
'transmit',
'transmogrify',
'transmute',
'transpierce',
'transpire',
'transplant',
'transport',
'transpose',
'transship',
'transubstantiate',
'transude',
'transvalue',
'trap',
'trapan',
'trapes',
'trash',
'traumatize',
'travail',
'travel',
'traverse',
'travesty',
'trawl',
'tread',
'treadle',
'treasure',
'treat',
'treble',
'tree',
'trek',
'trellis',
'tremble',
'trench',
'trend',
'trepan',
'trephine',
'trespass',
'triangulate',
'trice',
'trichinize',
'trick',
'trickle',
'tricycle',
'trifle',
'trig',
'trigger',
'trill',
'trim',
'trip',
'triple',
'triple-tongue',
'triplicate',
'trisect',
'tritiate',
'triturate',
'triumph',
'trivialize',
'troat',
'trode',
'trog',
'troll',
'troop',
'tropicalize',
'trot',
'trouble',
'trounce',
'troupe',
'trow',
'trowel',
'truant',
'truck',
'truckle',
'trudge',
'true',
'trump',
'trumpet',
'truncate',
'truncheon',
'trundle',
'truss',
'trust',
'try',
'tryst',
'tub',
'tube',
'tubulate',
'tuck',
'tucker',
'tuft',
'tug',
'tumble',
'tumefy',
'tun',
'tune',
'tunnel',
'tup',
'turf',
'turmoil',
'turn',
'turpentine',
'turtle',
'tusk',
'tussle',
'tut',
'tut-tut',
'tutor',
'twaddle',
'twang',
'tweak',
'tweet',
'tweeze',
'twiddle',
'twig',
'twill',
'twin',
'twine',
'twinge',
'twinkle',
'twirl',
'twist',
'twit',
'twitch',
'twitter',
'twotime',
'type',
'typecast',
'typeset',
'typewrite',
'typify',
'tyrannize',
'tyre',
'uglify',
'ulcerate',
'ullage',
'ululate',
'umpire',
'unarm',
'unbalance',
'unbar',
'unbelt',
'unbend',
'unbind',
'unbolt',
'unbonnet',
'unbosom',
'unbrace',
'unbridle',
'unbuckle',
'unburden',
'unbutton',
'uncap',
'unchain',
'unchurch',
'unclasp',
'unclog',
'unclose',
'unclothe',
'uncoil',
'uncork',
'uncouple',
'uncover',
'uncurl',
'undeceive',
'underachieve',
'underact',
'underbid',
'underbuy',
'undercapitalize',
'undercharge',
'undercoat',
'undercool',
'undercut',
'underdevelop',
'underdrain',
'underestimate',
'underexpose',
'underfeed',
'underfund',
'undergird',
'undergo',
'underlay',
'underlet',
'underlie',
'underline',
'undermine',
'undernourish',
'underpay',
'underperform',
'underpin',
'underplay',
'underprice',
'underprop',
'underquote',
'underrate',
'underscore',
'underseal',
'undersell',
'underset',
'undershot',
'undersign',
'understand',
'understate',
'understock',
'understudy',
'undertake',
'undertrump',
'undervalue',
'underwrite',
'undo',
'undock',
'undress',
'undulate',
'unearth',
'unfasten',
'unfetter',
'unfit',
'unfix',
'unfold',
'unfreeze',
'unfrock',
'unfurl',
'unhair',
'unhallow',
'unhand',
'unharness',
'unhelm',
'unhinge',
'unhook',
'unhorse',
'uniform',
'unify',
'unionize',
'unite',
'universalize',
'unkennel',
'unknit',
'unlace',
'unlade',
'unlash',
'unlatch',
'unlay',
'unlead',
'unlearn',
'unleash',
'unlimber',
'unlive',
'unload',
'unlock',
'unloosen',
'unmake',
'unman',
'unmask',
'unmoor',
'unmuzzle',
'unnerve',
'unpack',
'unpeg',
'unpeople',
'unpick',
'unpin',
'unplug',
'unquote',
'unravel',
'unreason',
'unreeve',
'unriddle',
'unrig',
'unrip',
'unroll',
'unroot',
'unsaddle',
'unsay',
'unscramble',
'unscrew',
'unseal',
'unseam',
'unseat',
'unsettle',
'unsex',
'unsheathe',
'unship',
'unsling',
'unsnap',
'unsnarl',
'unspeak',
'unsphere',
'unsteady',
'unsteel',
'unstep',
'unstick',
'unstop',
'unstring',
'unswear',
'untangle',
'unteach',
'unthink',
'unthread',
'unthrone',
'untidy',
'untie',
'untread',
'untruss',
'untuck',
'unveil',
'unvoice',
'unwind',
'unwish',
'unwrap',
'unyoke',
'unzip',
'up',
'up-anchor',
'upbraid',
'upbuild',
'upcast',
'update',
'upend',
'upgrade',
'upheave',
'uphold',
'upholster',
'uplift',
'uppercase',
'uppercut',
'upraise',
'uprear',
'upright',
'uprise',
'uproot',
'uprouse',
'upset',
'upspring',
'upstage',
'upstart',
'upsurge',
'upsweep',
'upswell',
'upswing',
'uptilt',
'upturn',
'urbanize',
'urge',
'urinate',
'urticate',
'used',
'usher',
'usurp',
'utilize',
'utter',
'vacate',
'vacation',
'vaccinate',
'vacillate',
'vacuum',
'vail',
'valet',
'validate',
'valorize',
'valuate',
'value',
'vamoose',
'vamp',
'vandalize',
'vanish',
'vanquish',
'vaporize',
'variegate',
'variolate',
'varitype',
'varnish',
'vary',
'vassalize',
'vat',
'vaticinate',
'vault',
'vaunt',
'vector',
'veer',
'vegetate',
'veil',
'vein',
'velarize',
'vellicate',
'vend',
'veneer',
'venerate',
'venge',
'vent',
'ventilate',
'ventriloquize',
'venture',
'verbalize',
'verbify',
'verge',
'verify',
'verjuice',
'vermiculate',
'vernalize',
'verse',
'versify',
'vesicate',
'vesiculate',
'vest',
'vesture',
'vet',
'veto',
'vex',
'vibrate',
'victimize',
'victual',
'videotape',
'vie',
'view',
'vignette',
'vilify',
'vilipend',
'vindicate',
'vinegar',
'vintage',
'violate',
'visa',
'vise',
'vision',
'visit',
'visor',
'visualize',
'vitalize',
'vitiate',
'vitrify',
'vitriol',
'vitriolize',
'vittle',
'vituperate',
'vivify',
'vivisect',
'vizor',
'vocalize',
'vociferate',
'voice',
'void',
'volatilize',
'volcanize',
'volley',
'volplane',
'volunteer',
'vomit',
'voodoo',
'vote',
'vouch',
'vouchsafe',
'vow',
'vowelize',
'voyage',
'vulcanize',
'vulgarize',
'wabble',
'wad',
'waddle',
'waddy',
'wade',
'wadset',
'wafer',
'waff',
'waffle',
'waft',
'wag',
'wage',
'wager',
'waggle',
'waggon',
'wagon',
'wail',
'wainscot',
'wait',
'waive',
'wake',
'waken',
'wale',
'walk',
'wall',
'wallop',
'wallow',
'wallpaper',
'waltz',
'wamble',
'wan',
'wander',
'wane',
'wangle',
'wank',
'wanna',
'want',
'wanton',
'warble',
'ward',
'ware',
'warehouse',
'warm',
'warn',
'warp',
'warrant',
'warsle',
'wash',
'wassail',
'waste',
'watch',
'water',
'watercool',
'watermark',
'waterproof',
'waterski',
'watersoak',
'wattle',
'waul',
'wave',
'waver',
'wawa',
'wawl',
'wax',
'waxen',
'waylay',
'weaken',
'wean',
'wear',
'weary',
'weather',
'weathercock',
'weatherproof',
'weave',
'web',
'wed',
'wedge',
'wee-wee',
'weed',
'weekend',
'ween',
'weep',
'weigh',
'weight',
'welch',
'welcome',
'weld',
'well',
'welsh',
'welt',
'welter',
'wench',
'wend',
'wester',
'westernize',
'wet',
'wetnurse',
'whack',
'whale',
'wham',
'whang',
'whap',
'wharf',
'wheedle',
'wheel',
'wheelbarrow',
'wheeze',
'whelm',
'whelp',
'wherrit',
'whet',
'whicker',
'whiff',
'whiffle',
'whimper',
'whine',
'whinge',
'whinny',
'whip',
'whipsaw',
'whipstitch',
'whirl',
'whirr',
'whish',
'whisk',
'whisper',
'whist',
'whistle',
'whistlestop',
'white',
'whiten',
'whitewash',
'whittle',
'whizz',
'wholesale',
'whoop',
'whop',
'whore',
'widen',
'widow',
'wield',
'wig',
'wiggle',
'wigwag',
'wildcat',
'wilder',
'wile',
'will',
'wilt',
'wimble',
'wimple',
'win',
'wince',
'winch',
'wind',
'windlass',
'windmill',
'window',
'windowshop',
'windrow',
'wine',
'wing',
'wink',
'winkle',
'winnow',
'winter',
'winterfeed',
'winterize',
'winterkill',
'wipe',
'wire',
'wiredraw',
'wireless',
'wis',
'wise',
'wisecrack',
'wish',
'wisp',
'wist',
'witch',
'withdraw',
'withe',
'wither',
'withhold',
'withstand',
'witness',
'wive',
'wizen',
'wobble',
'wolf',
'wolfwhistle',
'woman',
'womanize',
'wonder',
'wont',
'woo',
'wood',
'woof',
'woosh',
'word',
'work',
'work-to-rule',
'workharden',
'worm',
'worrit',
'worry',
'worsen',
'worship',
'worst',
'worth',
'would',
'wouldst',
'wow',
'wrack',
'wrangle',
'wrapped',
'wreak',
'wreathe',
'wreck',
'wrench',
'wrest',
'wrestle',
'wrick',
'wriggle',
'wring',
'wrinkle',
'writ',
'write',
'writhe',
'writhen',
'wrong',
'wrongfoot',
'wrought',
'wry',
'X-ray',
'Xerox',
'xylograph',
'yabber',
'yacht',
'yack',
'yammer',
'yank',
'yap',
'yarn',
'yaup',
'yaw',
'yawl',
'yawn',
'yawp',
'yean',
'yearn',
'yell',
'yellow',
'yelp',
'yield',
'yirr',
'yoke',
'york',
'yowl',
'zap',
'zero',
'zest',
'zigzag',
'zindabad',
'zing',
'zip',
'zone',
'zoom',
'zugzwang']
================================================
FILE: corpkit/dictionaries/word_transforms.py
================================================
"""
corpkit: manual word cludging
"""
# WordNet/CoreNLP lemmatiser are used for lemmatisation, but they can both
# struggle with a few things. During lemmatisation, words will be corrected via
# this list. So, if you are asking for lemmas and getting a result you don't like,
# you can insert the word and its correction below and it will be transformed
# automatically.
wordlist = {u"felt": u"feel",
u"'s": u"be",
u"'re": u"be",
u"'m": u"be",
u"'d": u"have",
u"'ve": u"have",
u"n't": u"not",
u"smelt": u"smell",
u"saw": u"see",
u"hated": u"hate",
u"people": u"person",
u"peoples": u"person",
u"persons": u"person",
u"women": u"woman",
u"men": u"man",
u"teen-ager": u"teenager",
u"teen-agers": u"teenager",
u"republicans": u"republican",
u"them": u"they",
u"us": u"we",
u"me": u"i",
u"her": u"she",
u"him": u"he",
u"pdocs": u"pdoc",
u'can': u'can',
u'will': u'will',
u'would': u'will',
u'could': u'can',
u'ca': u'can',
u'may': u'may',
u'should': u'shall',
u'shalt': u'shall',
u"'ll": u'will',
u'might': u'may',
u'wo': u'will',
u'shall': u'shall',
u'mighta': u'may'}
# Turn POS tags into word classes
taglemma = {u"cc": u"Coordinating conjunction",
u"cd": u"Cardinal number",
u"dt": u"Determiner",
u"ex": u"Ex. there",
u"fw": u"Foreign word",
u"in": u"Preposition",
u"ls": u"List item marker",
u"md": u"Modal",
u"pdt": u"Predeterminer",
u"pos": u"Possessive ending",
u"rp": u"Particle",
u"sym": u"Symbol",
u"to": u"to",
u"uh": u"Interjection",
u"wdt": u"Wh-determiner",
u"wp": u"Wh-pronoun",
u"wp$": u"Possessive wh-pronoun",
u"wrb": u"Wh-adverb",
u"vbp": u"Verb",
u"vbz": u"Verb",
u"vbn": u"Verb",
u"vbd": u"Verb",
u"vbg": u"Verb",
u"vb": u"Verb",
u"nnp": u"Noun",
u"nns": u"Noun",
u"nnps": u"Noun",
u"nn": u"Noun",
u"prp": u"Pronoun",
u"prp$": u"Pronoun",
u"jj": u"Adjective",
u"jjr": u"Adjective",
u"jjs": u"Adjective",
u"rb": u"Adverb",
u"rbr": u"Adverb",
u"rbs": u"Adverb",
u"wp": u"Wh- pronoun",
u"wp$": u"Wh- pronoun",
u"-rrb-": u"Bracket",
u"-lrb-": u"Bracket",
u"-rsb-": u"Bracket",
u"-lsb-": u"Bracket",
u"to": u"To",
u'$': u'Symbol',
u'x': u'Other',
u"!": u'Punctuation',
u'"': u'Punctuation',
u"#": u'Punctuation',
u"%": u'Punctuation',
u"&": u'Punctuation',
u"\\": u'Punctuation',
u"'": u'Punctuation',
u"(": u'Punctuation',
u")": u'Punctuation',
u"*": u'Punctuation',
u"+": u'Punctuation',
u",": u'Punctuation',
u"-": u'Punctuation',
u".": u'Punctuation',
u"/": u'Punctuation',
u":": u'Punctuation',
u";": u'Punctuation',
u"<": u'Punctuation',
u"=": u'Punctuation',
u">": u'Punctuation',
u"?": u'Punctuation',
u"@": u'Punctuation',
u"[": u'Punctuation',
u"]": u'Punctuation',
u"^": u'Punctuation',
u"_": u'Punctuation',
u"`": u'Punctuation',
u"{": u'Punctuation',
u"|": u'Punctuation',
u"}": u'Punctuation',
u"~": u'Punctuation'}
# the below produced with:
#
# from corpkit import *
# from corpkit.dictionaries import *
# out = {}
# for wordclass in tagtoclass.values():
# criteria = [tag for tag, clas in tagtoclass.items() if clas == wordclass]
# reg = as_regex(criteria, boundaries='l')
# out[wordclass] = reg
mergetags = {u'Adjective': r'(?i)^(?:jj|jjr|jjs)$',
u'Adverb': r'(?i)^(?:rb|rbr|rbs)$',
u'Bracket': r'(?i)^(?:\-lrb\-|\-lsb\-|\-rrb\-|\-rsb\-)$',
u'Cardinal number': r'(?i)^(?:cd)$',
u'Coordinating conjunction': r'(?i)^(?:cc)$',
u'Determiner': r'(?i)^(?:dt)$',
u'Ex. there': r'(?i)^(?:ex)$',
u'Foreign word': r'(?i)^(?:fw)$',
u'Interjection': r'(?i)^(?:uh)$',
u'List item marker': r'(?i)^(?:ls)$',
u'Modal': r'(?i)^(?:md)$',
u'Noun': r'(?i)^(?:nn|nnp|nnps|nns)$',
U'Other': r'(?i)^(?:x)$',
u'Particle': r'(?i)^(?:rp)$',
u'Possessive ending': r'(?i)^(?:pos)$',
u'Predeterminer': r'(?i)^(?:pdt)$',
u'Preposition': r'(?i)^(?:in)$',
u'Pronoun': r'(?i)^(?:prp|prp\$)$',
u'Symbol': r'(?i)^(?:\$|sym)$',
u'To': r'(?i)^(?:to)$',
u'Verb': r'(?i)^(?:vb|vbd|vbg|vbn|vbp|vbz)$',
u'Wh- pronoun': r'(?i)^(?:wp|wp\$)$',
u'Wh-adverb': r'(?i)^(?:wrb)$',
u'Wh-determiner': r'(?i)^(?:wdt)$'}
# A simple spelling converter
usa_convert = {u"accessorise": u"accessorize",
u"accessorised": u"accessorized",
u"accessorises": u"accessorizes",
u"accessorising": u"accessorizing",
u"acclimatisation": u"acclimatization",
u"acclimatise": u"acclimatize",
u"acclimatised": u"acclimatized",
u"acclimatises": u"acclimatizes",
u"acclimatising": u"acclimatizing",
u"accoutrements": u"accouterments",
u"aeon": u"eon",
u"aeons": u"eons",
u"aerogramme": u"aerogram",
u"aerogrammes": u"aerograms",
u"aeroplane": u"airplane",
u"aeroplanes": u"airplanes",
u"aesthete": u"esthete",
u"aesthetes": u"esthetes",
u"aesthetic": u"esthetic",
u"aesthetically": u"esthetically",
u"aesthetics": u"esthetics",
u"aetiology": u"etiology",
u"ageing": u"aging",
u"aggrandisement": u"aggrandizement",
u"agonise": u"agonize",
u"agonised": u"agonized",
u"agonises": u"agonizes",
u"agonising": u"agonizing",
u"agonisingly": u"agonizingly",
u"almanack": u"almanac",
u"almanacks": u"almanacs",
u"aluminium": u"aluminum",
u"amortisable": u"amortizable",
u"amortisation": u"amortization",
u"amortisations": u"amortizations",
u"amortise": u"amortize",
u"amortised": u"amortized",
u"amortises": u"amortizes",
u"amortising": u"amortizing",
u"amphitheatre": u"amphitheater",
u"amphitheatres": u"amphitheaters",
u"anaemia": u"anemia",
u"anaemic": u"anemic",
u"anaesthesia": u"anesthesia",
u"anaesthetic": u"anesthetic",
u"anaesthetics": u"anesthetics",
u"anaesthetise": u"anesthetize",
u"anaesthetised": u"anesthetized",
u"anaesthetises": u"anesthetizes",
u"anaesthetising": u"anesthetizing",
u"anaesthetist": u"anesthetist",
u"anaesthetists": u"anesthetists",
u"anaesthetize": u"anesthetize",
u"anaesthetized": u"anesthetized",
u"anaesthetizes": u"anesthetizes",
u"anaesthetizing": u"anesthetizing",
u"analogue": u"analog",
u"analogues": u"analogs",
u"analyse": u"analyze",
u"analysed": u"analyzed",
u"analyses": u"analyzes",
u"analysing": u"analyzing",
u"anglicise": u"anglicize",
u"anglicised": u"anglicized",
u"anglicises": u"anglicizes",
u"anglicising": u"anglicizing",
u"annualised": u"annualized",
u"antagonise": u"antagonize",
u"antagonised": u"antagonized",
u"antagonises": u"antagonizes",
u"antagonising": u"antagonizing",
u"apologise": u"apologize",
u"apologised": u"apologized",
u"apologises": u"apologizes",
u"apologising": u"apologizing",
u"appal": u"appall",
u"appals": u"appalls",
u"appetiser": u"appetizer",
u"appetisers": u"appetizers",
u"appetising": u"appetizing",
u"appetisingly": u"appetizingly",
u"arbour": u"arbor",
u"arbours": u"arbors",
u"archaeological": u"archeological",
u"archaeologically": u"archeologically",
u"archaeologist": u"archeologist",
u"archaeologists": u"archeologists",
u"archaeology": u"archeology",
u"ardour": u"ardor",
u"armour": u"armor",
u"armoured": u"armored",
u"armourer": u"armorer",
u"armourers": u"armorers",
u"armouries": u"armories",
u"armoury": u"armory",
u"artefact": u"artifact",
u"artefacts": u"artifacts",
u"authorise": u"authorize",
u"authorised": u"authorized",
u"authorises": u"authorizes",
u"authorising": u"authorizing",
u"axe": u"ax",
u"backpedalled": u"backpedaled",
u"backpedalling": u"backpedaling",
u"bannister": u"banister",
u"bannisters": u"banisters",
u"baptise": u"baptize",
u"baptised": u"baptized",
u"baptises": u"baptizes",
u"baptising": u"baptizing",
u"bastardise": u"bastardize",
u"bastardised": u"bastardized",
u"bastardises": u"bastardizes",
u"bastardising": u"bastardizing",
u"battleaxe": u"battleax",
u"baulk": u"balk",
u"baulked": u"balked",
u"baulking": u"balking",
u"baulks": u"balks",
u"bedevilled": u"bedeviled",
u"bedevilling": u"bedeviling",
u"behaviour": u"behavior",
u"behavioural": u"behavioral",
u"behaviourism": u"behaviorism",
u"behaviourist": u"behaviorist",
u"behaviourists": u"behaviorists",
u"behaviours": u"behaviors",
u"behove": u"behoove",
u"behoved": u"behooved",
u"behoves": u"behooves",
u"bejewelled": u"bejeweled",
u"belabour": u"belabor",
u"belaboured": u"belabored",
u"belabouring": u"belaboring",
u"belabours": u"belabors",
u"bevelled": u"beveled",
u"bevvies": u"bevies",
u"bevvy": u"bevy",
u"biassed": u"biased",
u"biassing": u"biasing",
u"bingeing": u"binging",
u"bougainvillaea": u"bougainvillea",
u"bougainvillaeas": u"bougainvilleas",
u"bowdlerise": u"bowdlerize",
u"bowdlerised": u"bowdlerized",
u"bowdlerises": u"bowdlerizes",
u"bowdlerising": u"bowdlerizing",
u"breathalyse": u"breathalyze",
u"breathalysed": u"breathalyzed",
u"breathalyser": u"breathalyzer",
u"breathalysers": u"breathalyzers",
u"breathalyses": u"breathalyzes",
u"breathalysing": u"breathalyzing",
u"brutalise": u"brutalize",
u"brutalised": u"brutalized",
u"brutalises": u"brutalizes",
u"brutalising": u"brutalizing",
u"buses": u"busses",
u"busing": u"bussing",
u"caesarean": u"cesarean",
u"caesareans": u"cesareans",
u"calibre": u"caliber",
u"calibres": u"calibers",
u"calliper": u"caliper",
u"callipers": u"calipers",
u"callisthenics": u"calisthenics",
u"canalise": u"canalize",
u"canalised": u"canalized",
u"canalises": u"canalizes",
u"canalising": u"canalizing",
u"cancellation": u"cancelation",
u"cancellations": u"cancelations",
u"cancelled": u"canceled",
u"cancelling": u"canceling",
u"candour": u"candor",
u"cannibalise": u"cannibalize",
u"cannibalised": u"cannibalized",
u"cannibalises": u"cannibalizes",
u"cannibalising": u"cannibalizing",
u"canonise": u"canonize",
u"canonised": u"canonized",
u"canonises": u"canonizes",
u"canonising": u"canonizing",
u"capitalise": u"capitalize",
u"capitalised": u"capitalized",
u"capitalises": u"capitalizes",
u"capitalising": u"capitalizing",
u"caramelise": u"caramelize",
u"caramelised": u"caramelized",
u"caramelises": u"caramelizes",
u"caramelising": u"caramelizing",
u"carbonise": u"carbonize",
u"carbonised": u"carbonized",
u"carbonises": u"carbonizes",
u"carbonising": u"carbonizing",
u"carolled": u"caroled",
u"carolling": u"caroling",
u"catalogue": u"catalog",
u"catalogued": u"cataloged",
u"catalogues": u"catalogs",
u"cataloguing": u"cataloging",
u"catalyse": u"catalyze",
u"catalysed": u"catalyzed",
u"catalyses": u"catalyzes",
u"catalysing": u"catalyzing",
u"categorise": u"categorize",
u"categorised": u"categorized",
u"categorises": u"categorizes",
u"categorising": u"categorizing",
u"cauterise": u"cauterize",
u"cauterised": u"cauterized",
u"cauterises": u"cauterizes",
u"cauterising": u"cauterizing",
u"cavilled": u"caviled",
u"cavilling": u"caviling",
u"centigramme": u"centigram",
u"centigrammes": u"centigrams",
u"centilitre": u"centiliter",
u"centilitres": u"centiliters",
u"centimetre": u"centimeter",
u"centimetres": u"centimeters",
u"centralise": u"centralize",
u"centralised": u"centralized",
u"centralises": u"centralizes",
u"centralising": u"centralizing",
u"centre": u"center",
u"centred": u"centered",
u"centrefold": u"centerfold",
u"centrefolds": u"centerfolds",
u"centrepiece": u"centerpiece",
u"centrepieces": u"centerpieces",
u"centres": u"centers",
u"channelled": u"channeled",
u"channelling": u"channeling",
u"characterise": u"characterize",
u"characterised": u"characterized",
u"characterises": u"characterizes",
u"characterising": u"characterizing",
u"cheque": u"check",
u"chequebook": u"checkbook",
u"chequebooks": u"checkbooks",
u"chequered": u"checkered",
u"cheques": u"checks",
u"chilli": u"chili",
u"chimaera": u"chimera",
u"chimaeras": u"chimeras",
u"chiselled": u"chiseled",
u"chiselling": u"chiseling",
u"circularise": u"circularize",
u"circularised": u"circularized",
u"circularises": u"circularizes",
u"circularising": u"circularizing",
u"civilise": u"civilize",
u"civilised": u"civilized",
u"civilises": u"civilizes",
u"civilising": u"civilizing",
u"clamour": u"clamor",
u"clamoured": u"clamored",
u"clamouring": u"clamoring",
u"clamours": u"clamors",
u"clangour": u"clangor",
u"clarinettist": u"clarinetist",
u"clarinettists": u"clarinetists",
u"collectivise": u"collectivize",
u"collectivised": u"collectivized",
u"collectivises": u"collectivizes",
u"collectivising": u"collectivizing",
u"colonisation": u"colonization",
u"colonise": u"colonize",
u"colonised": u"colonized",
u"coloniser": u"colonizer",
u"colonisers": u"colonizers",
u"colonises": u"colonizes",
u"colonising": u"colonizing",
u"colour": u"color",
u"colourant": u"colorant",
u"colourants": u"colorants",
u"coloured": u"colored",
u"coloureds": u"coloreds",
u"colourful": u"colorful",
u"colourfully": u"colorfully",
u"colouring": u"coloring",
u"colourize": u"colorize",
u"colourized": u"colorized",
u"colourizes": u"colorizes",
u"colourizing": u"colorizing",
u"colourless": u"colorless",
u"colours": u"colors",
u"commercialise": u"commercialize",
u"commercialised": u"commercialized",
u"commercialises": u"commercializes",
u"commercialising": u"commercializing",
u"compartmentalise": u"compartmentalize",
u"compartmentalised": u"compartmentalized",
u"compartmentalises": u"compartmentalizes",
u"compartmentalising": u"compartmentalizing",
u"computerise": u"computerize",
u"computerised": u"computerized",
u"computerises": u"computerizes",
u"computerising": u"computerizing",
u"conceptualise": u"conceptualize",
u"conceptualised": u"conceptualized",
u"conceptualises": u"conceptualizes",
u"conceptualising": u"conceptualizing",
u"connexion": u"connection",
u"connexions": u"connections",
u"contextualise": u"contextualize",
u"contextualised": u"contextualized",
u"contextualises": u"contextualizes",
u"contextualising": u"contextualizing",
u"cosier": u"cozier",
u"cosies": u"cozies",
u"cosiest": u"coziest",
u"cosily": u"cozily",
u"cosiness": u"coziness",
u"cosy": u"cozy",
u"councillor": u"councilor",
u"councillors": u"councilors",
u"counselled": u"counseled",
u"counselling": u"counseling",
u"counsellor": u"counselor",
u"counsellors": u"counselors",
u"crenellated": u"crenelated",
u"criminalise": u"criminalize",
u"criminalised": u"criminalized",
u"criminalises": u"criminalizes",
u"criminalising": u"criminalizing",
u"criticise": u"criticize",
u"criticised": u"criticized",
u"criticises": u"criticizes",
u"criticising": u"criticizing",
u"crueller": u"crueler",
u"cruellest": u"cruelest",
u"crystallisation": u"crystallization",
u"crystallise": u"crystallize",
u"crystallised": u"crystallized",
u"crystallises": u"crystallizes",
u"crystallising": u"crystallizing",
u"cudgelled": u"cudgeled",
u"cudgelling": u"cudgeling",
u"customise": u"customize",
u"customised": u"customized",
u"customises": u"customizes",
u"customising": u"customizing",
u"cypher": u"cipher",
u"cyphers": u"ciphers",
u"decentralisation": u"decentralization",
u"decentralise": u"decentralize",
u"decentralised": u"decentralized",
u"decentralises": u"decentralizes",
u"decentralising": u"decentralizing",
u"decriminalisation": u"decriminalization",
u"decriminalise": u"decriminalize",
u"decriminalised": u"decriminalized",
u"decriminalises": u"decriminalizes",
u"decriminalising": u"decriminalizing",
u"defence": u"defense",
u"defenceless": u"defenseless",
u"defences": u"defenses",
u"dehumanisation": u"dehumanization",
u"dehumanise": u"dehumanize",
u"dehumanised": u"dehumanized",
u"dehumanises": u"dehumanizes",
u"dehumanising": u"dehumanizing",
u"demeanour": u"demeanor",
u"demilitarisation": u"demilitarization",
u"demilitarise": u"demilitarize",
u"demilitarised": u"demilitarized",
u"demilitarises": u"demilitarizes",
u"demilitarising": u"demilitarizing",
u"demobilisation": u"demobilization",
u"demobilise": u"demobilize",
u"demobilised": u"demobilized",
u"demobilises": u"demobilizes",
u"demobilising": u"demobilizing",
u"democratisation": u"democratization",
u"democratise": u"democratize",
u"democratised": u"democratized",
u"democratises": u"democratizes",
u"democratising": u"democratizing",
u"demonise": u"demonize",
u"demonised": u"demonized",
u"demonises": u"demonizes",
u"demonising": u"demonizing",
u"demoralisation": u"demoralization",
u"demoralise": u"demoralize",
u"demoralised": u"demoralized",
u"demoralises": u"demoralizes",
u"demoralising": u"demoralizing",
u"denationalisation": u"denationalization",
u"denationalise": u"denationalize",
u"denationalised": u"denationalized",
u"denationalises": u"denationalizes",
u"denationalising": u"denationalizing",
u"deodorise": u"deodorize",
u"deodorised": u"deodorized",
u"deodorises": u"deodorizes",
u"deodorising": u"deodorizing",
u"depersonalise": u"depersonalize",
u"depersonalised": u"depersonalized",
u"depersonalises": u"depersonalizes",
u"depersonalising": u"depersonalizing",
u"deputise": u"deputize",
u"deputised": u"deputized",
u"deputises": u"deputizes",
u"deputising": u"deputizing",
u"desensitisation": u"desensitization",
u"desensitise": u"desensitize",
u"desensitised": u"desensitized",
u"desensitises": u"desensitizes",
u"desensitising": u"desensitizing",
u"destabilisation": u"destabilization",
u"destabilise": u"destabilize",
u"destabilised": u"destabilized",
u"destabilises": u"destabilizes",
u"destabilising": u"destabilizing",
u"dialled": u"dialed",
u"dialling": u"dialing",
u"dialogue": u"dialog",
u"dialogues": u"dialogs",
u"diarrhoea": u"diarrhea",
u"digitise": u"digitize",
u"digitised": u"digitized",
u"digitises": u"digitizes",
u"digitising": u"digitizing",
u"disc": u"disk",
u"discolour": u"discolor",
u"discoloured": u"discolored",
u"discolouring": u"discoloring",
u"discolours": u"discolors",
u"discs": u"disks",
u"disembowelled": u"disemboweled",
u"disembowelling": u"disemboweling",
u"disfavour": u"disfavor",
u"dishevelled": u"disheveled",
u"dishonour": u"dishonor",
u"dishonourable": u"dishonorable",
u"dishonourably": u"dishonorably",
u"dishonoured": u"dishonored",
u"dishonouring": u"dishonoring",
u"dishonours": u"dishonors",
u"disorganisation": u"disorganization",
u"disorganised": u"disorganized",
u"distil": u"distill",
u"distils": u"distills",
u"dramatisation": u"dramatization",
u"dramatisations": u"dramatizations",
u"dramatise": u"dramatize",
u"dramatised": u"dramatized",
u"dramatises": u"dramatizes",
u"dramatising": u"dramatizing",
u"draught": u"draft",
u"draughtboard": u"draftboard",
u"draughtboards": u"draftboards",
u"draughtier": u"draftier",
u"draughtiest": u"draftiest",
u"draughts": u"drafts",
u"draughtsman": u"draftsman",
u"draughtsmanship": u"draftsmanship",
u"draughtsmen": u"draftsmen",
u"draughtswoman": u"draftswoman",
u"draughtswomen": u"draftswomen",
u"draughty": u"drafty",
u"drivelled": u"driveled",
u"drivelling": u"driveling",
u"duelled": u"dueled",
u"duelling": u"dueling",
u"economise": u"economize",
u"economised": u"economized",
u"economises": u"economizes",
u"economising": u"economizing",
u"edoema": u"edema",
u"editorialise": u"editorialize",
u"editorialised": u"editorialized",
u"editorialises": u"editorializes",
u"editorialising": u"editorializing",
u"empathise": u"empathize",
u"empathised": u"empathized",
u"empathises": u"empathizes",
u"empathising": u"empathizing",
u"emphasise": u"emphasize",
u"emphasised": u"emphasized",
u"emphasises": u"emphasizes",
u"emphasising": u"emphasizing",
u"enamelled": u"enameled",
u"enamelling": u"enameling",
u"enamoured": u"enamored",
u"encyclopaedia": u"encyclopedia",
u"encyclopaedias": u"encyclopedias",
u"encyclopaedic": u"encyclopedic",
u"endeavour": u"endeavor",
u"endeavoured": u"endeavored",
u"endeavouring": u"endeavoring",
u"endeavours": u"endeavors",
u"energise": u"energize",
u"energised": u"energized",
u"energises": u"energizes",
u"energising": u"energizing",
u"enrol": u"enroll",
u"enrols": u"enrolls",
u"enthral": u"enthrall",
u"enthrals": u"enthralls",
u"epaulette": u"epaulet",
u"epaulettes": u"epaulets",
u"epicentre": u"epicenter",
u"epicentres": u"epicenters",
u"epilogue": u"epilog",
u"epilogues": u"epilogs",
u"epitomise": u"epitomize",
u"epitomised": u"epitomized",
u"epitomises": u"epitomizes",
u"epitomising": u"epitomizing",
u"equalisation": u"equalization",
u"equalise": u"equalize",
u"equalised": u"equalized",
u"equaliser": u"equalizer",
u"equalisers": u"equalizers",
u"equalises": u"equalizes",
u"equalising": u"equalizing",
u"eulogise": u"eulogize",
u"eulogised": u"eulogized",
u"eulogises": u"eulogizes",
u"eulogising": u"eulogizing",
u"evangelise": u"evangelize",
u"evangelised": u"evangelized",
u"evangelises": u"evangelizes",
u"evangelising": u"evangelizing",
u"exorcise": u"exorcize",
u"exorcised": u"exorcized",
u"exorcises": u"exorcizes",
u"exorcising": u"exorcizing",
u"extemporisation": u"extemporization",
u"extemporise": u"extemporize",
u"extemporised": u"extemporized",
u"extemporises": u"extemporizes",
u"extemporising": u"extemporizing",
u"externalisation": u"externalization",
u"externalisations": u"externalizations",
u"externalise": u"externalize",
u"externalised": u"externalized",
u"externalises": u"externalizes",
u"externalising": u"externalizing",
u"factorise": u"factorize",
u"factorised": u"factorized",
u"factorises": u"factorizes",
u"factorising": u"factorizing",
u"faecal": u"fecal",
u"faeces": u"feces",
u"familiarisation": u"familiarization",
u"familiarise": u"familiarize",
u"familiarised": u"familiarized",
u"familiarises": u"familiarizes",
u"familiarising": u"familiarizing",
u"fantasise": u"fantasize",
u"fantasised": u"fantasized",
u"fantasises": u"fantasizes",
u"fantasising": u"fantasizing",
u"favour": u"favor",
u"favourable": u"favorable",
u"favourably": u"favorably",
u"favoured": u"favored",
u"favouring": u"favoring",
u"favourite": u"favorite",
u"favourites": u"favorites",
u"favouritism": u"favoritism",
u"favours": u"favors",
u"feminise": u"feminize",
u"feminised": u"feminized",
u"feminises": u"feminizes",
u"feminising": u"feminizing",
u"fertilisation": u"fertilization",
u"fertilise": u"fertilize",
u"fertilised": u"fertilized",
u"fertiliser": u"fertilizer",
u"fertilisers": u"fertilizers",
u"fertilises": u"fertilizes",
u"fertilising": u"fertilizing",
u"fervour": u"fervor",
u"fibre": u"fiber",
u"fibreglass": u"fiberglass",
u"fibres": u"fibers",
u"fictionalisation": u"fictionalization",
u"fictionalisations": u"fictionalizations",
u"fictionalise": u"fictionalize",
u"fictionalised": u"fictionalized",
u"fictionalises": u"fictionalizes",
u"fictionalising": u"fictionalizing",
u"fillet": u"filet",
u"filleted": u"fileted",
u"filleting": u"fileting",
u"fillets": u"filets",
u"finalisation": u"finalization",
u"finalise": u"finalize",
u"finalised": u"finalized",
u"finalises": u"finalizes",
u"finalising": u"finalizing",
u"flautist": u"flutist",
u"flautists": u"flutists",
u"flavour": u"flavor",
u"flavoured": u"flavored",
u"flavouring": u"flavoring",
u"flavourings": u"flavorings",
u"flavourless": u"flavorless",
u"flavours": u"flavors",
u"flavoursome": u"flavorsome",
u"flyer / flier": u"flier / flyer",
u"foetal": u"fetal",
u"foetid": u"fetid",
u"foetus": u"fetus",
u"foetuses": u"fetuses",
u"formalisation": u"formalization",
u"formalise": u"formalize",
u"formalised": u"formalized",
u"formalises": u"formalizes",
u"formalising": u"formalizing",
u"fossilisation": u"fossilization",
u"fossilise": u"fossilize",
u"fossilised": u"fossilized",
u"fossilises": u"fossilizes",
u"fossilising": u"fossilizing",
u"fraternisation": u"fraternization",
u"fraternise": u"fraternize",
u"fraternised": u"fraternized",
u"fraternises": u"fraternizes",
u"fraternising": u"fraternizing",
u"fulfil": u"fulfill",
u"fulfilment": u"fulfillment",
u"fulfils": u"fulfills",
u"funnelled": u"funneled",
u"funnelling": u"funneling",
u"galvanise": u"galvanize",
u"galvanised": u"galvanized",
u"galvanises": u"galvanizes",
u"galvanising": u"galvanizing",
u"gambolled": u"gamboled",
u"gambolling": u"gamboling",
u"gaol": u"jail",
u"gaolbird": u"jailbird",
u"gaolbirds": u"jailbirds",
u"gaolbreak": u"jailbreak",
u"gaolbreaks": u"jailbreaks",
u"gaoled": u"jailed",
u"gaoler": u"jailer",
u"gaolers": u"jailers",
u"gaoling": u"jailing",
u"gaols": u"jails",
u"gases": u"gasses",
u"gauge": u"gage",
u"gauged": u"gaged",
u"gauges": u"gages",
u"gauging": u"gaging",
u"generalisation": u"generalization",
u"generalisations": u"generalizations",
u"generalise": u"generalize",
u"generalised": u"generalized",
u"generalises": u"generalizes",
u"generalising": u"generalizing",
u"ghettoise": u"ghettoize",
u"ghettoised": u"ghettoized",
u"ghettoises": u"ghettoizes",
u"ghettoising": u"ghettoizing",
u"gipsies": u"gypsies",
u"glamorise": u"glamorize",
u"glamorised": u"glamorized",
u"glamorises": u"glamorizes",
u"glamorising": u"glamorizing",
u"glamour": u"glamor",
u"globalisation": u"globalization",
u"globalise": u"globalize",
u"globalised": u"globalized",
u"globalises": u"globalizes",
u"globalising": u"globalizing",
u"glueing": u"gluing",
u"goitre": u"goiter",
u"goitres": u"goiters",
u"gonorrhoea": u"gonorrhea",
u"gramme": u"gram",
u"grammes": u"grams",
u"gravelled": u"graveled",
u"grey": u"gray",
u"greyed": u"grayed",
u"greying": u"graying",
u"greyish": u"grayish",
u"greyness": u"grayness",
u"greys": u"grays",
u"grovelled": u"groveled",
u"grovelling": u"groveling",
u"groyne": u"groin",
u"groynes": u"groins",
u"gruelling": u"grueling",
u"gruellingly": u"gruelingly",
u"gryphon": u"griffin",
u"gryphons": u"griffins",
u"gynaecological": u"gynecological",
u"gynaecologist": u"gynecologist",
u"gynaecologists": u"gynecologists",
u"gynaecology": u"gynecology",
u"haematological": u"hematological",
u"haematologist": u"hematologist",
u"haematologists": u"hematologists",
u"haematology": u"hematology",
u"haemoglobin": u"hemoglobin",
u"haemophilia": u"hemophilia",
u"haemophiliac": u"hemophiliac",
u"haemophiliacs": u"hemophiliacs",
u"haemorrhage": u"hemorrhage",
u"haemorrhaged": u"hemorrhaged",
u"haemorrhages": u"hemorrhages",
u"haemorrhaging": u"hemorrhaging",
u"haemorrhoids": u"hemorrhoids",
u"harbour": u"harbor",
u"harboured": u"harbored",
u"harbouring": u"harboring",
u"harbours": u"harbors",
u"harmonisation": u"harmonization",
u"harmonise": u"harmonize",
u"harmonised": u"harmonized",
u"harmonises": u"harmonizes",
u"harmonising": u"harmonizing",
u"homoeopath": u"homeopath",
u"homoeopathic": u"homeopathic",
u"homoeopaths": u"homeopaths",
u"homoeopathy": u"homeopathy",
u"homogenise": u"homogenize",
u"homogenised": u"homogenized",
u"homogenises": u"homogenizes",
u"homogenising": u"homogenizing",
u"honour": u"honor",
u"honourable": u"honorable",
u"honourably": u"honorably",
u"honoured": u"honored",
u"honouring": u"honoring",
u"honours": u"honors",
u"hospitalisation": u"hospitalization",
u"hospitalise": u"hospitalize",
u"hospitalised": u"hospitalized",
u"hospitalises": u"hospitalizes",
u"hospitalising": u"hospitalizing",
u"humanise": u"humanize",
u"humanised": u"humanized",
u"humanises": u"humanizes",
u"humanising": u"humanizing",
u"humour": u"humor",
u"humoured": u"humored",
u"humouring": u"humoring",
u"humourless": u"humorless",
u"humours": u"humors",
u"hybridise": u"hybridize",
u"hybridised": u"hybridized",
u"hybridises": u"hybridizes",
u"hybridising": u"hybridizing",
u"hypnotise": u"hypnotize",
u"hypnotised": u"hypnotized",
u"hypnotises": u"hypnotizes",
u"hypnotising": u"hypnotizing",
u"hypothesise": u"hypothesize",
u"hypothesised": u"hypothesized",
u"hypothesises": u"hypothesizes",
u"hypothesising": u"hypothesizing",
u"idealisation": u"idealization",
u"idealise": u"idealize",
u"idealised": u"idealized",
u"idealises": u"idealizes",
u"idealising": u"idealizing",
u"idolise": u"idolize",
u"idolised": u"idolized",
u"idolises": u"idolizes",
u"idolising": u"idolizing",
u"immobilisation": u"immobilization",
u"immobilise": u"immobilize",
u"immobilised": u"immobilized",
u"immobiliser": u"immobilizer",
u"immobilisers": u"immobilizers",
u"immobilises": u"immobilizes",
u"immobilising": u"immobilizing",
u"immortalise": u"immortalize",
u"immortalised": u"immortalized",
u"immortalises": u"immortalizes",
u"immortalising": u"immortalizing",
u"immunisation": u"immunization",
u"immunise": u"immunize",
u"immunised": u"immunized",
u"immunises": u"immunizes",
u"immunising": u"immunizing",
u"impanelled": u"impaneled",
u"impanelling": u"impaneling",
u"imperilled": u"imperiled",
u"imperilling": u"imperiling",
u"individualise": u"individualize",
u"individualised": u"individualized",
u"individualises": u"individualizes",
u"individualising": u"individualizing",
u"industrialise": u"industrialize",
u"industrialised": u"industrialized",
u"industrialises": u"industrializes",
u"industrialising": u"industrializing",
u"inflexion": u"inflection",
u"inflexions": u"inflections",
u"initialise": u"initialize",
u"initialised": u"initialized",
u"initialises": u"initializes",
u"initialising": u"initializing",
u"initialled": u"initialed",
u"initialling": u"initialing",
u"instal": u"install",
u"instalment": u"installment",
u"instalments": u"installments",
u"instals": u"installs",
u"instil": u"instill",
u"instils": u"instills",
u"institutionalisation": u"institutionalization",
u"institutionalise": u"institutionalize",
u"institutionalised": u"institutionalized",
u"institutionalises": u"institutionalizes",
u"institutionalising": u"institutionalizing",
u"intellectualise": u"intellectualize",
u"intellectualised": u"intellectualized",
u"intellectualises": u"intellectualizes",
u"intellectualising": u"intellectualizing",
u"internalisation": u"internalization",
u"internalise": u"internalize",
u"internalised": u"internalized",
u"internalises": u"internalizes",
u"internalising": u"internalizing",
u"internationalisation": u"internationalization",
u"internationalise": u"internationalize",
u"internationalised": u"internationalized",
u"internationalises": u"internationalizes",
u"internationalising": u"internationalizing",
u"ionisation": u"ionization",
u"ionise": u"ionize",
u"ionised": u"ionized",
u"ioniser": u"ionizer",
u"ionisers": u"ionizers",
u"ionises": u"ionizes",
u"ionising": u"ionizing",
u"italicise": u"italicize",
u"italicised": u"italicized",
u"italicises": u"italicizes",
u"italicising": u"italicizing",
u"itemise": u"itemize",
u"itemised": u"itemized",
u"itemises": u"itemizes",
u"itemising": u"itemizing",
u"jeopardise": u"jeopardize",
u"jeopardised": u"jeopardized",
u"jeopardises": u"jeopardizes",
u"jeopardising": u"jeopardizing",
u"jewelled": u"jeweled",
u"jeweller": u"jeweler",
u"jewellers": u"jewelers",
u"jewellery": u"jewelry",
u"judgement": u"judgment",
u"kilogramme": u"kilogram",
u"kilogrammes": u"kilograms",
u"kilometre": u"kilometer",
u"kilometres": u"kilometers",
u"labelled": u"labeled",
u"labelling": u"labeling",
u"labour": u"labor",
u"laboured": u"labored",
u"labourer": u"laborer",
u"labourers": u"laborers",
u"labouring": u"laboring",
u"labours": u"labors",
u"lacklustre": u"lackluster",
u"legalisation": u"legalization",
u"legalise": u"legalize",
u"legalised": u"legalized",
u"legalises": u"legalizes",
u"legalising": u"legalizing",
u"legitimise": u"legitimize",
u"legitimised": u"legitimized",
u"legitimises": u"legitimizes",
u"legitimising": u"legitimizing",
u"leukaemia": u"leukemia",
u"levelled": u"leveled",
u"leveller": u"leveler",
u"levellers": u"levelers",
u"levelling": u"leveling",
u"libelled": u"libeled",
u"libelling": u"libeling",
u"libellous": u"libelous",
u"liberalisation": u"liberalization",
u"liberalise": u"liberalize",
u"liberalised": u"liberalized",
u"liberalises": u"liberalizes",
u"liberalising": u"liberalizing",
u"licence": u"license",
u"licenced": u"licensed",
u"licences": u"licenses",
u"licencing": u"licensing",
u"likeable": u"likable",
u"lionisation": u"lionization",
u"lionise": u"lionize",
u"lionised": u"lionized",
u"lionises": u"lionizes",
u"lionising": u"lionizing",
u"liquidise": u"liquidize",
u"liquidised": u"liquidized",
u"liquidiser": u"liquidizer",
u"liquidisers": u"liquidizers",
u"liquidises": u"liquidizes",
u"liquidising": u"liquidizing",
u"litre": u"liter",
u"litres": u"liters",
u"localise": u"localize",
u"localised": u"localized",
u"localises": u"localizes",
u"localising": u"localizing",
u"louvre": u"louver",
u"louvred": u"louvered",
u"louvres": u"louvers",
u"lustre": u"luster",
u"magnetise": u"magnetize",
u"magnetised": u"magnetized",
u"magnetises": u"magnetizes",
u"magnetising": u"magnetizing",
u"manoeuvrability": u"maneuverability",
u"manoeuvrable": u"maneuverable",
u"manoeuvre": u"maneuver",
u"manoeuvred": u"maneuvered",
u"manoeuvres": u"maneuvers",
u"manoeuvring": u"maneuvering",
u"manoeuvrings": u"maneuverings",
u"marginalisation": u"marginalization",
u"marginalise": u"marginalize",
u"marginalised": u"marginalized",
u"marginalises": u"marginalizes",
u"marginalising": u"marginalizing",
u"marshalled": u"marshaled",
u"marshalling": u"marshaling",
u"marvelled": u"marveled",
u"marvelling": u"marveling",
u"marvellous": u"marvelous",
u"marvellously": u"marvelously",
u"materialisation": u"materialization",
u"materialise": u"materialize",
u"materialised": u"materialized",
u"materialises": u"materializes",
u"materialising": u"materializing",
u"maximisation": u"maximization",
u"maximise": u"maximize",
u"maximised": u"maximized",
u"maximises": u"maximizes",
u"maximising": u"maximizing",
u"meagre": u"meager",
u"mechanisation": u"mechanization",
u"mechanise": u"mechanize",
u"mechanised": u"mechanized",
u"mechanises": u"mechanizes",
u"mechanising": u"mechanizing",
u"mediaeval": u"medieval",
u"memorialise": u"memorialize",
u"memorialised": u"memorialized",
u"memorialises": u"memorializes",
u"memorialising": u"memorializing",
u"memorise": u"memorize",
u"memorised": u"memorized",
u"memorises": u"memorizes",
u"memorising": u"memorizing",
u"mesmerise": u"mesmerize",
u"mesmerised": u"mesmerized",
u"mesmerises": u"mesmerizes",
u"mesmerising": u"mesmerizing",
u"metabolise": u"metabolize",
u"metabolised": u"metabolized",
u"metabolises": u"metabolizes",
u"metabolising": u"metabolizing",
u"metre": u"meter",
u"metres": u"meters",
u"micrometre": u"micrometer",
u"micrometres": u"micrometers",
u"militarise": u"militarize",
u"militarised": u"militarized",
u"militarises": u"militarizes",
u"militarising": u"militarizing",
u"milligramme": u"milligram",
u"milligrammes": u"milligrams",
u"millilitre": u"milliliter",
u"millilitres": u"milliliters",
u"millimetre": u"millimeter",
u"millimetres": u"millimeters",
u"miniaturisation": u"miniaturization",
u"miniaturise": u"miniaturize",
u"miniaturised": u"miniaturized",
u"miniaturises": u"miniaturizes",
u"miniaturising": u"miniaturizing",
u"minibuses": u"minibusses",
u"minimise": u"minimize",
u"minimised": u"minimized",
u"minimises": u"minimizes",
u"minimising": u"minimizing",
u"misbehaviour": u"misbehavior",
u"misdemeanour": u"misdemeanor",
u"misdemeanours": u"misdemeanors",
u"misspelt": u"misspelled",
u"mitre": u"miter",
u"mitres": u"miters",
u"mobilisation": u"mobilization",
u"mobilise": u"mobilize",
u"mobilised": u"mobilized",
u"mobilises": u"mobilizes",
u"mobilising": u"mobilizing",
u"modelled": u"modeled",
u"modeller": u"modeler",
u"modellers": u"modelers",
u"modelling": u"modeling",
u"modernise": u"modernize",
u"modernised": u"modernized",
u"modernises": u"modernizes",
u"modernising": u"modernizing",
u"moisturise": u"moisturize",
u"moisturised": u"moisturized",
u"moisturiser": u"moisturizer",
u"moisturisers": u"moisturizers",
u"moisturises": u"moisturizes",
u"moisturising": u"moisturizing",
u"monologue": u"monolog",
u"monologues": u"monologs",
u"monopolisation": u"monopolization",
u"monopolise": u"monopolize",
u"monopolised": u"monopolized",
u"monopolises": u"monopolizes",
u"monopolising": u"monopolizing",
u"moralise": u"moralize",
u"moralised": u"moralized",
u"moralises": u"moralizes",
u"moralising": u"moralizing",
u"motorised": u"motorized",
u"mould": u"mold",
u"moulded": u"molded",
u"moulder": u"molder",
u"mouldered": u"moldered",
u"mouldering": u"moldering",
u"moulders": u"molders",
u"mouldier": u"moldier",
u"mouldiest": u"moldiest",
u"moulding": u"molding",
u"mouldings": u"moldings",
u"moulds": u"molds",
u"mouldy": u"moldy",
u"moult": u"molt",
u"moulted": u"molted",
u"moulting": u"molting",
u"moults": u"molts",
u"moustache": u"mustache",
u"moustached": u"mustached",
u"moustaches": u"mustaches",
u"moustachioed": u"mustachioed",
u"multicoloured": u"multicolored",
u"nationalisation": u"nationalization",
u"nationalisations": u"nationalizations",
u"nationalise": u"nationalize",
u"nationalised": u"nationalized",
u"nationalises": u"nationalizes",
u"nationalising": u"nationalizing",
u"naturalisation": u"naturalization",
u"naturalise": u"naturalize",
u"naturalised": u"naturalized",
u"naturalises": u"naturalizes",
u"naturalising": u"naturalizing",
u"neighbour": u"neighbor",
u"neighbourhood": u"neighborhood",
u"neighbourhoods": u"neighborhoods",
u"neighbouring": u"neighboring",
u"neighbourliness": u"neighborliness",
u"neighbourly": u"neighborly",
u"neighbours": u"neighbors",
u"neutralisation": u"neutralization",
u"neutralise": u"neutralize",
u"neutralised": u"neutralized",
u"neutralises": u"neutralizes",
u"neutralising": u"neutralizing",
u"normalisation": u"normalization",
u"normalise": u"normalize",
u"normalised": u"normalized",
u"normalises": u"normalizes",
u"normalising": u"normalizing",
u"odour": u"odor",
u"odourless": u"odorless",
u"odours": u"odors",
u"oesophagus": u"esophagus",
u"oesophaguses": u"esophaguses",
u"oestrogen": u"estrogen",
u"offence": u"offense",
u"offences": u"offenses",
u"omelette": u"omelet",
u"omelettes": u"omelets",
u"optimise": u"optimize",
u"optimised": u"optimized",
u"optimises": u"optimizes",
u"optimising": u"optimizing",
u"organisation": u"organization",
u"organisational": u"organizational",
u"organisations": u"organizations",
u"organise": u"organize",
u"organised": u"organized",
u"organiser": u"organizer",
u"organisers": u"organizers",
u"organises": u"organizes",
u"organising": u"organizing",
u"orthopaedic": u"orthopedic",
u"orthopaedics": u"orthopedics",
u"ostracise": u"ostracize",
u"ostracised": u"ostracized",
u"ostracises": u"ostracizes",
u"ostracising": u"ostracizing",
u"outmanoeuvre": u"outmaneuver",
u"outmanoeuvred": u"outmaneuvered",
u"outmanoeuvres": u"outmaneuvers",
u"outmanoeuvring": u"outmaneuvering",
u"overemphasise": u"overemphasize",
u"overemphasised": u"overemphasized",
u"overemphasises": u"overemphasizes",
u"overemphasising": u"overemphasizing",
u"oxidisation": u"oxidization",
u"oxidise": u"oxidize",
u"oxidised": u"oxidized",
u"oxidises": u"oxidizes",
u"oxidising": u"oxidizing",
u"paederast": u"pederast",
u"paederasts": u"pederasts",
u"paediatric": u"pediatric",
u"paediatrician": u"pediatrician",
u"paediatricians": u"pediatricians",
u"paediatrics": u"pediatrics",
u"paedophile": u"pedophile",
u"paedophiles": u"pedophiles",
u"paedophilia": u"pedophilia",
u"palaeolithic": u"paleolithic",
u"palaeontologist": u"paleontologist",
u"palaeontologists": u"paleontologists",
u"palaeontology": u"paleontology",
u"panelled": u"paneled",
u"panelling": u"paneling",
u"panellist": u"panelist",
u"panellists": u"panelists",
u"paralyse": u"paralyze",
u"paralysed": u"paralyzed",
u"paralyses": u"paralyzes",
u"paralysing": u"paralyzing",
u"parcelled": u"parceled",
u"parcelling": u"parceling",
u"parlour": u"parlor",
u"parlours": u"parlors",
u"particularise": u"particularize",
u"particularised": u"particularized",
u"particularises": u"particularizes",
u"particularising": u"particularizing",
u"passivisation": u"passivization",
u"passivise": u"passivize",
u"passivised": u"passivized",
u"passivises": u"passivizes",
u"passivising": u"passivizing",
u"pasteurisation": u"pasteurization",
u"pasteurise": u"pasteurize",
u"pasteurised": u"pasteurized",
u"pasteurises": u"pasteurizes",
u"pasteurising": u"pasteurizing",
u"patronise": u"patronize",
u"patronised": u"patronized",
u"patronises": u"patronizes",
u"patronising": u"patronizing",
u"patronisingly": u"patronizingly",
u"pedalled": u"pedaled",
u"pedalling": u"pedaling",
u"pedestrianisation": u"pedestrianization",
u"pedestrianise": u"pedestrianize",
u"pedestrianised": u"pedestrianized",
u"pedestrianises": u"pedestrianizes",
u"pedestrianising": u"pedestrianizing",
u"penalise": u"penalize",
u"penalised": u"penalized",
u"penalises": u"penalizes",
u"penalising": u"penalizing",
u"pencilled": u"penciled",
u"pencilling": u"penciling",
u"personalise": u"personalize",
u"personalised": u"personalized",
u"personalises": u"personalizes",
u"personalising": u"personalizing",
u"pharmacopoeia": u"pharmacopeia",
u"pharmacopoeias": u"pharmacopeias",
u"philosophise": u"philosophize",
u"philosophised": u"philosophized",
u"philosophises": u"philosophizes",
u"philosophising": u"philosophizing",
u"philtre": u"filter",
u"philtres": u"filters",
u"phoney": u"phony",
u"plagiarise": u"plagiarize",
u"plagiarised": u"plagiarized",
u"plagiarises": u"plagiarizes",
u"plagiarising": u"plagiarizing",
u"plough": u"plow",
u"ploughed": u"plowed",
u"ploughing": u"plowing",
u"ploughman": u"plowman",
u"ploughmen": u"plowmen",
u"ploughs": u"plows",
u"ploughshare": u"plowshare",
u"ploughshares": u"plowshares",
u"polarisation": u"polarization",
u"polarise": u"polarize",
u"polarised": u"polarized",
u"polarises": u"polarizes",
u"polarising": u"polarizing",
u"politicisation": u"politicization",
u"politicise": u"politicize",
u"politicised": u"politicized",
u"politicises": u"politicizes",
u"politicising": u"politicizing",
u"popularisation": u"popularization",
u"popularise": u"popularize",
u"popularised": u"popularized",
u"popularises": u"popularizes",
u"popularising": u"popularizing",
u"pouffe": u"pouf",
u"pouffes": u"poufs",
u"practise": u"practice",
u"practised": u"practiced",
u"practises": u"practices",
u"practising": u"practicing",
u"praesidium": u"presidium",
u"praesidiums": u"presidiums",
u"pressurisation": u"pressurization",
u"pressurise": u"pressurize",
u"pressurised": u"pressurized",
u"pressurises": u"pressurizes",
u"pressurising": u"pressurizing",
u"pretence": u"pretense",
u"pretences": u"pretenses",
u"primaeval": u"primeval",
u"prioritisation": u"prioritization",
u"prioritise": u"prioritize",
u"prioritised": u"prioritized",
u"prioritises": u"prioritizes",
u"prioritising": u"prioritizing",
u"privatisation": u"privatization",
u"privatisations": u"privatizations",
u"privatise": u"privatize",
u"privatised": u"privatized",
u"privatises": u"privatizes",
u"privatising": u"privatizing",
u"professionalisation": u"professionalization",
u"professionalise": u"professionalize",
u"professionalised": u"professionalized",
u"professionalises": u"professionalizes",
u"professionalising": u"professionalizing",
u"programme": u"program",
u"programmes": u"programs",
u"prologue": u"prolog",
u"prologues": u"prologs",
u"propagandise": u"propagandize",
u"propagandised": u"propagandized",
u"propagandises": u"propagandizes",
u"propagandising": u"propagandizing",
u"proselytise": u"proselytize",
u"proselytised": u"proselytized",
u"proselytiser": u"proselytizer",
u"proselytisers": u"proselytizers",
u"proselytises": u"proselytizes",
u"proselytising": u"proselytizing",
u"psychoanalyse": u"psychoanalyze",
u"psychoanalysed": u"psychoanalyzed",
u"psychoanalyses": u"psychoanalyzes",
u"psychoanalysing": u"psychoanalyzing",
u"publicise": u"publicize",
u"publicised": u"publicized",
u"publicises": u"publicizes",
u"publicising": u"publicizing",
u"pulverisation": u"pulverization",
u"pulverise": u"pulverize",
u"pulverised": u"pulverized",
u"pulverises": u"pulverizes",
u"pulverising": u"pulverizing",
u"pummelled": u"pummel",
u"pummelling": u"pummeled",
u"pyjama": u"pajama",
u"pyjamas": u"pajamas",
u"pzazz": u"pizzazz",
u"quarrelled": u"quarreled",
u"quarrelling": u"quarreling",
u"radicalise": u"radicalize",
u"radicalised": u"radicalized",
u"radicalises": u"radicalizes",
u"radicalising": u"radicalizing",
u"rancour": u"rancor",
u"randomise": u"randomize",
u"randomised": u"randomized",
u"randomises": u"randomizes",
u"randomising": u"randomizing",
u"rationalisation": u"rationalization",
u"rationalisations": u"rationalizations",
u"rationalise": u"rationalize",
u"rationalised": u"rationalized",
u"rationalises": u"rationalizes",
u"rationalising": u"rationalizing",
u"ravelled": u"raveled",
u"ravelling": u"raveling",
u"realisable": u"realizable",
u"realisation": u"realization",
u"realisations": u"realizations",
u"realise": u"realize",
u"realised": u"realized",
u"realises": u"realizes",
u"realising": u"realizing",
u"recognisable": u"recognizable",
u"recognisably": u"recognizably",
u"recognisance": u"recognizance",
u"recognise": u"recognize",
u"recognised": u"recognized",
u"recognises": u"recognizes",
u"recognising": u"recognizing",
u"reconnoitre": u"reconnoiter",
u"reconnoitred": u"reconnoitered",
u"reconnoitres": u"reconnoiters",
u"reconnoitring": u"reconnoitering",
u"refuelled": u"refueled",
u"refuelling": u"refueling",
u"regularisation": u"regularization",
u"regularise": u"regularize",
u"regularised": u"regularized",
u"regularises": u"regularizes",
u"regularising": u"regularizing",
u"remodelled": u"remodeled",
u"remodelling": u"remodeling",
u"remould": u"remold",
u"remoulded": u"remolded",
u"remoulding": u"remolding",
u"remoulds": u"remolds",
u"reorganisation": u"reorganization",
u"reorganisations": u"reorganizations",
u"reorganise": u"reorganize",
u"reorganised": u"reorganized",
u"reorganises": u"reorganizes",
u"reorganising": u"reorganizing",
u"revelled": u"reveled",
u"reveller": u"reveler",
u"revellers": u"revelers",
u"revelling": u"reveling",
u"revitalise": u"revitalize",
u"revitalised": u"revitalized",
u"revitalises": u"revitalizes",
u"revitalising": u"revitalizing",
u"revolutionise": u"revolutionize",
u"revolutionised": u"revolutionized",
u"revolutionises": u"revolutionizes",
u"revolutionising": u"revolutionizing",
u"rhapsodise": u"rhapsodize",
u"rhapsodised": u"rhapsodized",
u"rhapsodises": u"rhapsodizes",
u"rhapsodising": u"rhapsodizing",
u"rigour": u"rigor",
u"rigours": u"rigors",
u"ritualised": u"ritualized",
u"rivalled": u"rivaled",
u"rivalling": u"rivaling",
u"romanticise": u"romanticize",
u"romanticised": u"romanticized",
u"romanticises": u"romanticizes",
u"romanticising": u"romanticizing",
u"rumour": u"rumor",
u"rumoured": u"rumored",
u"rumours": u"rumors",
u"sabre": u"saber",
u"sabres": u"sabers",
u"saltpetre": u"saltpeter",
u"sanitise": u"sanitize",
u"sanitised": u"sanitized",
u"sanitises": u"sanitizes",
u"sanitising": u"sanitizing",
u"satirise": u"satirize",
u"satirised": u"satirized",
u"satirises": u"satirizes",
u"satirising": u"satirizing",
u"saviour": u"savior",
u"saviours": u"saviors",
u"savour": u"savor",
u"savoured": u"savored",
u"savouries": u"savories",
u"savouring": u"savoring",
u"savours": u"savors",
u"savoury": u"savory",
u"scandalise": u"scandalize",
u"scandalised": u"scandalized",
u"scandalises": u"scandalizes",
u"scandalising": u"scandalizing",
u"sceptic": u"skeptic",
u"sceptical": u"skeptical",
u"sceptically": u"skeptically",
u"scepticism": u"skepticism",
u"sceptics": u"skeptics",
u"sceptre": u"scepter",
u"sceptres": u"scepters",
u"scrutinise": u"scrutinize",
u"scrutinised": u"scrutinized",
u"scrutinises": u"scrutinizes",
u"scrutinising": u"scrutinizing",
u"secularisation": u"secularization",
u"secularise": u"secularize",
u"secularised": u"secularized",
u"secularises": u"secularizes",
u"secularising": u"secularizing",
u"sensationalise": u"sensationalize",
u"sensationalised": u"sensationalized",
u"sensationalises": u"sensationalizes",
u"sensationalising": u"sensationalizing",
u"sensitise": u"sensitize",
u"sensitised": u"sensitized",
u"sensitises": u"sensitizes",
u"sensitising": u"sensitizing",
u"sentimentalise": u"sentimentalize",
u"sentimentalised": u"sentimentalized",
u"sentimentalises": u"sentimentalizes",
u"sentimentalising": u"sentimentalizing",
u"sepulchre": u"sepulcher",
u"sepulchres": u"sepulchers",
u"serialisation": u"serialization",
u"serialisations": u"serializations",
u"serialise": u"serialize",
u"serialised": u"serialized",
u"serialises": u"serializes",
u"serialising": u"serializing",
u"sermonise": u"sermonize",
u"sermonised": u"sermonized",
u"sermonises": u"sermonizes",
u"sermonising": u"sermonizing",
u"sheikh": u"sheik",
u"shovelled": u"shoveled",
u"shovelling": u"shoveling",
u"shrivelled": u"shriveled",
u"shrivelling": u"shriveling",
u"signalise": u"signalize",
u"signalised": u"signalized",
u"signalises": u"signalizes",
u"signalising": u"signalizing",
u"signalled": u"signaled",
u"signalling": u"signaling",
u"smoulder": u"smolder",
u"smouldered": u"smoldered",
u"smouldering": u"smoldering",
u"smoulders": u"smolders",
u"snivelled": u"sniveled",
u"snivelling": u"sniveling",
u"snorkelled": u"snorkeled",
u"snorkelling": u"snorkeling",
u"snowplough": u"snowplow",
u"snowploughs": u"snowplow",
u"socialisation": u"socialization",
u"socialise": u"socialize",
u"socialised": u"socialized",
u"socialises": u"socializes",
u"socialising": u"socializing",
u"sodomise": u"sodomize",
u"sodomised": u"sodomized",
u"sodomises": u"sodomizes",
u"sodomising": u"sodomizing",
u"solemnise": u"solemnize",
u"solemnised": u"solemnized",
u"solemnises": u"solemnizes",
u"solemnising": u"solemnizing",
u"sombre": u"somber",
u"specialisation": u"specialization",
u"specialisations": u"specializations",
u"specialise": u"specialize",
u"specialised": u"specialized",
u"specialises": u"specializes",
u"specialising": u"specializing",
u"spectre": u"specter",
u"spectres": u"specters",
u"spiralled": u"spiraled",
u"spiralling": u"spiraling",
u"splendour": u"splendor",
u"splendours": u"splendors",
u"squirrelled": u"squirreled",
u"squirrelling": u"squirreling",
u"stabilisation": u"stabilization",
u"stabilise": u"stabilize",
u"stabilised": u"stabilized",
u"stabiliser": u"stabilizer",
u"stabilisers": u"stabilizers",
u"stabilises": u"stabilizes",
u"stabilising": u"stabilizing",
u"standardisation": u"standardization",
u"standardise": u"standardize",
u"standardised": u"standardized",
u"standardises": u"standardizes",
u"standardising": u"standardizing",
u"stencilled": u"stenciled",
u"stencilling": u"stenciling",
u"sterilisation": u"sterilization",
u"sterilisations": u"sterilizations",
u"sterilise": u"sterilize",
u"sterilised": u"sterilized",
u"steriliser": u"sterilizer",
u"sterilisers": u"sterilizers",
u"sterilises": u"sterilizes",
u"sterilising": u"sterilizing",
u"stigmatisation": u"stigmatization",
u"stigmatise": u"stigmatize",
u"stigmatised": u"stigmatized",
u"stigmatises": u"stigmatizes",
u"stigmatising": u"stigmatizing",
u"storey": u"story",
u"storeys": u"stories",
u"subsidisation": u"subsidization",
u"subsidise": u"subsidize",
u"subsidised": u"subsidized",
u"subsidiser": u"subsidizer",
u"subsidisers": u"subsidizers",
u"subsidises": u"subsidizes",
u"subsidising": u"subsidizing",
u"succour": u"succor",
u"succoured": u"succored",
u"succouring": u"succoring",
u"succours": u"succors",
u"sulphate": u"sulfate",
u"sulphates": u"sulfates",
u"sulphide": u"sulfide",
u"sulphides": u"sulfides",
u"sulphur": u"sulfur",
u"sulphurous": u"sulfurous",
u"summarise": u"summarize",
u"summarised": u"summarized",
u"summarises": u"summarizes",
u"summarising": u"summarizing",
u"swivelled": u"swiveled",
u"swivelling": u"swiveling",
u"symbolise": u"symbolize",
u"symbolised": u"symbolized",
u"symbolises": u"symbolizes",
u"symbolising": u"symbolizing",
u"sympathise": u"sympathize",
u"sympathised": u"sympathized",
u"sympathiser": u"sympathizer",
u"sympathisers": u"sympathizers",
u"sympathises": u"sympathizes",
u"sympathising": u"sympathizing",
u"synchronisation": u"synchronization",
u"synchronise": u"synchronize",
u"synchronised": u"synchronized",
u"synchronises": u"synchronizes",
u"synchronising": u"synchronizing",
u"synthesise": u"synthesize",
u"synthesised": u"synthesized",
u"synthesiser": u"synthesizer",
u"synthesisers": u"synthesizers",
u"synthesises": u"synthesizes",
u"synthesising": u"synthesizing",
u"syphon": u"siphon",
u"syphoned": u"siphoned",
u"syphoning": u"siphoning",
u"syphons": u"siphons",
u"systematisation": u"systematization",
u"systematise": u"systematize",
u"systematised": u"systematized",
u"systematises": u"systematizes",
u"systematising": u"systematizing",
u"tantalise": u"tantalize",
u"tantalised": u"tantalized",
u"tantalises": u"tantalizes",
u"tantalising": u"tantalizing",
u"tantalisingly": u"tantalizingly",
u"tasselled": u"tasseled",
u"technicolour": u"technicolor",
u"temporise": u"temporize",
u"temporised": u"temporized",
u"temporises": u"temporizes",
u"temporising": u"temporizing",
u"tenderise": u"tenderize",
u"tenderised": u"tenderized",
u"tenderises": u"tenderizes",
u"tenderising": u"tenderizing",
u"terrorise": u"terrorize",
u"terrorised": u"terrorized",
u"terrorises": u"terrorizes",
u"terrorising": u"terrorizing",
u"theatre": u"theater",
u"theatregoer": u"theatergoer",
u"theatregoers": u"theatergoers",
u"theatres": u"theaters",
u"theorise": u"theorize",
u"theorised": u"theorized",
u"theorises": u"theorizes",
u"theorising": u"theorizing",
u"tonne": u"ton",
u"tonnes": u"tons",
u"towelled": u"toweled",
u"towelling": u"toweling",
u"toxaemia": u"toxemia",
u"tranquillise": u"tranquilize",
u"tranquillised": u"tranquilized",
u"tranquilliser": u"tranquilizer",
u"tranquillisers": u"tranquilizers",
u"tranquillises": u"tranquilizes",
u"tranquillising": u"tranquilizing",
u"tranquillity": u"tranquility",
u"tranquillize": u"tranquilize",
u"tranquillized": u"tranquilized",
u"tranquillizer": u"tranquilizer",
u"tranquillizers": u"tranquilizers",
u"tranquillizes": u"tranquilizes",
u"tranquillizing": u"tranquilizing",
u"tranquilly": u"tranquility",
u"transistorised": u"transistorized",
u"traumatise": u"traumatize",
u"traumatised": u"traumatized",
u"traumatises": u"traumatizes",
u"traumatising": u"traumatizing",
u"travelled": u"traveled",
u"traveller": u"traveler",
u"travellers": u"travelers",
u"travelling": u"traveling",
u"travelogue": u"travelog",
u"travelogues": u"travelogs",
u"trialled": u"trialed",
u"trialling": u"trialing",
u"tricolour": u"tricolor",
u"tricolours": u"tricolors",
u"trivialise": u"trivialize",
u"trivialised": u"trivialized",
u"trivialises": u"trivializes",
u"trivialising": u"trivializing",
u"tumour": u"tumor",
u"tumours": u"tumors",
u"tunnelled": u"tunneled",
u"tunnelling": u"tunneling",
u"tyrannise": u"tyrannize",
u"tyrannised": u"tyrannized",
u"tyrannises": u"tyrannizes",
u"tyrannising": u"tyrannizing",
u"tyre": u"tire",
u"tyres": u"tires",
u"unauthorised": u"unauthorized",
u"uncivilised": u"uncivilized",
u"underutilised": u"underutilized",
u"unequalled": u"unequaled",
u"unfavourable": u"unfavorable",
u"unfavourably": u"unfavorably",
u"unionisation": u"unionization",
u"unionise": u"unionize",
u"unionised": u"unionized",
u"unionises": u"unionizes",
u"unionising": u"unionizing",
u"unorganised": u"unorganized",
u"unravelled": u"unraveled",
u"unravelling": u"unraveling",
u"unrecognisable": u"unrecognizable",
u"unrecognised": u"unrecognized",
u"unrivalled": u"unrivaled",
u"unsavoury": u"unsavory",
u"untrammelled": u"untrammeled",
u"urbanisation": u"urbanization",
u"urbanise": u"urbanize",
u"urbanised": u"urbanized",
u"urbanises": u"urbanizes",
u"urbanising": u"urbanizing",
u"utilisable": u"utilizable",
u"utilisation": u"utilization",
u"utilise": u"utilize",
u"utilised": u"utilized",
u"utilises": u"utilizes",
u"utilising": u"utilizing",
u"valour": u"valor",
u"vandalise": u"vandalize",
u"vandalised": u"vandalized",
u"vandalises": u"vandalizes",
u"vandalising": u"vandalizing",
u"vaporisation": u"vaporization",
u"vaporise": u"vaporize",
u"vaporised": u"vaporized",
u"vaporises": u"vaporizes",
u"vaporising": u"vaporizing",
u"vapour": u"vapor",
u"vapours": u"vapors",
u"verbalise": u"verbalize",
u"verbalised": u"verbalized",
u"verbalises": u"verbalizes",
u"verbalising": u"verbalizing",
u"victimisation": u"victimization",
u"victimise": u"victimize",
u"victimised": u"victimized",
u"victimises": u"victimizes",
u"victimising": u"victimizing",
u"videodisc": u"videodisk",
u"videodiscs": u"videodisks",
u"vigour": u"vigor",
u"visualisation": u"visualization",
u"visualisations": u"visualizations",
u"visualise": u"visualize",
u"visualised": u"visualized",
u"visualises": u"visualizes",
u"visualising": u"visualizing",
u"vocalisation": u"vocalization",
u"vocalisations": u"vocalizations",
u"vocalise": u"vocalize",
u"vocalised": u"vocalized",
u"vocalises": u"vocalizes",
u"vocalising": u"vocalizing",
u"vulcanised": u"vulcanized",
u"vulgarisation": u"vulgarization",
u"vulgarise": u"vulgarize",
u"vulgarised": u"vulgarized",
u"vulgarises": u"vulgarizes",
u"vulgarising": u"vulgarizing",
u"waggon": u"wagon",
u"waggons": u"wagons",
u"watercolour": u"watercolor",
u"watercolours": u"watercolors",
u"weaselled": u"weaseled",
u"weaselling": u"weaseling",
u"westernisation": u"westernization",
u"westernise": u"westernize",
u"westernised": u"westernized",
u"westernises": u"westernizes",
u"westernising": u"westernizing",
u"womanise": u"womanize",
u"womanised": u"womanized",
u"womaniser": u"womanizer",
u"womanisers": u"womanizers",
u"womanises": u"womanizes",
u"womanising": u"womanizing",
u"woollen": u"woolen",
u"woollens": u"woolens",
u"woollies": u"woolies",
u"woolly": u"wooly",
u"worshipped": u"worshiped",
u"worshipping": u"worshiping",
u"worshipper": u"worshiper",
u"yodelled": u"yodeled",
u"yodelling": u"yodeling",
u"yoghourt": u"yogurt",
u"yoghourts": u"yogurts",
u"yoghurt": u"yogurt",
u"yoghurts": u"yogurts"}
================================================
FILE: corpkit/dictionaries/wordlists.py
================================================
"""
lists of closed class words
"""
# feel free to correct/add things---this was just a quick grab from the web
def closed_class_wordlists():
"""add words here if need be"""
from collections import namedtuple
pronouns = [u"all",
u"another",
u"any",
u"anybody",
u"anyone",
u"anything",
u"both",
u"each",
u"each",
u"other",
u"either",
u"everybody",
u"everyone",
u"everything",
u"few",
u"he",
u"her",
u"hers",
u"herself",
u"him",
u"himself",
u"his",
u"it",
u"i",
u"its",
u"itself",
u"many",
u"me",
u"mine",
u"more",
u"most",
u"much",
u"myself",
u"neither",
u"no",
u"one",
u"nobody",
u"none",
u"nothing",
u"one",
u"another",
u"other",
u"others",
u"ours",
u"ourselves",
u"several",
u"she",
u"some",
u"somebody",
u"someone",
u"something",
u"that",
u"their",
u"theirs",
u"them",
u"there",
u"themselves",
u"these",
u"they",
u"this",
u"those",
u"us",
u"we",
u"what",
u"whatever",
u"which",
u"whichever",
u"who",
u"whoever",
u"whom",
u"whomever",
u"whose",
u"you",
u"your",
u"yours",
u"yourself",
u"yourselves"]
articles = [u"a",
u"an",
u"the",
u"teh"]
determiners = [u"all",
u"anotha",
u"another",
u"any",
u"any-and-all",
u"atta",
u"both",
u"certain",
u"couple",
u"dat",
u"dem",
u"dis",
u"each",
u"either",
u"enough",
u"enuf",
u"enuff",
u"every",
u"few",
u"fewer",
u"fewest",
u"her",
u"hes",
u"his",
u"its",
u"last",
u"least",
#u"little",
u"many",
u"more",
u"most",
u"much",
u"muchee",
u"my",
u"neither",
#u"next",
u"nil",
u"no",
u"none",
u"other",
u"our",
u"overmuch",
u"owne",
u"plenty",
u"quodque",
#u"said",
u"several",
u"some",
u"such",
u"sufficient",
u"that",
u"their",
u"them",
u"these",
u"they",
u"thilk",
u"thine",
u"this",
u"those",
u"thy",
u"umpteen",
u"us",
u"various",
u"wat",
u"we",
u"what",
u"whatever",
u"which",
u"whichever",
u"yonder",
u"you",
u"your"]
prepositions = [u"about",
u"above",
u"across",
u"after",
u"against",
u"along",
u"among",
u"around",
u"at",
u"before",
u"behind",
u"below",
u"beneath",
u"beside",
u"between",
u"by",
u"down",
u"during",
u"except",
u"for",
u"from",
u"front",
u"in",
u"inside",
u"instead",
u"into",
u"like",
u"near",
u"of",
u"off",
u"on",
u"onto",
u"out",
u"outside",
u"over",
u"past",
u"since",
u"through",
u"to",
u"top",
u"toward",
u"under",
u"underneath",
u"until",
u"up",
u"upon",
u"with",
u"within",
u"without"]
connectors = [u"about",
u"above",
u"across",
u"after",
u"against",
u"along",
u"among",
u"around",
u"at",
u"before",
u"behind",
u"below",
u"beneath",
u"beside",
u"between",
u"by",
u"down",
u"during",
u"except",
u"for",
u"from",
u"front",
u"in",
u"inside",
u"instead",
u"into",
u"like",
u"near",
u"of",
u"off",
u"on",
u"onto",
u"out",
u"outside",
u"over",
u"past",
u"since",
u"through",
u"to",
u"top",
u"toward",
u"under",
u"underneath",
u"until",
u"up",
u"upon",
u"with",
u"within",
u"without"]
modals = [u"would",
u"will",
u"can",
u"could",
u"may",
u"should",
u"might",
u"must",
u"ca",
u"'ll",
u"'d",
u"wo",
u"ought",
u"need",
u"shall",
u"dare",
u"shalt"]
conjunctions = [u"though",
u"although",
u"even though",
u"while",
u"if",
u"only if",
u"unless",
u"until",
u"provided that",
u"assuming that",
u"even if",
u"in case",
u"lest",
u"than",
u"rather than",
u"whether",
u"as much as",
u"whereas",
u"after",
u"as long as",
u"as soon as",
u"before",
u"by the time",
u"now that",
u"once",
u"since",
u"till",
u"until",
u"when",
u"whenever",
u"while",
u"because",
u"since",
u"so that",
u"why",
u"that",
u"what",
u"whatever",
u"which",
u"whichever",
u"who",
u"whoever",
u"whom",
u"whomever",
u"whose",
u"how",
u"as though",
u"as if",
u"where",
u"wherever",
u"for",
u"and",
u"nor",
u"but",
u"or",
u"yet",
u"so",
u"however"]
stopwords = ["yeah", "monday","tuesday","wednesday","thursday","friday",
"saturday","sunday","a","able","about","above","abst","accordance",
"according","accordingly","across","act","actually","added","adj",
"adopted","affected","affecting","affects","after","afterwards",
"again","against","ah","all","almost","alone","along","already",
"also","although","always","am","among","amongst","an","and",
"announce","another","any","anybody","anyhow","anymore","anyone",
"anything","anyway","anyways","anywhere","apparently","approximately",
"are","aren","arent","arise","around","as","aside","ask","asking","at",
"auth","available","away","awfully","b","back","be","became","because",
"become","becomes","becoming","been","before","beforehand","begin",
"beginning","beginnings","begins","behind","being","believe","below",
"beside","besides","between","beyond","biol","both","brief","briefly",
"but","by","c","ca","came","can","cannot","cant","cause","causes",
"certain","certainly","co","com","come","comes","contain","containing",
"contains","could","couldnt","d","date","did","didnt","different","do",
"does","doesnt","doing","done","dont","down","downwards","due","during",
"e","each","ed","edu","effect","eg","eight","eighty","either","else",
"elsewhere","end","ending","enough","especially","et","et-al","etc","even",
"ever","every","everybody","everyone","everything","everywhere","ex",
"except","f","far","few","ff","fifth","first","five","fix","followed",
"following","follows","for","former","formerly","forth","found","four",
"from","further","furthermore","going","g","gave","get","gets","getting",
"give","given","gives","giving","go","goes","gone","got","gotten","h",
"had","happens","hardly","has","hasnt","have","havent","having","he",
"hed","hence","her","here","hereafter","hereby","herein","heres",
"hereupon","hers","herself","hes","hi","hid","him","himself","his",
"hither","home","how","howbeit","however","hundred","i","id","ie",
"if","ill","im","immediate","immediately","importance","important",
"in","inc","indeed","index","information","instead","into","invention",
"inward","is","isnt","it","itd","itll","its","itself","ive","j","just",
"k","keep","keeps","kept","keys","kg","km","know","known","knows",
"l","largely","last","lately","later","latter","latterly","least","less",
"lest","let","lets","like","liked","likely","line","little","ll","look",
"looking","looks","ltd","m","made","mainly","make","makes","many","may",
"maybe","me","mean","means","meantime","meanwhile","merely","mg","might",
"million","miss","ml","more","moreover","most","mostly","mr","mrs","much",
"mug","must","my","myself","n","na","name","namely","nay","nd","near",
"nearly","necessarily","necessary","need","needs","neither","never",
"nevertheless","new","next","nine","ninety","no","nobody","non","none",
"nonetheless","noone","nor","normally","nos","not","noted","nothing",
"now","nowhere","o","obtain","obtained","obviously","of","off","often",
"oh","ok","okay","old","omitted","on","once","one","ones","only","onto",
"or","ord","other","others","otherwise","ought","our","ours","ourselves",
"out","outside","over","overall","owing","own","p","page","pages","part",
"particular","particularly","past","per","perhaps","placed","please",
"plus","poorly","possible","possibly","potentially","pp","predominantly",
"present","previously","primarily","probably","promptly","proud","provides",
"put","q","que","quickly","quite","qv","r","ran","rather","rd","re",
"readily","really","recent","recently","ref","refs","regarding","regardless",
"regards","related","relatively","research","respectively","resulted",
"resulting","results","right","run","s","said","same","saw","say","saying",
"says","sec","section","see","seeing","seem","seemed","seeming","seems",
"seen","self","selves","sent","seven","several","shall","she","shed","shell",
"shes","should","shouldnt","show","showed","shown","showns","shows",
"significant","significantly","similar","similarly","since","six",
"slightly","so","some","somebody","somehow","someone","somethan","something",
"sometime","sometimes","somewhat","somewhere","soon","sorry","specifically",
"specified","specify","specifying","state","states","still","stop",
"strongly","sub","substantially","successfully","such","sufficiently",
"suggest","sup","sure","t","take","taken","taking","tell","tends","th",
"than","thank","thanks","thanx","that","thatll","thats","thatve","the",
"their","theirs","them","themselves","then","thence","there","thereafter",
"thereby","thered","therefore","therein","therell","thereof","therere",
"theres","thereto","thereupon","thereve","these","they","theyd","theyll",
"theyre","theyve","think","this","those","thou","though","thoughh","thousand",
"throug","through","throughout","thru","thus","til","tip","to","together",
"too","took","toward","towards","tried","tries","truly","try","trying",
"ts","twice","two","u","un","under","unfortunately","unless","unlike",
"unlikely","until","unto","up","upon","ups","us","use","used","useful",
"usefully","usefulness","uses","using","usually","v","value","various","ve",
"very","via","viz","vol","vols","vs","w","want","wants","was","wasnt","way",
"we","wed","welcome","well","went","were","werent","weve","what","whatever",
"whatll","whats","when","whence","whenever","where","whereafter","whereas",
"whereby","wherein","wheres","whereupon","wherever","whether","which",
"while","whim","whither","who","whod","whoever","whole","wholl","whom",
"whomever","whos","whose","why","widely","willing","wish","with","within",
"without","wont","words","world","would","wouldnt","www","x","y","yes","yet",
"you","youd","youll","your","youre","yours","yourself","yourselves","youve",
"z","zero", "isn", "doesn","didn", "couldn", "mustn","shoudn","wasn","woudn",
"i", "me", "my", "myself", "we", "our", "ours", "ourselves", "you", "your",
"yours", "yourself", "yourselves", "he", "him", "his", "himself", "she", "her",
"hers", "herself", "it", "its", "itself", "they", "them", "their", "theirs",
"themselves", "what", "which", "who", "whom", "this", "that", "these", "those",
"am", "is", "are", "was", "were", "be", "been", "being", "have", "has", "had",
"having", "do", "does", "did", "doing", "a", "an", "the", "and", "but", "if",
"or", "because", "as", "until", "while", "of", "at", "by", "for", "with",
"about", "against", "between", "into", "through", "during", "before", "after",
"above", "below", "to", "from", "up", "down", "in", "out", "on", "off",
"over", "under", "again", "further", "then", "once", "here", "there", "when",
"where", "why", "how", "all", "any", "both", "each", "few", "more", "most",
"other", "some", "such", "no", "nor", "not", "only", "own", "same", "so",
"than", "too", "very", "s", "t", "can", "will", "just", "don", "should",
"now", "gonna", "n't", '-lrb-', '-rrb-', "'m", "'ll", "'re", "'s", "'ve", "&"]
titlewords = [u'admiral', u'archbishop', u'alan', u'merrill', u'sarah',
'queen', u'king', u'sen', u'chancellor', u'prime minister',
'cardinal', u'bishop', u'father', u'hon', u'rev', u'reverend',
'pope', u'sir', u'doctor', u'professor', u'president',
'senator', u'congressman', u'congresswoman', u'mr', u'ms',
'mrs', u'miss', u'dr', u'bill', u'hillary', u'hillary rodham',
'saddam', u'osama', u'ayatollah', u'george', u'george w',
'mitt', u'malcolm', u'barack', u'ronald', u'john', u'john f',
'william', u'al', u'bob']
whpro = [u'who', u'what',u'why', u'where',u'when', u'how']
other = ['not']
#all_lists = [pronouns, articles, determiners, prepositions, connectors, modals]
from corpkit.dictionaries.process_types import Wordlist
closedclass = sorted(list(set(pronouns + articles + conjunctions + determiners + prepositions + connectors + modals + other)))
outputnames = namedtuple('wordlists', ['pronouns', 'conjunctions', 'articles', 'determiners', 'prepositions', 'connectors', 'modals', 'closedclass', 'stopwords', 'titles', 'whpro'])
eachlist = [pronouns, conjunctions, articles, determiners, prepositions, connectors, modals, closedclass, stopwords, titlewords, whpro]
eachlist = [Wordlist(l, single=True) for l in eachlist]
output = outputnames(*eachlist)
return output
wordlists = closed_class_wordlists()
================================================
FILE: corpkit/download/__init__.py
================================================
================================================
FILE: corpkit/download/corenlp.py
================================================
def corenlp_downloader(custompath=False):
"""
Very simple CoreNLP downloader
:param custompath: A path where you want to put CoreNLP
:type custompath: ``str``
:Usage:
python -m corpkit.download.corenlp
"""
import os
from corpkit.build import download_large_file
from corpkit.process import get_corenlp_path
from corpkit.constants import CORENLP_URL as url
cnlp_dir = os.path.join(os.path.expanduser("~"), 'corenlp')
corenlppath, fpath = download_large_file(cnlp_dir, url,
actually_download=True,
custom_corenlp_dir=custompath)
if __name__ == '__main__':
import sys
custompath = False if len(sys.argv) == 1 else sys.argv[-1]
corenlp_downloader(custompath=custompath)
================================================
FILE: corpkit/editor.py
================================================
"""
corpkit: edit Interrogation, Concordance and Interrodict objects
"""
from __future__ import print_function
from corpkit.constants import STRINGTYPE, PYTHON_VERSION
def editor(interrogation,
operation=None,
denominator=False,
sort_by=False,
keep_stats=False,
keep_top=False,
just_totals=False,
threshold='medium',
just_entries=False,
skip_entries=False,
span_entries=False,
merge_entries=False,
just_subcorpora=False,
skip_subcorpora=False,
span_subcorpora=False,
merge_subcorpora=False,
replace_names=False,
replace_subcorpus_names=False,
projection=False,
remove_above_p=False,
p=0.05,
print_info=False,
spelling=False,
selfdrop=True,
calc_all=True,
keyword_measure='ll',
**kwargs
):
"""
See corpkit.interrogation.Interrogation.edit() for docstring
"""
# grab arguments, in case we get dict input and have to iterate
locs = locals()
import corpkit
import re
import collections
import pandas as pd
import numpy as np
from pandas import DataFrame, Series
from time import localtime, strftime
try:
get_ipython().getoutput()
except TypeError:
have_ipython = True
except NameError:
have_ipython = False
try:
from IPython.display import display, clear_output
except ImportError:
pass
# new ipython error
except AttributeError:
have_ipython = False
pass
# to use if we also need to worry about concordance lines
return_conc = False
from corpkit.interrogation import Interrodict, Interrogation, Concordance
if interrogation.__class__ == Interrodict:
locs.pop('interrogation', None)
from collections import OrderedDict
outdict = OrderedDict()
for i, (k, v) in enumerate(interrogation.items()):
# only print the first time around
if i != 0:
locs['print_info'] = False
if isinstance(denominator, STRINGTYPE) and denominator.lower() == 'self':
denominator = interrogation
# if df2 is also a dict, get the relevant entry
if isinstance(denominator, (dict, Interrodict)):
#if sorted(set([i.lower() for i in list(dataframe1.keys())])) == \
# sorted(set([i.lower() for i in list(denominator.keys())])):
# locs['denominator'] = denominator[k]
# fix: this repeats itself for every key, when it doesn't need to
# denominator_sum:
if kwargs.get('denominator_sum'):
locs['denominator'] = denominator.collapse(axis='key')
if kwargs.get('denominator_totals'):
locs['denominator'] = denominator[k].totals
else:
locs['denominator'] = denominator[k].results
outdict[k] = v.results.edit(**locs)
if print_info:
thetime = strftime("%H:%M:%S", localtime())
print("\n%s: Finished! Output is a dictionary with keys:\n\n '%s'\n" % (thetime, "'\n '".join(sorted(outdict.keys()))))
return Interrodict(outdict)
elif isinstance(interrogation, (DataFrame, Series)):
dataframe1 = interrogation
elif isinstance(interrogation, Interrogation):
#if interrogation.__dict__.get('concordance', None) is not None:
# concordances = interrogation.concordance
branch = kwargs.pop('branch', 'results')
if branch.lower().startswith('r') :
dataframe1 = interrogation.results
elif branch.lower().startswith('t'):
dataframe1 = interrogation.totals
elif branch.lower().startswith('c'):
dataframe1 = interrogation.concordance
return_conc = True
else:
dataframe1 = interrogation.results
elif isinstance(interrogation, Concordance) or \
all(x in list(dataframe1.columns) for x in [ 'l', 'm', 'r']):
return_conc = True
print('heree')
dataframe1 = interrogation
# hope for the best
else:
dataframe1 = interrogation
the_time_started = strftime("%Y-%m-%d %H:%M:%S")
pd.options.mode.chained_assignment = None
try:
from process import checkstack
except ImportError:
from corpkit.process import checkstack
if checkstack('pythontex'):
print_info=False
def combiney(df, df2, operation='%', threshold='medium', prinf=True):
"""
Mash df and df2 together in appropriate way
"""
totals = False
# delete under threshold
if just_totals:
if using_totals:
if not single_totals:
to_drop = list(df2[df2['Combined total'] < threshold].index)
df = df.drop([e for e in to_drop if e in list(df.index)])
if prinf:
to_show = []
[to_show.append(w) for w in to_drop[:5]]
if len(to_drop) > 10:
to_show.append('...')
[to_show.append(w) for w in to_drop[-5:]]
if len(to_drop) > 0:
print('Removing %d entries below threshold:\n %s' % (len(to_drop), '\n '.join(to_show)))
if len(to_drop) > 10:
print('... and %d more ... \n' % (len(to_drop) - len(to_show) + 1))
else:
print('')
else:
denom = df2
else:
denom = list(df2)
if single_totals:
if operation == '%':
totals = df.sum() * 100.0 / float(df.sum().sum())
df = df * 100.0
try:
df = df.div(denom, axis=0)
except ValueError:
thetime = strftime("%H:%M:%S", localtime())
print('%s: cannot combine DataFrame 1 and 2: different shapes' % thetime)
elif operation == '+':
try:
df = df.add(denom, axis=0)
except ValueError:
thetime = strftime("%H:%M:%S", localtime())
print('%s: cannot combine DataFrame 1 and 2: different shapes' % thetime)
elif operation == '-':
try:
df = df.sub(denom, axis=0)
except ValueError:
thetime = strftime("%H:%M:%S", localtime())
print('%s: cannot combine DataFrame 1 and 2: different shapes' % thetime)
elif operation == '*':
totals = df.sum() * float(df.sum().sum())
try:
df = df.mul(denom, axis=0)
except ValueError:
thetime = strftime("%H:%M:%S", localtime())
print('%s: cannot combine DataFrame 1 and 2: different shapes' % thetime)
elif operation == '/':
try:
totals = df.sum() / float(df.sum().sum())
df = df.div(denom, axis=0)
except ValueError:
thetime = strftime("%H:%M:%S", localtime())
print('%s: cannot combine DataFrame 1 and 2: different shapes' % thetime)
elif operation == 'a':
for c in [c for c in list(df.columns) if int(c) > 1]:
df[c] = df[c] * (1.0 / int(c))
df = df.sum(axis=1) / df2
elif operation.startswith('c'):
import warnings
with warnings.catch_warnings():
warnings.simplefilter("ignore")
df = pandas.concat([df, df2], axis=1)
return df, totals
elif not single_totals:
if not operation.startswith('a'):
# generate totals
if operation == '%':
totals = df.sum() * 100.0 / float(df2.sum().sum())
if operation == '*':
totals = df.sum() * float(df2.sum().sum())
if operation == '/':
totals = df.sum() / float(df2.sum().sum())
if operation.startswith('c'):
# add here the info that merging will not work
# with identical colnames
import warnings
with warnings.catch_warnings():
warnings.simplefilter("ignore")
d = pd.concat([df.T, df2.T])
# make index nums
d = d.reset_index()
# sum and remove duplicates
d = d.groupby('index').sum()
dx = d.reset_index('index')
dx.index = list(dx['index'])
df = dx.drop('index', axis=1).T
def editf(datum):
meth = {'%': datum.div,
'*': datum.mul,
'/': datum.div,
'+': datum.add,
'-': datum.sub}
if datum.name in list(df2.columns):
method = meth[operation]
mathed = method(df2[datum.name], fill_value=0.0)
if operation == '%':
return mathed * 100.0
else:
return mathed
else:
return datum * 0.0
df = df.apply(editf)
else:
for c in [c for c in list(df.columns) if int(c) > 1]:
df[c] = df[c] * (1.0 / int(c))
df = df.sum(axis=1) / df2.T.sum()
return df, totals
def skip_keep_merge_span(df):
"""
Do all skipping, keeping, merging and spanning
"""
from corpkit.dictionaries.process_types import Wordlist
if skip_entries:
if isinstance(skip_entries, (list, Wordlist)):
df = df.drop(list(skip_entries), axis=1, errors='ignore')
else:
df = df.loc[:,~df.columns.str.contains(skip_entries)]
if just_entries:
if isinstance(just_entries, (list, Wordlist)):
je = [i for i in list(just_entries) if i in list(df.columns)]
df = df[je]
else:
df = df.loc[:,df.columns.str.contains(just_entries)]
if merge_entries:
for newname, crit in merge_entries.items():
if isinstance(crit, (list, Wordlist)):
crit = [i for i in list(crit) if i in list(df.columns)]
cr = [i for i in list(crit) if i in list(df.columns)]
summed = df[cr].sum(axis=1)
df = df.drop(list(cr), axis=1, errors='ignore')
else:
summed = df.loc[:,df.columns.str.contains(crit)].sum(axis=1)
df = df.loc[:,~df.columns.str.contains(crit)]
df.insert(0, newname, summed, allow_duplicates=True)
if span_entries:
df = df.iloc[:,span_entries[0]:span_entries[1]]
if skip_subcorpora:
if isinstance(skip_subcorpora, (list, Wordlist)):
df = df.drop(list(skip_subcorpora), axis=0, errors='ignore')
else:
df = df[~df.index.str.contains(skip_subcorpora)]
if just_subcorpora:
if isinstance(just_subcorpora, (list, Wordlist)):
js = [i for i in list(just_subcorpora) if i in list(df.index)]
df = df.loc[js]
else:
df = df[df.index.str.contains(just_subcorpora)]
if merge_subcorpora:
df = df.T
for newname, crit in merge_subcorpora.items():
if isinstance(crit, (list, Wordlist)):
crit = [i for i in list(crit) if i in list(df.columns)]
summed = df[list(crit)].sum(axis=1)
df = df.drop(list(crit), axis=1, errors='ignore')
else:
summed = df.loc[:,df.columns.str.contains(crit)].sum(axis=1)
df = df.loc[:,~df.columns.str.contains(crit)]
df.insert(0, newname, summed, allow_duplicates=True)
df = df.T
if span_subcorpora:
df = df.iloc[span_subcorpora[0]:span_subcorpora[1],:]
return df
def parse_input(df, the_input):
"""turn whatever has been passed in into list of words that can
be used as pandas indices---maybe a bad way to go about it"""
parsed_input = False
import re
if the_input == 'all':
the_input = r'.*'
if isinstance(the_input, int):
try:
the_input = str(the_input)
except:
pass
the_input = [the_input]
elif isinstance(the_input, STRINGTYPE):
regex = re.compile(the_input)
parsed_input = [w for w in list(df) if re.search(regex, w)]
return parsed_input
from corpkit.dictionaries.process_types import Wordlist
if isinstance(the_input, Wordlist) or the_input.__class__ == Wordlist:
the_input = list(the_input)
if isinstance(the_input, list):
if isinstance(the_input[0], int):
parsed_input = [word for index, word in enumerate(list(df)) if index in the_input]
elif isinstance(the_input[0], STRINGTYPE):
try:
parsed_input = [word for word in the_input if word in df.columns]
except AttributeError: # if series
parsed_input = [word for word in the_input if word in df.index]
return parsed_input
def synonymise(df, pos='n'):
"""pass a df and a pos and convert df columns to most common synonyms"""
from nltk.corpus import wordnet as wn
#from dictionaries.taxonomies import taxonomies
from collections import Counter
fixed = []
for w in list(df.columns):
try:
syns = []
for syns in wn.synsets(w, pos=pos):
for w in syns:
synonyms.append(w)
top_syn = Counter(syns).most_common(1)[0][0]
fixed.append(top_syn)
except:
fixed.append(w)
df.columns = fixed
return df
def convert_spell(df, convert_to='US', print_info=print_info):
"""turn dataframes into us/uk spelling"""
from dictionaries.word_transforms import usa_convert
if print_info:
print('Converting spelling ... \n')
if convert_to == 'UK':
usa_convert = {v: k for k, v in list(usa_convert.items())}
fixed = []
for val in list(df.columns):
try:
fixed.append(usa_convert[val])
except:
fixed.append(val)
df.columns = fixed
return df
def merge_duplicates(df, print_info=print_info):
if print_info:
print('Merging duplicate entries ... \n')
# now we have to merge all duplicates
for dup in df.columns.get_duplicates():
#num_dupes = len(list(df[dup].columns))
temp = df[dup].sum(axis=1)
#df = df.drop([dup for d in range(num_dupes)], axis=1)
df = df.drop(dup, axis=1)
df[dup] = temp
return df
def name_replacer(df, replace_names, print_info=print_info):
"""replace entry names and merge"""
import re
# get input into list of tuples
# if it's a string, we want to delete it
if isinstance(replace_names, STRINGTYPE):
replace_names = [(replace_names, '')]
# this is for some malformed list
if not isinstance(replace_names, dict):
if isinstance(replace_names[0], STRINGTYPE):
replace_names = [replace_names]
# if dict, make into list of tupes
if isinstance(replace_names, dict):
replace_names = [(v, k) for k, v in replace_names.items()]
for to_find, replacement in replace_names:
if print_info:
if replacement:
print('Replacing "%s" with "%s" ...\n' % (to_find, replacement))
else:
print('Deleting "%s" from entry names ...\n' % to_find)
to_find = re.compile(to_find)
if not replacement:
replacement = ''
df.columns = [re.sub(to_find, replacement, l) for l in list(df.columns)]
df = merge_duplicates(df, print_info=False)
return df
def newname_getter(df, parsed_input, newname='combine', prinf=True, merging_subcorpora=False):
"""makes appropriate name for merged entries"""
if merging_subcorpora:
if newname is False:
newname = 'combine'
if isinstance(newname, int):
the_newname = list(df.columns)[newname]
elif isinstance(newname, STRINGTYPE):
if newname == 'combine':
if len(parsed_input) <= 3:
the_newname = '/'.join(parsed_input)
elif len(parsed_input) > 3:
the_newname = '/'.join(parsed_input[:3]) + '...'
else:
the_newname = newname
if not newname:
# revise this code
import operator
sumdict = {}
for item in parsed_input:
summed = sum(list(df[item]))
sumdict[item] = summed
the_newname = max(iter(sumdict.items()), key=operator.itemgetter(1))[0]
if not isinstance(the_newname, STRINGTYPE):
the_newname = str(the_newname, errors='ignore')
return the_newname
def projector(df, list_of_tuples, prinf=True):
"""project abs values"""
if isinstance(list_of_tuples, list):
tdict = {}
for a, b in list_of_tuples:
tdict[a] = b
list_of_tuples = tdict
for subcorpus, projection_value in list(list_of_tuples.items()):
if isinstance(subcorpus, int):
subcorpus = str(subcorpus)
df.ix[subcorpus] = df.ix[subcorpus] * projection_value
if prinf:
if isinstance(projection_value, float):
print('Projection: %s * %s' % (subcorpus, projection_value))
if isinstance(projection_value, int):
print('Projection: %s * %d' % (subcorpus, projection_value))
if prinf:
print('')
return df
def lingres(ser, index):
from scipy.stats import linregress
from pandas import Series
ix = ['slope', 'intercept', 'r', 'p', 'stderr']
return Series(linregress(index, ser.values), index=ix)
def do_stats(df):
"""do linregress and add to df"""
try:
from scipy.stats import linregress
except ImportError:
thetime = strftime("%H:%M:%S", localtime())
print('%s: sort type not available in this version of corpkit.' % thetime)
return False
indices = list(df.index)
first_year = list(df.index)[0]
try:
x = [int(y) - int(first_year) for y in indices]
except ValueError:
x = list(range(len(indices)))
stats = df.apply(lingres, axis=0, index=x)
df = df.append(stats)
df = df.replace([np.inf, -np.inf], 0.0)
return df
def resort(df, sort_by = False, keep_stats = False):
"""
Sort results, potentially using scipy's linregress
"""
# translate options and make sure they are parseable
stat_field = ['slope', 'intercept', 'r', 'p', 'stderr']
easy_sorts = ['total', 'infreq', 'name', 'most', 'least', 'reverse']
stat_sorts = ['increase', 'decrease', 'static', 'turbulent']
options = stat_field + easy_sorts + stat_sorts
sort_by_convert = {'most': 'total', True: 'total', 'least': 'infreq'}
sort_by = sort_by_convert.get(sort_by, sort_by)
# probably broken :(
if just_totals:
if sort_by == 'name':
return df.sort_index()
else:
return df.sort_values(by='Combined total', ascending=sort_by != 'total', axis=1)
stats_done = False
if keep_stats or sort_by in stat_field + stat_sorts:
df = do_stats(df)
stats_done = True
if isinstance(df, bool):
if df is False:
return False
if isinstance(df, Series):
if stats_done:
stats = df.ix[range(-5, 0)]
df = df.drop(list(stats.index))
if sort_by == 'name':
df = df.sort_index()
elif sort_by == 'reverse':
df = df[::-1]
else:
df = df.sort_values(ascending=sort_by != 'total')
if stats_done:
df = df.append(stats)
return df
if sort_by == 'name':
# currently case sensitive
df = df.reindex_axis(sorted(df.columns), axis=1)
elif sort_by in ['total', 'infreq']:
if df1_istotals:
df = df.T
df = df[list(df.sum().sort_values(ascending=sort_by != 'total').index)]
elif sort_by == 'reverse':
df = df.T[::-1].T
# sort by slope etc., or search by subcorpus name
if sort_by in stat_field or sort_by not in options:
asc = kwargs.get('reverse', False)
df = df.T.sort_values(by=sort_by, ascending=asc).T
if sort_by in ['increase', 'decrease', 'static', 'turbulent']:
slopes = df.ix['slope']
if sort_by == 'increase':
df = df[slopes.argsort()[::-1]]
elif sort_by == 'decrease':
df = df[slopes.argsort()]
elif sort_by == 'static':
df = df[slopes.abs().argsort()]
elif sort_by == 'turbulent':
df = df[slopes.abs().argsort()[::-1]]
if remove_above_p:
df = df.T
df = df[df['p'] <= p]
df = df.T
# remove stats field by default
if not keep_stats:
df = df.drop(stat_field, axis=0, errors='ignore')
return df
def set_threshold(big_list, threshold, prinf=True):
if isinstance(threshold, STRINGTYPE):
if threshold.startswith('l'):
denominator = 10000
if threshold.startswith('m'):
denominator = 5000
if threshold.startswith('h'):
denominator = 2500
if isinstance(big_list, DataFrame):
tot = big_list.sum().sum()
if isinstance(big_list, Series):
tot = big_list.sum()
tshld = float(tot) / float(denominator)
else:
tshld = threshold
if prinf:
print('Threshold: %d\n' % tshld)
return tshld
# copy dataframe to be very safe
df = dataframe1.copy()
# make cols into strings
try:
df.columns = [str(c) for c in list(df.columns)]
except:
pass
if operation is None:
operation = 'None'
if isinstance(interrogation, Concordance):
return_conc = True
# do concordance work
if return_conc:
if just_entries:
if isinstance(just_entries, int):
just_entries = [just_entries]
if isinstance(just_entries, STRINGTYPE):
df = df[df['m'].str.contains(just_entries)]
if isinstance(just_entries, list):
if all(isinstance(e, STRINGTYPE) for e in just_entries):
mp = df['m'].map(lambda x: x in just_entries)
df = df[mp]
else:
df = df.ix[just_entries]
if skip_entries:
if isinstance(skip_entries, int):
skip_entries = [skip_entries]
if isinstance(skip_entries, STRINGTYPE):
df = df[~df['m'].str.contains(skip_entries)]
if isinstance(skip_entries, list):
if all(isinstance(e, STRINGTYPE) for e in skip_entries):
mp = df['m'].map(lambda x: x not in skip_entries)
df = df[mp]
else:
df = df.drop(skip_entries, axis=0)
if just_subcorpora:
if isinstance(just_subcorpora, int):
just_subcorpora = [just_subcorpora]
if isinstance(just_subcorpora, STRINGTYPE):
df = df[df['c'].str.contains(just_subcorpora)]
if isinstance(just_subcorpora, list):
if all(isinstance(e, STRINGTYPE) for e in just_subcorpora):
mp = df['c'].map(lambda x: x in just_subcorpora)
df = df[mp]
else:
df = df.ix[just_subcorpora]
if skip_subcorpora:
if isinstance(skip_subcorpora, int):
skip_subcorpora = [skip_subcorpora]
if isinstance(skip_subcorpora, STRINGTYPE):
df = df[~df['c'].str.contains(skip_subcorpora)]
if isinstance(skip_subcorpora, list):
if all(isinstance(e, STRINGTYPE) for e in skip_subcorpora):
mp = df['c'].map(lambda x: x not in skip_subcorpora)
df = df[mp]
else:
df = df.drop(skip_subcorpora, axis=0)
return Concordance(df)
if print_info:
print('\n***Processing results***\n========================\n')
df1_istotals = False
if isinstance(df, Series):
df1_istotals = True
df = DataFrame(df)
# if just a single result
else:
df = DataFrame(df)
if operation.startswith('k'):
if sort_by is False:
if not df1_istotals:
sort_by = 'turbulent'
if df1_istotals:
df = df.T
# figure out if there's a second list
# copy and remove totals if there is
single_totals = True
using_totals = False
outputmode = False
if denominator.__class__ == Interrogation:
try:
denominator = denominator.results
except AttributeError:
denominator = denominator.totals
if denominator is not False and not isinstance(denominator, STRINGTYPE):
df2 = denominator.copy()
using_totals = True
if isinstance(df2, DataFrame):
if len(df2.columns) > 1:
single_totals = False
else:
df2 = Series(df2.iloc[:,0])
elif isinstance(df2, Series):
single_totals = True
#if operation == 'k':
#raise ValueError('Keywording requires a DataFrame for denominator. Use "self"?')
else:
if operation in ['k', 'a', '%', '/', '*', '-', '+']:
denominator = 'self'
if denominator == 'self':
outputmode = True
if operation.startswith('a') or operation.startswith('A'):
if list(df.columns)[0] != '0' and list(df.columns)[0] != 0:
df = df.T
if using_totals:
if not single_totals:
df2 = df2.T
if projection:
# projection shouldn't do anything when working with '%', remember.
df = projector(df, projection)
if using_totals:
df2 = projector(df2, projection)
if spelling:
df = convert_spell(df, convert_to=spelling)
df = merge_duplicates(df, print_info=False)
if not single_totals:
df2 = convert_spell(df2, convert_to=spelling, print_info=False)
df2 = merge_duplicates(df2, print_info=False)
if not df1_istotals:
sort_by = 'total'
if replace_names:
df = name_replacer(df, replace_names)
df = merge_duplicates(df)
if not single_totals:
df2 = name_replacer(df2, replace_names, print_info=False)
df2 = merge_duplicates(df2, print_info=False)
if not sort_by:
sort_by = 'total'
if replace_subcorpus_names:
df = name_replacer(df.T, replace_subcorpus_names)
df = merge_duplicates(df).T
df = df.sort_index()
if not single_totals:
if isinstance(df2, DataFrame):
df2 = df2.T
df2 = name_replacer(df2, replace_subcorpus_names, print_info=False)
df2 = merge_duplicates(df2, print_info=False)
if isinstance(df2, DataFrame):
df2 = df2.T
df2 = df2.sort_index()
if not sort_by:
sort_by = 'total'
# remove old stats if they're there:
statfields = ['slope', 'intercept', 'r', 'p', 'stderr']
try:
df = df.drop(statfields, axis=0)
except:
pass
if using_totals:
try:
df2 = df2.drop(statfields, axis=0)
except:
pass
# remove totals and tkinter order
for name, ax in zip(['Total'] * 2 + ['tkintertable-order'] * 2, [0, 1, 0, 1]):
if name == 'Total' and df1_istotals:
continue
try:
df = df.drop(name, axis=ax, errors='ignore')
except:
pass
for name, ax in zip(['Total'] * 2 + ['tkintertable-order'] * 2, [0, 1, 0, 1]):
if name == 'Total' and single_totals:
continue
try:
df2 = df2.drop(name, axis=ax, errors='ignore')
except:
pass
df = skip_keep_merge_span(df)
try:
df2 = skip_keep_merge_span(df2)
except:
pass
# drop infinites and nans
df = df.replace([np.inf, -np.inf], np.nan)
df = df.fillna(0.0)
if just_totals:
df = DataFrame(df.sum(), columns=['Combined total'])
if using_totals:
if not single_totals:
df2 = DataFrame(df2.sum(), columns=['Combined total'])
else:
df2 = df2.sum()
tots = df.sum(axis=1)
if using_totals or outputmode:
if not operation.startswith('k'):
tshld = 0
# set a threshold if just_totals
if outputmode is True:
df2 = df.T.sum()
if not just_totals:
df2.name = 'Total'
else:
df2.name = 'Combined total'
using_totals = True
single_totals = True
if just_totals:
if not single_totals:
tshld = set_threshold(df2, threshold, prinf=print_info)
df, tots = combiney(df, df2, operation=operation, threshold=tshld, prinf=print_info)
# if doing keywording...
if operation.startswith('k'):
if isinstance(denominator, STRINGTYPE):
if denominator == 'self':
df2 = df.copy()
else:
df2 = denominator
from corpkit.keys import keywords
df = keywords(df, df2,
selfdrop=selfdrop,
threshold=threshold,
print_info=print_info,
editing=True,
calc_all=calc_all,
sort_by=sort_by,
measure=keyword_measure,
**kwargs)
# drop infinites and nans
df = df.replace([np.inf, -np.inf], np.nan)
df = df.fillna(0.0)
# resort data
if sort_by or keep_stats:
df = resort(df, keep_stats=keep_stats, sort_by=sort_by)
if isinstance(df, bool):
if df is False:
return 'linregress'
if keep_top:
if not just_totals:
df = df[list(df.columns)[:keep_top]]
else:
df = df.head(keep_top)
if just_totals:
# turn just_totals into series:
df = Series(df['Combined total'], name='Combined total')
if df1_istotals:
if operation.startswith('k'):
try:
df = Series(df.ix[dataframe1.name])
df.name = '%s: keyness' % df.name
except:
df = df.iloc[0, :]
df.name = 'keyness' % df.name
# generate totals branch if not percentage results:
# fix me
if df1_istotals or operation.startswith('k'):
if not just_totals:
try:
total = Series(df['Total'], name='Total')
except:
total = 'none'
pass
#total = df.copy()
else:
total = 'none'
else:
# might be wrong if using division or something...
try:
total = df.T.sum(axis=1)
except:
total = 'none'
if not isinstance(tots, DataFrame) and not isinstance(tots, Series):
total = df.sum(axis=1)
else:
total = tots
if isinstance(df, DataFrame):
if df.empty:
datatype = 'object'
else:
datatype = df.iloc[0].dtype
else:
datatype = df.dtype
locs['datatype'] = datatype
# TURN INT COL NAMES INTO STR
try:
df.results.columns = [str(d) for d in list(df.results.columns)]
except:
pass
def add_tkt_index(df):
"""add an order for tkintertable if using gui"""
if isinstance(df, Series):
df = df.T
df = df.drop('tkintertable-order', errors='ignore', axis=0)
df = df.drop('tkintertable-order', errors='ignore', axis=1)
dat = [i for i in range(len(df.index))]
df['tkintertable-order'] = Series(dat, index=list(df.index))
df = df.T
return df
# while tkintertable can't sort rows
if checkstack('tkinter'):
df = add_tkt_index(df)
if kwargs.get('df1_always_df'):
if isinstance(df, Series):
df = DataFrame(df)
# delete non-appearing conc lines
lns = None
if isinstance(getattr(interrogation, 'concordance', None), Concordance):
try:
col_crit = interrogation.concordance['m'].map(lambda x: x in list(df.columns))
ind_crit = interrogation.concordance['c'].map(lambda x: x in list(df.index))
lns = interrogation.concordance[col_crit]
lns = lns.loc[ind_crit]
lns = Concordance(lns)
except ValueError:
lns = None
output = Interrogation(results=df, totals=total, query=locs, concordance=lns)
if print_info:
print('***Done!***\n========================\n')
return output
================================================
FILE: corpkit/env.py
================================================
"""
A corpkit interpreter, with natural language commands.
todo:
* documentation
* handling of kwargs tuples etc
* checking for bugs, tests
* merge entries with name
"""
from __future__ import print_function
help_text = "\nThis is a dedicated interpreter for corpkit, a tool for creating, searching\n" \
"and visualising corpora. It works through a combination of objects and commands:\n\n" \
"Objects:\n\n" \
" +---------------+-----------------------------------------------+ \n"\
" | Object | Contains | \n"\
" +===============+===============================================+ \n"\
" | `corpus` | Dataset selected for parsing or searching | \n"\
" +---------------+-----------------------------------------------+ \n"\
" | `results` | Search output | \n"\
" +---------------+-----------------------------------------------+ \n"\
" | `edited` | Results after sorting, editing or calculating | \n"\
" +---------------+-----------------------------------------------+ \n"\
" | `concordance` | Concordance lines from search | \n"\
" +---------------+-----------------------------------------------+ \n"\
" | `features` | General linguistic features of corpus | \n"\
" +---------------+-----------------------------------------------+ \n"\
" | `wordclasses` | Distribution of word classes in corpus | \n"\
" +---------------+-----------------------------------------------+ \n"\
" | `postags` | Distribution of POS tags in corpus | \n"\
" +---------------+-----------------------------------------------+ \n"\
" | `figure` | Plotted data | \n"\
" +---------------+-----------------------------------------------+ \n"\
" | `query` | Values used to perform search or edit | \n"\
" +---------------+-----------------------------------------------+ "\
"\n\nCommand examples:\n\n" \
" +-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+ \n"\
" | Command | Purpose | Syntax | \n"\
" +=================+==============================================================+============================================================================================+ \n"\
" | `new` | Make a new project | `new project ` | \n"\
" +-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+ \n"\
" | `set` | Set current corpus | `set ` | \n"\
" +-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+ \n"\
" | `parse` | Parse corpus | `parse corpus with [options]*` | \n"\
" +-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+ \n"\
" | `search` | Search a corpus for linguistic feature, generate concordance | `search corpus for [feature matching pattern]* showing [feature]* with [options]*` | \n"\
" +-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+ \n"\
" | `edit` | Edit results or edited results | `edit result by [skipping subcorpora/entries matching pattern]* with [options]*` | \n"\
" +-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+ \n"\
" | `calculate` | Calculate relative frequencies, keyness, etc. | `calculate result/edited as operation of denominator` | \n"\
" +-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+ \n"\
" | `sort` | Sort results or concordance | `sort result/concordance by value` | \n"\
" +-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+ \n"\
" | `plot` | Visualise result or edited result | `plot result/edited as line chart with [options]*` | \n"\
" +-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+ \n"\
" | `show` | Show any object | `show object` | \n"\
" +-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+ \n"\
" | `annotate` | Add annotations to corpus based on search results | `annotate all with field as and value as m` | \n"\
" +-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+ \n"\
" | `unannotate` | Delete annotation fields from corpus | `unannotate field` | \n"\
" +-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+ \n"\
" | `sample` | Get a random sample of subcorpora or files from a corpus | `sample 5 subcorpora of corpus` | \n"\
" +-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+ \n"\
" | `call` | Name an object (i.e. make a variable) | `call object ''` | \n"\
" +-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+ \n"\
" | `export` | Export result, edited result or concordance to string/file | `export result to string/csv/latex/file ` | \n"\
" +-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+ \n"\
" | `save` | Save data to disk | `save object to ` | \n"\
" +-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+ \n"\
" | `load` | Load data from disk | `load object as result` | \n"\
" +-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+ \n"\
" | `store` | Store something in memory | `store object as ` | \n"\
" +-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+ \n"\
" | `fetch` | Fetch something from memory | `fetch as object` | \n"\
" +-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+ \n"\
" | `help` | Get help on an object or command | `help command/object` | \n"\
" +-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+ \n"\
" | `history` | See previously entered commands | `history` | \n"\
" +-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+ \n"\
" | `ipython` | Enter IPython with objects available | `ipython` | \n"\
" +-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+ \n"\
" | `py` | Execute Python code | `py 'print('hello world')'` | \n"\
" +-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+ \n"\
" | `!` | Run a line of bash shell | `!ls -al data` | \n"\
" +-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+ \n"\
"\nMore information:\n\nYou can access more specific help by entering corpkit, then by doing 'help ', or by visiting\n" \
"http://corpkit.readthedocs.io/en/latest\n\n" \
"For help on viewing results, hit '?' when in the result viewing mode. For concordances, hit 'h'.\n\n(Hit 'q' to exit help).\n\n"
from corpkit.constants import STRINGTYPE, PYTHON_VERSION, INPUTFUNC
import os
import traceback
import pandas as pd
try:
import gnureadline as readline
except ImportError:
import readline
import atexit
import corpkit
from corpkit import *
from corpkit.constants import transshow, transobjs
import warnings
warnings.simplefilter(action="ignore", category=UserWarning)
# pandas display setup, though this is rarely used when LESS
# and tabview are available
size = pd.util.terminal.get_terminal_size()
pd.set_option('display.max_rows', 0)
pd.set_option('display.max_columns', 0)
pd.set_option('display.float_format', lambda x: '{:,.3f}'.format(x))
# allow ctrl-r, etc
readline.parse_and_bind('set editing-mode vi')
# command completion
poss = ['testing', 'search', 'concordance']
from corpkit.completer import Completer
try:
import gnureadline as readline
except ImportError:
import readline as readline
completer = Completer(poss)
readline.set_completer(completer.complete)
if 'libedit' in readline.__doc__:
readline.parse_and_bind("bind ^I rl_complete")
else:
readline.parse_and_bind("tab: complete")
# this code makes it possible to remember history from previous sessions
history_path = os.path.expanduser("~/.pyhistory")
def save_history(history_path=history_path):
"""
On exit, add previous commands to history file
"""
try:
import gnureadline as readline
except ImportError:
import readline as readline
try:
readline.remove_history_item(readline.get_current_history_length() - 1)
except ValueError:
pass
readline.write_history_file(history_path)
if os.path.exists(history_path):
try:
readline.set_history_length(1000)
readline.read_history_file(history_path)
readline.set_history_length(1000)
except IOError:
pass
# bind to exit
atexit.register(save_history)
# tab completion
# ctrl r search
#readline.parse_and_bind("bind ^R em-inc-search-prev")
del os, atexit, save_history, history_path
#del rlcompleter
class Objects(object):
"""
In here are all of the major variables being used by the interpreter
This is much nicer than using globals
"""
def __init__(self):
# get dict of all possible wordlists
from corpkit.dictionaries.roles import roles
from corpkit.dictionaries.wordlists import wordlists
from corpkit.dictionaries.process_types import processes
from corpkit.dictionaries.verblist import allverbs
from collections import defaultdict
wl = wordlists._asdict()
try:
wl.update(roles.__dict__)
except AttributeError:
wl.update(roles._asdict())
wl.update(processes.__dict__)
wl['anyverb'] = allverbs
self._protected = ['result', 'previous', 'edited', 'corpus', 'concordance',
'query', 'features', 'postags', 'wordclasses', 'stored',
'figure', 'totals', 'wordlists', 'wordlist', 'matching',
'showing', 'excluding', 'not', 'as', 'with', 'and', 'by',
'm', 'l', 'r', 'conc', 'keeping', 'skipping', 'entries', 'subcorpora',
'merging', 'k', 'sampled',
'_in_a_project', '_previous_type', '_old_concs',
'_conc_colours', '_conc_kwargs', '_do_conc',
'_interactive', '_decimal', '_protected']
# main variables the user might access
self.result = None
self.previous = None
self.edited = None
self.corpus = None
self.concordance = None
self.query = None
self.features = None
self.sampled = None
self.postags = None
self.wordclasses = None
self.stored = {}
self.figure = None
self.totals = None
self.wordlists = wl
self.wordlist = None
self.named = {}
self.just = {}
self.skip = {}
self.symbolic = False
self._docker = False
self.max_cols = None
self.max_rows = None
self._comma = False
# system toggles and references to older data
self._in_a_project = None
self._previous_type = None
self._old_concs = []
self._conc_colours = defaultdict(dict)
self._conc_kwargs = {'n': 999}
# user settings (more to come?)
self._do_conc = True
self._interactive = True
self._decimal = 3
self._annotation_unlocked = False
def _get(self, name):
"""
Get an object, item from store or wordlist
"""
if name.startswith('wordlist') or name.startswith('stored'):
ob, attr = name.split('.', 1) if '.' in name else name.split(':', 1)
return ob, getattr(self, ob).get(attr)
feats = ['features', 'postags', 'wordclasses']
if any(name.startswith(i) for i in feats):
corpus = self.corpus
attr = name.split('.', 1)
if len(attr) == 1:
return name, getattr(corpus, name)
else:
bit = attr[1].upper() if attr[0] == 'postags' else attr[1].title()
data = getattr(corpus, attr[0])[bit]
return 'series', data
if name in self._protected:
return name, getattr(self, name, None)
else:
return self.named.get(name, (None, None))
def interpreter(debug=False,
fromscript=False,
quiet=False,
python_c_mode=False,
profile=False,
loadcurrent=False,
docker=False):
import os
allig = '\n Welcome!\n'
allig += " .-._ _ _ _ _ _ _ _ _\n " \
".-''-.__.-'00 '-' ' ' ' ' ' ' ' '-.\n " \
"'.___ ' . .--_'-' '-' '-' _'-' '._\n " \
"V: V 'vv-' '_ '. .' _..' '.'.\n "\
" '=.____.=_.--' :_.__.__:_ '. : :\n "\
" (((____.-' '-. / : :\n "\
" (((-'\ .' /\n "\
" _____..' .'\n "\
" '-._____.-'\n"
objs = Objects()
if docker:
objs._docker = docker
# basic way to check that we're currently in a project, because i'm lazy
def check_in_project():
import os
proj_dirs = ['data', 'saved_interrogations', 'exported']
if all(x in os.listdir('.') for x in proj_dirs):
return True
cpkt_dirs = ['API-README.md', 'corpkit', 'data', 'rst_docs']
if all(x in os.listdir('.') for x in cpkt_dirs):
return True
return False
def generate_outprint():
"""
Text to appear when switching to IPython
"""
s = 'Switched to IPython ... defined variables:\n\n\t'
s += 'corpus, results, concordance, edited ...\n\n\tType "quit" to return to corpkit environment'
return s
def read_script(fname):
"""
If a sript was passed to corpkit, get lines in it, minus comments
"""
from corpkit.constants import OPENER
with OPENER(fname, 'r') as fo:
data = fo.read()
data = data.splitlines()
data = [i for i in data if i.strip() and i.strip()[0] != '#']
# turn off concordancing if it's never used in the script
if 'concordance' not in ' '.join(data):
objs._do_conc = False
return list(reversed(data))
def helper(tokens):
"""
Give user help if they enter a command alone
"""
func = get_command.get(tokens[0], False)
if not func:
print('Not recognised: %s' % tokens[0])
return
print(getattr(func, '__doc__', 'Not written yet, sorry.'))
def switch_to_ipython(args):
from IPython import embed
from IPython.terminal.embed import InteractiveShellEmbed
s = generate_outprint()
for k, v in objs.__dict__.items():
if not k.startswith('_'):
locals()[k] = v
for k, v in objs.named.items():
locals()[k] = v
ret = InteractiveShellEmbed(header=s,
babaii='babaii',
#colors='Linux',
exit_msg='Switching back to corpkit environment ...',
local_ns=locals())
cc = ret()
def switch_to_jupyter(args):
comm = ["jupyter", "notebook"]
import subprocess
if args:
import os
nbfile = args[-1]
if not nbfile.endswith('.ipynb'):
nbfile = nbfile + '.ipynb'
if os.path.isfile(nbfile):
comm.append(nbfile)
subprocess.call(comm)
def switch_to_gui(args):
import subprocess
import os
print('Loading graphical interface ... ')
subprocess.call(["python", "-m", 'corpkit.gui', os.getcwd()])
def show_concordance(obj, command, args):
import pydoc
# update the showing parameters
kwargs = process_kwargs(args)
if kwargs:
objs._conc_kwargs.update(kwargs)
if obj is None:
print("There's no concordance here right now, sorry.")
return
# retrieve the correct concordances, so we can colour them
found_the_conc = next((i for i, c in enumerate(objs._old_concs) \
if c.equals(obj)), None)
if found_the_conc is None:
return
# if colours have been saved for these lines, try to fill them in
if objs._conc_colours.get(found_the_conc):
try:
lines_to_print = []
from colorama import Fore, Back, Style, init
lines = obj.format(print_it=False, **objs._conc_kwargs).splitlines()
# for each concordance line
for line in lines:
# get index as str
num = line.strip().split(' ', 1)[0]
# get dict of style and colour for line
gotnums = objs._conc_colours[found_the_conc].get(num, {})
highstr = ''
for sty, col in gotnums.items():
if col.upper() in ['DIM', 'NORMAL', 'BRIGHT', 'RESET_ALL']:
thing_to_color = Style
elif sty == 'Back':
thing_to_color = Back
else:
thing_to_color = Fore
highstr += getattr(thing_to_color, col.upper())
highstr += line
lines_to_print.append(highstr)
if objs._interactive:
pydoc.pipepager('\n'.join(lines_to_print), cmd="less -X -R -S")
else:
print('\n'.join(lines_to_print))
except ImportError:
formatted = obj.format(print_it=False, **objs._conc_kwargs)
if objs._interactive:
pydoc.pipepager(formatted, cmd="less -X -R -S")
else:
print(formatted)
else:
formatted = obj.format(print_it=False, **objs._conc_kwargs)
if objs._interactive:
pydoc.pipepager(formatted, cmd="less -X -R -S")
else:
print(formatted)
def show_table(obj, objtype=False, start_pos=False):
"""
Print or tabview a Pandas object
"""
if objs._interactive:
import tabview
showfunc = tabview.view
kwa = {'column_width': 10, 'align_right': True}
else:
showfunc = print
kwa = {}
if start_pos:
kwa['start_pos'] = start_pos
obj = getattr(obj, 'results', obj)
if isinstance(obj, (pd.DataFrame, pd.Series)):
df = obj.round(objs._decimal)
if isinstance(obj, pd.DataFrame):
df = df.iloc[:objs.max_rows,:objs.max_cols]
else:
df = df[:objs.max_rows]
if objs._comma:
if isinstance(obj, pd.DataFrame):
df = df.applymap(lambda x: '{:,}'.format(x))
else:
df = df.apply(lambda x: '{:,}'.format(x))
#if showfunc == tabview.view:
# df = df.astype(str).apply(lambda x: x.str.rjust(len(x.name), ' '))
showfunc(df, **kwa)
return
# not sure what might be here
elif obj:
try:
df = obj.round(objs._decimal)
except:
df = obj
try:
df = df[:objs.max_rows,:objs.max_cols]
except:
pass
showfunc(df[:objs.max_rows,:objs.max_cols], **kwa)
return
#else:
# if isinstance(objs._get(command)[1], (pd.DataFrame, pd.Series)):
# showfunc(objs._get(command)[1].round(objs._decimal), **kwa)
# return
def single_command_print(command):
"""
If the user enters just a single token, show them that token
This function also processes multiword tokens sometimes, which is inconsistent.
"""
helpable = ['calculate', 'plot', 'search', 'fetch', 'store', 'save', 'edit',
'export', 'sort', 'load', 'mark', 'del', 'annotate', 'unannotate',
'sample', 'call']
if isinstance(command, list) and len(command) == 1 and command[0] in helpable:
helper(command)
args = []
if isinstance(command, list):
args = command[1:]
command = command[0]
if command in objs.named.keys():
objtype, obj = objs.named.get(command)
if isinstance(obj, str):
print('%s: %s' % (command, obj))
return
elif objtype == 'eval':
print('%s: ' % command, obj)
else:
objtype, obj = objs._get(command)
if not objtype:
objtype = command
if objtype == 'ls':
import os
print('\n'.join(os.listdir('.')))
if objtype == 'clear':
try:
from blessings import Terminal
terminal = Terminal()
print(terminal.clear())
print(terminal.move(0,0))
except:
print(chr(27) + "[2J")
if objtype == 'history':
import readline
for i in range(readline.get_current_history_length()):
print(readline.get_history_item(i + 1))
if objtype == 'help':
import pydoc
pydoc.pipepager(help_text, cmd='less -X -R -S')
if objtype == 'corpus':
if not hasattr(obj, 'name'):
print('Corpus not set. use "set ".')
return
else:
print(obj)
elif objtype == 'python' or objtype == 'ipython':
switch_to_ipython(args)
elif objtype.startswith('jupyter') or objtype == 'notebook':
switch_to_jupyter(args)
elif objtype == 'gui':
switch_to_gui(args)
elif objtype in ['result', 'edited', 'totals', 'previous',
'features', 'postags', 'wordclasses', 'series']:
show_table(obj, objtype)
elif objtype == 'concordance':
show_concordance(obj, objtype, args)
elif objtype == 'wordlists':
show_this([objtype])
elif objtype == 'wordlist':
print(objs.wordlist)
elif objtype.startswith('wordlist'):
o, l = objtype.split('.', 1) if '.' in objtype else objtype.split(':', 1)
print(getattr(objs.wordlists, l))
elif objtype == 'query':
show_this([objtype])
else:
pass
def set_something(tokens):
"""
Set the active corpus, a corpus filter, subcorpus structure, or option:
:Examples:
`set junglebook-parsed`
`set decimal as 3`
`set just topic as freedom|democracy`
`set max_rows as 1000`
`set papers as corpora`
"""
if tokens and tokens[0].startswith('decimal'):
objs._decimal = int(tokens[2])
print('Decimal places set to %d.' % objs._decimal)
return
if tokens and tokens[0] in ['max_cols', 'max_rows']:
dim = 'rows' if tokens[0].endswith('rows') else 'columns'
if tokens[-1] in ['off', 'all', 'false', 'False', 'None', 'none']:
setattr(objs, tokens[0], None)
print("Max %s turned off." % dim)
return
else:
setattr(objs, tokens[0], int(tokens[-1]))
print('Max %s set to %s.' % (dim, format(int(tokens[-1]), ',')))
return
# set subcorpora as attribute of corpus object ... is this ideal?
if tokens and tokens[0].startswith('subcorp'):
from corpkit.corpus import Corpus
if tokens[-1] in ['false', 'none', 'normal', 'off',
'folder', 'folders', 'False', 'None']:
tokens[-1] = False
objs.symbolic = tokens[-1]
#objs.corpus = Corpus(objs.corpus, subcorpora=tokens[-1], print_info=False)
print('Set subcorpora to "%s".' % (tokens[-1]))
return
# setting skipping and just filters
if tokens and tokens[0] in ['skip', 'just']:
attr = tokens[0]
# if the filter is already in the dict
if isinstance(getattr(objs, tokens[0]), dict) and tokens[1] in getattr(objs, tokens[0]).keys():
oldd = getattr(objs, tokens[0])
# delete it
if tokens[-1] in ['none', 'None', 'off', 'default']:
oldd.pop(tokens[1], None)
setattr(objs, tokens[0], oldd)
# modify it
else:
oldd[tokens[1]] = parse_pattern(tokens[-1])
setattr(objs, tokens[0], oldd)
# delete the entire filter dict
elif tokens[-1] in ['none', 'None', 'off', 'default']:
setattr(objs, attr, False)
print("Reset %s filter." % attr)
return
# if not in dict, add it
metfeat = tokens[1]
crit = tokens[-1]
if crit.startswith('tag'):
setattr(objs, attr, {'tags': parse_pattern(crit)})
else:
if isinstance(getattr(objs, attr, False), dict):
d = getattr(objs, attr)
d[metfeat] = parse_pattern(crit)
setattr(objs, attr, d)
else:
setattr(objs, attr, {metfeat: parse_pattern(crit)})
print("Current %s filter: %s" % (attr, getattr(objs, attr)))
return
if not check_in_project():
print("Must be in project to set corpus.")
return
from corpkit.other import load
if not tokens:
# todo: pick first one if only one
show_this(['corpora'])
selected = INPUTFUNC('Pick a corpus by name or number: ')
selected = selected.strip()
if not selected:
return
elif selected.isdigit():
dirs = [x for x in os.listdir('data') \
if os.path.isdir(os.path.join('data', x))]
set_something([dirs[int(selected)-1]])
return
else:
set_something([selected])
return
path = tokens[0]
loadsaved = len(tokens) > 1 and tokens[1].startswith('load')
kwargs = process_kwargs(tokens, fixjust=True)
if debug:
print('KWARGS', kwargs)
if os.path.exists(path) or os.path.exists(os.path.join('data', path)):
from corpkit.corpus import Corpus, Corpora
if tokens[-1] == 'corpora':
objs.corpus = Corpora(path, load_saved=loadsaved, **kwargs)
else:
objs.corpus = Corpus(path, load_saved=loadsaved, **kwargs)
else:
dirs = [x for x in os.listdir('data') if os.path.isdir(os.path.join('data', x))]
corpname = dirs[int(tokens[0])-1]
set_something([corpname] + tokens[1:])
def get_something(tokens):
"""
Get a subcorpus or file of a corpus
:Example:
get file 1 from corpus
"""
# if the user wants to start at a sentence
start_pos = False
six = next((i for i, w in enumerate(tokens) if w.startswith('sent')), -1) + 1
if six:
start_pos = int(tokens[six])
tokens = [t for i, t in enumerate(tokens) if i != six and i != six-1]
target_corpus = 'corpus'
if len(tokens) > 2:
target_corpus = tokens[-1]
corpp = objs._get(target_corpus)[1]
getwhat = 'files' if tokens[0] == 'file' else 'subcorpora'
dlist = getattr(corpp, getwhat)
try:
ix = int(tokens[1]) - 1
except:
ix = tokens[1]
ob = dlist[ix]
if objs._interactive and hasattr(ob, 'document'):
ndf = ob.document
ndf.columns = ['Word', 'Lemma', 'POS', 'NER', 'Morphology', 'Governor', 'Function', 'Dependents', 'Co-reference']
ndf.index.names = ['Sentence', 'Token']
start_pos = next((i for i, l in enumerate(ndf.index.labels[0]) if l == start_pos), 0)
show_table(ndf, objtype=False, start_pos=start_pos)
objs.sampled = ob
print('Sample created.')
return
def parse_search_related(search_related):
"""
parse the capitalised tokens in
'search corpus FOR GOVERNOR-LEMMA MATCHING XYZ AND LEMMA MATCHING .* showing ...'
"""
search = {}
exclude = {}
searchmode = 'all'
cqlmode = False
if search_related[0] != 'for':
search_related.insert(0, 'for')
for i, token in enumerate(search_related):
if token in ['for', 'and', 'not', 'or']:
if token == 'or':
searchmode = 'any'
if search_related[i+1] == 'not':
continue
if search_related[i+1] == 'features':
search = 'features'
continue
if search_related[i+1] == 'postags':
search = 'postags'
continue
if search_related[i+1] == 'wordclasses':
search = 'wordclasses'
continue
k = search_related[i+1]
if k == 'cql':
cqlmode = True
aquery = next((i for i in search_related[i+2:] \
if i not in ['matching']), False)
if aquery:
search = aquery
break
k = process_long_key(k)
v = search_related[i+3].strip("'")
v = parse_pattern(v)
if token == 'not':
exclude[k] = v
else:
search[k] = v
return search, exclude, searchmode, cqlmode
def process_long_key(srch):
"""
turn governor-lemma into 'gl', etc.
"""
from corpkit.constants import transshow, transobjs
transobjs = {v.lower(): k.replace(' ', '-') for k, v in transobjs.items()}
transshow = {v.lower(): k.replace(' ', '-') for k, v in transshow.items()}
showplurals = {k + 's': v for k, v in transshow.items()}
objsplurals = {k + 's': v for k, v in transobjs.items()}
transshow['distance'] = 'r'
transshow['ngram'] = 'n'
transshow['distances'] = 'r'
transshow['ngrams'] = 'n'
transshow['wordclass'] = 'x'
transshow['wordclasses'] = 'x'
transshow['count'] = 'c'
transshow.update(showplurals)
transobjs.update(objsplurals)
ngram = srch.startswith('n')
colls = srch.startswith('b')
if ngram or colls:
newsrch = srch.split('-', 1)[-1]
if newsrch == srch:
srch = 'nw' if ngram else 'bw'
else:
srch = newsrch
srch = srch.lower()
if '-' not in srch:
if srch in transobjs:
string = transobjs.get(srch) + 'w'
elif srch in transshow or srch.startswith('t'):
if not srch.startswith('t'):
string = 'm' + transshow.get(srch)
else:
string = transshow.get(srch, 't')
else:
string = srch
else:
obj, show = srch.split('-', 1)
string = '%s%s' % (transobjs.get(obj, obj), transshow.get(show, show))
if ngram:
return 'n' + string
elif colls:
return 'b' + string
else:
return string
def parse_pattern(val):
"""
Parse the token after 'matching'---that is, the search criteria
"""
trans = {'true': True,
'false': False,
'on': True,
'off': False,
'none': None}
# this means that if the query is a variable, the variable is returned
# maybe this is not ideal behaviour.
if val in objs.named.keys():
return objs.named[val]
if any(val.startswith(x) for x in ['role', 'process', 'wordlist']) \
and any(x in [':', '.'] for x in val):
lis, attrib = val.split('.', 1) if '.' in val else val.split(':', 1)
customs = []
from corpkit.dictionaries import roles, processes, wordlists
mapped = {'roles': roles,
'processes': processes}
if lis.startswith('wordlist'):
lst = objs.wordlists.get(attrib)
else:
lst = getattr(mapped.get(lis), attrib)
if lst:
return lst
else:
print('Wordlist "%s" unrecognised.' % attrib)
if val.isdigit():
return int(val)
elif val.startswith('[') and val.endswith(']'):
val = val.lstrip('[').rstrip(']')
if ', ' in val:
return val.strip('"').strip("'").split(', ')
elif ',' in val:
return val.strip('"').strip("'").split(',')
elif ' ' in val:
return val.strip('"').strip("'").split()
elif val.lower() in trans.keys():
return trans.get(val.lower())
# interpret columns
elif all(i in ['i', 'c', 'f', 's', 'l', 'm', 'r'] for i in val.lower()) and len(val) <= 6:
return [i for i in val.lower()]
else:
if val in dir(__builtins__) + ['any', 'all']:
return val
try:
return eval(val)
except (SyntaxError, NameError):
return val
def search_helper(text='search'):
"""
Interactive mode for search, exclude or show
"""
if text in ['search', 'exclude']:
search_or_show = {}
else:
search_or_show = []
while True:
out = INPUTFUNC('\n %s (words, lemma, pos, function ... ) > ' % text)
out = out.lower()
if not out:
break
if out.startswith('done'):
break
if out == 'cql':
cql = INPUTFUNC('\n CQL query > ')
return cql.strip()
if text == 'show':
out = out.replace(', ', ' ').replace(',', ' ').replace('/', ' ')
return out.split(' ')
#search_or_show.append(out)
#continue
val = INPUTFUNC('\n value (regex, wordlist) > ')
if not val:
continue
if val.startswith('done'):
break
out = process_long_key(out)
search_or_show[out] = parse_pattern(val)
return search_or_show
def process_kwargs(tokens, fixjust=False):
"""
Turn the last part of a command into a dict of kwargs
"""
if 'with' in tokens:
start = tokens.index('with')
with_related = tokens[start+1:]
else:
with_related = []
withs = {}
skips = []
for i, token in enumerate(with_related):
if i in skips or token == 'and':
continue
# this is used when making corpora with filters
if fixjust:
if token == 'skip':
pat = parse_pattern(with_related[i+3])
withs['skip'] = {with_related[i+1]: pat}
elif token == 'just':
pat = parse_pattern(with_related[i+3])
withs['just'] = {with_related[i+1]: pat}
skips.append(i+1)
skips.append(i+2)
skips.append(i+3)
if token in ['skip', 'just']:
continue
if token == 'not':
withs[with_related[i+1].lower()] = False
skips.append(i+1)
elif '=' not in token:
if len(with_related) >= i+2 and with_related[i+1] == 'as':
val = with_related[i+2]
val = parse_pattern(val)
withs[token.lower()] = val
skips.append(i+1)
skips.append(i+2)
else:
withs[token.lower()] = True
elif '=' in token:
k, v = token.lower().split('=', 1)
v = parse_pattern(v)
withs[k] = v
return withs
def parse_search_args(tokens):
"""
Put all search arguments together---search, exclude, show, and kwargs
"""
tokens = tokens[1:]
# interactive mode
if not tokens:
search = search_helper(text='search')
exclude = search_helper(text='exclude')
show = search_helper(text='show')
show = [process_long_key(i) for i in show]
kwargs = {'search': search, 'show': show, 'exclude': exclude,
'cql': isinstance(search, str), 'conc': objs._do_conc}
return kwargs
search_related = []
for token in tokens:
search_related.append(token)
if token in [',', 'showing', 'with', 'excluding']:
break
if 'excluding' in tokens:
start = tokens.index('excluding')
ex_related = tokens[start+1:]
end = ex_related.index('showing') if 'showing' in ex_related else False
if end is False:
end = ex_related.index('with') if 'with' in ex_related else False
if end:
ex_related = ex_related[:end]
else:
ex_related = []
if 'showing' in tokens:
start = tokens.index('showing')
show_related = tokens[start+1:]
end = show_related.index('with') if 'with' in show_related else False
if end:
show_related = show_related[:end]
else:
show_related = []
if 'with' in tokens:
start = tokens.index('with')
with_related = tokens[start+1:]
else:
with_related = []
search, exclude, searchmode, cqlmode = parse_search_related(search_related)
if not exclude and ex_related:
exclude, _, _, _, _ = parse_search_related(ex_related)
show = []
if show_related:
for token in show_related:
token = token.rstrip(',')
if token == 'and':
continue
token = process_long_key(token)
show.append(token)
else:
show = ['w']
withs = process_kwargs(tokens)
kwargs = {'search': search, 'exclude': exclude,
'show': show, 'cql': cqlmode, 'conc': objs._do_conc, 'searchmode': searchmode}
kwargs.update(withs)
return kwargs
def search_corpus(tokens):
"""
Search a corpus for lexicogrammatical features. You are limited only by your imagination.
:Syntax:
search corpus for [object matching pattern]* showing [things to show]* with [extra options]*
The asterisk marked parts of the query can be recursive and negated
:Examples:
> search corpus for cql matching '[word="test"]' showing word and lemma
> search corpus for governor-function matching roles:process with coref
> search corpus for trees matching "/NN.?/ >># NP"
> search corpus for words matching "^[abcde]" with preserve_case and case_sensitive
"""
corpp = objs._get(tokens[0])[1]
if not corpp:
print('Corpus not set. use "set ".')
return
kwargs = parse_search_args(tokens)
kwargs['quiet'] = quiet
if 'just_metadata' not in kwargs:
kwargs['just_metadata'] = objs.just if objs.just else False
if 'skip_metadata' not in kwargs:
kwargs['skip_metadata'] = objs.skip if objs.skip else False
if 'subcorpora' not in kwargs:
kwargs['subcorpora'] = objs.symbolic if objs.symbolic else False
if debug:
print(kwargs)
kwargs['show_conc_metadata'] = True
if corpp.level == 's' and not kwargs.get('subcorpora', False) \
and not corpp.symbolic:
kwargs['files_as_subcorpora'] = True
#objs.corpus.just = objs.just
#objs.corpus.skip = objs.skip
#objs.corpus.symbolic = objs.symbolic
sch = kwargs.get('search', False)
if sch in ['features', 'postags', 'wordclasses']:
objs.result = getattr(corpp, sch)
try:
objs.totals = getattr(corpp, sch).sum(axis=1)
except:
objs.totals = None
#if objs._interactive:
# show_this([sch])
else:
objs.result = corpp.interrogate(**kwargs)
objs.totals = objs.result.totals
# this should be done for pos and wordclasses too
print('')
return objs.result
def show_this(tokens):
"""
Show any object in a human-readable form
"""
if tokens[0].startswith('file'):
get_something[tokens]
return
if tokens[0] == 'corpora':
dirs = [x for x in os.listdir('data') if \
os.path.isdir(os.path.join('data', x))]
dirs = ['\t%d: %s' % (i, x) for i, x in enumerate(dirs, start=1)]
print ('\n'.join(dirs))
elif tokens[0].startswith('store'):
for k, v in objs.stored.items():
print(k, v)
elif tokens[0].startswith('filter'):
print('Skip:', getattr(objs, 'skip', 'none'))
print('Just:', getattr(objs, 'just', 'none'))
elif tokens[0].startswith('subcorp'):
print('Symbolic structure:', getattr(objs, 'symbolic', 'none'))
elif tokens[0].startswith('wordlists'):
if '.' in tokens[0] or ':' in tokens[0]:
if ':' in tokens[0]:
_, attr = tokens[0].split(':')
else:
_, attr = tokens[0].split('.')
print(objs.wordlists.get(attr))
else:
for k, v in sorted(objs.wordlists.items()):
showv = str(v[:5])
if len(v) > 5:
showv = showv.rstrip('] ') + ' ... ]'
print('"%s": %s' % (k, showv))
elif tokens[0] == 'saved':
ss = [i for i in os.listdir('saved_interrogations') \
if not i.startswith('.')]
print ('\t' + '\n\t'.join(ss))
elif tokens[0] == 'query':
for k, v in sorted(objs.query.items()):
print('%s: %s' % (str(k), str(v)))
elif tokens[0] == 'figure':
if hasattr(objs, 'figure') and objs.figure:
objs.figure.show()
else:
print('Nothing here yet.')
elif tokens[0] in ['features', 'wordclasses', 'postags']:
show_table(getattr(objs.corpus, tokens[0]))
elif objs._get(tokens[0]):
single_command_print(tokens)
else:
print("No information about: %s" % tokens[0])
def get_info(tokens):
pass
def edit_conc(conc, kwargs, varname=False):
from corpkit.interrogation import Concordance
for k, v in kwargs.items():
if k == 'just_subcorpora':
objs.concordance = conc[conc['c'].str.contains(v)]
elif k == 'skip_subcorpora':
objs.concordance = conc[~conc['c'].str.contains(v)]
elif k == 'just_entries':
objs.concordance = conc[conc['m'].str.contains(v)]
elif k == 'skip_entries':
objs.concordance = conc[~conc['m'].str.contains(v)]
objs.concordance = Concordance(objs.concordance)
# should this really happen?
if varname and varname in objs._protected.keys():
objs.named[varname] = objs.concordance
return objs.concordance
#if objs._interactive:
# show_this(['concordance'])
def edit_something(tokens):
"""
Edit an interrogation or concordance
:Example:
`edit result by skippings subcorpora matching [1,2,3] with keep_top as 5`
"""
thing_to_edit = get_thing_to_edit(tokens[0])
trans = {'skipping': 'skip',
'keeping': 'just',
'merging': 'merge',
'spanning': 'span'}
recog = ['not', 'matching', 'result', 'entry', 'entries',
'results', 'subcorpus', 'subcorpora', 'edited']
# skip, keep, merge
by_related = []
if 'by' in tokens:
start = tokens.index('by')
by_related = tokens[start+1:]
if not by_related:
inter = interactive_edit(tokens)
kwargs = {}
skips = []
for i, token in enumerate(by_related):
if i in skips:
continue
if token in trans.keys():
k = trans.get(token) + '_' + by_related[i+1]
v = next((x for x in by_related[i+1:] if x not in recog), False)
if not v:
print('v not found')
return
v = parse_pattern(v)
if token == 'merging':
newname = next(tokens[i+1] for i, t in enumerate(tokens) if t == 'as')
v = {newname: v}
kwargs[k] = v
#for x in range(i, ind+1):
# skips.append(x)
# add bools etc
morekwargs = process_kwargs(tokens)
for k, v in morekwargs.items():
if k not in kwargs.keys():
kwargs[k] = v
if debug:
print(kwargs)
from corpkit.interrogation import Concordance
if isinstance(thing_to_edit, Concordance):
edt = edit_conc(thing_to_edit, kwargs, varnam=tokens[0])
else:
edt = thing_to_edit.edit(**kwargs)
if isinstance(edt, Concordance):
objs.concordance = edt
else:
objs.edited = edt
if hasattr(objs.edited, 'totals'):
objs.totals = objs.edited.totals
return edt
def run_command(tokens):
"""
Run command and send output to objs class
"""
command = get_command.get(tokens[0], unrecognised)
out = command(tokens[1:])
import pydoc
import tabview
# store the previous thing as previous
attr = objmap.get(command, False)
if attr:
objs.previous = getattr(objs, attr)
objs._previous_type = attr
if command == search_corpus:
# can be dataframe in the case of features
import pandas as pd
from corpkit.interrogation import Interrogation, Concordance
if not isinstance(objs.result, (Interrogation, Concordance, pd.DataFrame, pd.Series)):
return
objs.result = out
objs.previous = out
show_this(['result'])
objs.query = getattr(out, 'query', None)
if objs._do_conc and (hasattr(out, 'concordance') and out.concordance is not None):
objs.concordance = out.concordance
objs._old_concs.append(objs.concordance)
else:
objs.concordance = None
# find out what is going on here
objs.edited = False
# either all or no showing should be done here
elif command in [edit_something, sort_something, calculate_result,
keep_conc, del_conc]:
from corpkit.interrogation import Concordance
if isinstance(out, Concordance):
objs._old_concs[-1] = objs.concordance
if objs._interactive:
show_this(['concordance'] + tokens[1:])
else:
if objs._interactive:
show_this(['edited'])
else:
if debug:
print('Done:', repr(out))
return out
def add_colour_to_conc_df(conc):
"""
Exporting conc lines needs to preserve colouring
"""
colourdict = objs._conc_colours[len(objs._old_concs)-1]
fores = []
backs = []
stys = []
for index in list(conc.index):
line = colourdict.get(str(index))
if not line:
fores.append('')
backs.append('')
stys.append('')
else:
fores.append(line.get('Fore', ''))
backs.append(line.get('Back', ''))
stys.append(line.get('Style', ''))
if any(i != '' for i in fores):
conc['Foreground'] = fores
if any(i != '' for i in backs):
conc['Background'] = backs
if any(i != '' for i in stys):
conc['Style'] = stys
return conc
def export_result(tokens):
"""
Send a result, edited result or concordance to file
:Example:
`export result as csv to out.csv`
`export concordance as latex to concs.tex`
"""
import os
obj = objs._get(tokens[0])[1]
if tokens[0].startswith('conc'):
obj = add_colour_to_conc_df(obj.copy())
if tokens[0] in ['result', 'edited']:
obj = getattr(obj, 'results', obj)
if len(tokens) == 1:
print(obj.to_string())
return
tokens = tokens[1:]
if 'as' in tokens:
formt = tokens[tokens.index('as') + 1][0]
tokens = tokens[tokens.index('as') + 2:]
else:
formt = 'c'
if tokens:
buf = tokens[-1]
else:
buf = None
if buf == formt:
buf = None
if os.pathsep not in buf:
buf = os.path.join('exported', buf)
if formt == 'c':
obj.to_csv(buf, sep='\t')
elif formt == 's':
obj.to_string(buf)
elif formt == 'l':
obj.to_latex(buf)
if buf:
if os.path.isfile(buf):
print('Saved to: %s' % buf)
else:
print('Problem exporting file.')
def interactive_edit(tokens):
print('Not done yet')
pass
def get_thing_to_edit(token):
thing = objs._get(token)[1]
if thing is None:
thing = objs.result
return thing
def sort_something(tokens):
"""
Sort a result or concordance line
"""
thing_to_edit = get_thing_to_edit(tokens[0])
recog = ['by', 'with', 'from']
val = next((x for x in tokens[1:] if x not in recog), 'total')
from corpkit.interrogation import Concordance
if not isinstance(thing_to_edit, Concordance):
sortedd = thing_to_edit.edit(sort_by=val)
if sortedd == 'linregress':
raise ValueError("scipy needs to be installed for linear regression sorting.")
objs.edited = sortedd
objs.totals = objs.edited.totals
return objs.edited
else:
if val.startswith('i'):
sorted_lines = thing_to_edit.sort_index()
else:
if val[0] in ['l', 'm', 'r']:
l_or_r = thing_to_edit[val[0]]
if len(val) == 1:
val = val + '1'
ind = int(val[1:])
val = val[0]
if val == 'l':
ind = -ind
else:
ind = ind - 1
import numpy as np
# bad arg parsing here!
if 'slashsplit' in tokens:
splitter = '/'
else:
splitter = ' '
to_sort_on = l_or_r.str.split(splitter).tolist()
if val == 'l':
# todo: this is broken on l2,l3 etc
to_sort_on = [i[ind].lower() if i and len(i) >= abs(ind) \
else np.nan for i in to_sort_on]
else:
to_sort_on = [i[ind].lower() if i and len(i) > abs(ind) \
else np.nan for i in to_sort_on]
thing_to_edit['x'] = to_sort_on
val = 'x'
elif val in ['scheme', 'color', 'colour']:
val = 'x'
num_col = objs._conc_colours[len(objs._old_concs)-1]
series = []
# todo: fix this!
for i in range(len(thing_to_edit)):
bit = num_col.get(str(i), 'zzzzz')
if isinstance(bit, dict):
bit = bit.get('Fore', bit.get('Back', 'zzzzz'))
series.append(bit)
thing_to_edit['x'] = series
sorted_lines = thing_to_edit.sort_values(val, axis=0, na_position='last')
if val == 'x':
sorted_lines = sorted_lines.drop('x', axis=1)
objs.concordance = Concordance(sorted_lines)
# do not add new entry to old concs for sorting :)
objs._old_concs[-1] = objs.concordance
if objs._interactive:
single_command_print('concordance')
def plot_result(tokens):
"""
Visualise an interrogation using matplotlib
"""
import matplotlib.pyplot as plt
kinds = ['line', 'heatmap', 'bar', 'barh', 'pie', 'area']
kind = next((x for x in tokens if x in kinds), 'line')
kwargs = process_kwargs(tokens)
kwargs['tex'] = kwargs.get('tex', False)
title = kwargs.pop('title', False)
objs.figure = objs._get(tokens[0])[1].visualise(title=title, kind=kind, **kwargs)
objs.figure.show()
return objs.figure
def asciiplot_result(tokens):
"""
Visualise an interrogation with a simple ascii line chart
"""
obj, attr = tokens[0].split(':', 1) if ':' in tokens[0] else tokens[0].split('.', 1)
to_plot = objs._get(obj)[1]
# if it said 'asciiplot result.this on axis 1', turn it into
# asciiplot result.this with axis as 1
if 'on' in tokens and not 'with' in tokens:
tokens[tokens.index('on')] = 'with'
if tokens[tokens.index('with')+1] == 'axis':
if tokens[tokens.index('with')+2] in [0, 1]:
tokens.insert(tokens.index('with')+2, 'as')
kwargs = process_kwargs(tokens)
to_plot.asciiplot(attr, **kwargs)
def calculate_result(tokens):
"""
Get relative frequencies, combine results, do keywording
:Syntax:
calculate / as of
:Examples:
> calculate result as percentage of self
> calculate edited as percentage of features.clauses
> calculate result as percentage of stored.myname
"""
# todo: use real syntax for keyness
if 'k' in tokens or 'keyness' in tokens:
operation = 'k'
else:
operation = False
dd = {'percentage': '%',
'key': 'k',
'keyness': 'k'}
calcs = ['k', '%', '+', '/', '-', '*', 'percentage', 'keyness']
operation = next((i for i in tokens if any(i.startswith(x) for x in calcs)), operation)
if not operation:
if tokens[-1].startswith('conc'):
res = objs.concordance.calculate()
objs.result = res.results
objs.totals = res.totals
if objs._interactive:
show_this(['result'])
return
else:
print('Bad operation.')
return
objtype, denominator = objs._get(tokens[-1])
if tokens[-1] == 'self':
denominator = 'self'
operation = dd.get(operation, operation)
the_obj = objs._get(tokens[0])[1]
if not the_obj:
the_obj = objs._get(tokens[-1])[1]
objs.edited = the_obj.edit(operation, denominator)
if hasattr(objs.edited, 'totals'):
objs.totals = objs.edited.totals
#print('\nedited:\n\n', objs.edited.results, '\n')
return objs.edited
def tokenise_corpus(tokens):
"""
Tokenise an unparsed corpus
:Example:
`parse corpus with speaker_segmentation and metadata and multiprocess as 2`
"""
typ, to_parse = objs._get(tokens[0])
if typ != 'corpus':
print('Command not understood. Use "set " and "parse corpus"')
if not to_parse:
print('Corpus not set. use "set " on an unparsed corpus.')
return
if to_parse.datatype != 'plaintext':
print('Corpus is not plain text.')
return
kwargs = process_kwargs(tokens)
parsed = to_parse.tokenise(**kwargs)
if parsed:
setattr(objs, 'corpus', parsed)
return
def parse_corpus(tokens):
"""
Parse an unparsed corpus
:Example:
`parse corpus with speaker_segmentation and metadata and multiprocess as 2`
"""
typ, to_parse = objs._get(tokens[0])
if typ != 'corpus':
print('Command not understood. Use "set " and "parse corpus"')
if not to_parse:
print('Corpus not set. use "set " on an unparsed corpus.')
return
if to_parse.datatype != 'plaintext':
print('Corpus is not plain text.')
return
kwargs = process_kwargs(tokens)
parsed = to_parse.parse(**kwargs)
if parsed:
setattr(objs, 'corpus', parsed)
return
def fetch_this(tokens, unbound=False):
"""
Get something from storage
:Example:
`fetch my_result as result`
"""
from corpkit.corpus import Corpus
from corpkit.interrogation import Interrogation, Concordance
from_wl = False
to_fetch = objs.stored.get(tokens[0], False)
if to_fetch is False:
to_fetch = objs.wordlists.get(tokens[0], False)
from_wl = True
if to_fetch is False:
print('Not in store or wordlists: %s' % tokens[0])
return
if unbound:
return to_fetch
if from_wl:
objs.wordlist = to_fetch
showv = to_fetch[:5]
if len(to_fetch) > 5:
showv = str(showv).rstrip('] ') + ' ... ]'
print('%s (%s) fetched as wordlist.' % (repr(tokens[0]), showv))
return
if len(tokens) < 3:
if isinstance(to_fetch, Corpus):
weneed = 'corpus'
elif isinstance(to_fetch, Interrogation):
if hasattr(to_fetch, 'denominator'):
weneed = 'edited'
else:
weneed = 'result'
elif isinstance(to_fetch, Concordance):
weneed = 'concordance'
else:
weneed = tokens[2]
if weneed == 'corpus':
objs.corpus = to_fetch
elif weneed.startswith('conc'):
objs.concordance = to_fetch
elif weneed == 'result':
objs.result = to_fetch
elif weneed == 'edited':
objs.edited = to_fetch
print('%s fetched as %s.' % (repr(to_fetch), weneed))
def save_this(tokens, passedin=False):
"""
Save a result or concordance
:Example:
`save result as 'non_pronoun_actors'`
"""
if passedin:
to_save = passedin
else:
to_save = objs._get(tokens[0])[1]
if to_save == 'store' and not passedin:
for k, v in objs.stored.items():
save_this(['as', k], passedin=v)
if tokens[0] == 'figure' or hasattr(to_save, 'savefig'):
tokens[-1] = os.path.join('images', tokens[-1])
to_save.savefig(tokens[-1])
else:
to_save.save(tokens[-1])
def load_this(tokens):
"""
Load data from file
"""
from corpkit.other import load
if tokens[-1] == 'result':
objs.result = load(tokens[0])
if tokens[-1] == 'concordance':
objs.concordance = load(tokens[0])
if tokens[-1] == 'edited':
objs.edited = load(tokens[0])
if 'all' in tokens:
from corpkit.other import load_all_results
loaded = load_all_results()
for k, v in loaded.items():
objs.stored[k] = v
def interactive_listmaker():
done_words = []
text = 'Enter words separated by spaces, or one per line. (Leave the line blank to end)\n\n\t> '
while True:
res = INPUTFUNC(text)
text = '\t> '
if res:
if ',' in res:
words = [i.strip(', ') for i in res.split()]
for w in words:
done_words.append(w)
elif ' ' in res.strip():
words = res.split()
for w in words:
done_words.append(w)
else:
done_words.append(res.strip())
else:
return done_words
def new_thing(tokens):
"""
Start a new project with a name of your choice, then move into it
"""
if tokens[0] == 'project':
from corpkit.other import new_project
new_project(tokens[-1])
os.chdir(tokens[-1])
if tokens[0] == 'wordlist':
the_name = next((tokens[i+1] for i, t in enumerate(tokens) if t in ['called', 'named']), None)
if not the_name:
print('Syntax: new wordlist named .')
return
if objs.wordlists.get(the_name):
print('"%s" already exists in wordlists.' % the_name)
return
filename = next((tokens[i+1] for i, t in enumerate(tokens) if t in ['from']), None)
if filename:
with open(filename, 'r') as fo:
words = [i.strip() for i in fo.read().splitlines() if i]
else:
words = interactive_listmaker()
if words:
objs.wordlists[the_name] = words
objs.wordlist = words
print('Wordlist "%s" stored.' % the_name)
def get_matching_indices(tokens):
"""
Find concordance indices matching some criteria in tokens
This can be:
- an int as index: "20"
- a pseudo index: "5-10"
- a column and regex: "l matching 'regex'"
- a colour name
- 'all'
:returns: a `set` of matching indices
"""
# what's missing from this list?
# hard coding in case user doesn't have colorama
colours = ['red', 'yellow', 'magenta', 'lightmagenta_ex', 'black',
'white', 'lightcyan_ex', 'reset', 'green', 'lightyellow_ex',
'lightblack_ex', 'lightwhite_ex', 'blue', 'lightblue_ex',
'lightgreen_ex', 'cyan', 'lightred_ex']
cols = []
token = tokens[0]
# for something like del red
if token in colours:
if tokens[-1].lower() == 'back':
sty = 'Back'
elif tokens[-1].lower() in ['dim', 'bright', 'normal', 'reset']:
sty = 'Style'
else:
sty = 'Fore'
colourdict = objs._conc_colours[len(objs._old_concs)-1]
return set([k for k, v in colourdict.items() if v.get(sty) == token])
# annotate range of tokens
if token == 'all':
return [str(i) for i in list(objs.concordance.index)]
elif '-' in token:
first, last = token.split('-', 1)
if not first:
first = 0
if not last:
last = len(objs.concordance.index)
for n in range(int(first), int(last)+1):
cols.append(str(n))
# get by index/indices
elif token.isdigit():
cols = [i for i in tokens if i.isdigit()]
else:
# regex match only what's shown in the window
window = objs._conc_kwargs.get('window', 35)
if token in list(objs.concordance.columns) \
and token not in ['l', 'm', 'r']:
token_bits = [token]
else:
token_bits = list(token)
slic = slice(None, None)
for bit in token_bits:
if bit.lower() == 'm':
slic = slice(None, None)
elif bit.lower() == 'l':
slic = slice(-window, None)
elif bit.lower() == 'r':
slic = slice(None, window)
# get slice for left window
mx = max(objs.concordance[bit.lower()].str.len()) \
if bit.lower() == 'l' else 0
# get the regex criteria
if 'matching' in tokens:
rgx = tokens[tokens.index('matching') + 1]
else:
rgx = tokens[1]
rgx = parse_pattern(rgx)
pol = not 'not' in tokens
# get the window size of context, and reduce to just windows
if isinstance(rgx, list):
trues = objs.concordance[bit].str.rjust(mx).str[slic].isin(rgx)
else:
trues = objs.concordance[bit].str.rjust(mx).str[slic].str.contains(rgx)
if pol:
mtch = objs.concordance[trues]
else:
mtch = objs.concordance[~trues]
matches = list(mtch.index)
for ind in matches:
cols.append(str(ind))
return set(cols)
def parse_anno_with(tokens):
"""
Decide what the text is for an annotation
"""
if tokens[0] == 'tag':
return tokens[-1]
elif tokens[0] == 'field':
tokens = tokens[1:]
nx = next((i for i, w in enumerate(tokens) if w != 'as'), 0)
return {tokens[nx]: tokens[-1]}
def unannotate_corpus(tokens):
"""
Remove annotations from a corpus
:Example:
`unannotate character field`
`unannotate friend tag`
"""
to_remove = tokens[0]
from corpkit.annotate import annotator
# right now, you can't delete just a value...
if tokens[-1] == 'field':
to_remove = {to_remove: r'.*'}
if to_remove == 'all' and tokens[-1].startswith('tag'):
to_remove = {'tags': r'.*'}
#elif tokens[-1] == 'tag':
annotator(df_or_corpus=objs.corpus,
annotation=to_remove,
dry_run=not objs._annotation_unlocked,
deletemode=True)
if not objs._annotation_unlocked:
print("\nIf you really want to delete these annotations from the corpus, " \
"do `toggle annotation` and run the previous command again.\n")
else:
print('Deleted %s annotations.' % tokens[0])
def annotate_corpus(tokens):
"""
Add annotations to the corpus
:Example:
`annotate m matching 'ing$' with tag as 'mytag'`
`annotate m matching 'ing$' with field as 'person' and value as 'daisy'`
"""
cols = get_matching_indices(tokens)
from corpkit.interrogation import Concordance
from corpkit.annotate import annotator
df = objs.concordance.ix[[int(i) for i in list(cols)]]
if 'with' in tokens:
start = tokens.index('with')
with_related = tokens[start+1:]
else:
with_related = []
annotation = parse_anno_with(with_related)
annotator(df, annotation, dry_run=not objs._annotation_unlocked)
if not objs._annotation_unlocked:
print("\nWhen you're ready to actually add annotations to the files, " \
"do `toggle annotation` and run the previous command again.\n")
else:
print('Corpus annotated (%d additions).' % len(df.index))
def annotate_conc(tokens):
"""
Annotate concordance lines matching criteria with a colour or style
:Example:
`mark m matching 'ing$' red`
"""
from colorama import Fore, Back, Style, init
init(autoreset=True)
cols = get_matching_indices(tokens)
color = tokens[-1]
if color in ['dim', 'normal', 'bright']:
sty = 'Style'
elif 'back' in tokens or 'background' in tokens:
sty = 'Back'
else:
sty = 'Fore'
#if tokens[-2].lower() in ['back', 'dim', 'fore', 'normal', 'bright', 'background', 'foreground']:
# sty = tokens[-2].title().replace('ground', '')
for line in cols:
if not int(line) in list(objs.concordance.index):
continue
# if there is already info for this line number, add present info
if objs._conc_colours[len(objs._old_concs)-1].get(line):
objs._conc_colours[len(objs._old_concs)-1][line][sty] = color
else:
objs._conc_colours[len(objs._old_concs)-1][line] = {}
objs._conc_colours[len(objs._old_concs)-1][line][sty] = color
single_command_print(['concordance'] + tokens)
def add_corpus(tokens):
"""
Copy a folder to the ./data directory of a project
:Example:
`add '../../data'`
"""
import shutil
import os
the_path = os.path.expanduser(tokens[-1])
outf = os.path.join(os.getcwd(), 'data', os.path.basename(the_path))
# if we're using docker things get tricky
if objs._docker:
# not working yet
import subprocess
from docker import Client
cli = Client()
idx = str(subprocess.check_output(["cat", "/etc/hostname"])).strip('\n').strip()
outf = ':'.join([idx, outf])
os.makedirs(outf)
os.system("docker cp %s/ %s" % (the_path, outf))
#cli.copy(the_path, outf)
print('%s added to %s.' % (tokens[-1], outf))
return
shutil.copytree(the_path, outf)
print('%s added to %s.' % (tokens[-1], outf))
def del_conc(tokens):
"""
Delete concordance lines matching criteria
:Example:
`del m matching 'ing$'`
"""
from corpkit.interrogation import Concordance
cols = get_matching_indices(tokens)
cols = [int(i) for i in cols]
objs.concordance = Concordance(objs.concordance.drop(cols, axis=0))
return objs.concordance
def keep_conc(tokens):
"""
Keep concordance lines matching criteria
:Example:
`keep m matching 'ing$'`
"""
from corpkit.interrogation import Concordance
cols = get_matching_indices(tokens)
cols = [int(i) for i in cols]
objs.concordance = Concordance(objs.concordance.loc[cols])
return objs.concordance
def store_this(tokens):
"""
Send a result into storage
:Example:
`store result as 'processes'`
To view the contents of the store, do `show store`.
"""
to_store = objs._get(tokens[0])[1]
#if not to_store:
# print('Not storable:' % tokens[0])
# return
if tokens[1] == 'as':
name = tokens[2]
else:
count = 0
while str(count) in objs.stored.keys():
count += 1
name = str(count)
if name in objs.stored.keys():
cont = INPUTFUNC('%s already in store. Replace it? (y/n) ')
if cont.lower().startswith('n'):
return
objs.stored[name] = to_store
print('Stored: %s' % name)
def toggle_this(tokens):
"""
Toggle a specified option
Currently available:
- toggle conc (does concordancing when searching)
- toggle interactive (shows results and concordances after running)
- toggle annotation (allows the user to annotate the real corpus)
- toggle comma (shows thousands comma in results)
"""
if tokens[0].startswith('conc'):
objs._do_conc = not objs._do_conc
s = 'on' if objs._do_conc else 'off'
print('Concordancing turned %s.' % s)
if tokens[0].startswith('interactive'):
objs._interactive = not objs._interactive
s = 'on' if objs._interactive else 'off'
print('Auto showing of results and concordances turned %s.' % s)
if tokens[0].startswith('anno'):
objs._annotation_unlocked = not objs._annotation_unlocked
s = 'on' if objs._annotation_unlocked else 'off'
print('Annotation mode %s.' % s)
if tokens[0].startswith('comma'):
objs._comma = not objs._comma
s = 'on' if objs._comma else 'off'
print('Thousand separator in results turned %s.' % s)
def remove_something(tokens):
if len(tokens) == 1:
objs.named.pop(tokens[0])
else:
frm = getattr(objs, tokens[-1])
frm.pop(tokens[0])
print('Forgot %s.' % tokens[0])
def name_something(tokens):
"""
Basically, make a variable. In reality,
it is a key-value pair in objs.named
"""
# get the object if it exists somewhere
originally_was, thing = objs._get(tokens[0])
if thing is None or thing is False:
thing = tokens[0]
if thing == 'py':
thing = eval(tokens[1])
originally_was = 'eval'
tokens = tokens[1:]
else:
originally_was = 'string'
#print('Nothing stored in %s to name.' % tokens[0])
#return
# this should just be objects!
if tokens[0] in objs._protected:
originally_was = tokens[0]
#elif tokens[0] in objs.named.keys():
# pass
from corpkit.process import makesafe
name = makesafe(tokens[-1])
if name in objs._protected + list(get_command.keys()):
print('The name "%s" is protected, sorry.' % name)
else:
objs.named[name] = (originally_was, thing)
print('%s named "%s".' % (tokens[0], name))
def sample_something(tokens):
"""
Make a sample from a corpus
:Example: sample 2 subcorpora of corpus
"""
trans = {'s': 'subcorpora', 'f': 'files'}
originally_was, thing = objs._get(tokens[-1])
if '.' in tokens[0]:
n = float(tokens[0])
else:
n = int(tokens[0])
level = tokens[1].lower()[0]
samp = thing.sample(n, level)
objs.sampled = samp
#todo: proper printing
names = [i.name for i in getattr(objs.sampled, trans[level])]
form = ', '.join(names[:3])
if len(names) > 3:
form += ' ...'
print('Sample created: %d %s from %s --- %s' % (n, trans[level],
thing.name, form))
#single_command_print('sample')
def run_previous(tokens):
import shlex
output = list(reversed(objs.previous))[int(tokens[0]) - 1][0]
tokens = [i.rstrip(',') for i in shlex.split(output)]
return run_command(tokens)
def ch_dir(tokens):
"""
Change directory
:Example:
`cd essays`
"""
import os
os.chdir(tokens[0])
print(os.getcwd())
get_prompt()
def ls_dir(tokens):
"""
List directory contents
:Example:
`ls data`
"""
import os
nonhidden = [i for i in os.listdir(tokens[0]) if not i.startswith('.')]
print('\n'.join(nonhidden))
get_command = {'set': set_something,
'get': get_something,
'show': show_this,
'search': search_corpus,
'info': get_info,
'parse': parse_corpus,
'export': export_result,
'redo': run_previous,
'mark': annotate_conc,
'annotate': annotate_corpus,
'unannotate': unannotate_corpus,
'del': del_conc,
'just': keep_conc,
'sort': sort_something,
'sample': sample_something,
'toggle': toggle_this,
'edit': edit_something,
'tokenise': tokenise_corpus,
'tokenize': tokenise_corpus,
'ls': ls_dir,
'cd': ch_dir,
'plot': plot_result,
'asciiplot': asciiplot_result,
'help': helper,
'store': store_this,
'new': new_thing,
'fetch': fetch_this,
'call': name_something,
'remove': remove_something,
'save': save_this,
'load': load_this,
'calculate': calculate_result,
'add': add_corpus}
objmap = {search_corpus: 'result',
edit_something: 'edited',
calculate_result: 'edited',
sort_something: 'edited',
plot_result: 'figure',
set_something: 'corpus',
load_this: 'result'}
def unrecognised(*args, **kwargs):
print('unrecognised!')
import shlex
if debug:
try:
objs.corpus = Corpus('jb-parsed')
except:
pass
def get_prompt(backslashed=False):
"""
Create the prompt, based on being in project etc.
:param backslashed: is when there is a line continuation
"""
folder = os.path.basename(os.getcwd())
proj_dirs = ['data', 'saved_interrogations', 'exported']
objs._in_a_project = check_in_project()
end = '*' if not objs._in_a_project else ''
name = getattr(objs.corpus, 'name', 'no-corpus')
txt = 'corpkit@%s%s:%s> ' % (folder, end, name)
if not backslashed:
return txt
else:
return '... '.rjust(len(txt))
def nest_on_semicolon(tokens):
"""
Take a tokenised command and make a nested list,
which accounts for ';' breaks
"""
if ';' not in tokens:
return [tokens]
nested = []
while tokens:
s_ix = next((i for i, x in enumerate(tokens) if x == ';'), len(tokens))
nested.append(tokens[:s_ix])
tokens = tokens[s_ix+1:]
return nested
if not fromscript and not python_c_mode:
print(allig)
if not check_in_project():
print("\nWARNING: You aren't in a project yet. "\
"Use 'new project named ' to make one and enter it.\n"\
"Alternatively, you can `cd` into an existing project now.\n")
def do_bash(output):
"""
Run text as shell command
"""
import os
os.system(output.lstrip('! '))
# backslashed allows line breaks with backslashes ala python.
# it's a bit of a hack, but seems to work pretty well
backslashed = ''
if fromscript:
commands = read_script(fromscript)
objs._interactive = False
if python_c_mode:
objs._interactive = False
if loadcurrent:
load_this(['all'])
# the main loop, with exception handling
while True:
try:
if not fromscript and not python_c_mode and not profile:
output = INPUTFUNC(get_prompt(backslashed))
elif fromscript:
if not commands:
break
output = commands.pop()
elif python_c_mode:
if 'concordance' not in python_c_mode:
objs._do_conc = False
output = python_c_mode
elif profile:
output = 'quit'
# terminate
if output.lower() in ['exit', 'quit', 'exit()', 'quit()']:
break
# do nothing
if not output:
output = True
continue
# append line to previous backslashed line
if backslashed:
output = backslashed + output
backslashed = ''
# add to stack if backslashed or delete stack otherwise
if output.strip().endswith("\\"):
backslashed += output.rstrip('\\')
continue
else:
backslashed = ''
if output.startswith('!'):
do_bash(output)
continue
# is this just a terrible idea?
if output.startswith('py '):
output = output[3:].strip().strip("'").strip('"')
for k, v in objs.__dict__.items():
locals()[k] = v
exec(output, globals(), locals())
for k, v in locals().items():
if hasattr(objs, k):
setattr(objs, k, v)
continue
# tokenise command with quotations preserved
tokens = shlex.split(output, comments=True)
nested_tokens = nest_on_semicolon(tokens)
for tokens in nested_tokens:
if debug:
print('command', tokens)
# give info if it is an info command
if len(tokens) == 1 or tokens[0] == 'jupyter':
if tokens[0] == 'set':
set_something([])
else:
single_command_print(tokens)
continue
# otherwise, run the command and reset the stack
out = run_command(tokens)
backslashed = ''
# terminate if c mode
if python_c_mode:
break
# exception handling: interrupt, exit or raise error...
except KeyboardInterrupt:
print('\nEnter ctrl+d, "exit" or "quit" to quit\n')
backslashed = ''
if python_c_mode:
import sys
sys.exit(0)
except EOFError:
import sys
#print('\n\nBye!\n')
sys.exit(0)
except SystemExit:
raise
except Exception:
if python_c_mode:
import sys
print('Error in "%s":\n' % ' '.join(tokens), file=sys.stderr)
raise
traceback.print_exc()
if __name__ == '__main__':
import sys
import pip
import importlib
import traceback
import os
def install(name, loc):
"""
If we don't have a module, download it
"""
try:
importlib.import_module(name)
except ImportError:
pip.main(['install', loc])
tabview = ('tabview', 'git+https://github.com/interrogator/tabview@93644dd1f410de4e47466ea8083bb628b9ccc471#egg=tabview')
colorama = ('colorama', 'colorama')
if not any(arg.lower() == 'noinstall' for arg in sys.argv):
install(*tabview)
install(*colorama)
if len(sys.argv) > 1 and os.path.isfile(sys.argv[-1]):
fromscript = sys.argv[-1]
else:
fromscript = False
docker = next((i for i in sys.argv if i.startswith('docker=')), False)
if docker:
docker = docker.split('=', 1)[-1]
print(sys.argv)
debug = sys.argv[-1] == 'debug'
interpreter(debug=debug, fromscript=fromscript, docker=docker)
================================================
FILE: corpkit/gui.py
================================================
#!/usr/bin/env python
"""
# corpkit GUI
# Daniel McDonald
# This file conains the frontend side of the corpkit gui.
# You can use py2app or pyinstaller on it to make a .app,
# or just run it as a script.
# Below is a string that is used to determine when minor
# updates are available on github for automatic download:
# DATE-REPLACE
# Tabbed notebook template created by:
# Patrick T. Cossette
"""
from __future__ import print_function
import sys
# is string used?
import string
import time
import os
# is threading used?
import threading
try:
import tkMessageBox as messagebox
import tkSimpleDialog as simpledialog
import tkFileDialog as filedialog
except ImportError:
import tkinter.messagebox
import tkinter.filedialog
import tkinter.simpledialog
try:
import Tkinter as tkinter
from Tkinter import *
from ttk import Progressbar, Style
from Tkinter import _setit
except ImportError:
import tkinter
from tkinter import *
from tkinter.ttk import Progressbar, Style
from tkinter import _setit
# todo: delete from the rest of code
from corpkit.corpus import Corpus
# determine path to gui resources:
py_script = False
from_py = False
rd = sys.argv[0]
if sys.platform == 'darwin':
key = 'Mod1'
fext = 'app'
if '.app' in rd:
rd = os.path.join(rd.split('.app', 1)[0] + '.app', 'Contents', 'MacOS')
else:
import corpkit
rd = os.path.dirname(corpkit.__file__)
from_py = True
else:
key = 'Control'
fext = 'exe'
if '.py' in rd:
py_script = True
rd = os.path.dirname(os.path.join(rd.split('.py', 1)[0]))
########################################################################
class SplashScreen(object):
"""
A simple splash screen to display before corpkit is loaded.
"""
def __init__(self, tkRoot, imageFilename, minSplashTime=0):
import os
# if there is some PIL issue, just don't show GUI
# todo: this would also need to disable display of previous figures
self._can_operate = True
try:
from PIL import Image
from PIL import ImageTk
except ImportError:
self._can_operate = False
return
self._root = tkRoot
fname = os.path.join(rd, imageFilename)
if os.path.isfile(fname):
self._image = ImageTk.PhotoImage(file=fname)
self._splash = None
self._minSplashTime = time.time() + minSplashTime
else:
self._image = False
def __enter__(self):
# Remove the app window from the display
#self._root.withdraw( )
if not self._can_operate:
return
if not self._image:
return
# Calculate the geometry to center the splash image
scrnWt = self._root.winfo_screenwidth()
scrnHt = self._root.winfo_screenheight()
imgWt = self._image.width()
imgHt = self._image.height()
imgXPos = (scrnWt / 2) - (imgWt / 2)
imgYPos = (scrnHt / 2) - (imgHt / 2)
# Create the splash screen
self._splash = Toplevel()
self._splash.overrideredirect(1)
self._splash.geometry('+%d+%d' % (imgXPos, imgYPos))
background_label = Label(self._splash, image=self._image)
background_label.grid(row=1, column=1, sticky=W)
# this code shows the version number, but it's ugly.
#import corpkit
#oldstver = str(corpkit.__version__)
#txt = 'Loading corpkit v%s ...' % oldstver
#cnv = Canvas(self._splash, width=200, height=20)
#cnv.create_text((100, 14), text=txt, font=("Helvetica", 14, "bold"))
#cnv.grid(row=1, column=1, sticky='SW', padx=20, pady=20)
self._splash.lift()
self._splash.update( )
def __exit__(self, exc_type, exc_value, traceback ):
# Make sure the minimum splash time has elapsed
if not self._can_operate:
return
if not self._image:
return
timeNow = time.time()
if timeNow < self._minSplashTime:
time.sleep( self._minSplashTime - timeNow )
# Destroy the splash window
self._splash.destroy( )
# Display the application window
#self._root.deiconify( )
class RedirectText(object):
"""Send text to app from stdout, for the log and the status bar"""
def __init__(self, text_ctrl, log_text, text_widget):
"""Constructor"""
def dumfun():
"""to satisfy ipython, sys, which look for a flush method"""
pass
self.output = text_ctrl
self.log = log_text
self.flush = dumfun
self.fileno = dumfun
self.text_widget = text_widget
def write(self, string):
"""Add stdout and stderr to log and/or to console"""
import re
# don't show blank lines
show_reg = re.compile(r'^\s*$')
# delete lobal abs paths from traceback
del_reg = re.compile(r'^/*(Users|usr).*/(site-packages|corpkit/corpkit/)')
if 'Parsing file' not in string and 'Initialising parser' not in string \
and not 'Interrogating subcorpus' in string:
if not re.match(show_reg, string):
string = re.sub(del_reg, '', string)
self.log.append(string.rstrip('\n'))
self.text_widget.config(state='normal')
self.text_widget.delete(1.0, 'end')
self.text_widget.insert('end', string.rstrip('\n'))
self.text_widget.config(state='disabled')
if not re.match(show_reg, string):
if not string.lstrip().startswith('#') and not string.lstrip().startswith('import'):
string = re.sub(del_reg, '', string).rstrip('\n').rstrip()
string = string.split('\n')[-1]
self.output.set(string.lstrip().rstrip('\n').rstrip())
self.text_widget.config(state='normal')
self.text_widget.delete(1.0, 'end')
self.text_widget.insert('end', string.lstrip().rstrip('\n').rstrip())
self.text_widget.config(state='disabled')
class Label2(Frame):
"""a label whose size can be specified in pixels"""
def __init__(self, master, width=0, height=0, **kwargs):
self.width = width
self.height = height
Frame.__init__(self, master, width=self.width, height=self.height)
self.label_widget = Text(self, width=1, **kwargs)
self.label_widget.pack(fill='both', expand=True)
#self.label_widget.config(state=DISABLED)
def pack(self, *args, **kwargs):
Frame.pack(self, *args, **kwargs)
self.pack_propagate(False)
def grid(self, *args, **kwargs):
Frame.grid(self, *args, **kwargs)
self.grid_propagate(False)
class HyperlinkManager:
"""Hyperlinking for About"""
def __init__(self, text):
self.text=text
self.text.tag_config("hyper", foreground="blue", underline=1)
self.text.tag_bind("hyper", "", self._enter)
self.text.tag_bind("hyper", "", self._leave)
self.text.tag_bind("hyper", "", self._click)
self.reset()
def reset(self):
self.links = {}
def add(self, action):
# add an action to the manager. returns tags to use in
# associated text widget
tag = "hyper-%d" % len(self.links)
self.links[tag] = action
return "hyper", tag
def _enter(self, event):
self.text.config(cursor="hand2")
def _leave(self, event):
self.text.config(cursor="")
def _click(self, event):
for tag in self.text.tag_names(CURRENT):
if tag[:6] == "hyper-":
self.links[tag]()
return
class Notebook(Frame):
"""Notebook Widget"""
def __init__(self, parent, activerelief=RAISED, inactiverelief=FLAT,
xpad=4, ypad=6, activefg='black', inactivefg='black', debug=False,
activefc=("Helvetica", 14, "bold"), inactivefc=("Helvetica", 14), **kw):
"""Construct a Notebook Widget
Notebook(self, parent, activerelief = RAISED, inactiverelief = RIDGE,
xpad = 4, ypad = 6, activefg = 'black', inactivefg = 'black', **kw)
Valid resource names: background, bd, bg, borderwidth, class,
colormap, container, cursor, height, highlightbackground,
highlightcolor, highlightthickness, relief, takefocus, visual, width, activerelief,
inactiverelief, xpad, ypad.
xpad and ypad are values to be used as ipady and ipadx
with the Label widgets that make up the tabs. activefg and inactivefg define what
color the text on the tabs when they are selected, and when they are not
"""
self.activefg = activefg
self.inactivefg = inactivefg
self.activefc = activefc
self.inactivefc = inactivefc
self.deletedTabs = []
self.xpad = xpad
self.ypad = ypad
self.activerelief = activerelief
self.inactiverelief = inactiverelief
self.tabVars = {}
self.tabs = 0
self.progvar = DoubleVar()
self.progvar.set(0)
self.style = Style()
self.style.theme_use("default")
self.style.configure("TProgressbar", thickness=15, foreground='#347DBE', background='#347DBE')
self.kwargs = kw
self.tabVars = {}
self.tabs = 0
# the notebook, with its tabs, middle, status bars
self.noteBookFrame = Frame(parent, bg='#c5c5c5')
self.BFrame = Frame(self.noteBookFrame, bg='#c5c5c5')
self.statusbar = Frame(self.noteBookFrame, bd=2, height=24, width=kw.get('width'), bg='#F4F4F4')
self.noteBook = Frame(self.noteBookFrame, relief=RAISED, bd=2, **kw)
self.noteBook.grid_propagate(0)
# status bar text and log
self.status_text=StringVar()
self.log_stream = []
#self.progspace = Frame(self.statusbar, width=int(kw.get('width') * 0.4))
#self.progspace.grid(sticky=E)
#self.statusbar.grid_columnconfigure(2, weight=5)
self.text = Label2(self.statusbar, #textvariable=self.status_text,
width=int(kw.get('width') * 0.65), height=24, font=("Courier New", 13))
self.progbar = Progressbar(self.statusbar, orient='horizontal',
length=int(kw.get('width') * 0.35),
mode='determinate', variable=self.progvar,
style="TProgressbar")
#self.statusbar.grid_columnconfigure(1, weight=2)
self.statusbar.grid(row=2, column=0)
#self.progbar.pack(anchor=E, fill='x')
self.text.pack(side=LEFT)
self.progbar.pack(side=RIGHT, expand=True)
#self.statusbar.grid_propagate()
# redirect stdout for log
self.redir = RedirectText(self.status_text, self.log_stream, self.text.label_widget)
if not debug:
sys.stdout = self.redir
sys.stderr = self.redir
Frame.__init__(self)
self.noteBookFrame.grid()
self.BFrame.grid(row=0, column=0, columnspan=27, sticky=N) # ", column=13)" puts the tabs in the middle!
self.noteBook.grid(row=1, column=0, columnspan=27)
#self.progbarspace.grid(row=2, column=0, padx=(273, 0), sticky=E)
def change_tab(self, IDNum):
"""Internal Function"""
for i in (a for a in range(0, len(list(self.tabVars.keys())))):
if not i in self.deletedTabs:
if i != IDNum:
self.tabVars[i][1].grid_remove()
self.tabVars[i][0]['relief'] = self.inactiverelief
self.tabVars[i][0]['fg'] = self.inactivefg
self.tabVars[i][0]['font'] = self.inactivefc
self.tabVars[i][0]['bg'] = '#c5c5c5'
else:
self.tabVars[i][1].grid()
self.tabVars[IDNum][0]['relief'] = self.activerelief
self.tabVars[i][0]['fg'] = self.activefg
self.tabVars[i][0]['font'] = self.activefc
self.tabVars[i][0]['bg'] = 'white'
def add_tab(self, width=2, **kw):
import tkinter
"""Creates a new tab, and returns its corresponding frame
"""
temp = self.tabs
self.tabVars[self.tabs] = [Label(self.BFrame, relief = RIDGE, **kw)]
self.tabVars[self.tabs][0].bind("", lambda Event:self.change_tab(temp))
self.tabVars[self.tabs][0].pack(side = LEFT, ipady=self.ypad, ipadx=self.xpad)
self.tabVars[self.tabs].append(Frame(self.noteBook, **self.kwargs))
self.tabVars[self.tabs][1].grid(row=0, column=0)
self.change_tab(0)
self.tabs += 1
return self.tabVars[temp][1]
def destroy_tab(self, tab):
"""Delete a tab from the notebook, as well as it's corresponding frame
"""
self.iteratedTabs = 0
for b in list(self.tabVars.values()):
if b[1] == tab:
b[0].destroy()
self.tabs -= 1
self.deletedTabs.append(self.iteratedTabs)
break
self.iteratedTabs += 1
def focus_on(self, tab):
"""Locate the IDNum of the given tab and use
change_tab to give it focus
"""
self.iteratedTabs = 0
for b in list(self.tabVars.values()):
if b[1] == tab:
self.change_tab(self.iteratedTabs)
break
self.iteratedTabs += 1
def corpkit_gui(noupdate=False, loadcurrent=False, debug=False):
"""
The actual code for the application
:param noupdate: prevent auto update checking
:type noupdate: bool
:param loadcurrent: load this path as the project
:type loadcurrent: str
"""
# make app
root=Tk()
#minimise it
root.withdraw( )
# generate splash
with SplashScreen(root, 'loading_image.png', 1.0):
# set app size
#root.geometry("{0}x{1}+0+0".format(root.winfo_screenwidth(), root.winfo_screenheight()))
import warnings
warnings.filterwarnings("ignore")
import traceback
import dateutil
import sys
import os
import corpkit
from corpkit.process import get_gui_resource_dir, get_fullpath_to_jars
from tkintertable import TableCanvas, TableModel
from nltk.draw.table import MultiListbox, Table
from collections import OrderedDict
from pandas import Series, DataFrame
# stop warning when insecure download is performed
# this somehow raised an attribute error for anrej,
# so we'll allow it to pass ...
import requests
try:
requests.packages.urllib3.disable_warnings()
except AttributeError:
pass
import locale
if sys.platform == 'win32':
try:
locale.setlocale(locale.LC_ALL, 'english-usa')
except:
pass
else:
locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
# unused in the gui, dummy imports for pyinstaller
#import seaborn
from hashlib import md5
import chardet
import pyparsing
# a try statement in case not bundling scipy, which
# tends to bloat the .app
try:
from scipy.stats import linregress
except:
pass
# compress some things for a small screen ...
small_screen = root.winfo_screenheight() < 800
#small_screen = True
## add tregex and some other bits to path
paths = ['', 'dictionaries', 'corpkit', 'nltk_data']
for p in paths:
fullp = os.path.join(rd, p).rstrip('/')
if not fullp in sys.path:
sys.path.append(fullp)
# add nltk data to path
import nltk
nltk_data_path = os.path.join(rd, 'nltk_data')
if nltk_data_path not in nltk.data.path:
nltk.data.path.append(os.path.join(rd, 'nltk_data'))
# not sure if needed anymore: more path setting
corpath = os.path.dirname(corpkit.__file__)
baspat = os.path.dirname(os.path.dirname(corpkit.__file__))
dicpath = os.path.join(baspat, 'dictionaries')
os.environ["PATH"] += os.pathsep + corpath + os.pathsep + dicpath
sys.path.append(corpath)
sys.path.append(dicpath)
sys.path.append(baspat)
root.title("corpkit")
root.imagewatched = StringVar()
#root.overrideredirect(True)
#root.resizable(False,False)
note_height = 600 if small_screen else 660
note_width = root.winfo_screenwidth()
if note_width > note_height * 1.62 and not small_screen:
note_width = note_height * 1.62
note_width = int(note_width)
note = Notebook(root, width=note_width, height=note_height,
activefg='#000000', inactivefg='#585555', debug=debug) #Create a Note book Instance
note.grid()
tab0 = note.add_tab(text="Build")
tab1 = note.add_tab(text="Interrogate")
tab2 = note.add_tab(text="Edit")
tab3 = note.add_tab(text="Visualise")
tab4 = note.add_tab(text="Concordance")
note.text.update_idletasks()
################### ################### ################### ###################
# VARIABLES # # VARIABLES # # VARIABLES # # VARIABLES #
################### ################### ################### ###################
# in this section, some recurring, empty variables are defined
# to do: compress most of the dicts into one
# round up text so we can bind keys to them later
all_text_widgets = []
# for the build tab (could be cleaned up)
chosen_f = []
sentdict = {}
boxes = []
buildbits = {}
most_recent_projects = []
# some variables that will get used throughout the gui
# a dict of the editor frame names and models
editor_tables = {}
currently_in_each_frame = {}
# for conc sort toggle
sort_direction = True
subc_sel_vals = []
subc_sel_vals_build = []
# store every interrogation and conc in this session
all_interrogations = OrderedDict()
all_conc = OrderedDict()
all_images = []
all_interrogations['None'] = 'None'
# corpus path setter
corpus_fullpath = StringVar()
corpus_fullpath.set('')
corenlppath = StringVar()
corenlppath.set(os.path.join(os.path.expanduser("~"), 'corenlp'))
# visualise
# where to put the current figure and frame
thefig = []
oldplotframe = []
# for visualise, this holds a list of subcorpora or entries,
# so that the title will dynamically change at the right time
single_entry_or_subcorpus = {}
# conc
# to do: more consistent use of globals!
itemcoldict = {}
current_conc = ['None']
global conc_saved
conc_saved = False
import itertools
try:
toggle = itertools.cycle([True, False]).__next__
except AttributeError:
toggle = itertools.cycle([True, False]).next
# manage pane: obsolete
manage_box = {}
# custom lists
custom_special_dict = {}
# just the ones on the hd
saved_special_dict = {}
# not currently using this sort feature---should use in conc though
import itertools
try:
direct = itertools.cycle([0,1]).__next__
except AttributeError:
direct = itertools.cycle([0,1]).next
corpus_names_and_speakers = {}
################### ################### ################### ###################
# DICTIONARIES # # DICTIONARIES # # DICTIONARIES # # DICTIONARIES #
################### ################### ################### ###################
qd = {'Subjects': r'__ >># @NP',
'Processes': r'/VB.?/ >># ( VP >+(VP) (VP !> VP $ NP))',
'Modals': r'MD < __',
'Participants': r'/(NN|PRP|JJ).?/ >># (/(NP|ADJP)/ $ VP | > VP)',
'Entities': r'NP <# NNP',
'Any': 'any'}
# concordance colours
colourdict = {1: '#fbb4ae',
2: '#b3cde3',
3: '#ccebc5',
4: '#decbe4',
5: '#fed9a6',
6: '#ffffcc',
7: '#e5d8bd',
8: '#D9DDDB',
9: '#000000',
0: '#F4F4F4'}
# translate search option for interrogator()
transdict = {
'Get distance from root for regex match': 'a',
'Get tag and word of match': 'b',
'Count matches': 'c',
'Get role of match': 'f',
'Get "role:dependent", matching governor': 'd',
'Get ngrams from tokens': 'j',
'Get "role:governor", matching dependent': 'g',
'Get lemmata matching regex': 'l',
'Get tokens by role': 'm',
'Get ngrams from trees': 'n',
'Get part-of-speech tag': 'p',
'Regular expression search': 'r',
'Get tokens matching regex': 't',
'Get stats': 'v',
'Get words': 'w',
'Get tokens by regex': 'h',
'Get tokens matching list': 'e'}
# translate sort_by for editor
sort_trans = {'None': False,
'Total': 'total',
'Inverse total': 'infreq',
'Name': 'name',
'Increase': 'increase',
'Decrease': 'decrease',
'Static': 'static',
'Turbulent': 'turbulent',
'P value': 'p',
'Reverse': 'reverse'}
# translate special queries for interrogator()
spec_quer_translate = {'Participants': 'w',
'Any': 'any',
'Processes': 'w',
'Subjects': 'w',
'Entities': 'w'}
# todo: newer method
from corpkit.constants import transshow, transobjs, LETTERS
from corpkit.process import make_name_to_query_dict
exist = {'Trees': 't', 'Stats': 'v', 'CQL': 'cql'}
convert_name_to_query = make_name_to_query_dict(exist)
# these are example queries for each data type
def_queries = {}
for i in convert_name_to_query.keys():
if i.lower().endswith('function'):
def_queries[i] = r'\b(amod|nn|advm|vmod|tmod)\b'
elif i.lower().endswith('lemma'):
def_queries[i] = r'\b(want|desire|need)\b'
elif i.lower().endswith('word class'):
def_queries[i] = r'^(ad)verb$'
elif i.lower().endswith('index'):
def_queries[i] = r'[012345]',
elif i.lower().endswith('stats'):
def_queries[i] = r'any',
elif i.lower().endswith('cql'):
def_queries[i] = r'[pos="RB" & word=".*ly$"]',
elif i.lower().endswith('pos'):
def_queries[i] = r'^[NJR]',
elif i.lower().endswith('index'):
def_queries[i] = r'[012345]',
elif i.lower().endswith('distance from root'):
def_queries[i] = r'[012345]',
elif i.lower().endswith('trees'):
def_queries[i] = r'JJ > (NP <<# /NN.?/)'
else:
def_queries[i] = r'\b(m.n|wom.n|child(ren)?)\b'
################### ################### ################### ###################
# FUNCTIONS # # FUNCTIONS # # FUNCTIONS # # FUNCTIONS #
################### ################### ################### ###################
# some functions used throughout the gui
def focus_next_window(event):
"""tab to next widget"""
event.widget.tk_focusNext().focus()
try:
event.widget.tk_focusNext().selection_range(0, END)
except:
pass
return "break"
def runner(button, command, conc=False):
"""
Runs the command of a button, disabling the button till it is done,
whether it returns early or not
"""
try:
if button == interrobut or button == interrobut_conc:
command(conc)
else:
command()
except Exception as err:
import traceback
print(traceback.format_exc())
note.progvar.set(0)
button.config(state=NORMAL)
def refresh_images(*args):
"""get list of images saved in images folder"""
import os
if os.path.isdir(image_fullpath.get()):
image_list = sorted([f for f in os.listdir(image_fullpath.get()) if f.endswith('.png')])
for iname in image_list:
if iname.replace('.png', '') not in all_images:
all_images.append(iname.replace('.png', ''))
else:
for i in all_images:
all_images.pop(i)
#refresh()
# if the dummy variable imagewatched is changed, refresh images
# this connects to matplotlib's save button, if the modified
# matplotlib is installed. a better way to do this would be good!
root.imagewatched.trace("w", refresh_images)
def timestring(input):
"""print with time prepended"""
from time import localtime, strftime
thetime = strftime("%H:%M:%S", localtime())
print('%s: %s' % (thetime, input.lstrip()))
def conmap(cnfg, section):
"""helper for load settings"""
dict1 = {}
options = cnfg.options(section)
# todo: this loops over too many times
for option in options:
#try:
opt = cnfg.get(section, option)
if opt == '0':
opt = False
elif opt == '1':
opt = True
elif opt.isdigit():
opt = int(opt)
if isinstance(opt, str) and opt.lower() == 'none':
opt = False
if not opt:
opt = 0
dict1[option] = opt
return dict1
def convert_pandas_dict_to_ints(dict_obj):
"""try to turn pandas as_dict into ints, for tkintertable
the huge try statement is to stop errors when there
is a single corpus --- need to find source of problem
earlier, though"""
vals = []
try:
for a, b in list(dict_obj.items()):
# c = year, d = count
for c, d in list(b.items()):
vals.append(d)
if all([float(x).is_integer() for x in vals if is_number(x)]):
for a, b in list(dict_obj.items()):
for c, d in list(b.items()):
if is_number(d):
b[c] = int(d)
except TypeError:
pass
return dict_obj
def update_spreadsheet(frame_to_update, df_to_show=None, model=False,
height=140, width=False, indexwidth=70):
"""refresh a spreadsheet"""
from collections import OrderedDict
import pandas
# colours for tkintertable
kwarg = {'cellbackgr': '#F7F7FA',
'grid_color': '#c5c5c5',
'entrybackgr': '#F4F4F4',
'selectedcolor': 'white',
'rowselectedcolor': '#b3cde3',
'multipleselectioncolor': '#fbb4ae'}
if width:
kwarg['width'] = width
if model and not df_to_show:
df_to_show = make_df_from_model(model)
#if need_make_totals:
df_to_show = make_df_totals(df_to_show)
if df_to_show is not None:
# for abs freq, make total
model = TableModel()
df_to_show = pandas.DataFrame(df_to_show, dtype=object)
#if need_make_totals(df_to_show):
df_to_show = make_df_totals(df_to_show)
# turn pandas into dict
raw_data = df_to_show.to_dict()
# convert to int if possible
raw_data = convert_pandas_dict_to_ints(raw_data)
table = TableCanvas(frame_to_update, model=model,
showkeynamesinheader=True,
height=height,
rowheaderwidth=row_label_width.get(), cellwidth=cell_width.get(), **kwarg)
table.createTableFrame()
model = table.model
model.importDict(raw_data)
# move columns into correct positions
for index, name in enumerate(list(df_to_show.index)):
model.moveColumn(model.getColumnIndex(name), index)
table.createTableFrame()
# sort the rows
if 'tkintertable-order' in list(df_to_show.index):
table.sortTable(columnName = 'tkintertable-order')
ind = model.columnNames.index('tkintertable-order')
try:
model.deleteColumn(ind)
except:
pass
if 'Total' in list(df_to_show.index):
table.sortTable(columnName='Total', reverse=True)
elif len(df_to_show.index) == 1:
table.sortTable(columnIndex=0, reverse=True)
else:
#nm = os.path.basename(corpus_fullpath.get().rstrip('/'))
ind = len(df_to_show.columns) - 1
table.sortTable(columnIndex = ind, reverse = 1)
#pass
table.redrawTable()
editor_tables[frame_to_update] = model
currently_in_each_frame[frame_to_update] = df_to_show
return
if model:
table = TableCanvas(frame_to_update, model=model,
showkeynamesinheader=True,
height=height,
rowheaderwidth=row_label_width.get(), cellwidth=cell_width.get(),
**kwarg)
table.createTableFrame()
try:
table.sortTable(columnName = 'Total', reverse = direct())
except:
direct()
table.sortTable(reverse = direct())
table.createTableFrame()
table.redrawTable()
else:
table = TableCanvas(frame_to_update, height=height, cellwidth=cell_width.get(),
showkeynamesinheader=True, rowheaderwidth=row_label_width.get(), **kwarg)
table.createTableFrame() # sorts by total freq, ok for now
table.redrawTable()
from corpkit.cql import remake_special
def ignore():
"""turn this on when buttons should do nothing"""
return "break"
def need_make_totals(df):
"""check if a df needs totals"""
if len(list(df.index)) < 3:
return False
try:
x = df.iloc[0,0]
except:
return False
# if was_series, basically
try:
vals = [i for i in list(df.iloc[0,].values) if is_number(i)]
except TypeError:
return False
if len(vals) == 0:
return False
if all([float(x).is_integer() for x in vals]):
return True
else:
return False
def make_df_totals(df):
"""make totals for a dataframe"""
df = df.drop('Total', errors = 'ignore')
# add new totals
df.ix['Total'] = df.drop('tkintertable-order', errors = 'ignore').sum().astype(object)
return df
def make_df_from_model(model):
"""generate df from spreadsheet"""
import pandas
from io import StringIO
recs = model.getAllCells()
colnames = model.columnNames
collabels = model.columnlabels
row = []
csv_data = []
for c in colnames:
row.append(collabels[c])
try:
csv_data.append(','.join([str(s, errors = 'ignore') for s in row]))
except TypeError:
csv_data.append(','.join([str(s) for s in row]))
#csv_data.append('\n')
for row in list(recs.keys()):
rowname = model.getRecName(row)
try:
csv_data.append(','.join([str(rowname, errors = 'ignore')] + [str(s, errors = 'ignore') for s in recs[row]]))
except TypeError:
csv_data.append(','.join([str(rowname)] + [str(s) for s in recs[row]]))
#csv_data.append('\n')
#writer.writerow(recs[row])
csv = '\n'.join(csv_data)
uc = unicode(csv, errors='ignore')
newdata = pandas.read_csv(StringIO(uc), index_col=0, header=0)
newdata = pandas.DataFrame(newdata, dtype=object)
newdata = newdata.T
newdata = newdata.drop('Total', errors='ignore')
newdata = add_tkt_index(newdata)
if need_make_totals(newdata):
newdata = make_df_totals(newdata)
return newdata
def color_saved(lb, savepath=False, colour1='#D9DDDB', colour2='white',
ext='.p', lists=False):
"""make saved items in listbox have colour background
lb: listbox to colour
savepath: where to look for existing files
colour1, colour2: what to colour foundd and not found
ext: what to append to filenames when searching for them
lists: if working with wordlists, things need to be done differently, more colours"""
all_items = [lb.get(i) for i in range(len(lb.get(0, END)))]
# define colours for permanent lists in wordlists
if lists:
colour3 = '#ffffcc'
colour4 = '#fed9a6'
for index, item in enumerate(all_items):
# check if saved
if not lists:
# files or directories with current corpus in name or without
newn = current_corpus.get() + '-' + urlify(item) + ext
a = os.path.isfile(os.path.join(savepath, urlify(item) + ext))
b = os.path.isdir(os.path.join(savepath, urlify(item)))
c = os.path.isfile(os.path.join(savepath, newn))
d = os.path.isdir(os.path.join(savepath, newn))
if any(x for x in [a, b, c, d]):
issaved = True
else:
issaved = False
# for lists, check if permanently stored
else:
issaved = False
if item in list(saved_special_dict.keys()):
issaved = True
if current_corpus.get() + '-' + item in list(saved_special_dict.keys()):
issaved = True
if issaved:
lb.itemconfig(index, {'bg':colour1})
else:
lb.itemconfig(index, {'bg':colour2})
if lists:
if item in list(predict.keys()):
if item.endswith('_ROLE'):
lb.itemconfig(index, {'bg':colour3})
else:
lb.itemconfig(index, {'bg':colour4})
lb.selection_clear(0, END)
def paste_into_textwidget(*args):
"""paste function for widgets ... doesn't seem to work as expected"""
try:
start = args[0].widget.index("sel.first")
end = args[0].widget.index("sel.last")
args[0].widget.delete(start, end)
except TclError as e:
# nothing was selected, so paste doesn't need
# to delete anything
pass
# for some reason, this works with the error.
try:
args[0].widget.insert("insert", clipboard.rstrip('\n'))
except NameError:
pass
def copy_from_textwidget(*args):
"""more commands for textwidgets"""
#args[0].widget.clipboard_clear()
text=args[0].widget.get("sel.first", "sel.last").rstrip('\n')
args[0].widget.clipboard_append(text)
def cut_from_textwidget(*args):
"""more commands for textwidgets"""
text=args[0].widget.get("sel.first", "sel.last")
args[0].widget.clipboard_append(text)
args[0].widget.delete("sel.first", "sel.last")
def select_all_text(*args):
"""more commands for textwidgets"""
try:
args[0].widget.selection_range(0, END)
except:
args[0].widget.tag_add("sel","1.0","end")
def make_corpus_name_from_abs(pfp, cfp):
if pfp in cfp:
return cfp.replace(pfp.rstrip('/') + '/', '')
else:
return cfp
def get_all_corpora():
import os
all_corpora = []
for root, ds, fs in os.walk(corpora_fullpath.get()):
for d in ds:
path = os.path.join(root, d)
relpath = path.replace(corpora_fullpath.get(), '', 1).lstrip('/')
all_corpora.append(relpath)
return sorted(all_corpora)
def update_available_corpora(delete=False):
"""updates corpora in project, and returns a list of them"""
import os
fp = corpora_fullpath.get()
all_corpora = get_all_corpora()
for om in [available_corpora, available_corpora_build]:
om.config(state=NORMAL)
om['menu'].delete(0, 'end')
if not delete:
for corp in all_corpora:
if not corp.endswith('parsed') and not corp.endswith('tokenised') and om == available_corpora:
continue
om['menu'].add_command(label=corp, command=_setit(current_corpus, corp))
return all_corpora
def refresh():
"""refreshes the list of dataframes in the editor and plotter panes"""
import os
# Reset name_of_o_ed_spread and delete all old options
# get the latest only after first interrogation
if len(list(all_interrogations.keys())) == 1:
selected_to_edit.set(list(all_interrogations.keys())[-1])
dataframe1s['menu'].delete(0, 'end')
dataframe2s['menu'].delete(0, 'end')
every_interrogation['menu'].delete(0, 'end')
#every_interro_listbox.delete(0, 'end')
#every_image_listbox.delete(0, 'end')
new_choices = []
for interro in list(all_interrogations.keys()):
new_choices.append(interro)
new_choices = tuple(new_choices)
dataframe2s['menu'].add_command(label='Self', command=_setit(data2_pick, 'Self'))
if project_fullpath.get() != '' and project_fullpath.get() != rd:
dpath = os.path.join(project_fullpath.get(), 'dictionaries')
if os.path.isdir(dpath):
dicts = sorted([f.replace('.p', '') for f in os.listdir(dpath) if os.path.isfile(os.path.join(dpath, f)) and f.endswith('.p')])
for d in dicts:
dataframe2s['menu'].add_command(label=d, command=_setit(data2_pick, d))
for choice in new_choices:
dataframe1s['menu'].add_command(label=choice, command=_setit(selected_to_edit, choice))
dataframe2s['menu'].add_command(label=choice, command=_setit(data2_pick, choice))
every_interrogation['menu'].add_command(label=choice, command=_setit(data_to_plot, choice))
refresh_images()
# refresh
prev_conc_listbox.delete(0, 'end')
for i in sorted(all_conc.keys()):
prev_conc_listbox.insert(END, i)
def add_tkt_index(df):
"""add order to df for tkintertable"""
import pandas
df = df.T
df = df.drop('tkintertable-order', errors = 'ignore', axis=1)
df['tkintertable-order'] = pandas.Series([index for index, data in enumerate(list(df.index))], index = list(df.index))
df = df.T
return df
def namer(name_box_text, type_of_data = 'interrogation'):
"""returns a name to store interrogation/editor result as"""
if name_box_text.lower() == 'untitled' or name_box_text == '':
c = 0
the_name = '%s-%s' % (type_of_data, str(c).zfill(2))
while any(x.startswith(the_name) for x in list(all_interrogations.keys())):
c += 1
the_name = '%s-%s' % (type_of_data, str(c).zfill(2))
else:
the_name = name_box_text
return the_name
def show_prev():
"""show previous interrogation"""
import pandas
currentname = name_of_interro_spreadsheet.get()
# get index of current index
if not currentname:
prev.configure(state=DISABLED)
return
ind = list(all_interrogations.keys()).index(currentname)
# if it's higher than zero
if ind > 0:
if ind == 1:
prev.configure(state=DISABLED)
nex.configure(state=NORMAL)
else:
if ind + 1 < len(list(all_interrogations.keys())):
nex.configure(state=NORMAL)
prev.configure(state=NORMAL)
newname = list(all_interrogations.keys())[ind - 1]
newdata = all_interrogations[newname]
name_of_interro_spreadsheet.set(newname)
i_resultname.set('Interrogation results: %s' % str(name_of_interro_spreadsheet.get()))
if isinstance(newdata, pandas.DataFrame):
toshow = newdata
toshowt = newdata.sum()
elif hasattr(newdata, 'results') and newdata.results is not None:
toshow = newdata.results
if hasattr(newdata, 'totals') and newdata.results is not None:
toshowt = pandas.DataFrame(newdata.totals, dtype=object)
update_spreadsheet(interro_results, toshow, height=340)
update_spreadsheet(interro_totals, toshowt, height=10)
refresh()
else:
prev.configure(state=DISABLED)
nex.configure(state=NORMAL)
def show_next():
"""show next interrogation"""
import pandas
currentname = name_of_interro_spreadsheet.get()
if currentname:
ind = list(all_interrogations.keys()).index(currentname)
else:
ind = 0
if ind > 0:
prev.configure(state=NORMAL)
if ind + 1 < len(list(all_interrogations.keys())):
if ind + 2 == len(list(all_interrogations.keys())):
nex.configure(state=DISABLED)
prev.configure(state=NORMAL)
else:
nex.configure(state=NORMAL)
newname = list(all_interrogations.keys())[ind + 1]
newdata = all_interrogations[newname]
name_of_interro_spreadsheet.set(newname)
i_resultname.set('Interrogation results: %s' % str(name_of_interro_spreadsheet.get()))
if isinstance(newdata, pandas.DataFrame):
toshow = newdata
toshowt = newdata.sum()
elif hasattr(newdata, 'results') and newdata.results is not None:
toshow = newdata.results
if hasattr(newdata, 'totals') and newdata.results is not None:
toshowt = newdata.totals
update_spreadsheet(interro_results, toshow, height=340)
totals_as_df = pandas.DataFrame(toshowt, dtype=object)
update_spreadsheet(interro_totals, toshowt, height=10)
refresh()
else:
nex.configure(state=DISABLED)
prev.configure(state=NORMAL)
def exchange_interro_branch(namedtupname, newdata, branch='results'):
"""replaces a namedtuple results/totals with newdata
--- such a hack, should upgrade to recordtype"""
namedtup = all_interrogations[namedtupname]
the_branch = getattr(namedtup, branch)
if branch == 'results':
the_branch.drop(the_branch.index, inplace=True)
the_branch.drop(the_branch.columns, axis=1, inplace=True)
for i in list(newdata.columns):
the_branch[i] = i
for index, i in enumerate(list(newdata.index)):
the_branch.loc[i] = newdata.ix[index]
elif branch == 'totals':
the_branch.drop(the_branch.index, inplace=True)
for index, datum in zip(newdata.index, newdata.iloc[:,0].values):
the_branch.set_value(index, datum)
all_interrogations[namedtupname] = namedtup
def update_interrogation(table_id, id, is_total=False):
"""takes any changes made to spreadsheet and saves to the interrogation
id: 0 = interrogator
1 = old editor window
2 = new editor window"""
model=editor_tables[table_id]
newdata = make_df_from_model(model)
if need_make_totals(newdata):
newdata = make_df_totals(newdata)
if id == 0:
name_of_interrogation = name_of_interro_spreadsheet.get()
if id == 1:
name_of_interrogation = name_of_o_ed_spread.get()
if id == 2:
name_of_interrogation = name_of_n_ed_spread.get()
if not is_total:
exchange_interro_branch(name_of_interrogation, newdata, branch='results')
else:
exchange_interro_branch(name_of_interrogation, newdata, branch='totals')
def update_all_interrogations(pane='interrogate'):
import pandas
"""update all_interrogations within spreadsheet data
need a very serious cleanup!"""
# to do: only if they are there!
if pane == 'interrogate':
update_interrogation(interro_results, id=0)
update_interrogation(interro_totals, id=0, is_total=True)
if pane == 'edit':
update_interrogation(o_editor_results, id=1)
update_interrogation(o_editor_totals, id=1, is_total=True)
# update new editor sheet if it's there
if name_of_n_ed_spread.get() != '':
update_interrogation(n_editor_results, id=2)
update_interrogation(n_editor_totals, id=2, is_total=True)
timestring('Updated interrogations with manual data.')
if pane == 'interrogate':
the_data = all_interrogations[name_of_interro_spreadsheet.get()]
tot = pandas.DataFrame(the_data.totals, dtype=object)
if the_data.results is not None:
update_spreadsheet(interro_results, the_data.results, height=340)
else:
update_spreadsheet(interro_results, df_to_show=None, height=340)
update_spreadsheet(interro_totals, tot, height=10)
if pane == 'edit':
the_data = all_interrogations[name_of_o_ed_spread.get()]
there_is_new_data = False
try:
newdata = all_interrogations[name_of_n_ed_spread.get()]
there_is_new_data = True
except:
pass
if the_data.results is not None:
update_spreadsheet(o_editor_results, the_data.results, height=140)
update_spreadsheet(o_editor_totals, pandas.DataFrame(the_data.totals, dtype=object), height=10)
if there_is_new_data:
if newdata != 'None' and newdata != '':
if the_data.results is not None:
update_spreadsheet(n_editor_results, newdata.results, height=140)
update_spreadsheet(n_editor_totals, pandas.DataFrame(newdata.totals, dtype=object), height=10)
if name_of_o_ed_spread.get() == name_of_interro_spreadsheet.get():
the_data = all_interrogations[name_of_interro_spreadsheet.get()]
tot = pandas.DataFrame(the_data.totals, dtype=object)
if the_data.results is not None:
update_spreadsheet(interro_results, the_data.results, height=340)
update_spreadsheet(interro_totals, tot, height=10)
timestring('Updated spreadsheet display in edit window.')
from corpkit.process import is_number
################### ################### ################### ###################
#PREFERENCES POPUP# #PREFERENCES POPUP# #PREFERENCES POPUP# #PREFERENCES POPUP#
################### ################### ################### ###################
# make variables with default values
do_auto_update = IntVar()
do_auto_update.set(1)
do_auto_update_this_session = IntVar()
do_auto_update_this_session.set(1)
#conc_when_int = IntVar()
#conc_when_int.set(1)
only_format_match = IntVar()
only_format_match.set(0)
files_as_subcorpora = IntVar()
files_as_subcorpora.set(0)
do_concordancing = IntVar()
do_concordancing.set(1)
show_conc_metadata = IntVar()
show_conc_metadata.set(1)
#noregex = IntVar()
#noregex.set(0)
parser_memory = StringVar()
parser_memory.set(str(2000))
truncate_conc_after = IntVar()
truncate_conc_after.set(9999)
truncate_spreadsheet_after = IntVar()
truncate_spreadsheet_after.set(9999)
corenlppath = StringVar()
corenlppath.set(os.path.join(os.path.expanduser("~"), 'corenlp'))
row_label_width=IntVar()
row_label_width.set(100)
cell_width=IntVar()
cell_width.set(50)
p_val = DoubleVar()
p_val.set(0.05)
# a place for the toplevel entry info
entryboxes = OrderedDict()
# fill it with null data
for i in range(10):
tmp = StringVar()
tmp.set('')
entryboxes[i] = tmp
def preferences_popup():
try:
global toplevel
toplevel.destroy()
except:
pass
from tkinter import Toplevel
pref_pop = Toplevel()
#pref_pop.config(background = '#F4F4F4')
pref_pop.geometry('+300+100')
pref_pop.title("Preferences")
#pref_pop.overrideredirect(1)
pref_pop.wm_attributes('-topmost', 1)
Label(pref_pop, text='').grid(row=0, column=0, pady=2)
def quit_coding(*args):
save_tool_prefs(printout=True)
pref_pop.destroy()
tmp = Checkbutton(pref_pop, text='Automatically check for updates', variable=do_auto_update, onvalue=1, offvalue=0)
if do_auto_update.get() == 1:
tmp.select()
all_text_widgets.append(tmp)
tmp.grid(row=0, column=0, sticky=W)
Label(pref_pop, text='Truncate concordance lines').grid(row=1, column=0, sticky=W)
tmp = Entry(pref_pop, textvariable=truncate_conc_after, width=7)
all_text_widgets.append(tmp)
tmp.grid(row=1, column=1, sticky=E)
Label(pref_pop, text='Truncate spreadsheets').grid(row=2, column=0, sticky=W)
tmp = Entry(pref_pop, textvariable=truncate_spreadsheet_after, width=7)
all_text_widgets.append(tmp)
tmp.grid(row=2, column=1, sticky=E)
Label(pref_pop, text='CoreNLP memory allocation (MB)').grid(row=3, column=0, sticky=W)
tmp = Entry(pref_pop, textvariable=parser_memory, width=7)
all_text_widgets.append(tmp)
tmp.grid(row=3, column=1, sticky=E)
Label(pref_pop, text='Spreadsheet cell width').grid(row=4, column=0, sticky=W)
tmp = Entry(pref_pop, textvariable=cell_width, width=7)
all_text_widgets.append(tmp)
tmp.grid(row=4, column=1, sticky=E)
Label(pref_pop, text='Spreadsheet row header width').grid(row=5, column=0, sticky=W)
tmp = Entry(pref_pop, textvariable=row_label_width, width=7)
all_text_widgets.append(tmp)
tmp.grid(row=5, column=1, sticky=E)
Label(pref_pop, text='P value').grid(row=6, column=0, sticky=W)
tmp = Entry(pref_pop, textvariable=p_val, width=7)
all_text_widgets.append(tmp)
tmp.grid(row=6, column=1, sticky=E)
Label(pref_pop, text='CoreNLP path:', justify=LEFT).grid(row=7, column=0, sticky=W, rowspan = 1)
Button(pref_pop, text='Change', command=set_corenlp_path, width =5).grid(row=7, column=1, sticky=E)
Label(pref_pop, textvariable=corenlppath, justify=LEFT).grid(row=8, column=0, sticky=W)
#set_corenlp_path
tmp = Checkbutton(pref_pop, text='Treat files as subcorpora', variable=files_as_subcorpora, onvalue=1, offvalue=0)
tmp.grid(row=10, column=0, pady=(0,0), sticky=W)
#tmp = Checkbutton(pref_pop, text='Disable regex for plaintext', variable=noregex, onvalue=1, offvalue=0)
#tmp.grid(row=9, column=1, pady=(0,0), sticky=W)
tmp = Checkbutton(pref_pop, text='Do concordancing', variable=do_concordancing, onvalue=1, offvalue=0)
tmp.grid(row=10, column=1, pady=(0,0), sticky=W)
tmp = Checkbutton(pref_pop, text='Format concordance context', variable=only_format_match, onvalue=1, offvalue=0)
tmp.grid(row=11, column=0, pady=(0,0), sticky=W)
tmp = Checkbutton(pref_pop, text='Show concordance metadata', variable=show_conc_metadata, onvalue=1, offvalue=0)
tmp.grid(row=11, column=1, pady=(0,0), sticky=W)
stopbut = Button(pref_pop, text='Done', command=quit_coding)
stopbut.grid(row=12, column=0, columnspan=2, pady=15)
pref_pop.bind("", quit_coding)
pref_pop.bind("", focus_next_window)
################### ################### ################### ###################
# INTERROGATE TAB # # INTERROGATE TAB # # INTERROGATE TAB # # INTERROGATE TAB #
################### ################### ################### ###################
# hopefully weighting the two columns, not sure if works
interro_opt = Frame(tab1)
interro_opt.grid(row=0, column=0)
tab1.grid_columnconfigure(2, weight=5)
def do_interrogation(conc=True):
"""the main function: calls interrogator()"""
import pandas
from corpkit.interrogator import interrogator
from corpkit.interrogation import Interrogation, Interrodict
doing_concondancing = True
# no pressing while running
#if not conc:
interrobut.config(state=DISABLED)
#else:
interrobut_conc.config(state=DISABLED)
recalc_but.config(state=DISABLED)
# progbar to zero
note.progvar.set(0)
for i in list(itemcoldict.keys()):
del itemcoldict[i]
# spelling conversion?
#conv = (spl.var).get()
#if conv == 'Convert spelling' or conv == 'Off':
# conv = False
# lemmatag: do i need to add as button if trees?
lemmatag = False
query = qa.get(1.0, END).replace('\n', '')
if not datatype_picked.get() == 'CQL':
# allow list queries
if query.startswith('[') and query.endswith(']') and ',' in query:
query = query.lstrip('[').rstrip(']').replace("'", '').replace('"', '').replace(' ', '').split(',')
#elif transdict[searchtype()] in ['e', 's']:
#query = query.lstrip('[').rstrip(']').replace("'", '').replace('"', '').replace(' ', '').split(',')
else:
# convert special stuff
query = remake_special(query, customs=custom_special_dict,
case_sensitive=case_sensitive.get())
if query is False:
return
# make name for interrogation
the_name = namer(nametext.get(), type_of_data='interrogation')
cqlmode = IntVar()
cqlmode.set(0)
# get the main query
so = datatype_picked.get()
if so == 'CQL':
cqlmode.set(1)
selected_option = convert_name_to_query.get(so, so)
if selected_option == '':
timestring('You need to select a search type.')
return
queryd = {}
for k, v in list(additional_criteria.items()):
# this should already be done
queryd[k] = v
queryd[selected_option] = query
# cql mode just takes a string
if cqlmode.get():
queryd = query
if selected_option == 'v':
queryd = 'features'
doing_concondancing = False
else:
doing_concondancing = True
# to do: make this order customisable for the gui too
poss_returns = [return_function, return_pos, return_lemma, return_token, \
return_gov, return_dep, return_tree, return_index, return_distance, \
return_count, return_gov_lemma, return_gov_pos, return_gov_func, \
return_dep_lemma, return_dep_pos, return_dep_func, \
return_ngm_lemma, return_ngm_pos, return_ngm_func, return_ngm]
must_make = [return_ngm_lemma, return_ngm_pos, return_ngm_func, return_ngm]
to_show = [prenext_pos.get() + i.get() if i in must_make and i.get() else i.get() for i in poss_returns]
to_show = [i for i in to_show if i and 'Position' not in i]
if not to_show and not selected_option == 'v':
timestring('Interrogation must return something.')
return
if 'c' in to_show:
doing_concondancing = False
if not do_concordancing.get():
doing_concondancing = False
#if noregex.get() == 1:
# regex = False
#else:
# regex = True
subcc = False
just_subc = False
met_field_ids = [by_met_listbox.get(i) for i in by_met_listbox.curselection()]
met_val_ids = [speaker_listbox.get(i) for i in speaker_listbox.curselection()]
if len(met_field_ids) == 1:
met_field_ids = met_field_ids[0]
if len(met_val_ids) == 1:
met_val_ids = met_val_ids[0]
if met_field_ids and not met_val_ids:
if isinstance(met_field_ids, list):
subcc = met_field_ids
else:
if met_field_ids == 'folders':
subcc = False
elif met_field_ids == 'files':
files_as_subcorpora.set(1)
elif met_field_ids == 'none':
# todo: no sub mode?
subcc = False
else:
subcc = met_field_ids
elif not met_field_ids:
subcc = False
elif met_field_ids and met_val_ids:
subcc = met_field_ids
if 'ALL' in met_val_ids:
pass
else:
just_subc = {met_field_ids: met_val_ids}
# default interrogator args: root and note pass the gui itself for updating
# progress bar and so on.
interrogator_args = {'search': queryd,
'show': to_show,
'case_sensitive': bool(case_sensitive.get()),
'no_punct': bool(no_punct.get()),
#'spelling': conv,
'root': root,
'note': note,
'df1_always_df': True,
'conc': doing_concondancing,
'only_format_match': not bool(only_format_match.get()),
#'dep_type': depdict.get(kind_of_dep.get(), 'CC-processed'),
'nltk_data_path': nltk_data_path,
#'regex': regex,
'coref': coref.get(),
'cql': cqlmode.get(),
'files_as_subcorpora': bool(files_as_subcorpora.get()),
'subcorpora': subcc,
'just_metadata': just_subc,
'show_conc_metadata': bool(show_conc_metadata.get()),
'use_interrodict': True}
if debug:
print(interrogator_args)
excludes = {}
for k, v in list(ex_additional_criteria.items()):
if k != 'None':
excludes[k.lower()[0]] = v
if exclude_op.get() != 'None':
q = remake_special(exclude_str.get(), return_list=True,
customs=custom_special_dict,
case_sensitive=case_sensitive.get())
if q:
excludes[exclude_op.get().lower()[0]] = q
if excludes:
interrogator_args['exclude'] = excludes
try:
interrogator_args['searchmode'] = anyall.get()
except:
pass
try:
interrogator_args['excludemode'] = excludemode.get()
except:
pass
# translate lemmatag
tagdict = {'Noun': 'n',
'Adjective': 'a',
'Verb': 'v',
'Adverb': 'r',
'None': False,
'': False,
'Off': False}
#interrogator_args['lemmatag'] = tagdict[lemtag.get()]
if corpus_fullpath.get() == '':
timestring('You need to select a corpus.')
return
# stats preset is actually a search type
#if special_queries.get() == 'Stats':
# selected_option = 'v'
# interrogator_args['query'] = 'any'
# if ngramming, there are two extra options
ngm = ngmsize.var.get()
if ngm != 'Size':
interrogator_args['gramsize'] = int(ngm)
clc = collosize.var.get()
if clc != 'Size':
interrogator_args['window'] = int(clc)
#if subc_pick.get() == "Subcorpus" or subc_pick.get().lower() == 'all' or \
# selected_corpus_has_no_subcorpora.get() == 1:
corp_to_search = corpus_fullpath.get()
#else:
# corp_to_search = os.path.join(corpus_fullpath.get(), subc_pick.get())
# do interrogation, return if empty
if debug:
print('CORPUS:', corp_to_search)
interrodata = interrogator(corp_to_search, **interrogator_args)
if isinstance(interrodata, Interrogation):
if hasattr(interrodata, 'results') and interrodata.results is not None:
if interrodata.results.empty:
timestring('No results found, sorry.')
return
# make sure we're redirecting stdout again
if not debug:
sys.stdout = note.redir
# update spreadsheets
if not isinstance(interrodata, (Interrogation, Interrodict)):
update_spreadsheet(interro_results, df_to_show=None, height=340)
update_spreadsheet(interro_totals, df_to_show=None, height=10)
return
# make non-dict results into dict, so we can iterate no matter
# if there were multiple results or not
interrogation_returned_dict = False
from collections import OrderedDict
if isinstance(interrodata, Interrogation):
dict_of_results = OrderedDict({the_name: interrodata})
else:
dict_of_results = interrodata
interrogation_returned_dict = True
# remove dummy entry from master
all_interrogations.pop('None', None)
# post-process each result and add to master list
for nm, r in sorted(dict_of_results.items(), key=lambda x: x[0]):
# drop over 9999
# type check probably redundant now
if r.results is not None:
large = [n for i, n in enumerate(list(r.results.columns)) if i > truncate_spreadsheet_after.get()]
r.results.drop(large, axis=1, inplace=True)
r.results.drop('Total', errors='ignore', inplace=True)
r.results.drop('Total', errors='ignore', inplace=True, axis=1)
# add interrogation to master list
if interrogation_returned_dict:
all_interrogations[the_name + '-' + nm] = r
all_conc[the_name + '-' + nm] = r.concordance
dict_of_results[the_name + '-' + nm] = dict_of_results.pop(nm)
# make multi for conc...
else:
all_interrogations[nm] = r
all_conc[nm] = r.concordance
# show most recent (alphabetically last) interrogation spreadsheet
recent_interrogation_name = list(dict_of_results.keys())[0]
recent_interrogation_data = list(dict_of_results.values())[0]
if queryd == {'v': 'any'}:
conc = False
if doing_concondancing:
conc_to_show = recent_interrogation_data.concordance
if conc_to_show is not None:
numresults = len(conc_to_show.index)
if numresults > truncate_conc_after.get() - 1:
nums = str(numresults)
if numresults == 9999:
nums += '+'
truncate = messagebox.askyesno("Long results list",
"%s unique concordance results! Truncate to %s?" % (nums, str(truncate_conc_after.get())))
if truncate:
conc_to_show = conc_to_show.head(truncate_conc_after.get())
add_conc_lines_to_window(conc_to_show, preserve_colour=False)
else:
timestring('No concordance results generated.')
global conc_saved
conc_saved = False
name_of_interro_spreadsheet.set(recent_interrogation_name)
i_resultname.set('Interrogation results: %s' % str(name_of_interro_spreadsheet.get()))
# total in a way that tkintertable likes
if isinstance(recent_interrogation_data.totals, int):
recent_interrogation_data.totals = Series(recent_interrogation_data.totals)
totals_as_df = pandas.DataFrame(recent_interrogation_data.totals, dtype=object)
# update spreadsheets
if recent_interrogation_data.results is not None:
update_spreadsheet(interro_results, recent_interrogation_data.results, height=340)
else:
update_spreadsheet(interro_results, df_to_show=None, height=340)
update_spreadsheet(interro_totals, totals_as_df, height=10)
ind = list(all_interrogations.keys()).index(name_of_interro_spreadsheet.get())
if ind == 0:
prev.configure(state=DISABLED)
else:
prev.configure(state=NORMAL)
if ind + 1 == len(list(all_interrogations.keys())):
nex.configure(state=DISABLED)
else:
nex.configure(state=NORMAL)
refresh()
if recent_interrogation_data.results is not None:
subs = r.results.index
else:
subs = r.totals.index
subc_listbox.delete(0, 'end')
for e in list(subs):
if e != 'tkintertable-order':
subc_listbox.insert(END, e)
#reset name
nametext.set('untitled')
if interrogation_returned_dict:
timestring('Interrogation finished, with multiple results.')
interrobut.config(state=NORMAL)
interrobut_conc.config(state=NORMAL)
recalc_but.config(state=NORMAL)
class MyOptionMenu(OptionMenu):
"""Simple OptionMenu for things that don't change."""
def __init__(self, tab1, status, *options):
self.var = StringVar(tab1)
self.var.set(status)
OptionMenu.__init__(self, tab1, self.var, *options)
self.config(font=('calibri',(12)),width=20)
self['menu'].config(font=('calibri',(10)))
def corpus_callback(*args):
"""
On selecting a corpus, set everything appropriately.
also, disable some kinds of search based on the name
"""
if not current_corpus.get():
return
import os
from os.path import join, isdir, isfile, exists
corpus_fullpath.set(join(corpora_fullpath.get(), current_corpus.get()))
fp = corpus_fullpath.get()
from corpkit.corpus import Corpus
corpus = Corpus(fp, print_info=False)
dtype = corpus.datatype
cols = []
if dtype == 'conll':
datatype_picked.set('Word')
try:
cols = corpus.metadata['columns']
except KeyError:
pass
try:
subdrs = sorted([d for d in os.listdir(corpus_fullpath.get()) if os.path.isdir(os.path.join(corpus_fullpath.get(),d))])
except FileNotFoundError:
subdrs = []
if len(subdrs) == 0:
charttype.set('bar')
pick_a_datatype['menu'].delete(0, 'end')
path_to_new_unparsed_corpus.set(fp)
#add_corpus_button.set('Added: "%s"' % os.path.basename(fp))
# why is it setting itself?
#current_corpus.set(os.path.basename(fp))
from corpkit.process import make_name_to_query_dict
exist = {'CQL': 'cql'}
if 'f' in cols:
exist['Trees'] = 't'
exist['Stats'] = 'v'
# todo: only cql for tokenised
convert_name_to_query = make_name_to_query_dict(exist, cols, dtype)
# allow tokenising/parsing of plaintext
if not fp.endswith('-parsed') and not fp.endswith('-tokenised'):
parsebut.config(state=NORMAL)
tokbut.config(state=NORMAL)
parse_button_text.set('Parse: %s' % os.path.basename(fp))
tokenise_button_text.set('Tokenise: %s' % current_corpus.get())
# disable tokenising and parsing of non plaintxt
else:
parsebut.config(state=NORMAL)
tokbut.config(state=NORMAL)
parse_button_text.set('Parse corpus')
tokenise_button_text.set('Tokenise corpus')
parsebut.config(state=DISABLED)
tokbut.config(state=DISABLED)
# no corefs
if not fp.endswith('-parsed') and not fp.endswith('tokenised'):
#pick_dep_type.config(state=DISABLED)
coref_but.config(state=DISABLED)
#parsebut.config(state=NORMAL)
#speakcheck_build.config(state=NORMAL)
interrobut_conc.config(state=DISABLED)
recalc_but.config(state=DISABLED)
#sensplitbut.config(state=NORMAL)
pick_a_datatype.configure(state=DISABLED)
interrobut.configure(state=DISABLED)
interrobut_conc.config(state=DISABLED)
recalc_but.config(state=DISABLED)
else:
interrobut_conc.config(state=NORMAL)
recalc_but.config(state=NORMAL)
pick_a_datatype.configure(state=NORMAL)
interrobut.configure(state=NORMAL)
if datatype_picked.get() not in ['Trees']:
coref_but.config(state=NORMAL)
interrobut_conc.config(state=DISABLED)
recalc_but.config(state=DISABLED)
for i in sorted(convert_name_to_query):
# todo: for now --- simplifying gui!
if i.lower() == 'distance from root' or i.lower().startswith('head'):
continue
pick_a_datatype['menu'].add_command(label=i, command=_setit(datatype_picked, i))
#parsebut.config(state=DISABLED)
#speakcheck_build.config(state=DISABLED)
datatype_picked.set('Word')
if not fp.endswith('-tokenised') and not fp.endswith('-parsed'):
pick_a_datatype['menu'].add_command(label='Word', command=_setit(datatype_picked, 'Word'))
else:
datatype_picked.set('Word')
add_subcorpora_to_build_box(fp)
note.progvar.set(0)
if current_corpus.get() in list(corpus_names_and_speakers.keys()):
refresh_by_metadata()
#speakcheck.config(state=NORMAL)
else:
pass
#speakcheck.config(state=DISABLED)
timestring('Set corpus directory: "%s"' % fp)
editf.set('Edit file: ')
parse_only = [ck4, ck5, ck6, ck7, ck9, ck10, ck11, ck12, ck13, ck14, ck15, ck16]
non_parsed = [ck1, ck8]
if 'l' in cols:
non_parsed.append(ck2)
if 'p' in cols:
non_parsed.append(ck3)
if not current_corpus.get().endswith('-parsed'):
for but in parse_only:
desel_and_turn_off(but)
for but in non_parsed:
turnon(but)
else:
for but in parse_only:
turnon(but)
for but in non_parsed:
turnon(but)
if datatype_picked.get() == 'Trees':
ck4.config(state=NORMAL)
else:
ck4.config(state=DISABLED)
refresh_by_metadata()
Label(interro_opt, text='Corpus/subcorpora:').grid(row=0, column=0, sticky=W)
current_corpus = StringVar()
current_corpus.set('Corpus')
available_corpora = OptionMenu(interro_opt, current_corpus, *tuple(('Select corpus')))
available_corpora.config(width=30, state=DISABLED, justify=CENTER)
current_corpus.trace("w", corpus_callback)
available_corpora.grid(row=0, column=0, columnspan=2, padx=(135,0))
available_corpora_build = OptionMenu(tab0, current_corpus, *tuple(('Select corpus')))
available_corpora_build.config(width=25, justify=CENTER, state=DISABLED)
available_corpora_build.grid(row=4, column=0, sticky=W)
ex_additional_criteria = {}
ex_anyall = StringVar()
ex_anyall.set('any')
ex_objs = OrderedDict()
# fill it with null data
for i in range(20):
tmp = StringVar()
tmp.set('')
ex_objs[i] = [None, None, None, tmp]
ex_permref = []
exclude_str = StringVar()
exclude_str.set('')
Label(interro_opt, text='Exclude:').grid(row=8, column=0, sticky=W, pady=(0, 10))
exclude_op = StringVar()
exclude_op.set('None')
exclude = OptionMenu(interro_opt, exclude_op, *['None'] + sorted(convert_name_to_query.keys()))
exclude.config(width=14)
exclude.grid(row=8, column=0, sticky=W, padx=(60, 0), pady=(0, 10))
qr = Entry(interro_opt, textvariable=exclude_str, width=18, state=DISABLED)
qr.grid(row=8, column=0, columnspan=2, sticky=E, padx=(0,40), pady=(0, 10))
all_text_widgets.append(qr)
ex_plusbut = Button(interro_opt, text='+', \
command=lambda: add_criteria(ex_objs, ex_permref, ex_anyall, ex_additional_criteria, \
exclude_op, exclude_str, title = 'Exclude from interrogation'), \
state=DISABLED)
ex_plusbut.grid(row=8, column=1, sticky=E, pady=(0, 10))
#blklst = StringVar()
#Label(interro_opt, text='Blacklist:').grid(row=12, column=0, sticky=W)
##blklst.set(r'^n')
#blklst.set(r'')
#bkbx = Entry(interro_opt, textvariable=blklst, width=22)
#bkbx.grid(row=12, column=0, columnspan=2, sticky=E)
#all_text_widgets.append(bkbx)
def populate_metavals(evt):
"""
Add the values for a metadata field to the subcorpus box
"""
from corpkit.process import get_corpus_metadata
try:
wx = evt.widget
except:
wx = evt
speaker_listbox.configure(state=NORMAL)
speaker_listbox.delete(0, END)
indices = wx.curselection()
if wx.get(indices[0]) != 'none':
speaker_listbox.insert(END, 'ALL')
for index in indices:
value = wx.get(index)
if value == 'files':
from corpkit.corpus import Corpus
corp = Corpus(current_corpus.get(), print_info=False)
vals = [i.name for i in corp.all_files]
elif value == 'folders':
from corpkit.corpus import Corpus
corp = Corpus(current_corpus.get(), print_info=False)
vals = [i.name for i in corp.subcorpora]
elif value == 'none':
vals = []
else:
meta = get_corpus_metadata(corpus_fullpath.get(), generate=True)
vals = meta['fields'][value]
#vals = get_speaker_names_from_parsed_corpus(corpus_fullpath.get(), value)
for v in vals:
speaker_listbox.insert(END, v)
# lemma tags
#lemtags = tuple(('Off', 'Noun', 'Verb', 'Adjective', 'Adverb'))
#lemtag = StringVar(root)
#lemtag.set('')
#Label(interro_opt, text='Result word class:').grid(row=13, column=0, columnspan=2, sticky=E, padx=(0, 120))
#lmt = OptionMenu(interro_opt, lemtag, *lemtags)
#lmt.config(state=NORMAL, width=10)
#lmt.grid(row=13, column=1, sticky=E)
#lemtag.trace("w", d_callback)
def refresh_by_metadata(*args):
"""
Add metadata for a corpus from dotfile to listbox
"""
import os
if os.path.isdir(corpus_fullpath.get()):
from corpkit.process import get_corpus_metadata
ns = get_corpus_metadata(corpus_fullpath.get(), generate=True)
ns = list(ns.get('fields', {}))
#ns = corpus_names_and_speakers[os.path.basename(corpus_fullpath.get())]
else:
return
speaker_listbox.delete(0, 'end')
# figure out which list we need to add to, and which we should del from
lbs = []
delfrom = []
# todo: this should be, if new corpus, delfrom...
if True:
lbs.append(by_met_listbox)
else:
delfrom.append(by_met_listbox)
# add names
for lb in lbs:
lb.configure(state=NORMAL)
lb.delete(0, END)
from corpkit.corpus import Corpus
corp = Corpus(current_corpus.get(), print_info=False)
if corp.level == 'c':
lb.insert(END, 'folders')
lb.insert(END, 'files')
for idz in sorted(ns):
lb.insert(END, idz)
lb.insert(END, 'none')
# or delete names
for lb in delfrom:
lb.configure(state=NORMAL)
lb.delete(0, END)
lb.configure(state=DISABLED)
by_met_listbox.selection_set(0)
populate_metavals(by_met_listbox)
# by metadata
by_meta_scrl = Frame(interro_opt)
by_meta_scrl.grid(row=1, column=0, rowspan=2, sticky='w', padx=(5,0), pady=(5, 5))
# scrollbar for the listbox
by_met_bar = Scrollbar(by_meta_scrl)
by_met_bar.pack(side=RIGHT, fill=Y)
# listbox itself
slist_height = 2 if small_screen else 6
by_met_listbox = Listbox(by_meta_scrl, selectmode=EXTENDED, width=12, height=slist_height,
relief=SUNKEN, bg='#F4F4F4',
yscrollcommand=by_met_bar.set, exportselection=False)
by_met_listbox.pack()
by_met_bar.config(command=by_met_listbox.yview)
xx = by_met_listbox.bind('<>', populate_metavals)
# frame to hold metadata values listbox
spk_scrl = Frame(interro_opt)
spk_scrl.grid(row=1, column=0, rowspan=2, columnspan=2, sticky=E, pady=(5,5))
# scrollbar for the listbox
spk_sbar = Scrollbar(spk_scrl)
spk_sbar.pack(side=RIGHT, fill=Y)
# listbox itself
speaker_listbox = Listbox(spk_scrl, selectmode=EXTENDED, width=29, height=slist_height,
relief=SUNKEN, bg='#F4F4F4',
yscrollcommand=spk_sbar.set, exportselection=False)
speaker_listbox.pack()
speaker_listbox.configure(state=DISABLED)
spk_sbar.config(command=speaker_listbox.yview)
# dep type
#dep_types = tuple(('Basic', 'Collapsed', 'CC-processed'))
#kind_of_dep = StringVar(root)
#kind_of_dep.set('CC-processed')
#Label(interro_opt, text='Dependency type:').grid(row=16, column=0, sticky=W)
#pick_dep_type = OptionMenu(interro_opt, kind_of_dep, *dep_types)
#pick_dep_type.config(state=DISABLED)
#pick_dep_type.grid(row=16, column=0, sticky=W, padx=(125,0))
#kind_of_dep.trace("w", d_callback)
coref = IntVar(root)
coref.set(False)
coref_but = Checkbutton(interro_opt, text='Count coreferents', variable=coref, onvalue=True, offvalue=False)
coref_but.grid(row=6, column=1, sticky=E, pady=(5,0))
coref_but.config(state=DISABLED)
# query
entrytext=StringVar()
Label(interro_opt, text='Query:').grid(row=4, column=0, sticky='NW', pady=(5,0))
entrytext.set(r'\b(m.n|wom.n|child(ren)?)\b')
qa_height = 2 if small_screen else 6
qa = Text(interro_opt, width=40, height=qa_height, borderwidth=0.5,
font=("Courier New", 14), undo=True, relief=SUNKEN, wrap=WORD, highlightthickness=0)
qa.insert(END, entrytext.get())
qa.grid(row=4, column=0, columnspan=2, sticky=E, pady=(5,5), padx=(0, 4))
all_text_widgets.append(qa)
additional_criteria = {}
anyall = StringVar()
anyall.set('all')
objs = OrderedDict()
# fill it with null data
for i in range(20):
tmp = StringVar()
tmp.set('')
objs[i] = [None, None, None, tmp]
permref = []
def add_criteria(objs, permref, anyalltoggle, output_dict,
optvar, enttext, title = "Additional criteria"):
"""this is a popup for adding additional search criteria.
it's also used for excludes"""
if title == 'Additional criteria':
enttext.set(qa.get(1.0, END).strip('\n').strip())
from tkinter import Toplevel
try:
more_criteria = permref[0]
more_criteria.deiconify()
return
except:
pass
more_criteria = Toplevel()
more_criteria.geometry('+500+100')
more_criteria.title(title)
more_criteria.wm_attributes('-topmost', 1)
total = 0
n_items = []
def quit_q(total, *args):
"""exit popup, saving entries"""
poss_keys = []
for index, (option, optvar, entbox, entstring) in enumerate(list(objs.values())[:total]):
if index == 0:
enttext.set(entstring.get())
optvar.set(optvar.get())
datatype_picked.set(optvar.get())
if optvar is not None:
o = convert_name_to_query.get(optvar.get(), optvar.get())
q = entstring.get().strip()
q = remake_special(q, customs=custom_special_dict,
case_sensitive=case_sensitive.get(), return_list=True)
output_dict[o] = q
# may not work on mac ...
if title == 'Additional criteria':
if len(list(objs.values())[:total]) > 0:
plusbut.config(bg='#F4F4F4')
else:
plusbut.config(bg='white')
else:
if len(list(objs.values())[:total]) > 0:
ex_plusbut.config(bg='#F4F4F4')
else:
ex_plusbut.config(bg='white')
more_criteria.withdraw()
def remove_prev():
"""delete last added criteria line"""
if len([k for k, v in objs.items() if v[0] is not None]) < 2:
pass
else:
ans = 0
for k, (a, b, c, d) in reversed(list(objs.items())):
if a is not None:
ans = k
break
if objs[ans][0] is not None:
objs[ans][0].destroy()
optvar = objs[ans][1].get()
try:
del output_dict[convert_name_to_query[optvar]]
except:
pass
objs[ans][1] = StringVar()
if objs[ans][2] is not None:
objs[ans][2].destroy()
objs[ans][3] = StringVar()
objs.pop(ans, None)
def clear_q():
"""clear the popup"""
for optmenu, optvar, entbox, entstring in list(objs.values()):
if optmenu is not None:
optvar.set('Word')
entstring.set('')
def new_item(total, optvar, enttext, init = False):
"""add line to popup"""
for i in n_items:
i.destroy()
for i in n_items:
n_items.remove(i)
chosen = StringVar()
poss = ['None'] + sorted(convert_name_to_query.keys())
poss = [k for k in poss if not 'distance' in k.lower() and not 'head ' in k.lower()]
chosen.set('Word')
opt = OptionMenu(more_criteria, chosen, *poss)
opt.config(width=16)
t = total + 1
opt.grid(row=total, column=0, sticky=W)
text_str = StringVar()
text_str.set('')
text=Entry(more_criteria, textvariable=text_str, width=40, font=("Courier New", 13))
all_text_widgets.append(text)
text.grid(row=total, column=1)
objs[total] = [opt, chosen, text, text_str]
minuser = Button(more_criteria, text='-', command=remove_prev)
minuser.grid(row=total + 2, column=0, sticky=W, padx=(38,0))
plusser = Button(more_criteria, text='+', command=lambda : new_item(t, optvar, enttext))
plusser.grid(row=total + 2, column=0, sticky=W)
stopbut = Button(more_criteria, text='Done', command=lambda : quit_q(t))
stopbut.grid(row=total + 2, column=1, sticky=E)
clearbut = Button(more_criteria, text='Clear', command=clear_q)
clearbut.grid(row=total + 2, column=1, sticky=E, padx=(0, 60))
r1 = Radiobutton(more_criteria, text='Match any', variable=anyalltoggle, value= 'any')
r1.grid(row=total + 2, column=0, columnspan=2, sticky=E, padx=(0,150))
r2 = Radiobutton(more_criteria, text='Match all', variable=anyalltoggle, value= 'all')
r2.grid(row=total + 2, column=0, columnspan=2, sticky=E, padx=(0,250))
n_items.append(plusser)
n_items.append(stopbut)
n_items.append(minuser)
n_items.append(clearbut)
n_items.append(r1)
n_items.append(r2)
if init:
text_str.set(enttext.get())
chosen.set(optvar.get())
minuser.config(state=DISABLED)
else:
minuser.config(state=NORMAL)
return t
if objs:
for optmenu, optvar, entbox, entstring in list(objs.values()):
optmenu.grid()
entbox.grid()
# make the first button with defaults
total = new_item(total, optvar, enttext, init = True)
if more_criteria not in permref:
permref.append(more_criteria)
plusbut = Button(interro_opt, text='+', \
command=lambda: add_criteria(objs, permref, anyall, \
additional_criteria, datatype_picked, entrytext), \
state=NORMAL)
plusbut.grid(row=4, column=0, columnspan=1, padx=(25,0), pady=(10,0), sticky='w')
def entry_callback(*args):
"""when entry is changed, add it to the textbox"""
qa.config(state=NORMAL)
qa.delete(1.0, END)
qa.insert(END, entrytext.get())
entrytext.trace("w", entry_callback)
def onselect(evt):
"""when an option is selected, add the example query
for ngrams, add the special ngram options"""
w = evt.widget
index = int(w.curselection()[0])
value = w.get(index)
w.see(index)
#datatype_chosen_option.set(value)
#datatype_listbox.select_set(index)
#datatype_listbox.see(index)
if qa.get(1.0, END).strip('\n').strip() in list(def_queries.values()):
if qa.get(1.0, END).strip('\n').strip() not in list(qd.values()):
entrytext.set(def_queries[datatype_picked.get()])
#try:
# ngmsize.destroy()
#except:
# pass
#try:
# split_contract.destroy()
#except:
# pass
# boolean interrogation arguments need fixing, right now use 0 and 1
#lem = IntVar()
#lbut = Checkbutton(interro_opt, text="Lemmatise", variable=lem, onvalue=True, offvalue=False)
#lbut.grid(column=0, row=8, sticky=W)
#phras = IntVar()
#mwbut = Checkbutton(interro_opt, text="Multiword results", variable=phras, onvalue=True, offvalue=False)
#mwbut.grid(column=1, row=8, sticky=E)
#tit_fil = IntVar()
#tfbut = Checkbutton(interro_opt, text="Filter titles", variable=tit_fil, onvalue=True, offvalue=False)
#tfbut.grid(row=9, column=0, sticky=W)
case_sensitive = IntVar()
tmp = Checkbutton(interro_opt, text="Case sensitive", variable=case_sensitive, onvalue=True, offvalue=False)
tmp.grid(row=6, column=0, sticky=W, padx=(140,0), pady=(5,0))
no_punct = IntVar()
tmp = Checkbutton(interro_opt, text="Punctuation", variable=no_punct, onvalue=False, offvalue=True)
tmp.deselect()
tmp.grid(row=6, column=0, sticky=W, pady=(5,0))
global ngmsize
Label(interro_opt, text='N-gram size:').grid(row=5, column=0, sticky=W, padx=(220,0), columnspan=2, pady=(5,0))
ngmsize = MyOptionMenu(interro_opt, 'Size','1', '2','3','4','5','6','7','8')
ngmsize.configure(width=12)
ngmsize.grid(row=5, column=1, sticky=E, pady=(5,0))
#ngmsize.config(state=DISABLED)
global collosize
Label(interro_opt, text='Collocation window:').grid(row=5, column=0, sticky=W, pady=(5,0))
collosize = MyOptionMenu(interro_opt, 'Size','1', '2','3','4','5','6','7','8')
collosize.configure(width=8)
collosize.grid(row=5, column=0, sticky=W, padx=(140,0), pady=(5,0))
#collosize.config(state=DISABLED)
#global split_contract
#split_contract = IntVar(root)
#split_contract.set(False)
#split_contract_but = Checkbutton(interro_opt, text='Split contractions', variable=split_contract, onvalue=True, offvalue=False)
#split_contract_but.grid(row=7, column=1, sticky=E)
#Label(interro_opt, text='Spelling:').grid(row=6, column=1, sticky=E, padx=(0, 75))
#spl = MyOptionMenu(interro_opt, 'Off','UK','US')
#spl.configure(width=7)
#spl.grid(row=6, column=1, sticky=E, padx=(2, 0))
def desel_and_turn_off(but):
pass
but.config(state=NORMAL)
but.deselect()
but.config(state=DISABLED)
def turnon(but):
but.config(state=NORMAL)
def callback(*args):
"""if the drop down list for data type changes, fill options"""
#datatype_listbox.delete(0, 'end')
chosen = datatype_picked.get()
#lst = option_dict[chosen]
#for e in lst:
# datatype_listbox.insert(END, e)
notree = [i for i in sorted(convert_name_to_query.keys()) if i != 'Trees']
if chosen == 'Trees':
for but in [ck5, ck6, ck7, ck9, ck10, ck11, ck12, ck13, ck14, ck15, ck16, \
ck17, ck18, ck19, ck20]:
desel_and_turn_off(but)
for but in [ck1, ck2, ck4, ck4, ck8]:
turnon(but)
ck1.select()
#q.config(state=DISABLED)
#qr.config(state=DISABLED)
#exclude.config(state=DISABLED)
#sec_match.config(state=DISABLED)
plusbut.config(state=DISABLED)
ex_plusbut.config(state=DISABLED)
elif chosen in notree:
if current_corpus.get().endswith('-parsed'):
for but in [ck1, ck2, ck3, ck5, ck6, ck7, ck8, ck9, ck10, \
ck11, ck12, ck13, ck14, ck15, ck16, \
ck17, ck18, ck19, ck20, \
plusbut, ex_plusbut, exclude, qr]:
turnon(but)
desel_and_turn_off(ck4)
if chosen == 'Stats':
nametext.set('features')
nametexter.config(state=DISABLED)
else:
nametexter.config(state=NORMAL)
nametext.set('untitled')
if chosen == 'Stats':
for but in [ck2, ck3, ck4, ck5, ck6, ck7, ck8, ck9, ck10, \
ck11, ck12, ck13, ck14, ck15, ck16]:
desel_and_turn_off(but)
turnon(ck1)
ck1.select()
ngmshows = [return_ngm, return_ngm_lemma, return_ngm_func, return_ngm_pos]
#ngmsize.config(state=NORMAL)
#collosize.config(state=NORMAL)
#if qa.get(1.0, END).strip('\n').strip() in def_queries.values() + special_examples.values():
clean_query = qa.get(1.0, END).strip('\n').strip()
acc_for_tups = [i[0] if isinstance(i, tuple) else i for i in list(def_queries.values())]
if (clean_query not in list(qd.values()) and clean_query in acc_for_tups) \
or not clean_query:
try:
# for the life of me i don't know why some are appearing as tuples
found = def_queries.get(chosen, clean_query)
if isinstance(found, tuple):
found = found[0]
entrytext.set(found)
except:
pass
datatype_picked = StringVar(root)
Label(interro_opt, text='Search: ').grid(row=3, column=0, sticky=W, pady=10)
pick_a_datatype = OptionMenu(interro_opt, datatype_picked, *sorted(convert_name_to_query.keys()))
pick_a_datatype.configure(width=30, justify=CENTER)
datatype_picked.set('Word')
pick_a_datatype.grid(row=3, column=0, columnspan=2, sticky=W, padx=(136,0))
datatype_picked.trace("w", callback)
# trees, words, functions, governors, dependents, pos, lemma, count
interro_return_frm = Frame(interro_opt)
Label(interro_return_frm, text=' Return', font=("Courier New", 13, "bold")).grid(row=0, column=0, sticky=E)
interro_return_frm.grid(row=7, column=0, columnspan=2, sticky=W, pady=10, padx=(10,0))
Label(interro_return_frm, text=' Token', font=("Courier New", 13)).grid(row=0, column=1, sticky=E)
Label(interro_return_frm, text=' Lemma', font=("Courier New", 13)).grid(row=0, column=2, sticky=E)
Label(interro_return_frm, text=' POS tag', font=("Courier New", 13)).grid(row=0, column=3, sticky=E)
Label(interro_return_frm, text= 'Function', font=("Courier New", 13)).grid(row=0, column=4, sticky=E)
Label(interro_return_frm, text=' Match', font=("Courier New", 13)).grid(row=1, column=0, sticky=E)
Label(interro_return_frm, text=' Governor', font=("Courier New", 13)).grid(row=2, column=0, sticky=E)
Label(interro_return_frm, text='Dependent', font=("Courier New", 13)).grid(row=3, column=0, sticky=E)
prenext_pos = StringVar(root)
prenext_pos.set('Position')
pick_posi_o = ('-5', '-4', '-3', '-2', '-1', '+1', '+2', '+3', '+4', '+5')
pick_posi_m = OptionMenu(interro_return_frm, prenext_pos, *pick_posi_o)
pick_posi_m.config(width=8)
pick_posi_m.grid(row=4, column=0, sticky=E)
#Label(interro_return_frm, text= 'N-gram', font=("Courier New", 13)).grid(row=4, column=0, sticky=E)
Label(interro_return_frm, text=' Other', font=("Courier New", 13)).grid(row=5, column=0, sticky=E)
Label(interro_return_frm, text=' Count', font=("Courier New", 13)).grid(row=5, column=1, sticky=E)
Label(interro_return_frm, text=' Index', font=("Courier New", 13)).grid(row=5, column=2, sticky=E)
Label(interro_return_frm, text=' Distance', font=("Courier New", 13)).grid(row=5, column=3, sticky=E)
Label(interro_return_frm, text=' Tree', font=("Courier New", 13)).grid(row=5, column=4, sticky=E)
return_token = StringVar()
return_token.set('')
ck1 = Checkbutton(interro_return_frm, variable=return_token, onvalue='w', offvalue = '')
ck1.select()
ck1.grid(row=1, column=1, sticky=E)
def return_token_callback(*args):
if datatype_picked.get() == 'Trees':
if return_token.get():
for but in [ck3, ck4, ck8]:
but.config(state=NORMAL)
but.deselect()
return_token.trace("w", return_token_callback)
return_lemma = StringVar()
return_lemma.set('')
ck2 = Checkbutton(interro_return_frm, anchor=E, variable=return_lemma, onvalue='l', offvalue = '')
ck2.grid(row=1, column=2, sticky=E)
def return_lemma_callback(*args):
if datatype_picked.get() == 'Trees':
if return_lemma.get():
for but in [ck3, ck4, ck8]:
but.config(state=NORMAL)
but.deselect()
lmt.configure(state=NORMAL)
else:
lmt.configure(state=DISABLED)
return_lemma.trace("w", return_lemma_callback)
return_pos = StringVar()
return_pos.set('')
ck3 = Checkbutton(interro_return_frm, variable=return_pos, onvalue='p', offvalue = '')
ck3.grid(row=1, column=3, sticky=E)
def return_pos_callback(*args):
if datatype_picked.get() == 'Trees':
if return_pos.get():
for but in [ck1, ck2, ck4, ck8]:
but.config(state=NORMAL)
but.deselect()
return_pos.trace("w", return_pos_callback)
return_function = StringVar()
return_function.set('')
ck7 = Checkbutton(interro_return_frm, variable=return_function, onvalue='f', offvalue = '')
ck7.grid(row=1, column=4, sticky=E)
return_tree = StringVar()
return_tree.set('')
ck4 = Checkbutton(interro_return_frm, anchor=E, variable=return_tree, onvalue='t', offvalue = '')
ck4.grid(row=6, column=4, sticky=E)
def return_tree_callback(*args):
if datatype_picked.get() == 'Trees':
if return_tree.get():
for but in [ck1, ck2, ck3, ck8]:
but.config(state=NORMAL)
but.deselect()
return_tree.trace("w", return_tree_callback)
return_tree.trace("w", return_tree_callback)
return_index = StringVar()
return_index.set('')
ck5 = Checkbutton(interro_return_frm, anchor=E, variable=return_index, onvalue='i', offvalue = '')
ck5.grid(row=6, column=2, sticky=E)
return_distance = StringVar()
return_distance.set('')
ck6 = Checkbutton(interro_return_frm, anchor=E, variable=return_distance, onvalue='a', offvalue = '')
ck6.grid(row=6, column=3, sticky=E)
return_count = StringVar()
return_count.set('')
ck8 = Checkbutton(interro_return_frm, variable=return_count, onvalue='c', offvalue = '')
ck8.grid(row=6, column=1, sticky=E)
def countmode(*args):
ngmshows = [return_ngm, return_ngm_lemma, return_ngm_func, return_ngm_pos]
ngmbuts = [ck17, ck18, ck19, ck20]
if any(ngmshow.get() for ngmshow in ngmshows):
return
if datatype_picked.get() != 'Trees':
buttons = [ck1, ck2, ck3, ck4, ck5, ck6, ck7, ck9,
ck10, ck11, ck12, ck13, ck14, ck15, ck16,
ck17, ck18, ck19, ck20]
if return_count.get() == 'c':
for b in buttons:
desel_and_turn_off(b)
ck8.config(state=NORMAL)
else:
for b in buttons:
b.config(state=NORMAL)
callback()
else:
if return_count.get():
for but in [ck1, ck2, ck3, ck4]:
but.config(state=NORMAL)
but.deselect()
return_count.trace("w", countmode)
return_gov = StringVar()
return_gov.set('')
ck9 = Checkbutton(interro_return_frm, variable=return_gov,
onvalue='gw', offvalue = '')
ck9.grid(row=2, column=1, sticky=E)
return_gov_lemma = StringVar()
return_gov_lemma.set('')
ck10 = Checkbutton(interro_return_frm, variable=return_gov_lemma,
onvalue='gl', offvalue = '')
ck10.grid(row=2, column=2, sticky=E)
return_gov_pos = StringVar()
return_gov_pos.set('')
ck11 = Checkbutton(interro_return_frm, variable=return_gov_pos,
onvalue='gp', offvalue = '')
ck11.grid(row=2, column=3, sticky=E)
return_gov_func = StringVar()
return_gov_func.set('')
ck12 = Checkbutton(interro_return_frm, variable=return_gov_func,
onvalue='gf', offvalue = '')
ck12.grid(row=2, column=4, sticky=E)
return_dep = StringVar()
return_dep.set('')
ck13 = Checkbutton(interro_return_frm, variable=return_dep,
onvalue='dw', offvalue = '')
ck13.grid(row=3, column=1, sticky=E)
return_dep_lemma = StringVar()
return_dep_lemma.set('')
ck14 = Checkbutton(interro_return_frm, variable=return_dep_lemma,
onvalue='dl', offvalue = '')
ck14.grid(row=3, column=2, sticky=E)
return_dep_pos = StringVar()
return_dep_pos.set('')
ck15 = Checkbutton(interro_return_frm, variable=return_dep_pos,
onvalue='dp', offvalue = '')
ck15.grid(row=3, column=3, sticky=E)
return_dep_func = StringVar()
return_dep_func.set('')
ck16 = Checkbutton(interro_return_frm, variable=return_dep_func,
onvalue='df', offvalue = '')
ck16.grid(row=3, column=4, sticky=E)
return_ngm = StringVar()
return_ngm.set('')
ck17 = Checkbutton(interro_return_frm, variable=return_ngm,
onvalue='w', offvalue = '')
ck17.grid(row=4, column=1, sticky=E)
return_ngm_lemma = StringVar()
return_ngm_lemma.set('')
ck18 = Checkbutton(interro_return_frm, variable=return_ngm_lemma,
onvalue='l', offvalue = '')
ck18.grid(row=4, column=2, sticky=E)
return_ngm_pos = StringVar()
return_ngm_pos.set('')
ck19 = Checkbutton(interro_return_frm, variable=return_ngm_pos,
onvalue='p', offvalue = '')
ck19.grid(row=4, column=3, sticky=E)
return_ngm_func = StringVar()
return_ngm_func.set('')
ck20 = Checkbutton(interro_return_frm, variable=return_ngm_func,
onvalue='f', offvalue = '', state=DISABLED)
ck20.grid(row=4, column=4, sticky=E)
def q_callback(*args):
qa.configure(state=NORMAL)
qr.configure(state=NORMAL)
#queries = tuple(('Off', 'Any', 'Participants', 'Processes', 'Subjects', 'Stats'))
#special_queries = StringVar(root)
#special_queries.set('Off')
#Label(interro_opt, text='Preset:').grid(row=7, column=0, sticky=W)
#pick_a_query = OptionMenu(interro_opt, special_queries, *queries)
#pick_a_query.config(width=11, state=DISABLED)
#pick_a_query.grid(row=7, column=0, padx=(60, 0), columnspan=2, sticky=W)
#special_queries.trace("w", q_callback)
# Interrogation name
nametext=StringVar()
nametext.set('untitled')
Label(interro_opt, text='Interrogation name:').grid(row=17, column=0, sticky=W)
nametexter = Entry(interro_opt, textvariable=nametext, width=15)
nametexter.grid(row=17, column=1, sticky=E)
all_text_widgets.append(nametexter)
def show_help(kind):
kindict = {'h': 'http://interrogator.github.io/corpkit/doc_help.html',
'q': 'http://interrogator.github.io/corpkit/doc_interrogate.html#trees',
't': 'http://interrogator.github.io/corpkit/doc_troubleshooting.html'}
import webbrowser
webbrowser.open_new(kindict[kind])
# query help, interrogate button
#Button(interro_opt, text='Query help', command=query_help).grid(row=14, column=0, sticky=W)
interrobut = Button(interro_opt, text='Interrogate')
interrobut.config(command=lambda: runner(interrobut, do_interrogation, conc=True), state=DISABLED)
interrobut.grid(row=18, column=1, sticky=E)
# name to show above spreadsheet 0
i_resultname = StringVar()
def change_interro_spread(*args):
if name_of_interro_spreadsheet.get():
#savdict.config(state=NORMAL)
updbut.config(state=NORMAL)
else:
#savdict.config(state=DISABLED)
updbut.config(state=DISABLED)
name_of_interro_spreadsheet = StringVar()
name_of_interro_spreadsheet.set('')
name_of_interro_spreadsheet.trace("w", change_interro_spread)
i_resultname.set('Interrogation results: %s' % str(name_of_interro_spreadsheet.get()))
# make spreadsheet frames for interrogate pane
wdth = int(note_width * 0.50)
interro_right = Frame(tab1, width=wdth)
interro_right.grid(row=0, column=1, sticky=N)
interro_results = Frame(interro_right, height=40, width=wdth, borderwidth=2)
interro_results.grid(column=0, row=0, padx=20, pady=(20,0), sticky='N', columnspan=4)
interro_totals = Frame(interro_right, height=1, width=20, borderwidth=2)
interro_totals.grid(column=0, row=1, padx=20, columnspan=4)
llab = Label(interro_right, textvariable=i_resultname,
font=("Helvetica", 13, "bold"))
llab.grid(row=0, column=0, sticky='NW', padx=20, pady=0)
llab.lift()
# show nothing yet
update_spreadsheet(interro_results, df_to_show=None, height=450, width=wdth)
update_spreadsheet(interro_totals, df_to_show=None, height=10, width=wdth)
#global prev
four_interro_under = Frame(interro_right, width=wdth)
four_interro_under.grid(row=3, column=0, sticky='ew', padx=(20,0))
prev = Button(four_interro_under, text='Previous', command=show_prev)
prev.pack(side='left', expand=True)
#global nex
nex = Button(four_interro_under, text='Next', command=show_next)
nex.pack(side='left', expand=True, padx=(0,50))
if len(list(all_interrogations.keys())) < 2:
nex.configure(state=DISABLED)
prev.configure(state=DISABLED)
#savdict = Button(four_interro_under, text='Save as dictionary', command=save_as_dictionary)
#savdict.config(state=DISABLED)
#savdict.pack(side='right', expand=True)
updbut = Button(four_interro_under, text='Update interrogation', command=lambda: update_all_interrogations(pane='interrogate'))
updbut.pack(side='right', expand=True)
updbut.config(state=DISABLED)
############## ############## ############## ############## ##############
# EDITOR TAB # # EDITOR TAB # # EDITOR TAB # # EDITOR TAB # # EDITOR TAB #
############## ############## ############## ############## ##############
editor_buttons = Frame(tab2)
editor_buttons.grid(row=0, column=0, sticky='NW')
def do_editing():
"""
What happens when you press edit
"""
edbut.config(state=DISABLED)
import os
import pandas as pd
from corpkit.editor import editor
# translate operation into interrogator input
operation_text=opp.get()
if operation_text == 'None' or operation_text == 'Select an operation':
operation_text=None
else:
operation_text=opp.get()[0]
if opp.get() == u"\u00F7":
operation_text='/'
if opp.get() == u"\u00D7":
operation_text='*'
if opp.get() == '%-diff':
operation_text='d'
if opp.get() == 'rel. dist.':
operation_text='a'
# translate dataframe2
data2 = data2_pick.get()
if data2 == 'None' or data2 == '':
data2 = False
elif data2 == 'Self':
data2 = 'self'
elif data2 in ['features', 'postags', 'wordclasses']:
from corpkit.corpus import Corpus
corp = Corpus(current_corpus.get(), print_info=False)
data2 = getattr(corp, data2_pick.get())
#todo: populate results/totals with possibilities for features etc
elif data2 is not False:
if df2branch.get() == 'results':
try:
data2 = getattr(all_interrogations[data2], df2branch.get())
except AttributeError:
timestring('Denominator has no results attribute.')
return
elif df2branch.get() == 'totals':
try:
data2 = getattr(all_interrogations[data2], df2branch.get())
except AttributeError:
timestring('Denominator has no totals attribute.')
return
if transpose.get():
try:
data2 = data2.T
except:
pass
the_data = all_interrogations[name_of_o_ed_spread.get()]
if df1branch.get() == 'results':
if not hasattr(the_data, 'results'):
timestring('Interrogation has no results attribute.')
return
elif df1branch.get() == 'totals':
data1 = the_data.totals
if (spl_editor.var).get() == 'Off' or (spl_editor.var).get() == 'Convert spelling':
spel = False
else:
spel = (spl_editor.var).get()
# editor kwargs
editor_args = {'operation': operation_text,
'dataframe2': data2,
'spelling': spel,
'sort_by': sort_trans[sort_val.get()],
'df1_always_df': True,
'root': root,
'note': note,
'packdir': rd,
'p': p_val.get()}
if do_sub.get() == 'Merge':
editor_args['merge_subcorpora'] = subc_sel_vals
elif do_sub.get() == 'Keep':
editor_args['just_subcorpora'] = subc_sel_vals
elif do_sub.get() == 'Span':
editor_args['span_subcorpora'] = subc_sel_vals
elif do_sub.get() == 'Skip':
editor_args['skip_subcorpora'] = subc_sel_vals
if toreplace_string.get() != '':
if replacewith_string.get() == '':
replacetup = toreplace_string.get()
else:
replacetup = (toreplace_string.get(), replacewith_string.get())
editor_args['replace_names'] = replacetup
# special query: add to this list!
#if special_queries.get() != 'Off':
#query = spec_quer_translate[special_queries.get()]
entry_do_with = entry_regex.get()
# allow list queries
if entry_do_with.startswith('[') and entry_do_with.endswith(']') and ',' in entry_do_with:
entry_do_with = entry_do_with.lower().lstrip('[').rstrip(']').replace("'", '').replace('"', '').replace(' ', '').split(',')
else:
# convert special stuff
re.compile(entry_do_with)
entry_do_with = remake_special(entry_do_with, customs=custom_special_dict,
case_sensitive=case_sensitive.get(),
return_list=True)
if entry_do_with is False:
return
if do_with_entries.get() == 'Merge':
editor_args['merge_entries'] = entry_do_with
nn = newname_var.get()
if nn == '':
editor_args['newname'] = False
elif is_number(nn):
editor_args['newname'] = int(nn)
else:
editor_args['newname'] = nn
elif do_with_entries.get() == 'Keep':
editor_args['just_entries'] = entry_do_with
elif do_with_entries.get() == 'Skip':
editor_args['skip_entries'] = entry_do_with
if new_subc_name.get() != '':
editor_args['new_subcorpus_name'] = new_subc_name.get()
if newname_var.get() != '':
editor_args['new_subcorpus_name'] = newname_var.get()
if keep_stats_setting.get() == 1:
editor_args['keep_stats'] = True
if rem_abv_p_set.get() == 1:
editor_args['remove_above_p'] = True
if just_tot_setting.get() == 1:
editor_args['just_totals'] = True
if keeptopnum.get() != 'all':
try:
numtokeep = int(keeptopnum.get())
except ValueError:
timestring('Keep top n results value must be number.')
return
editor_args['keep_top'] = numtokeep
# do editing
r = the_data.edit(branch=df1branch.get(), **editor_args)
if transpose.get():
try:
r.results = r.results.T
except:
pass
try:
r.totals = r.totals.T
except:
pass
if isinstance(r, str):
if r == 'linregress':
return
if not r:
timestring('Editing caused an error.')
return
if len(list(r.results.columns)) == 0:
timestring('Editing removed all results.')
return
# drop over 1000?
# results should now always be dataframes, so this if is redundant
if isinstance(r.results, pd.DataFrame):
large = [n for i, n in enumerate(list(r.results.columns)) if i > 9999]
r.results.drop(large, axis=1, inplace=True)
timestring('Result editing completed successfully.')
# name the edit
the_name = namer(edit_nametext.get(), type_of_data = 'edited')
# add edit to master dict
all_interrogations[the_name] = r
# update edited results speadsheet name
name_of_n_ed_spread.set(list(all_interrogations.keys())[-1])
editoname.set('Edited results: %s' % str(name_of_n_ed_spread.get()))
# add current subcorpora to editor menu
for subcl in [subc_listbox]:
#subcl.configure(state=NORMAL)
subcl.delete(0, 'end')
for e in list(r.results.index):
if e != 'tkintertable-order':
subcl.insert(END, e)
#subcl.configure(state=DISABLED)
# update edited spreadsheets
most_recent = all_interrogations[list(all_interrogations.keys())[-1]]
if most_recent.results is not None:
update_spreadsheet(n_editor_results, most_recent.results, height=140)
update_spreadsheet(n_editor_totals, pd.DataFrame(most_recent.totals, dtype=object), height=10)
# finish up
refresh()
# reset some buttons that the user probably wants reset
opp.set('None')
data2_pick.set('Self')
# restore button
def df2_callback(*args):
try:
thisdata = all_interrogations[data2_pick.get()]
except KeyError:
return
if thisdata.results is not None:
df2box.config(state=NORMAL)
else:
df2box.config(state=NORMAL)
df2branch.set('totals')
df2box.config(state=DISABLED)
def df_callback(*args):
"""show names and spreadsheets for what is selected as result to edit
also, hide the edited results section"""
if selected_to_edit.get() != 'None':
edbut.config(state=NORMAL)
name_of_o_ed_spread.set(selected_to_edit.get())
thisdata = all_interrogations[selected_to_edit.get()]
resultname.set('Results to edit: %s' % str(name_of_o_ed_spread.get()))
if thisdata.results is not None:
update_spreadsheet(o_editor_results, thisdata.results, height=140)
df1box.config(state=NORMAL)
else:
df1box.config(state=NORMAL)
df1branch.set('totals')
df1box.config(state=DISABLED)
update_spreadsheet(o_editor_results, df_to_show=None, height=140)
if thisdata.totals is not None:
update_spreadsheet(o_editor_totals, thisdata.totals, height=10)
#df1box.config(state=NORMAL)
#else:
#update_spreadsheet(o_editor_totals, df_to_show=None, height=10)
#df1box.config(state=NORMAL)
#df1branch.set('results')
#df1box.config(state=DISABLED)
else:
edbut.config(state=DISABLED)
name_of_n_ed_spread.set('')
editoname.set('Edited results: %s' % str(name_of_n_ed_spread.get()))
update_spreadsheet(n_editor_results, df_to_show=None, height=140)
update_spreadsheet(n_editor_totals, df_to_show=None, height=10)
for subcl in [subc_listbox]:
subcl.configure(state=NORMAL)
subcl.delete(0, 'end')
if name_of_o_ed_spread.get() != '':
if thisdata.results is not None:
cols = list(thisdata.results.index)
else:
cols = list(thisdata.totals.index)
for e in cols:
if e != 'tkintertable-order':
subcl.insert(END, e)
do_sub.set('Off')
do_with_entries.set('Off')
# result to edit
tup = tuple([i for i in list(all_interrogations.keys())])
selected_to_edit = StringVar(root)
selected_to_edit.set('None')
x = Label(editor_buttons, text='To edit', font=("Helvetica", 13, "bold"))
x.grid(row=0, column=0, sticky=W)
dataframe1s = OptionMenu(editor_buttons, selected_to_edit, *tup)
dataframe1s.config(width=25)
dataframe1s.grid(row=1, column=0, columnspan=2, sticky=W)
selected_to_edit.trace("w", df_callback)
# DF1 branch selection
df1branch = StringVar()
df1branch.set('results')
df1box = OptionMenu(editor_buttons, df1branch, 'results', 'totals')
df1box.config(width=11, state=DISABLED)
df1box.grid(row=1, column=1, sticky=E)
def op_callback(*args):
if opp.get() != 'None':
dataframe2s.config(state=NORMAL)
df2box.config(state=NORMAL)
if opp.get() == 'keywords' or opp.get() == '%-diff':
df2branch.set('results')
elif opp.get() == 'None':
dataframe2s.config(state=DISABLED)
df2box.config(state=DISABLED)
# operation for editor
opp = StringVar(root)
opp.set('None')
operations = ('None', '%', u"\u00D7", u"\u00F7", '-', '+', 'combine', 'keywords', '%-diff', 'rel. dist.')
Label(editor_buttons, text='Operation and denominator', font=("Helvetica", 13, "bold")).grid(row=2, column=0, sticky=W, pady=(15,0))
ops = OptionMenu(editor_buttons, opp, *operations)
ops.grid(row=3, column=0, sticky=W)
opp.trace("w", op_callback)
# DF2 option for editor
tups = tuple(['Self'] + [i for i in list(all_interrogations.keys())])
data2_pick = StringVar(root)
data2_pick.set('Self')
#Label(tab2, text='Denominator:').grid(row=3, column=0, sticky=W)
dataframe2s = OptionMenu(editor_buttons, data2_pick, *tups)
dataframe2s.config(state=DISABLED, width=16)
dataframe2s.grid(row=3, column=0, columnspan=2, sticky='NW', padx=(110,0))
data2_pick.trace("w", df2_callback)
# DF2 branch selection
df2branch = StringVar(root)
df2branch.set('totals')
df2box = OptionMenu(editor_buttons, df2branch, 'results', 'totals')
df2box.config(state=DISABLED, width=11)
df2box.grid(row=3, column=1, sticky=E)
# sort by
Label(editor_buttons, text='Sort results by', font=("Helvetica", 13, "bold")).grid(row=4, column=0, sticky=W, pady=(15,0))
sort_val = StringVar(root)
sort_val.set('None')
poss = ['None', 'Total', 'Inverse total', 'Name','Increase',
'Decrease', 'Static', 'Turbulent', 'P value', 'Reverse']
sorts = OptionMenu(editor_buttons, sort_val, *poss)
sorts.config(width=11)
sorts.grid(row=4, column=1, sticky=E, pady=(15,0))
# spelling again
Label(editor_buttons, text='Spelling:').grid(row=5, column=0, sticky=W, pady=(15,0))
spl_editor = MyOptionMenu(editor_buttons, 'Off','UK','US')
spl_editor.grid(row=5, column=1, sticky=E, pady=(15,0))
spl_editor.configure(width=10)
# keep_top
Label(editor_buttons, text='Keep top results:').grid(row=6, column=0, sticky=W)
keeptopnum = StringVar()
keeptopnum.set('all')
keeptopbox = Entry(editor_buttons, textvariable=keeptopnum, width=5)
keeptopbox.grid(column=1, row=6, sticky=E)
all_text_widgets.append(keeptopbox)
# currently broken: just totals button
just_tot_setting = IntVar()
just_tot_but = Checkbutton(editor_buttons, text="Just totals", variable=just_tot_setting, state=DISABLED)
#just_tot_but.select()
just_tot_but.grid(column=0, row=7, sticky=W)
keep_stats_setting = IntVar()
keep_stat_but = Checkbutton(editor_buttons, text="Keep stats", variable=keep_stats_setting)
#keep_stat_but.select()
keep_stat_but.grid(column=1, row=7, sticky=E)
rem_abv_p_set = IntVar()
rem_abv_p_but = Checkbutton(editor_buttons, text="Remove above p", variable=rem_abv_p_set)
#rem_abv_p_but.select()
rem_abv_p_but.grid(column=0, row=8, sticky=W)
# transpose
transpose = IntVar()
trans_but = Checkbutton(editor_buttons, text="Transpose", variable=transpose, onvalue=True, offvalue=False)
trans_but.grid(column=1, row=8, sticky=E)
# entries + entry field for regex, off, skip, keep, merge
Label(editor_buttons, text='Edit entries', font=("Helvetica", 13, "bold")).grid(row=9, column=0, sticky=W, pady=(15, 0))
# edit entries regex box
entry_regex = StringVar()
entry_regex.set(r'.*ing$')
edit_box = Entry(editor_buttons, textvariable=entry_regex, width=23, state=DISABLED, font=("Courier New", 13))
edit_box.grid(row=10, column=1, sticky=E)
all_text_widgets.append(edit_box)
# merge entries newname
Label(editor_buttons, text='Merge name:').grid(row=11, column=0, sticky=W)
newname_var = StringVar()
newname_var.set('')
mergen = Entry(editor_buttons, textvariable=newname_var, width=23, state=DISABLED, font=("Courier New", 13))
mergen.grid(row=11, column=1, sticky=E)
all_text_widgets.append(mergen)
Label(editor_buttons, text='Replace in entry names:').grid(row=12, column=0, sticky=W)
Label(editor_buttons, text='Replace with:').grid(row=12, column=1, sticky=W)
toreplace_string = StringVar()
toreplace_string.set('')
replacewith_string = StringVar()
replacewith_string.set('')
toreplace = Entry(editor_buttons, textvariable=toreplace_string, font=("Courier New", 13))
toreplace.grid(row=13, column=0, sticky=W)
all_text_widgets.append(toreplace)
replacewith = Entry(editor_buttons, textvariable=replacewith_string, font=("Courier New", 13), width=23)
replacewith.grid(row=13, column=1, sticky=E)
all_text_widgets.append(replacewith)
def do_w_callback(*args):
"""if not merging entries, diable input fields"""
if do_with_entries.get() != 'Off':
edit_box.configure(state=NORMAL)
else:
edit_box.configure(state=DISABLED)
if do_with_entries.get() == 'Merge':
mergen.configure(state=NORMAL)
else:
mergen.configure(state=DISABLED)
# options for editing entries
do_with_entries = StringVar(root)
do_with_entries.set('Off')
edit_ent_op = ('Off', 'Skip', 'Keep', 'Merge')
ed_op = OptionMenu(editor_buttons, do_with_entries, *edit_ent_op)
ed_op.grid(row=10, column=0, sticky=W)
do_with_entries.trace("w", do_w_callback)
def onselect_subc(evt):
"""get selected subcorpora: this probably doesn't need to be
a callback, as they are only needed during do_edit"""
for i in subc_sel_vals:
subc_sel_vals.pop()
wx = evt.widget
indices = wx.curselection()
for index in indices:
value = wx.get(index)
if value not in subc_sel_vals:
subc_sel_vals.append(value)
def do_s_callback(*args):
"""hide subcorpora edit options if off"""
if do_sub.get() != 'Off':
pass
#subc_listbox.configure(state=NORMAL)
else:
pass
#subc_listbox.configure(state=DISABLED)
if do_sub.get() == 'Merge':
merge.configure(state=NORMAL)
else:
merge.configure(state=DISABLED)
# subcorpora + optionmenu off, skip, keep
Label(editor_buttons, text='Edit subcorpora', font=("Helvetica", 13, "bold")).grid(row=14, column=0, sticky=W, pady=(15,0))
edit_sub_f = Frame(editor_buttons)
edit_sub_f.grid(row=14, column=1, rowspan = 5, sticky=E, pady=(20,0))
edsub_scbr = Scrollbar(edit_sub_f)
edsub_scbr.pack(side=RIGHT, fill=Y)
subc_listbox = Listbox(edit_sub_f, selectmode = EXTENDED, height=5, relief=SUNKEN, bg='#F4F4F4',
yscrollcommand=edsub_scbr.set, exportselection=False)
subc_listbox.pack(fill=BOTH)
edsub_scbr.config(command=subc_listbox.yview)
xx = subc_listbox.bind('<>', onselect_subc)
subc_listbox.select_set(0)
# subcorpora edit options
do_sub = StringVar(root)
do_sub.set('Off')
do_with_subc = OptionMenu(editor_buttons, do_sub, *('Off', 'Skip', 'Keep', 'Merge', 'Span'))
do_with_subc.grid(row=15, column=0, sticky=W)
do_sub.trace("w", do_s_callback)
# subcorpora merge name
Label(editor_buttons, text='Merge name:').grid(row=16, column=0, sticky='NW')
new_subc_name = StringVar()
new_subc_name.set('')
merge = Entry(editor_buttons, textvariable=new_subc_name, state=DISABLED, font=("Courier New", 13))
merge.grid(row=17, column=0, sticky='SW', pady=(0, 10))
all_text_widgets.append(merge)
# name the edit
edit_nametext=StringVar()
edit_nametext.set('untitled')
Label(editor_buttons, text='Edit name', font=("Helvetica", 13, "bold")).grid(row=19, column=0, sticky=W)
msn = Entry(editor_buttons, textvariable=edit_nametext, width=18)
msn.grid(row=20, column=0, sticky=W)
all_text_widgets.append(msn)
# edit button
edbut = Button(editor_buttons, text='Edit')
edbut.config(command=lambda: runner(edbut, do_editing), state=DISABLED)
edbut.grid(row=20, column=1, sticky=E)
def editor_spreadsheet_showing_something(*args):
"""if there is anything in an editor window, allow spreadsheet edit button"""
if name_of_o_ed_spread.get():
upd_ed_but.config(state=NORMAL)
else:
upd_ed_but.config(state=DISABLED)
# show spreadsheets
e_wdth = int(note_width * 0.55)
editor_sheets = Frame(tab2)
editor_sheets.grid(column=1, row=0, sticky='NE')
resultname = StringVar()
name_of_o_ed_spread = StringVar()
name_of_o_ed_spread.set('')
name_of_o_ed_spread.trace("w", editor_spreadsheet_showing_something)
resultname.set('Results to edit: %s' % str(name_of_o_ed_spread.get()))
o_editor_results = Frame(editor_sheets, height=28, width=20)
o_editor_results.grid(column=1, row=1, rowspan=1, padx=(20, 0), sticky=N)
Label(editor_sheets, textvariable=resultname,
font=("Helvetica", 13, "bold")).grid(row=0,
column=1, sticky='NW', padx=(20,0))
#Label(editor_sheets, text='Totals to edit:',
#font=("Helvetica", 13, "bold")).grid(row=4,
#column=1, sticky=W, pady=0)
o_editor_totals = Frame(editor_sheets, height=1, width=20)
o_editor_totals.grid(column=1, row=1, rowspan=1, padx=(20,0), sticky=N, pady=(220,0))
update_spreadsheet(o_editor_results, df_to_show=None, height=160, width=e_wdth)
update_spreadsheet(o_editor_totals, df_to_show=None, height=10, width=e_wdth)
editoname = StringVar()
name_of_n_ed_spread = StringVar()
name_of_n_ed_spread.set('')
editoname.set('Edited results: %s' % str(name_of_n_ed_spread.get()))
Label(editor_sheets, textvariable=editoname,
font=("Helvetica", 13, "bold")).grid(row=1,
column=1, sticky='NW', padx=(20,0), pady=(290,0))
n_editor_results = Frame(editor_sheets, height=28, width=20)
n_editor_results.grid(column=1, row=1, rowspan=1, sticky=N, padx=(20,0), pady=(310,0))
#Label(editor_sheets, text='Edited totals:',
#font=("Helvetica", 13, "bold")).grid(row=15,
#column=1, sticky=W, padx=20, pady=0)
n_editor_totals = Frame(editor_sheets, height=1, width=20)
n_editor_totals.grid(column=1, row=1, rowspan=1, padx=(20,0), pady=(500,0))
update_spreadsheet(n_editor_results, df_to_show=None, height=160, width=e_wdth)
update_spreadsheet(n_editor_totals, df_to_show=None, height=10, width=e_wdth)
# add button to update
upd_ed_but = Button(editor_sheets, text='Update interrogation(s)', command=lambda: update_all_interrogations(pane='edit'))
if not small_screen:
upd_ed_but.grid(row=1, column=1, sticky=E, padx=(0, 40), pady=(594, 0))
else:
upd_ed_but.grid(row=0, column=1, sticky='NE', padx=(20,0))
upd_ed_but.config(state=DISABLED)
################# ################# ################# #################
# VISUALISE TAB # # VISUALISE TAB # # VISUALISE TAB # # VISUALISE TAB #
################# ################# ################# #################
plot_option_frame = Frame(tab3)
plot_option_frame.grid(row=0, column=0, sticky='NW')
def do_plotting():
"""when you press plot"""
plotbut.config(state=DISABLED)
# junk for showing the plot in tkinter
for i in oldplotframe:
i.destroy()
import matplotlib
matplotlib.use('TkAgg')
#from numpy import arange, sin, pi
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
# implement the default mpl key bindings
from matplotlib.backend_bases import key_press_handler
from matplotlib.figure import Figure
from corpkit.plotter import plotter
if data_to_plot.get() == 'None':
timestring('No data selected to plot.')
return
if plotbranch.get() == 'results':
if all_interrogations[data_to_plot.get()].results is None:
timestring('No results branch to plot.')
return
what_to_plot = all_interrogations[data_to_plot.get()].results
elif plotbranch.get() == 'totals':
if all_interrogations[data_to_plot.get()].totals is None:
timestring('No totals branch to plot.')
return
what_to_plot = all_interrogations[data_to_plot.get()].totals
if single_entry.get() != 'All':
what_to_plot = what_to_plot[single_entry.get()]
if single_sbcp.get() != 'All':
what_to_plot = what_to_plot.ix[single_sbcp.get()]
if transpose_vis.get():
if plotbranch.get() != 'totals':
what_to_plot = what_to_plot.T
# determine num to plot
def determine_num_to_plot(num):
"""translate num to num_to_plot"""
try:
num = int(num)
except:
if num.lower() == 'all':
num = 'all'
else:
num = 7
number_to_plot.set('7')
return num
num = determine_num_to_plot(number_to_plot.get())
the_kind = charttype.get()
if the_kind == 'Type of chart':
the_kind = 'line'
# plotter options
d = {'num_to_plot': num,
'kind': the_kind,
'indices': False}
if the_kind == 'heatmap':
d['robust'] = True
#the_style =
#if the_style == 'matplotlib':
#lgd = plt.legend(handles[: the_style = False
d['style'] = plot_style.get()
# explode option
if explbox.get() != '' and charttype.get() == 'pie':
if explbox.get().startswith('[') and explbox.get().endswith(']') and ',' in explbox.get():
explval = explbox.get().lstrip('[').rstrip(']').replace("'", '').replace('"', '').replace(' ', '').split(',')
else:
explval = explbox.get().strip()
explval = remake_special(explval, customs=custom_special_dict,
case_sensitive=case_sensitive.get())
d['explode'] = explval
# this code is ridiculous
d['tex'] = bool(texuse.get())
d['black_and_white'] = bool(bw.get())
d['reverse_legend'] = bool(rl.get())
d['subplots'] = bool(sbplt.get())
if bool(sbplt.get()):
d['layout'] = (int(lay1.get()), int(lay2.get()))
d['grid'] = bool(gridv.get())
d['stacked'] = bool(stackd.get())
d['partial_pie'] = bool(part_pie.get())
d['filled'] = bool(filledvar.get())
d['logx'] = bool(log_x.get())
d['logy'] = bool(log_y.get())
if x_axis_l.get() != '':
d['x_label'] = x_axis_l.get()
if x_axis_l.get() == 'None':
d['x_label'] = False
if y_axis_l.get() != '':
d['y_label'] = y_axis_l.get()
if y_axis_l.get() == 'None':
d['y_label'] = False
d['cumulative'] = bool(cumul.get())
d['colours'] = chart_cols.get()
legend_loc = legloc.get()
if legend_loc == 'none':
d['legend'] = False
else:
d['legend_pos'] = legend_loc
if showtot.get() == 'legend + plot':
d['show_totals'] = 'both'
else:
d['show_totals'] = showtot.get()
d['figsize'] = (int(figsiz1.get()), int(figsiz2.get()))
if len(what_to_plot.index) == 1:
what_to_plot = what_to_plot.ix[what_to_plot.index[0]]
if debug:
print('Plotter args:', what_to_plot, plotnametext.get(), d)
f = plotter(what_to_plot, plotnametext.get(), **d)
# latex error
#except RuntimeError as e:
# s = str(e)
# print(s)
# split_report = s.strip().split('Here is the full report generated by LaTeX:')
# try:
# if len(split_report) > 0 and split_report[1] != '':
# timestring('LaTeX error: %s' % split_report[1])
# except:
# timestring('LaTeX error: %s' % split_report)
# else:
# timestring('No TeX distribution found. Disabling TeX option.')
# texuse.set(0)
# tbut.config(state=DISABLED)
#
# return
timestring('%s plotted.' % plotnametext.get())
del oldplotframe[:]
def getScrollingCanvas(frame):
"""
Adds a new canvas with scroll bars to the argument frame
NB: uses grid layout
return: the newly created canvas
"""
frame.grid(column=1, row=0, rowspan = 1, padx=(15, 15), pady=(40, 0), columnspan=3, sticky='NW')
#frame.rowconfigure(0, weight=9)
#frame.columnconfigure(0, weight=9)
fig_frame_height = 440 if small_screen else 500
canvas = Canvas(frame, width=980, height=fig_frame_height)
xScrollbar = Scrollbar(frame, orient=HORIZONTAL)
yScrollbar = Scrollbar(frame)
xScrollbar.pack(side=BOTTOM,fill=X)
yScrollbar.pack(side=RIGHT,fill=Y)
canvas.config(xscrollcommand=xScrollbar.set)
xScrollbar.config(command=canvas.xview)
canvas.config(yscrollcommand=yScrollbar.set)
yScrollbar.config(command=canvas.yview)
canvas.pack(side=LEFT,expand=True,fill=BOTH)
return canvas
frame_for_fig = Frame(tab3)
#frame_for_fig
scrollC = getScrollingCanvas(frame_for_fig)
mplCanvas = FigureCanvasTkAgg(f.gcf(), frame_for_fig)
mplCanvas._tkcanvas.config(highlightthickness=0)
canvas = mplCanvas.get_tk_widget()
canvas.pack()
if frame_for_fig not in boxes:
boxes.append(frame_for_fig)
scrollC.create_window(0, 0, window=canvas)
scrollC.config(scrollregion=scrollC.bbox(ALL))
#hbar=Scrollbar(frame_for_fig,orient=HORIZONTAL)
#hbar.pack(side=BOTTOM,fill=X)
#hbar.config(command=canvas.get_tk_widget().xview)
#vbar=Scrollbar(frame_for_fig,orient=VERTICAL)
#vbar.pack(side=RIGHT,fill=Y)
#vbar.config(command=canvas.get_tk_widget().yview)
##canvas.config(width=300,height=300)
#canvas.config(xscrollcommand=hbar.set, yscrollcommand=vbar.set)
#canvas.pack(side=LEFT,expand=True,fill=BOTH)
try:
mplCanvas.show()
except RuntimeError as e:
s = str(e)
print(s)
split_report = s.strip().split('Here is the full report generated by LaTeX:')
if len(split_report) > 0 and split_report[1] != '':
timestring('LaTeX error: %s' % split_report[1])
else:
timestring('No TeX distribution found. Disabling TeX option.')
texuse.set(0)
tbut.config(state=DISABLED)
return
oldplotframe.append(mplCanvas.get_tk_widget())
del thefig[:]
toolbar_frame = Frame(tab3, borderwidth=0)
toolbar_frame.grid(row=0, column=1, columnspan=3, sticky='NW', padx=(400,0), pady=(600,0))
toolbar_frame.lift()
oldplotframe.append(toolbar_frame)
toolbar = NavigationToolbar2TkAgg(mplCanvas,toolbar_frame)
toolbar.update()
thefig.append(f.gcf())
savedplot.set('Saved image: ')
images = {'the_current_fig': -1}
def move(direction='forward'):
import os
try:
from PIL import Image
from PIL import ImageTk
except ImportError:
timestring("You need PIL/Pillow installed to do this.")
return
for i in oldplotframe:
i.destroy()
del oldplotframe[:]
# maybe sort by date added?
image_list = [i for i in all_images]
if len(image_list) == 0:
timestring('No images found in images folder.')
return
# figure out where we're up to
if images['the_current_fig'] != -1:
ind = image_list.index(images['the_current_fig'])
else:
ind = -1
if direction == 'forward':
newind = ind + 1
else:
newind = ind - 1
if newind < 1:
pbut.configure(state=DISABLED)
else:
pbut.configure(state=NORMAL)
if newind + 1 == len(image_list):
nbut.configure(state=DISABLED)
else:
nbut.configure(state=NORMAL)
imf = image_list[newind]
if not imf.endswith('.png'):
imf = imf + '.png'
image = Image.open(os.path.join(image_fullpath.get(), imf))
image_to_measure = ImageTk.PhotoImage(image)
old_height=image_to_measure.height()
old_width=image_to_measure.width()
def determine_new_dimensions(height, width):
maxh = 500
maxw = 1000
diff = float(height) / float(width)
if diff > 1:
# make height max
newh = maxh
# figure out level of magnification
prop = maxh / float(height)
neww = width * prop
elif diff < 1:
neww = maxw
prop = maxw / float(width)
newh = height * prop
elif diff == 1:
newh = maxh
neww = maxw
return (int(neww), int(newh))
# calculate new dimensions
newdimensions = determine_new_dimensions(old_height, old_width)
# determine left padding
padxright = 20
if newdimensions[0] != 1000:
padxleft = ((1000 - newdimensions[0]) / 2) + 40
else:
padxleft = 40
padytop = (500 - newdimensions[1]) / 2
def makezero(n):
if n < 0:
return 0
else:
return n
padxright = makezero(padxright)
padxleft = makezero(padxleft)
padytop = makezero(padytop)
image = image.resize(newdimensions)
image = ImageTk.PhotoImage(image)
frm = Frame(tab3, height=500, width=1000)
frm.grid(column=1, row=0, rowspan = 1, padx=(padxleft, padxright), \
pady=padytop, columnspan=3)
gallframe = Label(frm, image = image, justify=CENTER)
gallframe.pack(anchor='center', fill=BOTH)
oldplotframe.append(frm)
images[image_list[newind]] = image
images['the_current_fig'] = image_list[newind]
savedplot.set('Saved image: %s' % os.path.splitext(image_list[newind])[0])
timestring('Viewing %s' % os.path.splitext(image_list[newind])[0])
savedplot = StringVar()
savedplot.set('View saved images: ')
tmp = Label(tab3, textvariable=savedplot, font=("Helvetica", 13, "bold"))
padding = 555 if small_screen else 616
tmp.grid(row=0, column=1, padx=(40,0), pady=(padding-50,0), sticky=W)
pbut = Button(tab3, text='Previous', command=lambda: move(direction='back'))
pbut.grid(row=0, column=1, padx=(40,0), pady=(padding, 0), sticky=W)
pbut.config(state=DISABLED)
nbut = Button(tab3, text='Next', command=lambda: move(direction = 'forward'))
nbut.grid(row=0, column=1, padx=(160,0), pady=(padding, 0), sticky=W)
nbut.config(state=DISABLED)
# not in use while using the toolbar instead...
#def save_current_image():
# import os
# # figre out filename
# filename = namer(plotnametext.get(), type_of_data = 'image') + '.png'
# import sys
# defaultextension = '.png' if sys.platform == 'darwin' else ''
# kwarg = {'defaultextension': defaultextension,
# #'filetypes': [('all files', '.*'),
# #('png file', '.png')],
# 'initialfile': filename}
# imagedir = image_fullpath.get()
# if imagedir:
# kwarg['initialdir'] = imagedir
# fo = tkFileDialog.asksaveasfilename(**kwarg)
# if fo is None: # asksaveasfile return `None` if dialog closed with "cancel".
# return
# thefig[0].savefig(os.path.join(image_fullpath.get(), fo))
# timestring('%s saved to %s.' % (fo, image_fullpath.get()))
# title tab
Label(plot_option_frame, text='Image title:').grid(row=0, column=0, sticky='W', pady=(10, 0))
plotnametext=StringVar()
plotnametext.set('Untitled')
image_title_entry = Entry(plot_option_frame, textvariable=plotnametext)
image_title_entry.grid(row=0, column=1, pady=(10, 0))
all_text_widgets.append(image_title_entry)
def plot_callback(*args):
"""enable/disable based on selected dataset for plotting"""
if data_to_plot.get() == 'None':
plotbut.config(state=DISABLED)
else:
plotbut.config(state=NORMAL)
try:
thisdata = all_interrogations[data_to_plot.get()]
except KeyError:
return
single_entry.set('All')
single_sbcp.set('All')
subdrs = sorted(set([d for d in os.listdir(corpus_fullpath.get()) \
if os.path.isdir(os.path.join(corpus_fullpath.get(),d))]))
single_sbcp_optmenu.config(state=NORMAL)
single_sbcp_optmenu['menu'].delete(0, 'end')
single_sbcp_optmenu['menu'].add_command(label='All', command=_setit(single_sbcp, 'All'))
lst = []
if len(subdrs) > 0:
for c in subdrs:
lst.append(c)
single_sbcp_optmenu['menu'].add_command(label=c, command=_setit(single_sbcp, c))
single_entry_or_subcorpus['subcorpora'] = lst
else:
single_sbcp_optmenu.config(state=NORMAL)
single_sbcp_optmenu['menu'].delete(0, 'end')
single_sbcp_optmenu['menu'].add_command(label='All', command=_setit(single_sbcp, 'All'))
single_sbcp_optmenu.config(state=DISABLED)
if thisdata.results is not None:
plotbox.config(state=NORMAL)
single_ent_optmenu.config(state=NORMAL)
single_ent_optmenu['menu'].delete(0, 'end')
single_ent_optmenu['menu'].add_command(label='All', command=_setit(single_entry, 'All'))
lst = []
for corp in list(thisdata.results.columns)[:200]:
lst.append(corp)
single_ent_optmenu['menu'].add_command(label=corp, command=_setit(single_entry, corp))
single_entry_or_subcorpus['entries'] = lst
else:
single_ent_optmenu.config(state=NORMAL)
single_ent_optmenu['menu'].delete(0, 'end')
single_ent_optmenu['menu'].add_command(label='All', command=_setit(single_entry, 'All'))
single_ent_optmenu.config(state=DISABLED)
plotbox.config(state=NORMAL)
plotbranch.set('totals')
plotbox.config(state=DISABLED)
Label(plot_option_frame, text='Data to plot:').grid(row=1, column=0, sticky=W)
# select result to plot
data_to_plot = StringVar(root)
most_recent = all_interrogations[list(all_interrogations.keys())[-1]]
data_to_plot.set(most_recent)
every_interrogation = OptionMenu(plot_option_frame, data_to_plot, *tuple([i for i in list(all_interrogations.keys())]))
every_interrogation.config(width=20)
every_interrogation.grid(column=0, row=2, sticky=W, columnspan=2)
data_to_plot.trace("w", plot_callback)
Label(plot_option_frame, text='Entry:').grid(row=3, column=0, sticky=W)
single_entry = StringVar(root)
single_entry.set('All')
#most_recent = all_interrogations[all_interrogations.keys()[-1]]
#single_entry.set(most_recent)
single_ent_optmenu = OptionMenu(plot_option_frame, single_entry, *tuple(['']))
single_ent_optmenu.config(width=20, state=DISABLED)
single_ent_optmenu.grid(column=1, row=3, sticky=E)
def single_entry_plot_callback(*args):
"""turn off things if single entry selected"""
if single_entry.get() != 'All':
sbpl_but.config(state=NORMAL)
sbplt.set(0)
sbpl_but.config(state=DISABLED)
num_to_plot_box.config(state=NORMAL)
number_to_plot.set('1')
num_to_plot_box.config(state=DISABLED)
single_sbcp_optmenu.config(state=DISABLED)
entries = single_entry_or_subcorpus['entries']
if plotnametext.get() == 'Untitled' or plotnametext.get() in entries:
plotnametext.set(single_entry.get())
else:
plotnametext.set('Untitled')
sbpl_but.config(state=NORMAL)
number_to_plot.set('7')
num_to_plot_box.config(state=NORMAL)
single_sbcp_optmenu.config(state=NORMAL)
single_entry.trace("w", single_entry_plot_callback)
Label(plot_option_frame, text='Subcorpus:').grid(row=4, column=0, sticky=W)
single_sbcp = StringVar(root)
single_sbcp.set('All')
#most_recent = all_interrogations[all_interrogations.keys()[-1]]
#single_sbcp.set(most_recent)
single_sbcp_optmenu = OptionMenu(plot_option_frame, single_sbcp, *tuple(['']))
single_sbcp_optmenu.config(width=20, state=DISABLED)
single_sbcp_optmenu.grid(column=1, row=4, sticky=E)
def single_sbcp_plot_callback(*args):
"""turn off things if single entry selected"""
if single_sbcp.get() != 'All':
sbpl_but.config(state=NORMAL)
sbplt.set(0)
sbpl_but.config(state=DISABLED)
num_to_plot_box.config(state=NORMAL)
#number_to_plot.set('1')
#num_to_plot_box.config(state=DISABLED)
single_ent_optmenu.config(state=DISABLED)
charttype.set('bar')
entries = single_entry_or_subcorpus['subcorpora']
if plotnametext.get() == 'Untitled' or plotnametext.get() in entries:
plotnametext.set(single_sbcp.get())
else:
plotnametext.set('Untitled')
sbpl_but.config(state=NORMAL)
#number_to_plot.set('7')
num_to_plot_box.config(state=NORMAL)
single_ent_optmenu.config(state=NORMAL)
charttype.set('line')
single_sbcp.trace("w", single_sbcp_plot_callback)
# branch selection
plotbranch = StringVar(root)
plotbranch.set('results')
plotbox = OptionMenu(plot_option_frame, plotbranch, 'results', 'totals')
#plotbox.config(state=DISABLED)
plotbox.grid(row=2, column=0, sticky=E, columnspan=2)
def plotbranch_callback(*args):
if plotbranch.get() == 'totals':
single_sbcp_optmenu.config(state=DISABLED)
single_ent_optmenu.config(state=DISABLED)
sbpl_but.config(state=NORMAL)
sbplt.set(0)
sbpl_but.config(state=DISABLED)
trans_but_vis.config(state=NORMAL)
transpose_vis.set(0)
trans_but_vis.config(state=DISABLED)
else:
single_sbcp_optmenu.config(state=NORMAL)
single_ent_optmenu.config(state=NORMAL)
sbpl_but.config(state=NORMAL)
trans_but_vis.config(state=NORMAL)
plotbranch.trace('w', plotbranch_callback)
# num_to_plot
Label(plot_option_frame, text='Results to show:').grid(row=5, column=0, sticky=W)
number_to_plot = StringVar()
number_to_plot.set('7')
num_to_plot_box = Entry(plot_option_frame, textvariable=number_to_plot, width=3)
num_to_plot_box.grid(row=5, column=1, sticky=E)
all_text_widgets.append(num_to_plot_box)
def pie_callback(*args):
if charttype.get() == 'pie':
explbox.config(state=NORMAL)
ppie_but.config(state=NORMAL)
else:
explbox.config(state=DISABLED)
ppie_but.config(state=DISABLED)
if charttype.get().startswith('bar'):
#stackbut.config(state=NORMAL)
filledbut.config(state=NORMAL)
else:
#stackbut.config(state=DISABLED)
filledbut.config(state=DISABLED)
# can't do log y with area according to mpl
if charttype.get() == 'area':
logybut.deselect()
logybut.config(state=DISABLED)
filledbut.config(state=NORMAL)
else:
logybut.config(state=NORMAL)
filledbut.config(state=DISABLED)
# chart type
Label(plot_option_frame, text='Kind of chart').grid(row=6, column=0, sticky=W)
charttype = StringVar(root)
charttype.set('line')
kinds_of_chart = ('line', 'bar', 'barh', 'pie', 'area', 'heatmap')
chart_kind = OptionMenu(plot_option_frame, charttype, *kinds_of_chart)
chart_kind.config(width=10)
chart_kind.grid(row=6, column=1, sticky=E)
charttype.trace("w", pie_callback)
# axes
Label(plot_option_frame, text='x axis label:').grid(row=7, column=0, sticky=W)
x_axis_l = StringVar()
x_axis_l.set('')
tmp = Entry(plot_option_frame, textvariable=x_axis_l, font=("Courier New", 14), width=18)
tmp.grid(row=7, column=1, sticky=E)
all_text_widgets.append(tmp)
Label(plot_option_frame, text='y axis label:').grid(row=8, column=0, sticky=W)
y_axis_l = StringVar()
y_axis_l.set('')
tmp = Entry(plot_option_frame, textvariable=y_axis_l, font=("Courier New", 14), width=18)
tmp.grid(row=8, column=1, sticky=E)
all_text_widgets.append(tmp)
tmp = Label(plot_option_frame, text='Explode:')
if not small_screen:
tmp.grid(row=9, column=0, sticky=W)
explval = StringVar()
explval.set('')
explbox = Entry(plot_option_frame, textvariable=explval, font=("Courier New", 14), width=18)
if not small_screen:
explbox.grid(row=9, column=1, sticky=E)
all_text_widgets.append(explbox)
explbox.config(state=DISABLED)
# log options
log_x = IntVar()
Checkbutton(plot_option_frame, text="Log x axis", variable=log_x).grid(column=0, row=10, sticky=W)
log_y = IntVar()
logybut = Checkbutton(plot_option_frame, text="Log y axis", variable=log_y, width=13)
logybut.grid(column=1, row=10, sticky=E)
# transpose
transpose_vis = IntVar()
trans_but_vis = Checkbutton(plot_option_frame, text="Transpose", variable=transpose_vis, onvalue=True, offvalue=False, width=13)
trans_but_vis.grid(column=1, row=11, sticky=E)
cumul = IntVar()
cumulbutton = Checkbutton(plot_option_frame, text="Cumulative", variable=cumul, onvalue=True, offvalue=False)
cumulbutton.grid(column=0, row=11, sticky=W)
bw = IntVar()
Checkbutton(plot_option_frame, text="Black and white", variable=bw, onvalue=True, offvalue=False).grid(column=0, row=12, sticky=W)
texuse = IntVar()
tbut = Checkbutton(plot_option_frame, text="Use TeX", variable=texuse, onvalue=True, offvalue=False, width=13)
tbut.grid(column=1, row=12, sticky=E)
tbut.deselect()
if not py_script:
tbut.config(state=DISABLED)
rl = IntVar()
Checkbutton(plot_option_frame, text="Reverse legend", variable=rl, onvalue=True, offvalue=False).grid(column=0, row=13, sticky=W)
sbplt = IntVar()
sbpl_but = Checkbutton(plot_option_frame, text="Subplots", variable=sbplt, onvalue=True, offvalue=False, width=13)
sbpl_but.grid(column=1, row=13, sticky=E)
def sbplt_callback(*args):
"""if subplots are happening, allow layout"""
if sbplt.get():
lay1menu.config(state=NORMAL)
lay2menu.config(state=NORMAL)
else:
lay1menu.config(state=DISABLED)
lay2menu.config(state=DISABLED)
sbplt.trace("w", sbplt_callback)
gridv = IntVar()
gridbut = Checkbutton(plot_option_frame, text="Grid", variable=gridv, onvalue=True, offvalue=False)
gridbut.select()
gridbut.grid(column=0, row=14, sticky=W)
stackd = IntVar()
stackbut = Checkbutton(plot_option_frame, text="Stacked", variable=stackd, onvalue=True, offvalue=False, width=13)
stackbut.grid(column=1, row=14, sticky=E)
#stackbut.config(state=DISABLED)
part_pie = IntVar()
ppie_but = Checkbutton(plot_option_frame, text="Partial pie", variable=part_pie, onvalue=True, offvalue=False)
if not small_screen:
ppie_but.grid(column=0, row=15, sticky=W)
ppie_but.config(state=DISABLED)
filledvar = IntVar()
filledbut = Checkbutton(plot_option_frame, text="Filled", variable=filledvar, onvalue=True, offvalue=False, width=13)
if not small_screen:
filledbut.grid(column=1, row=15, sticky=E)
filledbut.config(state=DISABLED)
# chart type
Label(plot_option_frame, text='Colour scheme:').grid(row=16, column=0, sticky=W)
chart_cols = StringVar(root)
schemes = tuple(sorted(('Paired', 'Spectral', 'summer', 'Set1', 'Set2', 'Set3',
'Dark2', 'prism', 'RdPu', 'YlGnBu', 'RdYlBu', 'gist_stern', 'cool', 'coolwarm',
'gray', 'GnBu', 'gist_ncar', 'gist_rainbow', 'Wistia', 'CMRmap', 'bone',
'RdYlGn', 'spring', 'terrain', 'PuBu', 'spectral', 'rainbow', 'gist_yarg',
'BuGn', 'bwr', 'cubehelix', 'Greens', 'PRGn', 'gist_heat', 'hsv',
'Pastel2', 'Pastel1', 'jet', 'gist_earth', 'copper', 'OrRd', 'brg',
'gnuplot2', 'BuPu', 'Oranges', 'PiYG', 'YlGn', 'Accent', 'gist_gray', 'flag',
'BrBG', 'Reds', 'RdGy', 'PuRd', 'Blues', 'autumn', 'ocean', 'pink', 'binary',
'winter', 'gnuplot', 'hot', 'YlOrBr', 'seismic', 'Purples', 'RdBu', 'Greys',
'YlOrRd', 'PuOr', 'PuBuGn', 'nipy_spectral', 'afmhot',
'viridis', 'magma', 'plasma', 'inferno', 'diverge', 'default')))
ch_col = OptionMenu(plot_option_frame, chart_cols, *schemes)
ch_col.config(width=17)
ch_col.grid(row=16, column=1, sticky=E)
chart_cols.set('viridis')
# style
from matplotlib import style
try:
stys = tuple(stys.available)
except:
stys = tuple(('ggplot', 'fivethirtyeight', 'bmh', 'matplotlib', \
'mpl-white', 'classic', 'seaborn-talk'))
plot_style = StringVar(root)
plot_style.set('ggplot')
Label(plot_option_frame, text='Plot style:').grid(row=17, column=0, sticky=W)
pick_a_style = OptionMenu(plot_option_frame, plot_style, *stys)
pick_a_style.config(width=17)
pick_a_style.grid(row=17, column=1, sticky=E)
def ps_callback(*args):
if plot_style.get().startswith('seaborn'):
chart_cols.set('Default')
ch_col.config(state=DISABLED)
else:
ch_col.config(state=NORMAL)
plot_style.trace("w", ps_callback)
# legend pos
Label(plot_option_frame, text='Legend position:').grid(row=18, column=0, sticky=W)
legloc = StringVar(root)
legloc.set('best')
locs = tuple(('best', 'upper right', 'right', 'lower right', 'lower left', 'upper left', 'middle', 'none'))
loc_options = OptionMenu(plot_option_frame, legloc, *locs)
loc_options.config(width=17)
loc_options.grid(row=18, column=1, sticky=E)
# figure size
Label(plot_option_frame, text='Figure size:').grid(row=19, column=0, sticky=W)
figsiz1 = StringVar(root)
figsiz1.set('10')
figsizes = tuple(('2', '4', '6', '8', '10', '12', '14', '16', '18'))
fig1 = OptionMenu(plot_option_frame, figsiz1, *figsizes)
fig1.configure(width=6)
fig1.grid(row=19, column=1, sticky=W, padx=(27, 0))
Label(plot_option_frame, text="x").grid(row=19, column=1, padx=(30, 0))
figsiz2 = StringVar(root)
figsiz2.set('4')
fig2 = OptionMenu(plot_option_frame, figsiz2, *figsizes)
fig2.configure(width=6)
fig2.grid(row=19, column=1, sticky=E)
# subplots layout
Label(plot_option_frame, text='Subplot layout:').grid(row=20, column=0, sticky=W)
lay1 = StringVar(root)
lay1.set('3')
figsizes = tuple([str(i) for i in range(1, 20)])
lay1menu = OptionMenu(plot_option_frame, lay1, *figsizes)
lay1menu.configure(width=6)
lay1menu.grid(row=20, column=1, sticky=W, padx=(27, 0))
Label(plot_option_frame, text="x").grid(row=20, column=1, padx=(30, 0))
lay2 = StringVar(root)
lay2.set('3')
lay2menu = OptionMenu(plot_option_frame, lay2, *figsizes)
lay2menu.configure(width=6)
lay2menu.grid(row=20, column=1, sticky=E)
lay1menu.config(state=DISABLED)
lay2menu.config(state=DISABLED)
# show_totals option
Label(plot_option_frame, text='Show totals: ').grid(row=21, column=0, sticky=W)
showtot = StringVar(root)
showtot.set('Off')
showtot_options = tuple(('Off', 'legend', 'plot', 'legend + plot'))
show_tot_menu = OptionMenu(plot_option_frame, showtot, *showtot_options)
show_tot_menu.grid(row=21, column=1, sticky=E)
# plot button
plotbut = Button(plot_option_frame, text='Plot')
plotbut.grid(row=22, column=1, sticky=E)
plotbut.config(command=lambda: runner(plotbut, do_plotting), state=DISABLED)
################### ################### ################### ###################
# CONCORDANCE TAB # # CONCORDANCE TAB # # CONCORDANCE TAB # # CONCORDANCE TAB #
################### ################### ################### ###################
def add_conc_lines_to_window(data, loading=False, preserve_colour=True):
import pandas as pd
import re
#pd.set_option('display.height', 1000)
#pd.set_option('display.width', 1000)
pd.set_option('display.max_colwidth', 200)
import corpkit
from corpkit.interrogation import Concordance
if isinstance(data, Concordance):
current_conc[0] = data
elif isinstance(data, pd.core.frame.DataFrame):
data = Concordance(data)
current_conc[0] = data
else:
current_conc[0] = data.concordance
data = data.concordance
if win.get() == 'Window':
window = 70
else:
window = int(win.get())
fnames = show_filenames.get()
them = show_themes.get()
spk = show_speaker.get()
subc = show_subcorpora.get()
ix = show_index.get()
if not fnames:
data = data.drop('f', axis=1, errors='ignore')
if not them:
data = data.drop('t', axis=1, errors='ignore')
if not spk:
data = data.drop('s', axis=1, errors='ignore')
if not subc:
data = data.drop('c', axis=1, errors='ignore')
if not ix:
data = data.drop('i', axis=1, errors='ignore')
if them:
data = data.drop('t', axis=1, errors='ignore')
themelist = get_list_of_themes(data)
if any(t != '' for t in themelist):
data.insert(0, 't', themelist)
# only do left align when long result ...
# removed because it's no big deal if always left aligned, and this
# copes when people search for 'root' or something.
def resize_by_window_size(df, window):
import os
if 'f' in list(df.columns):
df['f'] = df['f'].apply(os.path.basename)
df['l'] = df['l'].str.slice(start=-window, stop=None)
df['l'] = df['l'].str.rjust(window)
df['r'] = df['r'].str.slice(start=0, stop=window)
df['r'] = df['r'].str.ljust(window)
df['m'] = df['m'].str.ljust(df['m'].str.len().max())
return df
moddata = resize_by_window_size(data, window)
lines = moddata.to_string(header=False, index=show_df_index.get()).splitlines()
#lines = [re.sub('\s*\.\.\.\s*$', '', s) for s in lines]
conclistbox.delete(0, END)
for line in lines:
conclistbox.insert(END, line)
if preserve_colour:
# itemcoldict has the NUMBER and COLOUR
index_regex = re.compile(r'^([0-9]+)')
# make dict for NUMBER:INDEX
index_dict = {}
lines = conclistbox.get(0, END)
for index, line in enumerate(lines):
index_dict[int(re.search(index_regex, conclistbox.get(index)).group(1))] = index
todel = []
for item, colour in list(itemcoldict.items()):
try:
conclistbox.itemconfig(index_dict[item], {'bg':colour})
except KeyError:
todel.append(item)
for i in todel:
del itemcoldict[i]
if loading:
timestring('Concordances loaded.')
else:
timestring('Concordancing done: %d results.' % len(lines))
def delete_conc_lines(*args):
if type(current_conc[0]) == str:
return
items = conclistbox.curselection()
#current_conc[0].results.drop(current_conc[0].results.iloc[1,].name)
r = current_conc[0].drop([current_conc[0].iloc[int(n),].name for n in items])
add_conc_lines_to_window(r)
if len(items) == 1:
timestring('%d line removed.' % len(items))
if len(items) > 1:
timestring('%d lines removed.' % len(items))
global conc_saved
conc_saved = False
def delete_reverse_conc_lines(*args):
if type(current_conc[0]) == str:
return
items = [int(i) for i in conclistbox.curselection()]
r = current_conc[0].iloc[items,]
add_conc_lines_to_window(r)
conclistbox.select_set(0, END)
if len(conclistbox.get(0, END)) - len(items) == 1:
timestring('%d line removed.' % ((len(conclistbox.get(0, END)) - len(items))))
if len(conclistbox.get(0, END)) - len(items) > 1:
timestring('%d lines removed.' % ((len(conclistbox.get(0, END)) - len(items))))
global conc_saved
conc_saved = False
def conc_export(data='default'):
"""export conc lines to csv"""
import os
import pandas
if type(current_conc[0]) == str:
timestring('Nothing to export.')
return
if in_a_project.get() == 0:
home = os.path.expanduser("~")
docpath = os.path.join(home, 'Documents')
else:
docpath = project_fullpath.get()
if data == 'default':
thedata = current_conc[0]
thedata = thedata.to_csv(header = False, sep = '\t')
else:
thedata = all_conc[data]
thedata = thedata.to_csv(header = False, sep = '\t')
if sys.platform == 'darwin':
the_kwargs = {'message': 'Choose a name and place for your exported data.'}
else:
the_kwargs = {}
savepath = filedialog.asksaveasfilename(title='Save file',
initialdir=exported_fullpath.get(),
defaultextension='.csv',
initialfile='data.csv',
**the_kwargs)
if savepath == '':
return
with open(savepath, "w") as fo:
fo.write(thedata)
timestring('Concordance lines exported.')
global conc_saved
conc_saved = False
def get_list_of_colours(df):
flipped_colour={v: k for k, v in list(colourdict.items())}
colours = []
for i in list(df.index):
# if the item has been coloured
if i in list(itemcoldict.keys()):
itscolour=itemcoldict[i]
colournumber = flipped_colour[itscolour]
# append the number of the colour code, with some corrections
if colournumber == 0:
colournumber = 10
if colournumber == 9:
colournumber = 99
colours.append(colournumber)
else:
colours.append(10)
return colours
def get_list_of_themes(df):
flipped_colour={v: k for k, v in list(colourdict.items())}
themes = []
for i in list(df.index):
# if the item has been coloured
if i in list(itemcoldict.keys()):
itscolour=itemcoldict[i]
colournumber = flipped_colour[itscolour]
theme = entryboxes[list(entryboxes.keys())[colournumber]].get()
# append the number of the colour code, with some corrections
if theme is not False and theme != '':
themes.append(theme)
else:
themes.append('')
else:
themes.append('')
if all(i == '' for i in themes):
timestring('Warning: no scheme defined.')
return themes
def conc_sort(*args):
"""various sorting for conc, by updating dataframe"""
import re
import pandas
import itertools
sort_way = True
if isinstance(current_conc[0], str):
return
if prev_sortval[0] == sortval.get():
# if subcorpus is the same, etc, as well
sort_way = toggle()
df = current_conc[0]
prev_sortval[0] = sortval.get()
# sorting by first column is easy, so we don't need pandas
if sortval.get() == 'M1':
low = [l.lower() for l in df['m']]
df['tosorton'] = low
elif sortval.get() == 'File':
low = [l.lower() for l in df['f']]
df['tosorton'] = low
elif sortval.get() == 'Colour':
colist = get_list_of_colours(df)
df['tosorton'] = colist
elif sortval.get() == 'Scheme':
themelist = get_list_of_themes(df)
#df.insert(1, 't', themelist)
df.insert(1, 'tosorton', themelist)
elif sortval.get() == 'Index' or sortval.get() == 'Sort':
df = df.sort(ascending=sort_way)
elif sortval.get() == 'Subcorpus':
sbs = [l.lower() for l in df['c']]
df['tosorton'] = sbs
elif sortval.get() == 'Random':
import pandas
import numpy as np
df = df.reindex(np.random.permutation(df.index))
elif sortval.get() == 'Speaker':
try:
low = [l.lower() for l in df['s']]
except:
timestring('No speaker information to sort by.')
return
df['tosorton'] = low
# if sorting by other columns, however, it gets tough.
else:
td = {}
#if 'note' in kwargs.keys():
# td['note'] = kwargs['note']
# add_nltk_data_to_nltk_path(**td)
# tokenise the right part of each line
# get l or r column
col = sortval.get()[0].lower()
tokenised = [s.split() for s in list(df[col].values)]
if col == 'm':
repeats = 2
else:
repeats = 6
for line in tokenised:
for i in range(6 - len(line)):
if col == 'l':
line.insert(0, '')
if col == 'r':
line.append('')
# get 1-5 and convert it
num = int(sortval.get().lstrip('LMR'))
if col == 'l':
num = -num
if col == 'r':
num = num - 1
just_sortword = []
for l in tokenised:
if col != 'm':
just_sortword.append(l[num].lower())
else:
# horrible
if len(l) == 1:
just_sortword.append(l[0].lower())
elif len(l) > 1:
if num == 2:
just_sortword.append(l[1].lower())
elif num == -2:
just_sortword.append(l[-2].lower())
elif num == -1:
just_sortword.append(l[-1].lower())
# append list to df
df['tosorton'] = just_sortword
if sortval.get() not in ['Index', 'Random', 'Sort']:
df = df.sort(['tosorton'], ascending=sort_way)
df = df.drop(['tosorton'], axis=1, errors='ignore')
if show_filenames.get() == 0:
add_conc_lines_to_window(df.drop('f', axis=1, errors='ignore'))
else:
add_conc_lines_to_window(df)
timestring('%d concordance lines sorted.' % len(conclistbox.get(0, END)))
global conc_saved
conc_saved = False
def do_inflection(pos='v'):
global tb
from corpkit.dictionaries.process_types import get_both_spellings, add_verb_inflections
# get every word
all_words = [w.strip().lower() for w in tb.get(1.0, END).split()]
# try to get just selection
cursel = False
try:
lst = [w.strip().lower() for w in tb.get(SEL_FIRST, SEL_LAST).split()]
cursel = True
except:
lst = [w.strip().lower() for w in tb.get(1.0, END).split()]
lst = get_both_spellings(lst)
if pos == 'v':
expanded = add_verb_inflections(lst)
if pos == 'n':
from corpkit.inflect import pluralize
expanded = []
for w in lst:
expanded.append(w)
pl = pluralize(w)
if pl != w:
expanded.append(pl)
if pos == 'a':
from corpkit.inflect import grade
expanded = []
for w in lst:
expanded.append(w)
comp = grade(w, suffix = "er")
if comp != w:
expanded.append(comp)
supe = grade(w, suffix = "est")
if supe != w:
expanded.append(supe)
if cursel:
expanded = expanded + all_words
lst = sorted(set(expanded))
# delete widget text, reinsrt all
tb.delete(1.0, END)
for w in lst:
tb.insert(END, w + '\n')
def make_dict_from_existing_wordlists():
from collections import namedtuple
def convert(dictionary):
return namedtuple('outputnames', list(dictionary.keys()))(**dictionary)
all_preset_types = {}
from corpkit.dictionaries.process_types import processes
from corpkit.dictionaries.roles import roles
from corpkit.dictionaries.wordlists import wordlists
from corpkit.other import as_regex
customs = convert(custom_special_dict)
special_qs = [processes, roles, wordlists]
for kind in special_qs:
try:
types = [k for k in list(kind.__dict__.keys())]
except AttributeError:
types = [k for k in list(kind._asdict().keys())]
for t in types:
if kind == roles:
all_preset_types[t.upper() + '_ROLE'] = kind._asdict()[t]
else:
try:
all_preset_types[t.upper()] = kind.__dict__[t]
except AttributeError:
all_preset_types[t.upper()] = kind._asdict()[t]
return all_preset_types
predict = make_dict_from_existing_wordlists()
for k, v in list(predict.items()):
custom_special_dict[k.upper()] = v
def store_wordlist():
global tb
lst = [w.strip().lower() for w in tb.get(1.0, END).split()]
global schemename
if schemename.get() == '':
timestring('Wordlist needs a name.')
return
specname = ''.join([i for i in schemename.get().upper() if i.isalnum() or i == '_'])
if specname in list(predict.keys()):
timestring('Name "%s" already taken, sorry.' % specname)
return
else:
if specname in list(custom_special_dict.keys()):
should_continue = messagebox.askyesno("Overwrite list",
"Overwrite existing list named '%s'?" % specname)
if not should_continue:
return
custom_special_dict[specname] = lst
global cust_spec
cust_spec.delete(0, END)
for k, v in sorted(custom_special_dict.items()):
cust_spec.insert(END, k)
color_saved(cust_spec, colour1 = '#ccebc5', colour2 = '#fbb4ae', lists = True)
timestring('LIST:%s stored to custom wordlists.' % specname)
parser_opts = StringVar()
speakseg = IntVar()
parse_with_metadata = IntVar()
tokenise_pos = IntVar()
tokenise_lem = IntVar()
clicked_done = IntVar()
clicked_done.set(0)
def parser_options(kind):
"""
A popup with corenlp options, to display before parsing.
this is a good candidate for 'preferences'
"""
from tkinter import Toplevel
global poptions
poptions = Toplevel()
poptions.title('Parser options')
from collections import OrderedDict
popt = OrderedDict()
if kind == 'parse':
tups = [('Tokenise', 'tokenize'),
('Clean XML', 'cleanxml'),
('Sentence splitting', 'ssplit'),
('POS tagging', 'pos'),
('Lemmatisation', 'lemma'),
('Named entity recognition', 'ner'),
('Parse', 'parse'),
('Referent tracking', 'dcoref')]
for k, v in tups:
popt[k] = v
butvar = {}
butbut = {}
orders = {'tokenize': 0,
'cleanxml': 1,
'ssplit': 2,
'pos': 3,
'lemma': 4,
'ner': 5,
'parse': 6,
'dcoref': 7}
for index, (k, v) in enumerate(popt.items()):
tmp = StringVar()
but = Checkbutton(poptions, text=k, variable=tmp, onvalue=v, offvalue=False)
but.grid(sticky=W)
if k != 'Clean XML':
but.select()
else:
but.deselect()
butbut[index] = but
butvar[index] = tmp
if kind == 'tokenise':
Checkbutton(poptions, text='POS tag', variable=tokenise_pos, onvalue=True, offvalue=False).grid(sticky=W)
Checkbutton(poptions, text='Lemmatise', variable=tokenise_lem, onvalue=True, offvalue=False).grid(sticky=W)
Checkbutton(poptions, text='Speaker segmentation', variable=speakseg, onvalue=True, offvalue=False).grid(sticky=W)
Checkbutton(poptions, text='XML metadata', variable=parse_with_metadata, onvalue=True, offvalue=False).grid(sticky=W)
def optionspicked(*args):
vals = [i.get() for i in list(butvar.values()) if i.get() is not False and i.get() != 0 and i.get() != '0']
vals = sorted(vals, key=lambda x:orders[x])
the_opts = ','.join(vals)
clicked_done.set(1)
poptions.destroy()
parser_opts.set(the_opts)
def qut():
poptions.destroy()
stopbut = Button(poptions, text='Cancel', command=qut)
stopbut.grid(row=15, sticky='w', padx=5)
stopbut = Button(poptions, text='Done', command=optionspicked)
stopbut.grid(row=15, sticky='e', padx=5)
############## ############## ############## ############## ##############
# WORDLISTS # # WORDLISTS # # WORDLISTS # # WORDLISTS # # WORDLISTS #
############## ############## ############## ############## ##############
def custom_lists():
"""a popup for defining custom wordlists"""
from tkinter import Toplevel
popup = Toplevel()
popup.title('Custom wordlists')
popup.wm_attributes('-topmost', 1)
Label(popup, text='Create wordlist', font=("Helvetica", 13, "bold")).grid(column=0, row=0)
global schemename
schemename = StringVar()
schemename.set('')
scheme_name_field = Entry(popup, textvariable=schemename, justify=CENTER, width=21, font=("Courier New", 13))
#scheme_name_field.bind('', select_all_text)
scheme_name_field.grid(column=0, row=5, sticky=W, padx=(7, 0))
global tb
custom_words = Frame(popup, width=9, height=40)
custom_words.grid(row=1, column=0, padx=5)
cwscrbar = Scrollbar(custom_words)
cwscrbar.pack(side=RIGHT, fill=Y)
tb = Text(custom_words, yscrollcommand=cwscrbar.set, relief=SUNKEN,
bg='#F4F4F4', width=20, height=26, font=("Courier New", 13))
cwscrbar.config(command=tb.yview)
bind_textfuncts_to_widgets([tb, scheme_name_field])
tb.pack(side=LEFT, fill=BOTH)
tmp = Button(popup, text='Get verb inflections', command=lambda: do_inflection(pos = 'v'), width=17)
tmp.grid(row=2, column=0, sticky=W, padx=(7, 0))
tmp = Button(popup, text='Get noun inflections', command=lambda: do_inflection(pos = 'n'), width=17)
tmp.grid(row=3, column=0, sticky=W, padx=(7, 0))
tmp = Button(popup, text='Get adjective forms', command=lambda: do_inflection(pos = 'a'), width=17)
tmp.grid(row=4, column=0, sticky=W, padx=(7, 0))
#Button(text='Inflect as noun', command=lambda: do_inflection(pos = 'n')).grid()
savebut = Button(popup, text='Store', command=store_wordlist, width=17)
savebut.grid(row=6, column=0, sticky=W, padx=(7, 0))
Label(popup, text='Previous wordlists', font=("Helvetica", 13, "bold")).grid(column=1, row=0, padx=15)
other_custom_queries = Frame(popup, width=9, height=30)
other_custom_queries.grid(row=1, column=1, padx=15)
pwlscrbar = Scrollbar(other_custom_queries)
pwlscrbar.pack(side=RIGHT, fill=Y)
global cust_spec
cust_spec = Listbox(other_custom_queries, selectmode = EXTENDED, height=24, relief=SUNKEN, bg='#F4F4F4',
yscrollcommand=pwlscrbar.set, exportselection=False, width=20,
font=("Courier New", 13))
pwlscrbar.config(command=cust_spec.yview)
cust_spec.pack()
cust_spec.delete(0, END)
def colour_the_custom_queries(*args):
color_saved(cust_spec, colour1 = '#ccebc5', colour2 = '#fbb4ae', lists = True)
cust_spec.bind('<>', colour_the_custom_queries)
for k, v in sorted(custom_special_dict.items()):
cust_spec.insert(END, k)
colour_the_custom_queries()
def remove_this_custom_query():
global cust_spec
indexes = cust_spec.curselection()
for index in indexes:
name = cust_spec.get(index)
del custom_special_dict[name]
cust_spec.delete(0, END)
for k, v in sorted(custom_special_dict.items()):
cust_spec.insert(END, k)
color_saved(cust_spec, colour1 = '#ccebc5', colour2 = '#fbb4ae', lists = True)
if len(indexes) == 1:
timestring('%s forgotten.' % name)
else:
timestring('%d lists forgotten.' % len(indexes))
def delete_this_custom_query():
global cust_spec
indexes = cust_spec.curselection()
for index in indexes:
name = cust_spec.get(index)
if name in list(predict.keys()):
timestring("%s can't be permanently deleted." % name)
return
del custom_special_dict[name]
try:
del saved_special_dict[name]
except:
pass
dump_custom_list_json()
cust_spec.delete(0, END)
for k, v in sorted(custom_special_dict.items()):
cust_spec.insert(END, k)
color_saved(cust_spec, colour1 = '#ccebc5', colour2 = '#fbb4ae', lists = True)
if len(indexes) == 1:
timestring('%s permanently deleted.' % name)
else:
timestring('%d lists permanently deleted.' % len(indexes))
def show_this_custom_query(*args):
global cust_spec
index = cust_spec.curselection()
if len(index) > 1:
timestring("Can only show one list at a time.")
return
name = cust_spec.get(index)
tb.delete(1.0, END)
for i in custom_special_dict[name]:
tb.insert(END, i + '\n')
schemename.set(name)
cust_spec.bind('', show_this_custom_query)
def merge_this_custom_query(*args):
global cust_spec
indexes = cust_spec.curselection()
names = [cust_spec.get(i) for i in indexes]
tb.delete(1.0, END)
for name in names:
for i in custom_special_dict[name]:
tb.insert(END, i + '\n')
schemename.set('Merged')
def add_custom_query_to_json():
global cust_spec
indexes = cust_spec.curselection()
for index in indexes:
name = cust_spec.get(index)
saved_special_dict[name] = custom_special_dict[name]
dump_custom_list_json()
color_saved(cust_spec, colour1 = '#ccebc5', colour2 = '#fbb4ae', lists = True)
if len(indexes) == 1:
timestring('%s saved to file.' % name)
else:
timestring('%d lists saved to file.' % len(indexes))
Button(popup, text='View/edit', command=show_this_custom_query, width=17).grid(column=1, row=2, sticky=E, padx=(0, 7))
Button(popup, text='Merge', command=merge_this_custom_query, width=17).grid(column=1, row=3, sticky=E, padx=(0, 7))
svb = Button(popup, text='Save', command=add_custom_query_to_json, width=17)
svb.grid(column=1, row=4, sticky=E, padx=(0, 7))
if in_a_project.get() == 0:
svb.config(state=DISABLED)
else:
svb.config(state=NORMAL)
Button(popup, text='Remove', command=remove_this_custom_query, width=17).grid(column=1, row=5, sticky=E, padx=(0, 7))
Button(popup, text='Delete', command=delete_this_custom_query, width=17).grid(column=1, row=6, sticky=E, padx=(0, 7))
def have_unsaved_list():
"""finds out if there is an unsaved list"""
global tb
lst = [w.strip().lower() for w in tb.get(1.0, END).split()]
if any(lst == l for l in list(custom_special_dict.values())):
return False
else:
return True
def quit_listing(*args):
if have_unsaved_list():
should_continue = messagebox.askyesno("Unsaved data",
"Unsaved list will be forgotten. Continue?")
if not should_continue:
return
popup.destroy()
stopbut = Button(popup, text='Done', command=quit_listing)
stopbut.grid(column=0, columnspan=2, row=7, pady=7)
############## ############## ############## ############## ##############
# COLSCHEMES # # COLSCHEMES # # COLSCHEMES # # COLSCHEMES # # COLSCHEMES #
############## ############## ############## ############## ##############
# a place for the toplevel entry info
entryboxes = OrderedDict()
# fill it with null data
for i in range(10):
tmp = StringVar()
tmp.set('')
entryboxes[i] = tmp
def codingschemer():
try:
global toplevel
toplevel.destroy()
except:
pass
from tkinter import Toplevel
toplevel = Toplevel()
toplevel.geometry('+1089+85')
toplevel.title("Coding scheme")
toplevel.wm_attributes('-topmost', 1)
Label(toplevel, text='').grid(row=0, column=0, pady=2)
def quit_coding(*args):
toplevel.destroy()
#Label(toplevel, text=('When concordancing, you can colour code lines using 0-9 keys. '\
# 'If you name the colours here, you can export or save the concordance lines with '\
# 'names attached.'), font=('Helvetica', 13, 'italic'), wraplength = 250, justify=LEFT).grid(row=0, column=0, columnspan=2)
stopbut = Button(toplevel, text='Done', command=quit_coding)
stopbut.grid(row=12, column=0, columnspan=2, pady=15)
for index, colour_index in enumerate(colourdict.keys()):
Label(toplevel, text='Key: %d' % colour_index).grid(row=index + 1, column=0)
fore = 'black'
if colour_index == 9:
fore = 'white'
tmp = Entry(toplevel, textvariable=entryboxes[index], bg=colourdict[colour_index], fg = fore)
all_text_widgets.append(tmp)
if index == 0:
tmp.focus_set()
tmp.grid(row=index + 1, column=1, padx=10)
toplevel.bind("", quit_coding)
toplevel.bind("", focus_next_window)
# conc box needs to be defined up here
fsize = IntVar()
fsize.set(12)
conc_height = 510 if small_screen else 565
cfrm = Frame(tab4, height=conc_height, width=note_width - 10)
cfrm.grid(column=0, row=0, sticky='nw')
cscrollbar = Scrollbar(cfrm)
cscrollbarx = Scrollbar(cfrm, orient=HORIZONTAL)
cscrollbar.pack(side=RIGHT, fill=Y)
cscrollbarx.pack(side=BOTTOM, fill=X)
conclistbox = Listbox(cfrm, yscrollcommand=cscrollbar.set, relief=SUNKEN, bg='#F4F4F4',
xscrollcommand=cscrollbarx.set, height=conc_height,
width=note_width - 10, font=('Courier New', fsize.get()),
selectmode = EXTENDED)
conclistbox.pack(fill=BOTH)
cscrollbar.config(command=conclistbox.yview)
cscrollbarx.config(command=conclistbox.xview)
cfrm.pack_propagate(False)
def dec_concfont(*args):
size = fsize.get()
fsize.set(size - 1)
conclistbox.configure(font=('Courier New', fsize.get()))
def inc_concfont(*args):
size = fsize.get()
fsize.set(size + 1)
conclistbox.configure(font=('Courier New', fsize.get()))
def select_all_conclines(*args):
conclistbox.select_set(0, END)
def color_conc(colour=0, *args):
import re
"""color a conc line"""
index_regex = re.compile(r'^([0-9]+)')
col = colourdict[colour]
if type(current_conc[0]) == str:
return
items = conclistbox.curselection()
for index in items:
conclistbox.itemconfig(index, {'bg':col})
ind = int(re.search(index_regex, conclistbox.get(index)).group(1))
itemcoldict[ind] = col
conclistbox.selection_clear(0, END)
conclistbox.bind("", delete_conc_lines)
conclistbox.bind("", delete_reverse_conc_lines)
conclistbox.bind("", conc_sort)
conclistbox.bind("<%s-minus>" % key, dec_concfont)
conclistbox.bind("<%s-equal>" % key, inc_concfont)
conclistbox.bind("<%s-a>" % key, select_all_conclines)
conclistbox.bind("<%s-s>" % key, lambda x: concsave())
conclistbox.bind("<%s-e>" % key, lambda x: conc_export())
conclistbox.bind("<%s-t>" % key, lambda x: toggle_filenames())
conclistbox.bind("<%s-A>" % key, select_all_conclines)
conclistbox.bind("<%s-S>" % key, lambda x: concsave())
conclistbox.bind("<%s-E>" % key, lambda x: conc_export())
conclistbox.bind("<%s-T>" % key, lambda x: toggle_filenames())
conclistbox.bind("0", lambda x: color_conc(colour=0))
conclistbox.bind("1", lambda x: color_conc(colour=1))
conclistbox.bind("2", lambda x: color_conc(colour=2))
conclistbox.bind("3", lambda x: color_conc(colour=3))
conclistbox.bind("4", lambda x: color_conc(colour=4))
conclistbox.bind("5", lambda x: color_conc(colour=5))
conclistbox.bind("6", lambda x: color_conc(colour=6))
conclistbox.bind("7", lambda x: color_conc(colour=7))
conclistbox.bind("8", lambda x: color_conc(colour=8))
conclistbox.bind("9", lambda x: color_conc(colour=9))
conclistbox.bind("0", lambda x: color_conc(colour=0))
# these were 'generate' and 'edit', but they look ugly right now. the spaces are nice though.
#lab = StringVar()
#lab.set('Concordancing: %s' % os.path.basename(corpus_fullpath.get()))
#Label(tab4, textvariable=lab, font=("Helvetica", 13, "bold")).grid(row=1, column=0, padx=20, pady=10, columnspan=5, sticky=W)
#Label(tab4, text=' ', font=("Helvetica", 13, "bold")).grid(row=1, column=9, columnspan=2)
conc_right_button_frame = Frame(tab4)
conc_right_button_frame.grid(row=1, column=0, padx=(10,0), sticky='N', pady=(5, 0))
# edit conc lines
conc_left_buts = Frame(conc_right_button_frame)
conc_left_buts.grid(row=1, column=0, columnspan=6, sticky='W')
Button(conc_left_buts, text='Delete selected', command=lambda: delete_conc_lines(), ).grid(row=0, column=0, sticky=W)
Button(conc_left_buts, text='Just selected', command=lambda: delete_reverse_conc_lines(), ).grid(row=0, column=1)
#Button(conc_left_buts, text='Sort', command=lambda: conc_sort()).grid(row=0, column=4)
def toggle_filenames(*args):
if isinstance(current_conc[0], str):
return
data = current_conc[0]
add_conc_lines_to_window(data)
def make_df_matching_screen():
import re
if type(current_conc[0]) == str:
return
df = current_conc[0]
if show_filenames.get() == 0:
df = df.drop('f', axis=1, errors = 'ignore')
if show_themes.get() == 0:
df = df.drop('t', axis=1, errors = 'ignore')
ix_to_keep = []
lines = conclistbox.get(0, END)
reg = re.compile(r'^\s*([0-9]+)')
for l in lines:
s = re.search(reg, l)
ix_to_keep.append(int(s.group(1)))
df = df.ix[ix_to_keep]
df = df.reindex(ix_to_keep)
return df
def concsave():
name = simpledialog.askstring('Concordance name', 'Choose a name for your concordance lines:')
if not name or name == '':
return
df = make_df_matching_screen()
all_conc[name] = df
global conc_saved
conc_saved = True
refresh()
def merge_conclines():
toget = prev_conc_listbox.curselection()
should_continue = True
global conc_saved
if not conc_saved:
if type(current_conc[0]) != str and len(toget) > 1:
should_continue = messagebox.askyesno("Unsaved data",
"Unsaved concordance lines will be forgotten. Continue?")
else:
should_continue = True
if not should_continue:
return
import pandas
dfs = []
if toget != ():
if len(toget) < 2:
for item in toget:
nm = prev_conc_listbox.get(item)
dfs.append(all_conc[nm])
dfs.append(current_conc[0])
#timestring('Need multiple concordances to merge.' % name)
#return
for item in toget:
nm = prev_conc_listbox.get(item)
dfs.append(all_conc[nm])
else:
timestring('Nothing selected to merge.' % name)
return
df = pandas.concat(dfs, ignore_index = True)
should_drop = messagebox.askyesno("Remove duplicates",
"Remove duplicate concordance lines?")
if should_drop:
df = df.drop_duplicates(subset = ['l', 'm', 'r'])
add_conc_lines_to_window(df)
def load_saved_conc():
should_continue = True
global conc_saved
if not conc_saved:
if type(current_conc[0]) != str:
should_continue = messagebox.askyesno("Unsaved data",
"Unsaved concordance lines will be forgotten. Continue?")
else:
should_continue = True
if should_continue:
toget = prev_conc_listbox.curselection()
if len(toget) > 1:
timestring('Only one selection allowed for load.' % name)
return
if toget != ():
nm = prev_conc_listbox.get(toget[0])
df = all_conc[nm]
add_conc_lines_to_window(df, loading=True, preserve_colour=False)
else:
return
fourbuts = Frame(conc_right_button_frame)
fourbuts.grid(row=1, column=6, columnspan=1, sticky='E')
Button(fourbuts, text='Store as', command=concsave).grid(row=0, column=0)
Button(fourbuts, text='Remove', command= lambda: remove_one_or_more(window='conc', kind='concordance')).grid(row=0, column=1)
Button(fourbuts, text='Merge', command=merge_conclines).grid(row=0, column=2)
Button(fourbuts, text='Load', command=load_saved_conc).grid(row=0, column=3)
showbuts = Frame(conc_right_button_frame)
showbuts.grid(row=0, column=0, columnspan=6, sticky='w')
show_filenames = IntVar()
fnbut = Checkbutton(showbuts, text='Filenames', variable=show_filenames, command=toggle_filenames)
fnbut.grid(row=0, column=4)
#fnbut.select()
show_filenames.trace('w', toggle_filenames)
show_subcorpora = IntVar()
sbcrp = Checkbutton(showbuts, text='Subcorpora', variable=show_subcorpora, command=toggle_filenames)
sbcrp.grid(row=0, column=3)
sbcrp.select()
show_subcorpora.trace('w', toggle_filenames)
show_themes = IntVar()
themebut = Checkbutton(showbuts, text='Scheme', variable=show_themes, command=toggle_filenames)
themebut.grid(row=0, column=1)
#themebut.select()
show_themes.trace('w', toggle_filenames)
show_speaker = IntVar()
showspkbut = Checkbutton(showbuts, text='Speakers', variable=show_speaker, command=toggle_filenames)
showspkbut.grid(row=0, column=5)
#showspkbut.select()
show_speaker.trace('w', toggle_filenames)
show_index = IntVar()
show_s_w_ix = Checkbutton(showbuts, text='Index', variable=show_index, command=toggle_filenames)
#show_s_w_ix.select()
show_s_w_ix.grid(row=0, column=2)
show_index.trace('w', toggle_filenames)
show_df_index = IntVar()
indbut = Checkbutton(showbuts, text='#', variable=show_df_index, command=toggle_filenames)
indbut.grid(row=0, column=0)
indbut.select()
# disabling because turning index off can cause problems when sorting, etc
indbut.config(state=DISABLED)
show_df_index.trace('w', toggle_filenames)
interrobut_conc = Button(showbuts, text='Re-run')
interrobut_conc.config(command=lambda: runner(interrobut_conc, do_interrogation, conc = True), state=DISABLED)
interrobut_conc.grid(row=0, column=6, padx=(5,0))
annotation = False
txt_var = StringVar()
txt_var_r = StringVar()
def annotate_corpus():
"""
Allow the user to annotate the corpus
"""
anno_trans = {'Middle': 'm',
'Scheme': 't',
'Index': 'index',
'Colour': 'q'}
def allow_text(*args):
"""
If the user wants to add text as value, let him/her
"""
if anno_dec.get() == 'Custom':
txt_box_r.config(state=NORMAL)
else:
txt_box_r.config(state=DISABLED)
def go_action(*args):
"""
Do annotation
"""
from corpkit.corpus import Corpus
corp = Corpus(current_corpus.get(), print_info=False)
data = current_conc[0]
chosen = anno_dec.get()
# add colour and scheme to df
if chosen == 'Scheme':
themelist = get_list_of_themes(data)
if any(t != '' for t in themelist):
data.insert(0, 't', themelist)
elif chosen == 'Colour':
colourlist = get_list_of_colours(data)
if any(t != '' for t in colourlist):
data.insert(0, 'q', colourlist)
if chosen == 'Tag':
annotation = txt_box.get()
elif chosen == 'Custom':
field = txt_box.get()
value = txt_box_r.get()
annotation = {field: value}
else:
field = txt_box.get()
value = anno_trans.get(chosen, chosen)
annotation = {field: value}
if debug:
print('Annotation:', annotation)
corp.annotate(data, annotation, dry_run=False)
timestring('Annotation done.')
refresh_by_metadata()
anno_pop.destroy()
from tkinter import Toplevel
anno_pop = Toplevel()
#anno_pop.geometry('+400+40')
anno_pop.title("Annotate corpus")
anno_pop.wm_attributes('-topmost', 1)
#Label(anno_pop, text='Annotate with:').grid(row=1, column=0, sticky=W)
anno_dec = StringVar()
anno_dec.set('Middle')
annotype = ('Index', 'Position', 'Speaker', 'Colour', 'Scheme', 'Middle', 'Custom', 'Tag')
anno_lb = OptionMenu(anno_pop, anno_dec, *annotype)
anno_lb.grid(row=2, column=1, sticky=E)
Label(anno_pop, text='Field:').grid(row=1, column=0)
Label(anno_pop, text='Value:').grid(row=1, column=1)
txt_box = Entry(anno_pop, textvariable=txt_var, width=10)
all_text_widgets.append(txt_box)
txt_box.grid(row=2, column=0)
txt_box_r = Entry(anno_pop, textvariable=txt_var_r, width=22)
txt_box_r.config(state=DISABLED)
all_text_widgets.append(txt_box_r)
txt_box_r.grid(row=3, columnspan=2)
anno_dec.trace("w", allow_text)
do_anno = Button(anno_pop, text='Annotate', command=go_action)
do_anno.grid(row=4, columnspan=2)
def recalc(*args):
import pandas as pd
name = simpledialog.askstring('New name', 'Choose a name for the data:')
if not name:
return
else:
out = current_conc[0].calculate()
all_interrogations[name] = out
name_of_interro_spreadsheet.set(name)
i_resultname.set('Interrogation results: %s' % str(name_of_interro_spreadsheet.get()))
totals_as_df = pd.DataFrame(out.totals, dtype=object)
if out.results is not None:
update_spreadsheet(interro_results, out.results, height=340)
subs = out.results.index
else:
update_spreadsheet(interro_results, df_to_show=None, height=340)
subs = out.totals.index
update_spreadsheet(interro_totals, totals_as_df, height=10)
ind = list(all_interrogations.keys()).index(name_of_interro_spreadsheet.get())
if ind == 0:
prev.configure(state=DISABLED)
else:
prev.configure(state=NORMAL)
if ind + 1 == len(list(all_interrogations.keys())):
nex.configure(state=DISABLED)
else:
nex.configure(state=NORMAL)
refresh()
subc_listbox.delete(0, 'end')
for e in list(subs):
if e != 'tkintertable-order':
subc_listbox.insert(END, e)
timestring('Calculation done. "%s" created.' % name)
note.change_tab(1)
recalc_but = Button(showbuts, text='Calculate', command=recalc)
recalc_but.config(command=recalc, state=DISABLED)
recalc_but.grid(row=0, column=7, padx=(5,0))
win = StringVar()
win.set('Window')
wind_size = OptionMenu(conc_left_buts, win, *tuple(('Window', '20', '30', '40',
'50', '60', '70', '80', '90', '100')))
wind_size.config(width=10)
wind_size.grid(row=0, column=5)
win.trace("w", conc_sort)
# possible sort
sort_vals = ('Index', 'Subcorpus', 'File', 'Speaker', 'Colour',
'Scheme', 'Random', 'L5', 'L4', 'L3', 'L2', 'L1',
'M1', 'M2', 'M-2', 'M-1', 'R1', 'R2', 'R3', 'R4', 'R5')
sortval = StringVar()
sortval.set('Sort')
prev_sortval = ['None']
srtkind = OptionMenu(conc_left_buts, sortval, *sort_vals)
srtkind.config(width=10)
srtkind.grid(row=0, column=3)
sortval.trace("w", conc_sort)
# export to csv
Button(conc_left_buts, text='Export', command=lambda: conc_export()).grid(row=0, column=6)
# annotate
Button(conc_left_buts, text='Annotate', command=annotate_corpus).grid(row=0, column=7)
store_label = Label(conc_right_button_frame, text='Stored concordances', font=("Helvetica", 13, "bold"))
prev_conc = Frame(conc_right_button_frame)
prev_conc.grid(row=0, column=7, rowspan=3, columnspan=2,
sticky=E, padx=(10,0), pady=(4,0))
prevcbar = Scrollbar(prev_conc)
prevcbar.pack(side=RIGHT, fill=Y)
prev_conc_lb_size = 20
prev_conc_listbox = Listbox(prev_conc, selectmode=EXTENDED, width=prev_conc_lb_size,
height=4, relief=SUNKEN, bg='#F4F4F4',
yscrollcommand=prevcbar.set, exportselection=False)
prev_conc_listbox.pack()
cscrollbar.config(command=prev_conc_listbox.yview)
root.update()
# this laziness is dynamic calculation of how far apart the left and right
# button sets should be in the conc pane. i don't want to go reframing
# everything, so instead, we figure out the best distance by math
# width of window - width of left buttons - with of prev conc and 'stored concordances' label (approx)
padd = note_width - showbuts.winfo_width() - (prev_conc.winfo_width() * 2)
# for now, just a guess!
if padd < 0:
padd = 250
store_label.grid(row=0, column=6, sticky=E, padx=(padd,0))
############## ############## ############## ############## ##############
# MANAGE TAB # # MANAGE TAB # # MANAGE TAB # # MANAGE 'TAB' # # MANAGE TAB #
############## ############## ############## ############## ##############
def make_new_project():
import os
from corpkit.other import new_project
reset_everything()
name = simpledialog.askstring('New project', 'Choose a name for your project:')
if not name:
return
home = os.path.expanduser("~")
docpath = os.path.join(home, 'Documents')
if sys.platform == 'darwin':
the_kwargs = {'message': 'Choose a directory in which to create your new project'}
else:
the_kwargs = {}
fp = filedialog.askdirectory(title = 'New project location',
initialdir = docpath,
**the_kwargs)
if not fp:
return
new_proj_basepath.set('New project: "%s"' % name)
new_project(name = name, loc = fp, root=root)
project_fullpath.set(os.path.join(fp, name))
os.chdir(project_fullpath.get())
image_fullpath.set(os.path.join(project_fullpath.get(), 'images'))
savedinterro_fullpath.set(os.path.join(project_fullpath.get(), 'saved_interrogations'))
conc_fullpath.set(os.path.join(project_fullpath.get(), 'saved_concordances'))
corpora_fullpath.set(os.path.join(project_fullpath.get(), 'data'))
exported_fullpath.set(os.path.join(project_fullpath.get(), 'exported'))
log_fullpath.set(os.path.join(project_fullpath.get(), 'logs'))
addbut.config(state=NORMAL)
open_proj_basepath.set('Loaded: "%s"' % name)
save_config()
root.title("corpkit: %s" % os.path.basename(project_fullpath.get()))
#load_project(path = os.path.join(fp, name))
timestring('Project "%s" created.' % name)
note.focus_on(tab0)
update_available_corpora()
def get_saved_results(kind='interrogation', add_to=False):
from corpkit.other import load_all_results
if kind == 'interrogation':
datad = savedinterro_fullpath.get()
elif kind == 'concordance':
datad = conc_fullpath.get()
elif kind == 'image':
datad = image_fullpath.get()
if datad == '':
timestring('No project loaded.')
if kind == 'image':
image_list = sorted([f for f in os.listdir(image_fullpath.get()) if f.endswith('.png')])
for iname in image_list:
if iname.replace('.png', '') not in all_images:
all_images.append(iname.replace('.png', ''))
if len(image_list) > 0:
nbut.config(state=NORMAL)
else:
if kind == 'interrogation':
r = load_all_results(data_dir=datad, root=root, note=note)
else:
r = load_all_results(data_dir=datad, root=root, note=note)
if r is not None:
for name, loaded in list(r.items()):
if kind == 'interrogation':
if isinstance(loaded, dict):
for subname, subloaded in list(loaded.items()):
all_interrogations[name + '-' + subname] = subloaded
else:
all_interrogations[name] = loaded
else:
all_conc[name] = loaded
if len(list(all_interrogations.keys())) > 0:
nex.configure(state=NORMAL)
refresh()
def recentchange(*args):
"""if user clicks a recent project, open it"""
if recent_project.get() != '':
project_fullpath.set(recent_project.get())
load_project(path=project_fullpath.get())
def projchange(*args):
"""if user changes projects, add to recent list and save prefs"""
if project_fullpath.get() != '' and 'Contents/MacOS' not in project_fullpath.get():
in_a_project.set(1)
if project_fullpath.get() not in most_recent_projects:
most_recent_projects.append(project_fullpath.get())
save_tool_prefs(printout=False)
#update_available_corpora()
else:
in_a_project.set(0)
# corpus path setter
savedinterro_fullpath = StringVar()
savedinterro_fullpath.set('')
data_basepath = StringVar()
data_basepath.set('Select data directory')
in_a_project = IntVar()
in_a_project.set(0)
project_fullpath = StringVar()
project_fullpath.set(rd)
project_fullpath.trace("w", projchange)
recent_project = StringVar()
recent_project.set('')
recent_project.trace("w", recentchange)
conc_fullpath = StringVar()
conc_fullpath.set('')
exported_fullpath = StringVar()
exported_fullpath.set('')
log_fullpath = StringVar()
import os
home = os.path.expanduser("~")
try:
os.makedirs(os.path.join(home, 'corpkit-logs'))
except:
pass
log_fullpath.set(os.path.join(home, 'corpkit-logs'))
image_fullpath = StringVar()
image_fullpath.set('')
image_basepath = StringVar()
image_basepath.set('Select image directory')
corpora_fullpath = StringVar()
corpora_fullpath.set('')
def imagedir_modified(*args):
import matplotlib
matplotlib.rcParams['savefig.directory'] = image_fullpath.get()
image_fullpath.trace("w", imagedir_modified)
def data_getdir():
import os
fp = filedialog.askdirectory(title = 'Open data directory')
if not fp:
return
savedinterro_fullpath.set(fp)
data_basepath.set('Saved data: "%s"' % os.path.basename(fp))
#sel_corpus_button.set('Selected corpus: "%s"' % os.path.basename(newc))
#fs = sorted([d for d in os.listdir(fp) if os.path.isfile(os.path.join(fp, d))])
timestring('Set data directory: %s' % os.path.basename(fp))
def image_getdir(nodialog = False):
import os
fp = filedialog.askdirectory()
if not fp:
return
image_fullpath.set(fp)
image_basepath.set('Images: "%s"' % os.path.basename(fp))
timestring('Set image directory: %s' % os.path.basename(fp))
def save_one_or_more(kind = 'interrogation'):
sel_vals = manage_listbox_vals
if len(sel_vals) == 0:
timestring('Nothing selected to save.')
return
from corpkit.other import save
import os
saved = 0
existing = 0
# for each filename selected
for i in sel_vals:
safename = urlify(i) + '.p'
# make sure not already there
if safename not in os.listdir(savedinterro_fullpath.get()):
if kind == 'interrogation':
savedata = all_interrogations[i]
savedata.query.pop('root', None)
savedata.query.pop('note', None)
save(savedata, safename, savedir = savedinterro_fullpath.get())
else:
savedata = all_conc[i]
try:
savedata.query.pop('root', None)
savedata.query.pop('note', None)
except:
pass
save(savedata, safename, savedir = conc_fullpath.get())
saved += 1
else:
existing += 1
timestring('%s already exists in %s.' % (urlify(i), os.path.basename(savedinterro_fullpath.get())))
if saved == 1 and existing == 0:
timestring('%s saved.' % sel_vals[0])
else:
if existing == 0:
timestring('%d %ss saved.' % (len(sel_vals), kind))
else:
timestring('%d %ss saved, %d already existed' % (saved, kind, existing))
refresh()
manage_callback()
def remove_one_or_more(window=False, kind ='interrogation'):
sel_vals = manage_listbox_vals
if window is not False:
toget = prev_conc_listbox.curselection()
sel_vals = [prev_conc_listbox.get(toget)]
if len(sel_vals) == 0:
timestring('No interrogations selected.')
return
for i in sel_vals:
try:
if kind == 'interrogation':
del all_interrogations[i]
else:
del all_conc[i]
except:
pass
if len(sel_vals) == 1:
timestring('%s removed.' % sel_vals[0])
else:
timestring('%d interrogations removed.' % len(sel_vals))
if kind == 'image':
refresh_images()
refresh()
manage_callback()
def del_one_or_more(kind = 'interrogation'):
sel_vals = manage_listbox_vals
ext = '.p'
if kind == 'interrogation':
p = savedinterro_fullpath.get()
elif kind == 'image':
p = image_fullpath.get()
ext = '.png'
else:
p = conc_fullpath.get()
if len(sel_vals) == 0:
timestring('No interrogations selected.')
return
import os
result = messagebox.askquestion("Are You Sure?", "Permanently delete the following files:\n\n %s" % '\n '.join(sel_vals), icon='warning')
if result == 'yes':
for i in sel_vals:
if kind == 'interrogation':
del all_interrogations[i]
os.remove(os.path.join(p, i + ext))
elif kind == 'concordance':
del all_conc[i]
os.remove(os.path.join(p, i + ext))
else:
all_images.remove(i)
os.remove(os.path.join(p, i + ext))
if len(sel_vals) == 1:
timestring('%s deleted.' % sel_vals[0])
else:
timestring('%d %ss deleted.' % (kind, len(sel_vals)))
refresh()
manage_callback()
def urlify(s):
"Turn title into filename"
import re
#s = s.lower()
s = re.sub(r"[^\w\s-]", '', s)
s = re.sub(r"\s+", '-', s)
s = re.sub(r"-(textbf|emph|textsc|textit)", '-', s)
return s
def rename_one_or_more(kind = 'interrogation'):
ext = '.p'
sel_vals = manage_listbox_vals
if kind == 'interrogation':
p = savedinterro_fullpath.get()
elif kind == 'image':
p = image_fullpath.get()
ext = '.png'
else:
p = conc_fullpath.get()
if len(sel_vals) == 0:
timestring('No items selected.')
return
import os
permanently = True
if permanently:
perm_text='permanently '
else:
perm_text=''
for i in sel_vals:
answer = simpledialog.askstring('Rename', 'Choose a new name for "%s":' % i, initialvalue = i)
if answer is None or answer == '':
return
else:
if kind == 'interrogation':
all_interrogations[answer] = all_interrogations.pop(i)
elif kind == 'image':
ind = all_images.index(i)
all_images.remove(i)
all_images.insert(ind, answer)
else:
all_conc[answer] = all_conc.pop(i)
if permanently:
oldf = os.path.join(p, i + ext)
if os.path.isfile(oldf):
newf = os.path.join(p, urlify(answer) + ext)
os.rename(oldf, newf)
if kind == 'interrogation':
if name_of_interro_spreadsheet.get() == i:
name_of_interro_spreadsheet.set(answer)
i_resultname.set('Interrogation results: %s' % str(answer))
#update_spreadsheet(interro_results, all_interrogations[answer].results)
if name_of_o_ed_spread.get() == i:
name_of_o_ed_spread.set(answer)
#update_spreadsheet(o_editor_results, all_interrogations[answer].results)
if name_of_n_ed_spread.get() == i:
name_of_n_ed_spread.set(answer)
#update_spreadsheet(n_editor_results, all_interrogations[answer].results)
if kind == 'image':
refresh_images()
if len(sel_vals) == 1:
timestring('%s %srenamed as %s.' % (sel_vals[0], perm_text, answer))
else:
timestring('%d items %srenamed.' % (len(sel_vals), perm_text))
refresh()
manage_callback()
def export_interrogation(kind = 'interrogation'):
sel_vals = manage_listbox_vals
"""save dataframes and options to file"""
import os
import pandas
fp = False
for i in sel_vals:
answer = simpledialog.askstring('Export data', 'Choose a save name for "%s":' % i, initialvalue = i)
if answer is None or answer == '':
return
if kind != 'interrogation':
conc_export(data = i)
else:
data = all_interrogations[i]
keys = list(data.__dict__.keys())
if in_a_project.get() == 0:
if sys.platform == 'darwin':
the_kwargs = {'message': 'Choose save directory for exported interrogation'}
else:
the_kwargs = {}
fp = filedialog.askdirectory(title = 'Choose save directory', **the_kwargs)
if fp == '':
return
else:
fp = project_fullpath.get()
os.makedirs(os.path.join(exported_fullpath.get(), answer))
for k in keys:
if k == 'results':
if data.results is not None:
tkdrop = data.results.drop('tkintertable-order', errors = 'ignore')
tkdrop.to_csv(os.path.join(exported_fullpath.get(), answer, 'results.csv'), sep ='\t', encoding = 'utf-8')
if k == 'totals':
if data.totals is not None:
tkdrop = data.totals.drop('tkintertable-order', errors = 'ignore')
tkdrop.to_csv(os.path.join(exported_fullpath.get(), answer, 'totals.csv'), sep ='\t', encoding = 'utf-8')
if k == 'query':
if getattr(data, 'query', None):
pandas.DataFrame(list(data.query.values()), index = list(data.query.keys())).to_csv(os.path.join(exported_fullpath.get(), answer, 'query.csv'), sep ='\t', encoding = 'utf-8')
#if k == 'table':
# if 'table' in list(data.__dict__.keys()) and data.table:
# pandas.DataFrame(list(data.query.values()), index = list(data.query.keys())).to_csv(os.path.join(exported_fullpath.get(), answer, 'table.csv'), sep ='\t', encoding = 'utf-8')
if fp:
timestring('Results exported to %s' % (os.path.join(os.path.basename(exported_fullpath.get()), answer)))
def reset_everything():
# result names
i_resultname.set('Interrogation results:')
resultname.set('Results to edit:')
editoname.set('Edited results:')
savedplot.set('View saved images: ')
open_proj_basepath.set('Open project')
corpus_fullpath.set('')
current_corpus.set('')
corpora_fullpath.set('')
project_fullpath.set(rd)
#special_queries.set('Off')
# spreadsheets
update_spreadsheet(interro_results, df_to_show=None, height=340)
update_spreadsheet(interro_totals, df_to_show=None, height=10)
update_spreadsheet(o_editor_results, df_to_show=None, height=140)
update_spreadsheet(o_editor_totals, df_to_show=None, height=10)
update_spreadsheet(n_editor_results, df_to_show=None, height=140)
update_spreadsheet(n_editor_totals, df_to_show=None, height=10)
# interrogations
for e in list(all_interrogations.keys()):
del all_interrogations[e]
# another way:
all_interrogations.clear()
# subcorpora listbox
subc_listbox.delete(0, END)
subc_listbox_build.delete(0, END)
# concordance
conclistbox.delete(0, END)
# every interrogation
#every_interro_listbox.delete(0, END)
# every conc
#ev_conc_listbox.delete(0, END)
prev_conc_listbox.delete(0, END)
# images
#every_image_listbox.delete(0, END)
every_interrogation['menu'].delete(0, 'end')
#pick_subcorpora['menu'].delete(0, 'end')
# speaker listboxes
speaker_listbox.delete(0, 'end')
#speaker_listbox_conc.delete(0, 'end')
# keys
for e in list(all_conc.keys()):
del all_conc[e]
for e in all_images:
all_images.remove(e)
#update_available_corpora(delete = True)
refresh()
def convert_speakdict_to_string(dictionary):
"""turn speaker info dict into a string for configparser"""
if not dictionary:
return 'none'
out = []
for k, v in list(dictionary.items()):
out.append('%s:%s' % (k, ','.join([i.replace(',', '').replace(':', '').replace(';', '') for i in v])))
if not out:
return 'none'
else:
return ';'.join(out)
def parse_speakdict(string):
"""turn configparser's speaker info back into a dict"""
if string is 'none' or not string:
return {}
redict = {}
corps = string.split(';')
for c in corps:
try:
name, vals = c.split(':')
except ValueError:
continue
vs = vals.split(',')
redict[name] = vs
return redict
def load_custom_list_json():
import json
f = os.path.join(project_fullpath.get(), 'custom_wordlists.txt')
if os.path.isfile(f):
data = json.loads(open(f).read())
for k, v in data.items():
if k not in list(custom_special_dict.keys()):
custom_special_dict[k] = v
if k not in list(saved_special_dict.keys()):
saved_special_dict[k] = v
def dump_custom_list_json():
import json
f = os.path.join(project_fullpath.get(), 'custom_wordlists.txt')
with open(f, 'w') as fo:
fo.write(json.dumps(saved_special_dict))
def load_config():
"""use configparser to get project settings"""
import os
try:
import configparser
except ImportError:
import ConfigParser as configparser
Config = configparser.ConfigParser()
f = os.path.join(project_fullpath.get(), 'settings.ini')
Config.read(f)
# errors here
plot_style.set(conmap(Config, "Visualise")['plot style'])
texuse.set(conmap(Config, "Visualise")['use tex'])
x_axis_l.set(conmap(Config, "Visualise")['x axis title'])
chart_cols.set(conmap(Config, "Visualise")['colour scheme'])
rel_corpuspath = conmap(Config, "Interrogate")['corpus path']
try:
files_as_subcorpora.set(conmap(Config, "Interrogate")['treat files as subcorpora'])
except KeyError:
files_as_subcorpora.set(False)
if rel_corpuspath:
current_corpus.get(relcorpuspath)
#corpus_fullpath.set(corpa)
spk = conmap(Config, "Interrogate")['speakers']
corpora_speakers = parse_speakdict(spk)
for i, v in list(corpora_speakers.items()):
corpus_names_and_speakers[i] = v
fsize.set(conmap(Config, "Concordance")['font size'])
# window setting causes conc_sort to run, causing problems.
#win.set(conmap(Config, "Concordance")['window'])
#kind_of_dep.set(conmap(Config, 'Interrogate')['dependency type'])
#conc_kind_of_dep.set(conmap(Config, "Concordance")['dependency type'])
cods = conmap(Config, "Concordance")['coding scheme']
if cods is None:
for _, val in list(entryboxes.items()):
val.set('')
else:
codsep = cods.split(',')
for (box, val), cod in zip(list(entryboxes.items()), codsep):
val.set(cod)
if corpus_fullpath.get():
subdrs = [d for d in os.listdir(corpus_fullpath.get()) if os.path.isdir(os.path.join(corpus_fullpath.get(),d))]
else:
subdrs = []
if len(subdrs) == 0:
charttype.set('bar')
refresh()
def load_project(path=False):
import os
if path is False:
if sys.platform == 'darwin':
the_kwargs = {'message': 'Choose project directory'}
else:
the_kwargs = {}
fp = filedialog.askdirectory(title='Open project',
**the_kwargs)
else:
fp = os.path.abspath(path)
if not fp or fp == '':
return
reset_everything()
image_fullpath.set(os.path.join(fp, 'images'))
savedinterro_fullpath.set(os.path.join(fp, 'saved_interrogations'))
conc_fullpath.set(os.path.join(fp, 'saved_concordances'))
exported_fullpath.set(os.path.join(fp, 'exported'))
corpora_fullpath.set(os.path.join(fp, 'data'))
log_fullpath.set(os.path.join(fp, 'logs'))
if not os.path.isdir(savedinterro_fullpath.get()):
timestring('Selected folder does not contain corpkit project.')
return
project_fullpath.set(fp)
f = os.path.join(project_fullpath.get(), 'settings.ini')
if os.path.isfile(f):
load_config()
os.chdir(fp)
list_of_corpora = update_available_corpora()
addbut.config(state=NORMAL)
get_saved_results(kind='interrogation')
get_saved_results(kind='concordance')
get_saved_results(kind='image')
open_proj_basepath.set('Loaded: "%s"' % os.path.basename(fp))
# reset tool:
root.title("corpkit: %s" % os.path.basename(fp))
# check for parsed corpora
if not current_corpus.get():
parsed_corp = [d for d in list_of_corpora if d.endswith('-parsed')]
# select
first = False
if len(parsed_corp) > 0:
first = parsed_corp[0]
if first:
corpus_fullpath.set(os.path.abspath(first))
name = make_corpus_name_from_abs(project_fullpath.get(), first)
current_corpus.set(name)
else:
corpus_fullpath.set('')
# no corpora, so go to build...
note.focus_on(tab0)
if corpus_fullpath.get() != '':
try:
subdrs = sorted([d for d in os.listdir(corpus_fullpath.get()) if os.path.isdir(os.path.join(corpus_fullpath.get(),d))])
except FileNotFoundError:
subdrs = []
else:
subdrs = []
#lab.set('Concordancing: %s' % corpus_name)
#pick_subcorpora['menu'].delete(0, 'end')
#if len(subdrs) > 0:
# pick_subcorpora['menu'].add_command(label='all', command=_setit(subc_pick, 'all'))
# pick_subcorpora.config(state=NORMAL)
# for choice in subdrs:
# pick_subcorpora['menu'].add_command(label=choice, command=_setit(subc_pick, choice))
#else:
# pick_subcorpora.config(state=NORMAL)
# pick_subcorpora['menu'].add_command(label='None', command=_setit(subc_pick, 'None'))
# pick_subcorpora.config(state=DISABLED)
timestring('Project "%s" opened.' % os.path.basename(fp))
note.progvar.set(0)
#if corpus_name in list(corpus_names_and_speakers.keys()):
refresh_by_metadata()
#speakcheck.config(state=NORMAL)
#else:
# pass
#speakcheck.config(state=DISABLED)
load_custom_list_json()
def view_query(kind=False):
if len(manage_listbox_vals) == 0:
return
if len(manage_listbox_vals) > 1:
timestring('Can only view one interrogation at a time.')
return
global frame_to_the_right
frame_to_the_right = Frame(manage_pop)
frame_to_the_right.grid(column=2, row=0, rowspan = 6)
Label(frame_to_the_right, text='Query information', font=("Helvetica", 13, "bold")).grid(sticky=W, row=0, column=0, padx=(10,0))
mlb = Table(frame_to_the_right, ['Option', 'Value'],
column_weights=[1, 1], height=70, width=30)
mlb.grid(sticky=N, column=0, row=1)
for i in mlb._mlb.listboxes:
i.config(height=29)
mlb.columnconfig('Option', background='#afa')
mlb.columnconfig('Value', background='#efe')
q_dict = dict(all_interrogations[manage_listbox_vals[0]].query)
mlb.clear()
#show_query_vals.delete(0, 'end')
flipped_trans = {v: k for k, v in list(transdict.items())}
for d in ['dataframe1', 'dataframe2']:
q_dict.pop(d, None)
for k, v in sorted(q_dict.items()):
try:
if isinstance(v, (int, float)) and v == 0:
v = '0'
if v is None:
v == 'None'
if not v:
v = 'False'
if v is True:
v = 'True'
# could be bad with threshold etc
if v == 1:
v = 'True'
except:
pass
mlb.append([k, v])
if q_dict.get('query'):
qubox = Text(frame_to_the_right, font=("Courier New", 14), relief=SUNKEN,
wrap=WORD, width=40, height=5, undo=True)
qubox.grid(column=0, row=2, rowspan = 1, padx=(10,0))
qubox.delete(1.0, END)
qubox.insert(END, q_dict['query'])
manage_box['qubox'] = qubox
bind_textfuncts_to_widgets([qubox])
else:
try:
manage_box['qubox'].destroy()
except:
pass
manage_listbox_vals = []
def onselect_manage(evt):
# remove old vals
for i in manage_listbox_vals:
manage_listbox_vals.pop()
wx = evt.widget
indices = wx.curselection()
for index in indices:
value = wx.get(index)
if value not in manage_listbox_vals:
manage_listbox_vals.append(value)
new_proj_basepath = StringVar()
new_proj_basepath.set('New project')
open_proj_basepath = StringVar()
open_proj_basepath.set('Open project')
the_current_kind = StringVar()
def manage_popup():
from tkinter import Toplevel
global manage_pop
manage_pop = Toplevel()
manage_pop.geometry('+400+40')
manage_pop.title("Manage data: %s" % os.path.basename(project_fullpath.get()))
manage_pop.wm_attributes('-topmost', 1)
manage_what = StringVar()
manage_what.set('Manage: ')
#Label(manage_pop, textvariable=manage_what).grid(row=0, column=0, sticky='W', padx=(5, 0))
manag_frame = Frame(manage_pop, height=30)
manag_frame.grid(column=0, row=1, rowspan = 1, columnspan=2, sticky='NW', padx=10)
manage_scroll = Scrollbar(manag_frame)
manage_scroll.pack(side=RIGHT, fill=Y)
manage_listbox = Listbox(manag_frame, selectmode = SINGLE, height=30, width=30, relief=SUNKEN, bg='#F4F4F4',
yscrollcommand=manage_scroll.set, exportselection=False)
manage_listbox.pack(fill=BOTH)
manage_listbox.select_set(0)
manage_scroll.config(command=manage_listbox.yview)
xx = manage_listbox.bind('<>', onselect_manage)
# default: w option
manage_listbox.select_set(0)
the_current_kind.set('interrogation')
#gtsv = StringVar()
#gtsv.set('Get saved')
#getbut = Button(manage_pop, textvariable=gtsv, command=lambda: get_saved_results(), width=22)
#getbut.grid(row=2, column=0, columnspan=2)
manage_type = StringVar()
manage_type.set('Interrogations')
#Label(manage_pop, text='Save selected: ').grid(sticky=E, row=6, column=1)
savebut = Button(manage_pop, text='Save', command=lambda: save_one_or_more(kind = the_current_kind.get()))
savebut.grid(padx=15, sticky=W, column=0, row=3)
viewbut = Button(manage_pop, text='View', command=lambda: view_query(kind = the_current_kind.get()))
viewbut.grid(padx=15, sticky=W, column=0, row=4)
renamebut = Button(manage_pop, text='Rename', command=lambda: rename_one_or_more(kind = the_current_kind.get()))
renamebut.grid(padx=15, sticky=W, column=0, row=5)
#Checkbutton(manage_pop, text="Permanently", variable=perm, onvalue=True, offvalue=False).grid(column=1, row=16, padx=15, sticky=W)
exportbut = Button(manage_pop, text='Export', command=lambda: export_interrogation(kind = the_current_kind.get()))
exportbut.grid(padx=15, sticky=E, column=1, row=3)
#Label(manage_pop, text='Remove selected: '()).grid(padx=15, sticky=W, row=4, column=0)
removebut = Button(manage_pop, text='Remove', command= lambda: remove_one_or_more(kind = the_current_kind.get()))
removebut.grid(padx=15, sticky=E, column=1, row=4)
#Label(manage_pop, text='Delete selected: '()).grid(padx=15, sticky=E, row=5, column=1)
deletebut = Button(manage_pop, text='Delete', command=lambda: del_one_or_more(kind = the_current_kind.get()))
deletebut.grid(padx=15, sticky=E, column=1, row=5)
to_manage = OptionMenu(manage_pop, manage_type, *tuple(('Interrogations', 'Concordances', 'Images')))
to_manage.config(width=32, justify=CENTER)
to_manage.grid(row=0, column=0, columnspan=2)
def managed(*args):
#vals = [i.get() for i in butvar.values() if i.get() is not False and i.get() != 0 and i.get() != '0']
#vals = sorted(vals, key=lambda x:orders[x])
#the_opts = ','.join(vals)]
manage_pop.destroy()
try:
del manage_callback
except:
pass
global manage_callback
def manage_callback(*args):
import os
"""show correct listbox, enable disable buttons below"""
# set text
#manage_what.set('Manage %s' % manage_type.get().lower())
#gtsv.set('Get saved %s' % manage_type.get().lower())
# set correct action for buttons
the_current_kind.set(manage_type.get().lower().rstrip('s'))
#get_saved_results(kind = the_current_kind.get())
# enable all buttons
#getbut.config(state=NORMAL)
#try:
savebut.config(state=NORMAL)
viewbut.config(state=NORMAL)
renamebut.config(state=NORMAL)
exportbut.config(state=NORMAL)
removebut.config(state=NORMAL)
deletebut.config(state=NORMAL)
manage_listbox.delete(0, 'end')
if the_current_kind.get() == 'interrogation':
the_path = savedinterro_fullpath.get()
the_ext = '.p'
list_of_entries = list(all_interrogations.keys())
elif the_current_kind.get() == 'concordance':
the_path = conc_fullpath.get()
the_ext = '.p'
list_of_entries = list(all_conc.keys())
viewbut.config(state=DISABLED)
try:
frame_to_the_right.destroy()
except:
pass
elif the_current_kind.get() == 'image':
the_path = image_fullpath.get()
the_ext = '.png'
refresh_images()
list_of_entries = all_images
viewbut.config(state=DISABLED)
savebut.config(state=DISABLED)
exportbut.config(state=DISABLED)
removebut.config(state=DISABLED)
try:
frame_to_the_right.destroy()
except:
pass
for datum in list_of_entries:
manage_listbox.insert(END, datum)
color_saved(manage_listbox, the_path, '#ccebc5', '#fbb4ae', ext = the_ext)
manage_type.trace("w", manage_callback)
manage_type.set('Interrogations')
############## ############## ############## ############## ##############
# BUILD TAB # # BUILD TAB # # BUILD TAB # # BUILD TAB # # BUILD TAB #
############## ############## ############## ############## ##############
from corpkit.build import download_large_file, get_corpus_filepaths, \
check_jdk, parse_corpus, move_parsed_files, corenlp_exists
def create_tokenised_text():
from corpkit.corpus import Corpus
note.progvar.set(0)
parser_options('tokenise')
root.wait_window(poptions)
if not clicked_done.get():
return
#tokbut.config(state=DISABLED)
#tokbut = Button(tab0, textvariable=tokenise_button_text, command=ignore, width=33)
#tokbut.grid(row=6, column=0, sticky=W)
unparsed_corpus_path = corpus_fullpath.get()
#filelist, _ = get_corpus_filepaths(project_fullpath.get(), unparsed_corpus_path)
corp = Corpus(unparsed_corpus_path, print_info=False)
parsed = corp.tokenise(postag=tokenise_pos,
lemmatise=tokenise_lem,
root=root,
stdout=sys.stdout,
note=note,
nltk_data_path=nltk_data_path,
speaker_segmentation=speakseg.get(),
metadata=parse_with_metadata.get())
#corpus_fullpath.set(outdir)
outdir = parsed.path
current_corpus.set(parsed.name)
subdrs = [d for d in os.listdir(corpus_fullpath.get()) if os.path.isdir(os.path.join(corpus_fullpath.get(),d))]
if len(subdrs) == 0:
charttype.set('bar')
#basepath.set(os.path.basename(outdir))
#if len([f for f in os.listdir(outdir) if f.endswith('.p')]) > 0:
timestring('Corpus parsed and ready to interrogate: "%s"' % os.path.basename(outdir))
#else:
#timestring('Error: no files created in "%s"' % os.path.basename(outdir))
update_available_corpora()
def create_parsed_corpus():
import os
import re
import corpkit
from corpkit.corpus import Corpus
from corpkit.process import get_corenlp_path
parser_options('parse')
root.wait_window(poptions)
if not clicked_done.get():
return
unparsed_corpus_path = corpus_fullpath.get()
unparsed = Corpus(unparsed_corpus_path, print_info=False)
note.progvar.set(0)
unparsed_corpus_path = corpus_fullpath.get()
corenlppath.set(get_corenlp_path(corenlppath.get()))
if not corenlppath.get() or corenlppath.get() == 'None':
downstall_nlp = messagebox.askyesno("CoreNLP not found.",
"CoreNLP parser not found. Download/install it?")
if not downstall_nlp:
timestring('Cannot parse data without Stanford CoreNLP.')
return
jdk = check_jdk()
if jdk is False:
downstall_jdk = messagebox.askyesno("Java JDK", "You need Java JDK 1.8 to use CoreNLP.\n\nHit 'yes' to open web browser at download link. Once installed, corpkit should resume automatically")
if downstall_jdk:
import webbrowser
webbrowser.open_new('http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html')
import time
timestring('Waiting for Java JDK 1.8 installation to complete.')
while jdk is False:
jdk = check_jdk()
timestring('Waiting for Java JDK 1.8 installation to complete.')
time.sleep(5)
else:
timestring('Cannot parse data without Java JDK 1.8.')
return
parsed = unparsed.parse(speaker_segmentation=speakseg.get(),
proj_path=project_fullpath.get(),
copula_head=True,
multiprocess=False,
corenlppath=corenlppath.get(),
operations=parser_opts.get(),
root=root,
stdout=sys.stdout,
note=note,
memory_mb=parser_memory.get(),
metadata=parse_with_metadata.get())
if not parsed:
print('Error during parsing.')
sys.stdout = note.redir
current_corpus.set(parsed.name)
subdrs = [d for d in os.listdir(corpus_fullpath.get()) if \
os.path.isdir(os.path.join(corpus_fullpath.get(), d))]
if len(subdrs) == 0:
charttype.set('bar')
update_available_corpora()
timestring('Corpus parsed and ready to interrogate: "%s"' % parsed.name)
parse_button_text=StringVar()
parse_button_text.set('Create parsed corpus')
tokenise_button_text=StringVar()
tokenise_button_text.set('Create tokenised corpus')
path_to_new_unparsed_corpus = StringVar()
path_to_new_unparsed_corpus.set('')
add_corpus = StringVar()
add_corpus.set('')
add_corpus_button = StringVar()
add_corpus_button.set('Add corpus%s' % add_corpus.get())
selected_corpus_has_no_subcorpora = IntVar()
selected_corpus_has_no_subcorpora.set(0)
def add_subcorpora_to_build_box(path_to_corpus):
if not path_to_corpus:
return
import os
subc_listbox_build.configure(state=NORMAL)
subc_listbox_build.delete(0, 'end')
sub_corpora = [d for d in os.listdir(path_to_corpus) if os.path.isdir(os.path.join(path_to_corpus, d))]
if len(sub_corpora) == 0:
selected_corpus_has_no_subcorpora.set(1)
subc_listbox_build.bind('<>', onselect_subc_build)
subc_listbox_build.insert(END, 'No subcorpora found.')
subc_listbox_build.configure(state=DISABLED)
else:
selected_corpus_has_no_subcorpora.set(0)
for e in sub_corpora:
subc_listbox_build.insert(END, e)
onselect_subc_build()
def select_corpus():
"""selects corpus for viewing/parsing
---not used anymore"""
from os.path import join as pjoin
from os.path import basename as bn
#parse_button_text.set('Parse: "%s"' % bn(unparsed_corpus_path))
tokenise_button_text.set('Tokenise: "%s"' % bn(unparsed_corpus_path))
path_to_new_unparsed_corpus.set(unparsed_corpus_path)
#add_corpus_button.set('Added: %s' % bn(unparsed_corpus_path))
where_to_put_corpus = pjoin(project_fullpath.get(), 'data')
sel_corpus.set(unparsed_corpus_path)
#sel_corpus_button.set('Selected: "%s"' % bn(unparsed_corpus_path))
parse_button_text.set('Parse: "%s"' % bn(unparsed_corpus_path))
add_subcorpora_to_build_box(unparsed_corpus_path)
timestring('Selected corpus: "%s"' % bn(unparsed_corpus_path))
def getcorpus():
"""copy unparsed texts to project folder"""
import shutil
import os
from corpkit.process import saferead
home = os.path.expanduser("~")
docpath = os.path.join(home, 'Documents')
if sys.platform == 'darwin':
the_kwargs = {'message': 'Select your corpus of unparsed text files.'}
else:
the_kwargs = {}
fp = filedialog.askdirectory(title = 'Path to unparsed corpus',
initialdir = docpath,
**the_kwargs)
where_to_put_corpus = os.path.join(project_fullpath.get(), 'data')
newc = os.path.join(where_to_put_corpus, os.path.basename(fp))
try:
shutil.copytree(fp, newc)
timestring('Corpus copied to project folder.')
except OSError:
if os.path.basename(fp) == '':
return
timestring('"%s" already exists in project.' % os.path.basename(fp))
return
from corpkit.build import folderise, can_folderise
if can_folderise(newc):
do_folderise = messagebox.askyesno("No subcorpora found",
"Your corpus contains multiple files, but no subfolders. " \
"Would you like to treat each file as a subcorpus?")
if do_folderise:
folderise(newc)
timestring('Turned files into subcorpora.')
# encode and rename files
for (rootdir, d, fs) in os.walk(newc):
for f in fs:
fpath = os.path.join(rootdir, f)
data, enc = saferead(fpath)
from corpkit.constants import OPENER, PYTHON_VERSION
with OPENER(fpath, "w") as f:
if PYTHON_VERSION == 2:
f.write(data.encode('utf-8', errors='ignore'))
else:
f.write(data)
# rename file
#dname = '-' + os.path.basename(rootdir)
#newname = fpath.replace('.txt', dname + '.txt')
#shutil.move(fpath, newname)
path_to_new_unparsed_corpus.set(newc)
add_corpus_button.set('Added: "%s"' % os.path.basename(fp))
current_corpus.set(os.path.basename(fp))
#sel_corpus.set(newc)
#sel_corpus_button.set('Selected corpus: "%s"' % os.path.basename(newc))
timestring('Corpus copied to project folder.')
parse_button_text.set('Parse: %s' % os.path.basename(newc))
tokenise_button_text.set('Tokenise: "%s"' % os.path.basename(newc))
add_subcorpora_to_build_box(newc)
update_available_corpora()
timestring('Selected corpus for viewing/parsing: "%s"' % os.path.basename(newc))
Label(tab0, text='Project', font=("Helvetica", 13, "bold")).grid(sticky=W, row=0, column=0)
#Label(tab0, text='New project', font=("Helvetica", 13, "bold")).grid(sticky=W, row=0, column=0)
Button(tab0, textvariable=new_proj_basepath, command=make_new_project, width=24).grid(row=1, column=0, sticky=W)
#Label(tab0, text='Open project: ').grid(row=2, column=0, sticky=W)
Button(tab0, textvariable=open_proj_basepath, command=load_project, width=24).grid(row=2, column=0, sticky=W)
#Label(tab0, text='Add corpus to project: ').grid(row=4, column=0, sticky=W)
addbut = Button(tab0, textvariable=add_corpus_button, width=24, state=DISABLED)
addbut.grid(row=3, column=0, sticky=W)
addbut.config(command=lambda: runner(addbut, getcorpus))
#Label(tab0, text='Corpus to parse: ').grid(row=6, column=0, sticky=W)
#Button(tab0, textvariable=sel_corpus_button, command=select_corpus, width=24).grid(row=4, column=0, sticky=W)
#Label(tab0, text='Parse: ').grid(row=8, column=0, sticky=W)
#speakcheck_build = Checkbutton(tab0, text="Speaker segmentation", variable=speakseg, state=DISABLED)
#speakcheck_build.grid(column=0, row=5, sticky=W)
parsebut = Button(tab0, textvariable=parse_button_text, width=24, state=DISABLED)
parsebut.grid(row=5, column=0, sticky=W)
parsebut.config(command=lambda: runner(parsebut, create_parsed_corpus))
#Label(tab0, text='Parse: ').grid(row=8, column=0, sticky=W)
tokbut = Button(tab0, textvariable=tokenise_button_text, width=24, state=DISABLED)
tokbut.grid(row=6, column=0, sticky=W)
tokbut.config(command=lambda: runner(tokbut, create_tokenised_text))
def onselect_subc_build(evt = False):
"""get selected subcorpus, delete editor, show files in subcorpus"""
import os
if evt:
# should only be one
for i in subc_sel_vals_build:
subc_sel_vals_build.pop()
wx = evt.widget
indices = wx.curselection()
for index in indices:
value = wx.get(index)
if value not in subc_sel_vals_build:
subc_sel_vals_build.append(value)
# return for false click
if len(subc_sel_vals_build) == 0 and selected_corpus_has_no_subcorpora.get() == 0:
return
# destroy editor and canvas if possible
for ob in list(buildbits.values()):
try:
ob.destroy()
except:
pass
f_view.configure(state=NORMAL)
f_view.delete(0, 'end')
newp = path_to_new_unparsed_corpus.get()
if selected_corpus_has_no_subcorpora.get() == 0:
newsub = os.path.join(newp, subc_sel_vals_build[0])
else:
newsub = newp
fs = [f for f in os.listdir(newsub) if f.endswith('.txt') \
or f.endswith('.xml') \
or f.endswith('.conll') \
or f.endswith('.conllu')]
for e in fs:
f_view.insert(END, e)
if selected_corpus_has_no_subcorpora.get() == 0:
f_in_s.set('Files in subcorpus: %s' % subc_sel_vals_build[0])
else:
f_in_s.set('Files in corpus: %s' % os.path.basename(path_to_new_unparsed_corpus.get()))
# a listbox of subcorpora
Label(tab0, text='Subcorpora', font=("Helvetica", 13, "bold")).grid(row=7, column=0, sticky=W)
height = 21 if small_screen else 24
build_sub_f = Frame(tab0, width=24, height=height)
build_sub_f.grid(row=8, column=0, sticky=W, rowspan = 2, padx=(8,0))
build_sub_sb = Scrollbar(build_sub_f)
build_sub_sb.pack(side=RIGHT, fill=Y)
subc_listbox_build = Listbox(build_sub_f, selectmode = SINGLE, height=height, state=DISABLED, relief=SUNKEN, bg='#F4F4F4',
yscrollcommand=build_sub_sb.set, exportselection=False, width=24)
subc_listbox_build.pack(fill=BOTH)
xxy = subc_listbox_build.bind('<>', onselect_subc_build)
subc_listbox_build.select_set(0)
build_sub_sb.config(command=subc_listbox_build.yview)
def show_a_tree(evt):
"""get selected file and show in file view"""
import os
from nltk import Tree
from nltk.tree import ParentedTree
from nltk.draw.util import CanvasFrame
from nltk.draw import TreeWidget
sbox = buildbits['sentsbox']
sent = sentdict[int(sbox.curselection()[0])]
t = ParentedTree.fromstring(sent)
# make a frame attached to tab0
#cf = CanvasFrame(tab0, width=200, height=200)
cf = Canvas(tab0, width=800, height=400, bd=5)
buildbits['treecanvas'] = cf
cf.grid(row=5, column=2, rowspan = 11, padx=(0,0))
if cf not in boxes:
boxes.append(cf)
# draw the tree and send to the frame's canvas
tc = TreeWidget(cf, t, draggable=1,
node_font=('helvetica', -10, 'bold'),
leaf_font=('helvetica', -10, 'italic'),
roof_fill='white', roof_color='black',
leaf_color='green4', node_color='blue2')
tc.bind_click_trees(tc.toggle_collapsed)
def select_all_editor(*args):
"""not currently using, but might be good for select all"""
editor = buildbits['editor']
editor.tag_add(SEL, "1.0", END)
editor.mark_set(INSERT, "1.0")
editor.see(INSERT)
return 'break'
def onselect_f(evt):
"""get selected file and show in file view"""
for box in boxes:
try:
box.destroy()
except:
pass
import os
# should only be one
for i in chosen_f:
chosen_f.pop()
wx = evt.widget
indices = wx.curselection()
for index in indices:
value = wx.get(index)
if value not in chosen_f:
chosen_f.append(value)
if len(chosen_f) == 0:
return
if chosen_f[0].endswith('.txt'):
newp = path_to_new_unparsed_corpus.get()
if selected_corpus_has_no_subcorpora.get() == 0:
fp = os.path.join(newp, subc_sel_vals_build[0], chosen_f[0])
else:
fp = os.path.join(newp, chosen_f[0])
if not os.path.isfile(fp):
fp = os.path.join(newp, os.path.basename(corpus_fullpath.get()), chosen_f[0])
from corpkit.constants import OPENER
with OPENER(fp, 'r', encoding='utf-8') as fo:
text = fo.read()
# needs a scrollbar
editor = Text(tab0, height=32)
bind_textfuncts_to_widgets([editor])
buildbits['editor'] = editor
editor.grid(row=1, column=2, rowspan=9, pady=(10,0), padx=(20, 0))
if editor not in boxes:
boxes.append(editor)
all_text_widgets.append(editor)
editor.bind("<%s-s>" % key, savebuttonaction)
editor.bind("<%s-S>" % key, savebuttonaction)
editor.config(borderwidth=0,
font="{Lucida Sans Typewriter} 12",
#foreground="green",
#background="black",
#insertbackground="white", # cursor
#selectforeground="green", # selection
#selectbackground="#008000",
wrap=WORD, # use word wrapping
width=64,
undo=True, # Tk 8.4
)
editor.delete(1.0, END)
editor.insert(END, text)
editor.mark_set(INSERT, 1.0)
editf.set('Edit file: %s' % chosen_f[0])
viewedit = Label(tab0, textvariable=editf, font=("Helvetica", 13, "bold"))
viewedit.grid(row=0, column=2, sticky=W, padx=(20, 0))
if viewedit not in boxes:
boxes.append(viewedit)
filename.set(chosen_f[0])
fullpath_to_file.set(fp)
but = Button(tab0, text='Save changes', command=savebuttonaction)
but.grid(row=9, column=2, sticky='SE')
buildbits['but'] = but
if but not in boxes:
boxes.append(but)
elif chosen_f[0].endswith('.conll') or chosen_f[0].endswith('.conllu'):
import re
parsematch = re.compile(r'^# parse=(.*)')
newp = path_to_new_unparsed_corpus.get()
if selected_corpus_has_no_subcorpora.get() == 0:
fp = os.path.join(newp, subc_sel_vals_build[0], chosen_f[0])
else:
fp = os.path.join(newp, chosen_f[0])
if not os.path.isfile(fp):
fp = os.path.join(newp, os.path.basename(corpus_fullpath.get()), chosen_f[0])
from corpkit.constants import OPENER
with OPENER(fp, 'r', encoding='utf-8') as fo:
text = fo.read()
lines = text.splitlines()
editf.set('View trees: %s' % chosen_f[0])
vieweditxml = Label(tab0, textvariable=editf, font=("Helvetica", 13, "bold"))
vieweditxml.grid(row=0, column=2, sticky=W, padx=(20,0))
buildbits['vieweditxml'] = vieweditxml
if vieweditxml not in boxes:
boxes.append(vieweditxml)
trees = []
def flatten_treestring(tree):
replaces = {'$ ': '$',
'`` ': '``',
' ,': ',',
' .': '.',
"'' ": "''",
" n't": "n't",
" 're": "'re",
" 'm": "'m",
" 's": "'s",
" 'd": "'d",
" 'll": "'ll",
' ': ' '}
import re
tree = re.sub(r'\(.*? ', '', tree).replace(')', '')
for k, v in replaces.items():
tree = tree.replace(k, v)
return tree
for l in lines:
searched = re.search(parsematch, l)
if searched:
bracktree = searched.group(1)
flat = flatten_treestring(bracktree)
trees.append([bracktree, flat])
sentsbox = Listbox(tab0, selectmode=SINGLE, width=120, font=("Courier New", 11))
if sentsbox not in boxes:
boxes.append(sentsbox)
buildbits['sentsbox'] = sentsbox
sentsbox.grid(row=1, column=2, rowspan=4, padx=(20,0))
sentsbox.delete(0, END)
for i in list(sentdict.keys()):
del sentdict[i]
for i, (t, f) in enumerate(trees):
cutshort = f[:80] + '...'
sentsbox.insert(END, '%d: %s' % (i + 1, f))
sentdict[i] = t
xxyyz = sentsbox.bind('<>', show_a_tree)
f_in_s = StringVar()
f_in_s.set('Files in subcorpus ')
# a listbox of files
Label(tab0, textvariable=f_in_s, font=("Helvetica", 13, "bold")).grid(row=0, column=1, sticky='NW', padx=(30, 0))
height = 31 if small_screen else 36
build_f_box = Frame(tab0, height=height)
build_f_box.grid(row=1, column=1, rowspan = 9, padx=(20, 0), pady=(10, 0))
build_f_sb = Scrollbar(build_f_box)
build_f_sb.pack(side=RIGHT, fill=Y)
f_view = Listbox(build_f_box, selectmode = EXTENDED, height=height, state=DISABLED, relief=SUNKEN, bg='#F4F4F4',
exportselection=False, yscrollcommand=build_f_sb.set)
f_view.pack(fill=BOTH)
xxyy = f_view.bind('<>', onselect_f)
f_view.select_set(0)
build_f_sb.config(command=f_view.yview)
editf = StringVar()
editf.set('Edit file: ')
def savebuttonaction(*args):
from corpkit.constants import OPENER, PYTHON_VERSION
editor = buildbits['editor']
text = editor.get(1.0, END)
with OPENER(fullpath_to_file.get(), "w") as fo:
if PYTHON_VERSION == 2:
fo.write(text.rstrip().encode("utf-8"))
fo.write("\n")
else:
fo.write(text.rstrip() + '\n')
timestring('%s saved.' % filename.get())
filename = StringVar()
filename.set('')
fullpath_to_file = StringVar()
fullpath_to_file.set('')
############ ############ ############ ############ ############
# MENU BAR # # MENU BAR # # MENU BAR # # MENU BAR # # MENU BAR #
############ ############ ############ ############ ############
realquit = IntVar()
realquit.set(0)
def clear_all():
import os
import sys
python = sys.executable
os.execl(python, python, * sys.argv)
def get_tool_pref_file():
"""get the location of the tool preferences files"""
return os.path.join(rd, 'tool_settings.ini')
def save_tool_prefs(printout=True):
"""save any preferences to tool preferences"""
try:
import configparser
except:
import ConfigParser as configparser
import os
Config = configparser.ConfigParser()
settingsfile = get_tool_pref_file()
if settingsfile is None:
timestring('No settings file found.')
return
# parsing for ints is causing errors?
Config.add_section('Projects')
Config.set('Projects','most recent', ';'.join(most_recent_projects[-5:]).lstrip(';'))
Config.add_section('CoreNLP')
Config.set('CoreNLP','Parser path', corenlppath.get())
Config.set('CoreNLP','Memory allocation', str(parser_memory.get()))
Config.add_section('Appearance')
Config.set('Appearance','Spreadsheet row header width', str(row_label_width.get()))
Config.set('Appearance','Spreadsheet cell width', str(cell_width.get()))
Config.add_section('Other')
Config.set('Other','Truncate concordance lines', str(truncate_conc_after.get()))
Config.set('Other','Truncate spreadsheets', str(truncate_spreadsheet_after.get()))
Config.set('Other','Automatic update check', str(do_auto_update.get()))
Config.set('Other','do concordancing', str(do_concordancing.get()))
Config.set('Other','Only format middle concordance column', str(only_format_match.get()))
Config.set('Other','p value', str(p_val.get()))
cfgfile = open(settingsfile ,'w')
Config.write(cfgfile)
#cell_width.get()
#row_label_width.get()
#truncate_conc_after.get()
#truncate_spreadsheet_after.get()
#do_auto_update.get()
if printout:
timestring('Tool preferences saved.')
def load_tool_prefs():
"""load preferences"""
import os
try:
import configparser
except:
import ConfigParser as configparser
settingsfile = get_tool_pref_file()
if settingsfile is None:
timestring('No settings file found.')
return
if not os.path.isfile(settingsfile):
timestring('No settings file found at %s' % settingsfile)
return
def tryer(config, var, section, name):
"""attempt to load a value, fail gracefully if not there"""
try:
if config.has_option(section, name):
bit = conmap(config, section).get(name, False)
if name in ['memory allocation', 'truncate spreadsheets',
'truncate concordance lines', 'p value']:
bit = int(bit)
else:
bit = bool(bit)
var.set(bit)
except:
pass
Config = configparser.ConfigParser()
Config.read(settingsfile)
tryer(Config, parser_memory, "CoreNLP", "memory allocation")
#tryer(Config, row_label_width, "Appearance", 'spreadsheet row header width')
#tryer(Config, cell_width, "Appearance", 'spreadsheet cell width')
tryer(Config, do_auto_update, "Other", 'automatic update check')
#tryer(Config, conc_when_int, "Other", 'concordance when interrogating')
tryer(Config, only_format_match, "Other", 'only format middle concordance column')
tryer(Config, do_concordancing, "Other", 'do concordancing')
#tryer(Config, noregex, "Other", 'disable regular expressions for plaintext search')
tryer(Config, truncate_conc_after, "Other", 'truncate concordance lines')
tryer(Config, truncate_spreadsheet_after, "Other", 'truncate spreadsheets')
tryer(Config, p_val, "Other", 'p value')
try:
parspath = conmap(Config, "CoreNLP")['parser path']
except:
parspath = 'default'
try:
mostrec = conmap(Config, "Projects")['most recent'].lstrip(';').split(';')
for i in mostrec:
most_recent_projects.append(i)
except:
pass
if parspath == 'default' or parspath == '':
corenlppath.set(os.path.join(os.path.expanduser("~"), 'corenlp'))
else:
corenlppath.set(parspath)
timestring('Tool preferences loaded.')
def save_config():
try:
import configparser
except:
import ConfigParser as configparser
import os
if any(v != '' for v in list(entryboxes.values())):
codscheme = ','.join([i.get().replace(',', '') for i in list(entryboxes.values())])
else:
codscheme = None
Config = configparser.ConfigParser()
cfgfile = open(os.path.join(project_fullpath.get(), 'settings.ini') ,'w')
Config.add_section('Build')
Config.add_section('Interrogate')
relcorpuspath = corpus_fullpath.get().replace(project_fullpath.get(), '').lstrip('/')
Config.set('Interrogate','Corpus path', relcorpuspath)
Config.set('Interrogate','Speakers', convert_speakdict_to_string(corpus_names_and_speakers))
#Config.set('Interrogate','dependency type', kind_of_dep.get())
Config.set('Interrogate','Treat files as subcorpora', str(files_as_subcorpora.get()))
Config.add_section('Edit')
Config.add_section('Visualise')
Config.set('Visualise','Plot style', plot_style.get())
Config.set('Visualise','Use TeX', str(texuse.get()))
Config.set('Visualise','x axis title', x_axis_l.get())
Config.set('Visualise','Colour scheme', chart_cols.get())
Config.add_section('Concordance')
Config.set('Concordance','font size', str(fsize.get()))
#Config.set('Concordance','dependency type', conc_kind_of_dep.get())
Config.set('Concordance','coding scheme', codscheme)
if win.get() == 'Window':
window = 70
else:
window = int(win.get())
Config.set('Concordance','window', str(window))
Config.add_section('Manage')
Config.set('Manage','Project path',project_fullpath.get())
Config.write(cfgfile)
timestring('Project settings saved to settings.ini.')
def quitfunc():
if in_a_project.get() == 1:
save_ask = messagebox.askyesno("Save settings",
"Save settings before quitting?")
if save_ask:
save_config()
save_tool_prefs()
realquit.set(1)
root.quit()
root.protocol("WM_DELETE_WINDOW", quitfunc)
def restart(newpath=False):
"""restarts corpkit .py or gui, designed for version updates"""
import sys
import os
import subprocess
import inspect
timestring('Restarting ... ')
# get path to current script
if newpath is False:
newpath = inspect.getfile(inspect.currentframe())
if sys.platform == "win32":
if newpath.endswith('.py'):
timestring('Not yet supported, sorry.')
return
os.startfile(newpath)
else:
opener = "open" if sys.platform == "darwin" else "xdg-open"
if newpath.endswith('.py'):
opener = 'python'
if 'daniel/Work/corpkit' in newpath:
opener = '/Users/daniel/virtenvs/ssled/bin/python'
cmd = [opener, newpath]
else:
if sys.platform == "darwin":
cmd = [opener, '-n', newpath]
else:
cmd = [opener, newpath]
#os.system('%s %s' % (opener, newpath))
#subprocess.Popen(cmd)
from time import sleep
sleep(1)
#reload(inspect.getfile(inspect.currentframe()))
subprocess.Popen(cmd)
try:
the_splash.__exit__()
except:
pass
root.quit()
sys.exit()
def untar(fname, extractto):
"""untar a file"""
import tarfile
tar = tarfile.open(fname)
tar.extractall(extractto)
tar.close()
def update_corpkit(stver):
"""get new corpkit, delete this one, open it up"""
import sys
import os
import inspect
import corpkit
from corpkit.build import download_large_file
# get path to this script
corpath = rd
#corpath = inspect.getfile(inspect.currentframe())
# check we're using executable version, because .py users can
# use github to update
extens = '.%s' % fext
if extens not in corpath and sys.platform != 'darwin':
timestring("Get it from GitHub: https://www.github.com/interrogator/corpkit")
return
# split on .app or .exe, then re-add .app
apppath = corpath.split(extens , 1)[0] + extens
appdir = os.path.dirname(apppath)
# get new version and the abs path of the download dir and the tar file
url = 'https://raw.githubusercontent.com/interrogator/corpkit-app/master/corpkit-%s.tar.gz' % stver
path_to_app_parent = sys.argv[0]
if sys.platform == 'darwin':
if '.app' in path_to_app_parent:
path_to_app_parent = os.path.dirname(path_to_app_parent.split('.app', 1)[0])
else:
# WINDOWS SUPPORT
pass
if '.py' in path_to_app_parent:
py_script = True
path_to_app_parent = os.path.dirname(os.path.join(path_to_app_parent.split('.py', 1)[0]))
downloaded_dir, corpkittarfile = download_large_file(path_to_app_parent, \
url, root=root, note=note, actually_download = True)
timestring('Extracting update ...')
# why not extract to actual dir?
untar(corpkittarfile, downloaded_dir)
timestring('Applying update ...')
# delete the tar
#os.remove(corpkittarfile)
# get whatever the new app is called
newappfname = [f for f in os.listdir(downloaded_dir) if f.endswith(fext)][0]
absnewapp = os.path.join(downloaded_dir, newappfname)
# get the executable in the path
restart_now = messagebox.askyesno("Update and restart",
"Restart now?\n\nThis will delete the current version of corpkit.")
import shutil
if restart_now:
# remove this very app, but not script, just in case
if '.py' not in apppath:
if sys.platform == 'darwin':
shutil.rmtree(apppath)
# if windows, it's not a dir
else:
os.remove(apppath)
# move new version
if sys.platform == 'darwin':
shutil.copytree(absnewapp, os.path.join(appdir, newappfname))
# if windows, it's not a dir
else:
shutil.copy(absnewapp, os.path.join(appdir, newappfname))
# delete donwnloaded file and dir
shutil.rmtree(downloaded_dir)
restart(os.path.join(appdir, newappfname))
# shitty way to do this. what is the standard way of downloading and not installing?
else:
if sys.platform == 'darwin':
try:
shutil.copytree(absnewapp, os.path.join(appdir, newappfname))
except OSError:
shutil.copytree(absnewapp, os.path.join(appdir, newappfname + '-new'))
else:
try:
shutil.copy(absnewapp, os.path.join(appdir, newappfname))
except OSError:
shutil.copy(absnewapp, os.path.join(appdir, newappfname + '-new'))
timestring('New version in %s' % os.path.join(appdir, newappfname + '-new'))
return
def make_float_from_version(ver):
"""take a version string and turn it into a comparable float"""
ver = str(ver)
ndots_to_delete = ver.count('.') - 1
return float(ver[::-1].replace('.', '', ndots_to_delete)[::-1])
def modification_date(filename):
"""get datetime of file modification"""
import os
import datetime
t = os.path.getmtime(filename)
return datetime.datetime.fromtimestamp(t)
def check_updates(showfalse=True, lateprint=False, auto=False):
"""check for updates, minor and major."""
import os
import re
import datetime
from dateutil.parser import parse
import sys
import shutil
if noupdate:
return
# weird hacky way to not repeat request
if do_auto_update.get() == 0 and auto is True:
return
if do_auto_update_this_session.get() is False and auto is True:
return
# cancel auto if manual
if auto is False:
do_auto_update_this_session.set(0)
# get version as float
try:
oldstver = open(os.path.join(rd, 'VERSION.txt'), 'r').read().strip()
except:
import corpkit
oldstver = str(corpkit.__version__)
ver = make_float_from_version(oldstver)
# check for major update
try:
response = requests.get('https://www.github.com/interrogator/corpkit-app', verify=False)
html = response.text
except:
if showfalse:
messagebox.showinfo(
"No connection to remote server",
"Could not connect to remote server.")
return
reg = re.compile('title=.corpkit-([0-9\.]+)\.tar\.gz')
# get version number as string
stver = str(re.search(reg, html).group(1))
vnum = make_float_from_version(stver)
# check for major update
#if 2 == 2:
if vnum > ver:
timestring('Update found: corpkit %s' % stver)
download_update = messagebox.askyesno("Update available",
"Update available: corpkit %s\n\n Download now?" % stver)
if download_update:
update_corpkit(stver)
return
else:
timestring('Update found: corpkit %s. Not downloaded.' % stver)
return
# check for minor update
else:
import sys
timereg = re.compile(r'# (.*)<.updated>')
#if '.py' in sys.argv[0] and sys.platform == 'darwin':
#oldd = open(os.path.join(rd, 'gui.py'), 'r').read()
#elif '.app' in sys.argv[0]:
oldd = open(os.path.join(rd, 'gui.py'), 'r').read()
dateline = next(l for l in oldd.split('\n') if l.startswith('# '))
dat = re.search(timereg, dateline).group(1)
try:
olddate = parse(dat)
except:
olddate = modification_date(sys.argv[0])
try:
script_response = requests.get('https://raw.githubusercontent.com/interrogator/corpkit-app/master/gui.py', verify=False)
newscript = script_response.text
dateline = next(l for l in newscript.split('\n') if l.startswith('# '))
except:
if showfalse:
messagebox.showinfo(
"No connection to remote server",
"Could not connect to remote server.")
return
# parse the date part
try:
dat = re.search(timereg, dateline).group(1)
newdate = parse(dat)
except:
if showfalse:
messagebox.showinfo(
"Error checking for update.",
"Error checking for update.")
return
# testing code
#if 2 == 2:
if newdate > olddate:
timestring('Minor update found: corpkit %s' % stver)
download_update = messagebox.askyesno("Minor update available",
"Minor update available: corpkit %s\n\n Download and apply now?" % stver)
if download_update:
url = 'https://raw.githubusercontent.com/interrogator/corpkit-app/master/corpkit-%s' % oldstver
# update script
if not sys.argv[0].endswith('gui.py'):
script_url = 'https://raw.githubusercontent.com/interrogator/corpkit-app/master/gui.py'
response = requests.get(script_url, verify=False)
with open(os.path.join(rd, 'gui.py'), "w") as fo:
fo.write(response.text)
else:
timestring("Can't replace developer copy, sorry.")
return
dir_containing_ex, execut = download_large_file(project_fullpath.get(),
url = url, root=root, note=note)
# make sure we can execute the new script
import os
os.chmod(execut, 0o777)
if not sys.argv[0].endswith('gui.py'):
os.remove(os.path.join(rd, 'corpkit-%s' % oldstver))
shutil.move(execut, os.path.join(rd, 'corpkit-%s' % oldstver))
shutil.rmtree(dir_containing_ex)
else:
timestring("Can't replace developer copy, sorry.")
return
#import inspect
#sys.argv[0]
#extens = '.%s' % fext
#if extens not in corpath and sys.platform != 'darwin':
# timestring("Get it from GitHub: https://www.github.com/interrogator/corpkit")
# return
## split on .app or .exe, then re-add .app
#apppath = corpath.split(extens , 1)[0] + extens
restart(sys.argv[0].split('.app', 1)[0] + '.app')
return
else:
timestring('Minor update found: corpkit %s, %s. Not downloaded.' % (stver, dat.replace('T', ', ')))
return
if showfalse:
messagebox.showinfo(
"Up to date!",
"corpkit (version %s) up to date!" % oldstver)
timestring('corpkit (version %s) up to date.' % oldstver)
return
def start_update_check():
if noupdate:
return
try:
check_updates(showfalse=False, lateprint=True, auto=True)
except:
filemenu.entryconfig("Check for updates", state="disabled")
def unmax():
"""stop it being always on top"""
root.attributes('-topmost', False)
root.after(1000, unmax)
if not '.py' in sys.argv[0]:
root.after(10000, start_update_check)
def set_corenlp_path():
if sys.platform == 'darwin':
the_kwargs = {'message': 'Select folder containing the CoreNLP parser.'}
else:
the_kwargs = {}
fp = filedialog.askdirectory(title='CoreNLP path',
initialdir=os.path.expanduser("~"),
**the_kwargs)
if fp and fp != '':
corenlppath.set(fp)
if not get_fullpath_to_jars(corenlppath):
recog = messagebox.showwarning(title='CoreNLP not found',
message="CoreNLP not found in %s." % fp )
timestring("CoreNLP not found in %s." % fp )
else:
save_tool_prefs()
def config_menu(*args):
import os
fp = corpora_fullpath.get()
recentmenu.delete(0, END)
if len(most_recent_projects) == 0:
filemenu.entryconfig("Open recent project", state="disabled")
if len(most_recent_projects) == 1 and most_recent_projects[0] == '':
filemenu.entryconfig("Open recent project", state="disabled")
else:
filemenu.entryconfig("Open recent project", state="normal")
for c in list(set(most_recent_projects[::-1][:5])):
if c:
lab = os.path.join(os.path.basename(os.path.dirname(c)), os.path.basename(c))
recentmenu.add_radiobutton(label=lab, variable=recent_project, value = c)
if os.path.isdir(fp):
all_corpora = get_all_corpora()
if len(all_corpora) > 0:
filemenu.entryconfig("Select corpus", state="normal")
selectmenu.delete(0, END)
for c in all_corpora:
selectmenu.add_radiobutton(label=c, variable=current_corpus, value = c)
else:
filemenu.entryconfig("Select corpus", state="disabled")
else:
filemenu.entryconfig("Select corpus", state="disabled")
#filemenu.entryconfig("Manage project", state="disabled")
if in_a_project.get() == 0:
filemenu.entryconfig("Save project settings", state="disabled")
filemenu.entryconfig("Load project settings", state="disabled")
filemenu.entryconfig("Manage project", state="disabled")
#filemenu.entryconfig("Set CoreNLP path", state="disabled")
else:
filemenu.entryconfig("Save project settings", state="normal")
filemenu.entryconfig("Load project settings", state="normal")
filemenu.entryconfig("Manage project", state="normal")
#filemenu.entryconfig("Set CoreNLP path", state="normal")
menubar = Menu(root)
selectmenu = Menu(root)
recentmenu = Menu(root)
if sys.platform == 'darwin':
filemenu = Menu(menubar, tearoff=0, name='apple', postcommand=config_menu)
else:
filemenu = Menu(menubar, tearoff=0, postcommand=config_menu)
filemenu.add_command(label="New project", command=make_new_project)
filemenu.add_command(label="Open project", command=load_project)
filemenu.add_cascade(label="Open recent project", menu=recentmenu)
filemenu.add_cascade(label="Select corpus", menu=selectmenu)
filemenu.add_separator()
filemenu.add_command(label="Save project settings", command=save_config)
filemenu.add_command(label="Load project settings", command=load_config)
filemenu.add_separator()
filemenu.add_command(label="Save tool preferences", command=save_tool_prefs)
filemenu.add_separator()
filemenu.add_command(label="Manage project", command=manage_popup)
filemenu.add_separator()
#filemenu.add_command(label="Coding scheme print", command=print_entryboxes)
# broken on deployed version ... path to self stuff
#filemenu.add_separator()
filemenu.add_command(label="Check for updates", command=check_updates)
#filemenu.entryconfig("Check for updates", state="disabled")
#filemenu.add_separator()
#filemenu.add_command(label="Restart tool", command=restart)
filemenu.add_separator()
#filemenu.add_command(label="Exit", command=quitfunc)
menubar.add_cascade(label="File", menu=filemenu)
if sys.platform == 'darwin':
windowmenu = Menu(menubar, name='window')
menubar.add_cascade(menu=windowmenu, label='Window')
else:
sysmenu = Menu(menubar, name='system')
menubar.add_cascade(menu=sysmenu)
def schemesshow(*args):
"""only edit schemes once in project"""
import os
if project_fullpath.get() == '':
schemenu.entryconfig("Wordlists", state="disabled")
schemenu.entryconfig("Coding scheme", state="disabled")
else:
schemenu.entryconfig("Wordlists", state="normal")
schemenu.entryconfig("Coding scheme", state="normal")
schemenu = Menu(menubar, tearoff=0, postcommand=schemesshow)
menubar.add_cascade(label="Schemes", menu=schemenu)
schemenu.add_command(label="Coding scheme", command=codingschemer)
schemenu.add_command(label="Wordlists", command=custom_lists)
# prefrences section
if sys.platform == 'darwin':
root.createcommand('tk::mac::ShowPreferences', preferences_popup)
def about_box():
"""About message with current corpkit version"""
import os
try:
oldstver = str(open(os.path.join(rd, 'VERSION.txt'), 'r').read().strip())
except:
import corpkit
oldstver = str(corpkit.__version__)
messagebox.showinfo('About', 'corpkit %s\n\ninterrogator.github.io/corpkit\ngithub.com/interrogator/corpkit\npypi.python.org/pypi/corpkit\n\n' \
'Creator: Daniel McDonald\nmcdonaldd@unimelb.edu.au' % oldstver)
def show_log():
"""save log text as txt file and open it"""
import os
the_input = '\n'.join([x for x in note.log_stream])
#the_input = note.text.get("1.0",END)
c = 0
logpath = os.path.join(log_fullpath.get(), 'log-%s.txt' % str(c).zfill(2))
while os.path.isfile(logpath):
logpath = os.path.join(log_fullpath.get(), 'log-%s.txt' % str(c).zfill(2))
c += 1
with open(logpath, "w") as fo:
fo.write(the_input)
prnt = os.path.join('logs', os.path.basename(logpath))
timestring('Log saved to "%s".' % prnt)
import sys
if sys.platform == "win32":
os.startfile(logpath)
else:
opener = "open" if sys.platform == "darwin" else "xdg-open"
import subprocess
subprocess.call(['open', logpath])
def bind_textfuncts_to_widgets(lst):
"""add basic cut copy paste to text entry widgets"""
for i in lst:
i.bind("<%s-a>" % key, select_all_text)
i.bind("<%s-A>" % key, select_all_text)
i.bind("<%s-v>" % key, paste_into_textwidget)
i.bind("<%s-V>" % key, paste_into_textwidget)
i.bind("<%s-x>" % key, cut_from_textwidget)
i.bind("<%s-X>" % key, cut_from_textwidget)
i.bind("<%s-c>" % key, copy_from_textwidget)
i.bind("<%s-C>" % key, copy_from_textwidget)
try:
i.config(undo = True)
except:
pass
# load preferences
load_tool_prefs()
helpmenu = Menu(menubar, tearoff=0)
helpmenu.add_command(label="Help", command=lambda: show_help('h'))
helpmenu.add_command(label="Query writing", command=lambda: show_help('q'))
helpmenu.add_command(label="Troubleshooting", command=lambda: show_help('t'))
helpmenu.add_command(label="Save log", command=show_log)
#helpmenu.add_command(label="Set CoreNLP path", command=set_corenlp_path)
helpmenu.add_separator()
helpmenu.add_command(label="About", command=about_box)
menubar.add_cascade(label="Help", menu=helpmenu)
if sys.platform == 'darwin':
import corpkit
import subprocess
ver = corpkit.__version__
corpath = os.path.dirname(corpkit.__file__)
if not corpath.startswith('/Library/Python') and not 'corpkit/corpkit/corpkit' in corpath:
try:
subprocess.call('''/usr/bin/osascript -e 'tell app "Finder" to set frontmost of process "corpkit-%s" to true' ''' % ver, shell = True)
except:
pass
root.config(menu=menubar)
note.focus_on(tab1)
if loadcurrent:
load_project(loadcurrent)
root.deiconify()
root.lift()
try:
root._splash.__exit__()
except:
pass
root.wm_state('normal')
#root.resizable(TRUE,TRUE)
# overwrite quitting behaviour, prompt to save settings
root.createcommand('exit', quitfunc)
root.mainloop()
if __name__ == "__main__":
# the traceback is mostly for debugging pyinstaller errors
import sys
import traceback
import os
lc = sys.argv[-1] if os.path.isdir(sys.argv[-1]) else False
#if lc and sys.argv[-1] == '.':
# lc = os.path.basename(os.getcwd())
# os.chdir('..')
debugmode = 'debug' in list(sys.argv)
def install(name, loc):
"""if we don't have a module, download it"""
try:
import importlib
importlib.import_module(name)
except ImportError:
import pip
pip.main(['install', loc])
tkintertablecode = ('tkintertable', 'git+https://github.com/interrogator/tkintertable.git')
pilcode = ('PIL', 'http://effbot.org/media/downloads/Imaging-1.1.7.tar.gz')
if not any(arg.lower() == 'noinstall' for arg in sys.argv):
install(*tkintertablecode)
from corpkit.constants import PYTHON_VERSION
if PYTHON_VERSION == 2:
install(*pilcode)
try:
if lc:
corpkit_gui(loadcurrent=lc, debug=debugmode)
else:
corpkit_gui(debug=debugmode)
except:
exc_type, exc_value, exc_traceback=sys.exc_info()
print("*** print_tb:")
print(traceback.print_tb(exc_traceback, limit=1, file=sys.stdout))
print("*** print_exception:")
print(traceback.print_exception(exc_type, exc_value, exc_traceback,
limit=2, file=sys.stdout))
print("*** print_exc:")
print(traceback.print_exc())
print("*** format_exc, first and last line:")
formatted_lines = traceback.format_exc()
print(formatted_lines)
print("*** format_exception:")
print('\n'.join(traceback.format_exception(exc_type, exc_value,
exc_traceback)))
print("*** extract_tb:")
print('\n'.join([str(i) for i in traceback.extract_tb(exc_traceback)]))
print("*** format_tb:")
print(traceback.format_tb(exc_traceback))
print("*** tb_lineno:", exc_traceback.tb_lineno)
================================================
FILE: corpkit/inflect.py
================================================
#### PATTERN | EN | INFLECT ########################################################################
# -*- coding: utf-8 -*-
# Copyright (c) 2010 University of Antwerp, Belgium
# Author: Tom De Smedt
# License: BSD (see LICENSE.txt for details).
####################################################################################################
# Regular expressions-based rules for English word inflection:
# - pluralization and singularization of nouns and adjectives,
# - conjugation of verbs,
# - comparative and superlative of adjectives.
# Accuracy (measured on CELEX English morphology word forms):
# 95% for pluralize()
# 96% for singularize()
# 95% for Verbs.find_lemma() (for regular verbs)
# 96% for Verbs.find_lexeme() (for regular verbs)
#################################################################################
# Modified from original to work as standalone for adjective and noun inflection.
#################################################################################
import os
import sys
import re
try:
MODULE = os.path.dirname(os.path.realpath(__file__))
except:
MODULE = ""
sys.path.insert(0, os.path.join(MODULE, "..", "..", "..", ".."))
#from pattern.text import Verbs as _Verbs
#from pattern.text import (
# INFINITIVE, PRESENT, PAST, FUTURE,
# FIRST, SECOND, THIRD,
# SINGULAR, PLURAL, SG, PL,
# PROGRESSIVE,
# PARTICIPLE
#)
sys.path.pop(0)
VERB, NOUN, ADJECTIVE, ADVERB = "VB", "NN", "JJ", "RB"
VOWELS = "aeiouy"
re_vowel = re.compile(r"a|e|i|o|u|y", re.I)
is_vowel = lambda ch: ch in VOWELS
#### ARTICLE #######################################################################################
# Based on the Ruby Linguistics module by Michael Granger:
# http://www.deveiate.org/projects/Linguistics/wiki/English
RE_ARTICLE = [(re.compile(x[0]), x[1]) for x in (
("euler|hour(?!i)|heir|honest|hono", "an"), # exceptions: an hour, an honor
# Abbreviations:
# strings of capitals starting with a vowel-sound consonant followed by another consonant,
# which are not likely to be real words.
(r"(?!FJO|[HLMNS]Y.|RY[EO]|SQU|(F[LR]?|[HL]|MN?|N|RH?|S[CHKLMNPTVW]?|X(YL)?)[AEIOU])[FHLMNRSX][A-Z]", "an"),
(r"^[aefhilmnorsx][.-]" , "an"),
(r"^[a-z][.-]" , "a" ),
(r"^[^aeiouy]" , "a" ), # consonants: a bear
(r"^e[uw]" , "a" ), # -eu like "you": a european
(r"^onc?e" , "a" ), # -o like "wa" : a one-liner
(r"uni([^nmd]|mo)" , "a" ), # -u like "you": a university
(r"^u[bcfhjkqrst][aeiou]", "a" ), # -u like "you": a uterus
(r"^[aeiou]" , "an"), # vowels: an owl
(r"y(b[lor]|cl[ea]|fere|gg|p[ios]|rou|tt)", "an"), # y like "i": an yclept, a year
(r"" , "a" ) # guess "a"
)]
def definite_article(word):
return "the"
def indefinite_article(word):
""" Returns the indefinite article for a given word.
For example: indefinite_article("university") => "a" university.
"""
word = word.split(" ")[0]
for rule, article in RE_ARTICLE:
if rule.search(word) is not None:
return article
DEFINITE, INDEFINITE = \
"definite", "indefinite"
def article(word, function=INDEFINITE):
""" Returns the indefinite (a or an) or definite (the) article for the given word.
"""
return function == DEFINITE and definite_article(word) or indefinite_article(word)
_article = article
def referenced(word, article=INDEFINITE):
""" Returns a string with the article + the word.
"""
return "%s %s" % (_article(word, article), word)
#print referenced("hour")
#print referenced("FBI")
#print referenced("bear")
#print referenced("one-liner")
#print referenced("european")
#print referenced("university")
#print referenced("uterus")
#print referenced("owl")
#print referenced("yclept")
#print referenced("year")
#### PLURALIZE #####################################################################################
# Based on "An Algorithmic Approach to English Pluralization" by Damian Conway:
# http://www.csse.monash.edu.au/~damian/papers/HTML/Plurals.html
# Prepositions are used in forms like "mother-in-law" and "man at arms".
plural_prepositions = set((
"about" , "before" , "during", "of" , "till" ,
"above" , "behind" , "except", "off" , "to" ,
"across" , "below" , "for" , "on" , "under",
"after" , "beneath", "from" , "onto" , "until",
"among" , "beside" , "in" , "out" , "unto" ,
"around" , "besides", "into" , "over" , "upon" ,
"at" , "between", "near" , "since", "with" ,
"athwart", "betwixt",
"beyond",
"but",
"by"))
# Inflection rules that are either:
# - general,
# - apply to a certain category of words,
# - apply to a certain category of words only in classical mode,
# - apply only in classical mode.
# Each rule is a (suffix, inflection, category, classic)-tuple.
plural_rules = [
# 0) Indefinite articles and demonstratives.
(( r"^a$|^an$", "some" , None, False),
( r"^this$", "these" , None, False),
( r"^that$", "those" , None, False),
( r"^any$", "all" , None, False)
), # 1) Possessive adjectives.
(( r"^my$", "our" , None, False),
( r"^your$", "your" , None, False),
( r"^thy$", "your" , None, False),
(r"^her$|^his$", "their" , None, False),
( r"^its$", "their" , None, False),
( r"^their$", "their" , None, False)
), # 2) Possessive pronouns.
(( r"^mine$", "ours" , None, False),
( r"^yours$", "yours" , None, False),
( r"^thine$", "yours" , None, False),
(r"^her$|^his$", "theirs" , None, False),
( r"^its$", "theirs" , None, False),
( r"^their$", "theirs" , None, False)
), # 3) Personal pronouns.
(( r"^I$", "we" , None, False),
( r"^me$", "us" , None, False),
( r"^myself$", "ourselves" , None, False),
( r"^you$", "you" , None, False),
(r"^thou$|^thee$", "ye" , None, False),
( r"^yourself$", "yourself" , None, False),
( r"^thyself$", "yourself" , None, False),
( r"^she$|^he$", "they" , None, False),
(r"^it$|^they$", "they" , None, False),
(r"^her$|^him$", "them" , None, False),
(r"^it$|^them$", "them" , None, False),
( r"^herself$", "themselves" , None, False),
( r"^himself$", "themselves" , None, False),
( r"^itself$", "themselves" , None, False),
( r"^themself$", "themselves" , None, False),
( r"^oneself$", "oneselves" , None, False)
), # 4) Words that do not inflect.
(( r"$", "" , "uninflected", False),
( r"$", "" , "uncountable", False),
( r"s$", "s" , "s-singular" , False),
( r"fish$", "fish" , None, False),
(r"([- ])bass$", "\\1bass" , None, False),
( r"ois$", "ois" , None, False),
( r"sheep$", "sheep" , None, False),
( r"deer$", "deer" , None, False),
( r"pox$", "pox" , None, False),
(r"([A-Z].*)ese$", "\\1ese" , None, False),
( r"itis$", "itis" , None, False),
(r"(fruct|gluc|galact|lact|ket|malt|rib|sacchar|cellul)ose$", "\\1ose", None, False)
), # 5) Irregular plural forms (e.g., mongoose, oxen).
(( r"atlas$", "atlantes" , None, True ),
( r"atlas$", "atlases" , None, False),
( r"beef$", "beeves" , None, True ),
( r"brother$", "brethren" , None, True ),
( r"child$", "children" , None, False),
( r"corpus$", "corpora" , None, True ),
( r"corpus$", "corpuses" , None, False),
( r"^cow$", "kine" , None, True ),
( r"ephemeris$", "ephemerides", None, False),
( r"ganglion$", "ganglia" , None, True ),
( r"genie$", "genii" , None, True ),
( r"genus$", "genera" , None, False),
( r"graffito$", "graffiti" , None, False),
( r"loaf$", "loaves" , None, False),
( r"money$", "monies" , None, True ),
( r"mongoose$", "mongooses" , None, False),
( r"mythos$", "mythoi" , None, False),
( r"octopus$", "octopodes" , None, True ),
( r"opus$", "opera" , None, True ),
( r"opus$", "opuses" , None, False),
( r"^ox$", "oxen" , None, False),
( r"penis$", "penes" , None, True ),
( r"penis$", "penises" , None, False),
( r"soliloquy$", "soliloquies", None, False),
( r"testis$", "testes" , None, False),
( r"trilby$", "trilbys" , None, False),
( r"turf$", "turves" , None, True ),
( r"numen$", "numena" , None, False),
( r"occiput$", "occipita" , None, True )
), # 6) Irregular inflections for common suffixes (e.g., synopses, mice, men).
(( r"man$", "men" , None, False),
( r"person$", "people" , None, False),
(r"([lm])ouse$", "\\1ice" , None, False),
( r"tooth$", "teeth" , None, False),
( r"goose$", "geese" , None, False),
( r"foot$", "feet" , None, False),
( r"zoon$", "zoa" , None, False),
( r"([csx])is$", "\\1es" , None, False)
), # 7) Fully assimilated classical inflections
# (e.g., vertebrae, codices).
(( r"ex$", "ices" , "ex-ices" , False),
( r"ex$", "ices" , "ex-ices*", True ), # * = classical mode
( r"um$", "a" , "um-a" , False),
( r"um$", "a" , "um-a*", True ),
( r"on$", "a" , "on-a" , False),
( r"a$", "ae" , "a-ae" , False),
( r"a$", "ae" , "a-ae*", True )
), # 8) Classical variants of modern inflections
# (e.g., stigmata, soprani).
(( r"trix$", "trices" , None, True),
( r"eau$", "eaux" , None, True),
( r"ieu$", "ieu" , None, True),
( r"([iay])nx$", "\\1nges" , None, True),
( r"en$", "ina" , "en-ina*", True),
( r"a$", "ata" , "a-ata*", True),
( r"is$", "ides" , "is-ides*", True),
( r"us$", "i" , "us-i*", True),
( r"us$", "us " , "us-us*", True),
( r"o$", "i" , "o-i*", True),
( r"$", "i" , "-i*", True),
( r"$", "im" , "-im*", True)
), # 9) -ch, -sh and -ss take -es in the plural
# (e.g., churches, classes).
(( r"([cs])h$", "\\1hes" , None, False),
( r"ss$", "sses" , None, False),
( r"x$", "xes" , None, False)
), # 10) -f or -fe sometimes take -ves in the plural
# (e.g, lives, wolves).
(( r"([aeo]l)f$", "\\1ves" , None, False),
( r"([^d]ea)f$", "\\1ves" , None, False),
( r"arf$", "arves" , None, False),
(r"([nlw]i)fe$", "\\1ves" , None, False),
), # 11) -y takes -ys if preceded by a vowel, -ies otherwise
# (e.g., storeys, Marys, stories).
((r"([aeiou])y$", "\\1ys" , None, False),
(r"([A-Z].*)y$", "\\1ys" , None, False),
( r"y$", "ies" , None, False)
), # 12) -o sometimes takes -os, -oes otherwise.
# -o is preceded by a vowel takes -os
# (e.g., lassos, potatoes, bamboos).
(( r"o$", "os", "o-os", False),
(r"([aeiou])o$", "\\1os" , None, False),
( r"o$", "oes" , None, False)
), # 13) Miltary stuff
# (e.g., Major Generals).
(( r"l$", "ls", "general-generals", False),
), # 14) Assume that the plural takes -s
# (cats, programmes, ...).
(( r"$", "s" , None, False),)
]
# For performance, compile the regular expressions once:
plural_rules = [[(re.compile(r[0]), r[1], r[2], r[3]) for r in grp] for grp in plural_rules]
# Suffix categories.
plural_categories = {
"uninflected": [
"bison" , "debris" , "headquarters" , "news" , "swine" ,
"bream" , "diabetes" , "herpes" , "pincers" , "trout" ,
"breeches" , "djinn" , "high-jinks" , "pliers" , "tuna" ,
"britches" , "eland" , "homework" , "proceedings", "whiting" ,
"carp" , "elk" , "innings" , "rabies" , "wildebeest"
"chassis" , "flounder" , "jackanapes" , "salmon" ,
"clippers" , "gallows" , "mackerel" , "scissors" ,
"cod" , "graffiti" , "measles" , "series" ,
"contretemps", "mews" , "shears" ,
"corps" , "mumps" , "species"
],
"uncountable": [
"advice" , "fruit" , "ketchup" , "meat" , "sand" ,
"bread" , "furniture" , "knowledge" , "mustard" , "software" ,
"butter" , "garbage" , "love" , "news" , "understanding",
"cheese" , "gravel" , "luggage" , "progress" , "water"
"electricity", "happiness" , "mathematics" , "research" ,
"equipment" , "information", "mayonnaise" , "rice"
],
"s-singular": [
"acropolis" , "caddis" , "dais" , "glottis" , "pathos" ,
"aegis" , "cannabis" , "digitalis" , "ibis" , "pelvis" ,
"alias" , "canvas" , "epidermis" , "lens" , "polis" ,
"asbestos" , "chaos" , "ethos" , "mantis" , "rhinoceros" ,
"bathos" , "cosmos" , "gas" , "marquis" , "sassafras" ,
"bias" , "glottis" , "metropolis" , "trellis"
],
"ex-ices": [
"codex" , "murex" , "silex"
],
"ex-ices*": [
"apex" , "index" , "pontifex" , "vertex" ,
"cortex" , "latex" , "simplex" , "vortex"
],
"um-a": [
"agendum" , "candelabrum", "desideratum" , "extremum" , "stratum" ,
"bacterium" , "datum" , "erratum" , "ovum"
],
"um-a*": [
"aquarium" , "emporium" , "maximum" , "optimum" , "stadium" ,
"compendium" , "enconium" , "medium" , "phylum" , "trapezium" ,
"consortium" , "gymnasium" , "memorandum" , "quantum" , "ultimatum" ,
"cranium" , "honorarium" , "millenium" , "rostrum" , "vacuum" ,
"curriculum" , "interregnum", "minimum" , "spectrum" , "velum" ,
"dictum" , "lustrum" , "momentum" , "speculum"
],
"on-a": [
"aphelion" , "hyperbaton" , "perihelion" ,
"asyndeton" , "noumenon" , "phenomenon" ,
"criterion" , "organon" , "prolegomenon"
],
"a-ae": [
"alga" , "alumna" , "vertebra"
],
"a-ae*": [
"abscissa" , "aurora" , "hyperbola" , "nebula" ,
"amoeba" , "formula" , "lacuna" , "nova" ,
"antenna" , "hydra" , "medusa" , "parabola"
],
"en-ina*": [
"foramen" , "lumen" , "stamen"
],
"a-ata*": [
"anathema" , "dogma" , "gumma" , "miasma" , "stigma" ,
"bema" , "drama" , "lemma" , "schema" , "stoma" ,
"carcinoma" , "edema" , "lymphoma" , "oedema" , "trauma" ,
"charisma" , "enema" , "magma" , "sarcoma" ,
"diploma" , "enigma" , "melisma" , "soma" ,
],
"is-ides*": [
"clitoris" , "iris"
],
"us-i*": [
"focus" , "nimbus" , "succubus" ,
"fungus" , "nucleolus" , "torus" ,
"genius" , "radius" , "umbilicus" ,
"incubus" , "stylus" , "uterus"
],
"us-us*": [
"apparatus" , "hiatus" , "plexus" , "status"
"cantus" , "impetus" , "prospectus" ,
"coitus" , "nexus" , "sinus" ,
],
"o-i*": [
"alto" , "canto" , "crescendo" , "soprano" ,
"basso" , "contralto" , "solo" , "tempo"
],
"-i*": [
"afreet" , "afrit" , "efreet"
],
"-im*": [
"cherub" , "goy" , "seraph"
],
"o-os": [
"albino" , "dynamo" , "guano" , "lumbago" , "photo" ,
"archipelago", "embryo" , "inferno" , "magneto" , "pro" ,
"armadillo" , "fiasco" , "jumbo" , "manifesto" , "quarto" ,
"commando" , "generalissimo", "medico" , "rhino" ,
"ditto" , "ghetto" , "lingo" , "octavo" , "stylo"
],
"general-generals": [
"Adjutant" , "Brigadier" , "Lieutenant" , "Major" , "Quartermaster",
"adjutant" , "brigadier" , "lieutenant" , "major" , "quartermaster"
]
}
def pluralize(word, pos=NOUN, custom={}, classical=True):
""" Returns the plural of a given word, e.g., child => children.
Handles nouns and adjectives, using classical inflection by default
(i.e., where "matrix" pluralizes to "matrices" and not "matrixes").
The custom dictionary is for user-defined replacements.
"""
if word in custom:
return custom[word]
# Recurse genitives.
# Remove the apostrophe and any trailing -s,
# form the plural of the resultant noun, and then append an apostrophe (dog's => dogs').
if word.endswith(("'", "'s")):
w = word.rstrip("'s")
w = pluralize(w, pos, custom, classical)
if w.endswith("s"):
return w + "'"
else:
return w + "'s"
# Recurse compound words
# (e.g., Postmasters General, mothers-in-law, Roman deities).
w = word.replace("-", " ").split(" ")
if len(w) > 1:
if w[1] == "general" or \
w[1] == "General" and \
w[0] not in plural_categories["general-generals"]:
return word.replace(w[0], pluralize(w[0], pos, custom, classical))
elif w[1] in plural_prepositions:
return word.replace(w[0], pluralize(w[0], pos, custom, classical))
else:
return word.replace(w[-1], pluralize(w[-1], pos, custom, classical))
# Only a very few number of adjectives inflect.
n = list(range(len(plural_rules)))
if pos.startswith(ADJECTIVE):
n = [0, 1]
# Apply pluralization rules.
for i in n:
for suffix, inflection, category, classic in plural_rules[i]:
# A general rule, or a classic rule in classical mode.
if category is None:
if not classic or (classic and classical):
if suffix.search(word) is not None:
return suffix.sub(inflection, word)
# A rule pertaining to a specific category of words.
if category is not None:
if word in plural_categories[category] and (not classic or (classic and classical)):
if suffix.search(word) is not None:
return suffix.sub(inflection, word)
return word
#print pluralize("part-of-speech")
#print pluralize("child")
#print pluralize("dog's")
#print pluralize("wolf")
#print pluralize("bear")
#print pluralize("kitchen knife")
#print pluralize("octopus", classical=True)
#print pluralize("matrix", classical=True)
#print pluralize("matrix", classical=False)
#print pluralize("my", pos=ADJECTIVE)
#### SINGULARIZE ###################################################################################
# Adapted from Bermi Ferrer's Inflector for Python:
# http://www.bermi.org/inflector/
# Copyright (c) 2006 Bermi Ferrer Martinez
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software to deal in this software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of this software, and to permit
# persons to whom this software is furnished to do so, subject to the following
# condition:
#
# THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THIS SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THIS SOFTWARE.
singular_rules = [
(r'(?i)(.)ae$' , '\\1a' ),
(r'(?i)(.)itis$' , '\\1itis' ),
(r'(?i)(.)eaux$' , '\\1eau' ),
(r'(?i)(quiz)zes$' , '\\1' ),
(r'(?i)(matr)ices$' , '\\1ix' ),
(r'(?i)(ap|vert|ind)ices$', '\\1ex' ),
(r'(?i)^(ox)en' , '\\1' ),
(r'(?i)(alias|status)es$' , '\\1' ),
(r'(?i)([octop|vir])i$' , '\\1us' ),
(r'(?i)(cris|ax|test)es$' , '\\1is' ),
(r'(?i)(shoe)s$' , '\\1' ),
(r'(?i)(o)es$' , '\\1' ),
(r'(?i)(bus)es$' , '\\1' ),
(r'(?i)([m|l])ice$' , '\\1ouse' ),
(r'(?i)(x|ch|ss|sh)es$' , '\\1' ),
(r'(?i)(m)ovies$' , '\\1ovie' ),
(r'(?i)(.)ombies$' , '\\1ombie'),
(r'(?i)(s)eries$' , '\\1eries'),
(r'(?i)([^aeiouy]|qu)ies$', '\\1y' ),
# -f, -fe sometimes take -ves in the plural
# (e.g., lives, wolves).
(r"([aeo]l)ves$" , "\\1f" ),
(r"([^d]ea)ves$" , "\\1f" ),
(r"arves$" , "arf" ),
(r"erves$" , "erve" ),
(r"([nlw]i)ves$" , "\\1fe" ),
(r'(?i)([lr])ves$' , '\\1f' ),
(r"([aeo])ves$" , "\\1ve" ),
(r'(?i)(sive)s$' , '\\1' ),
(r'(?i)(tive)s$' , '\\1' ),
(r'(?i)(hive)s$' , '\\1' ),
(r'(?i)([^f])ves$' , '\\1fe' ),
# -ses suffixes.
(r'(?i)(^analy)ses$' , '\\1sis' ),
(r'(?i)((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$', '\\1\\2sis'),
(r'(?i)(.)opses$' , '\\1opsis'),
(r'(?i)(.)yses$' , '\\1ysis' ),
(r'(?i)(h|d|r|o|n|b|cl|p)oses$', '\\1ose'),
(r'(?i)(fruct|gluc|galact|lact|ket|malt|rib|sacchar|cellul)ose$', '\\1ose'),
(r'(?i)(.)oses$' , '\\1osis' ),
# -a
(r'(?i)([ti])a$' , '\\1um' ),
(r'(?i)(n)ews$' , '\\1ews' ),
(r'(?i)s$' , '' ),
]
# For performance, compile the regular expressions only once:
singular_rules = [(re.compile(r[0]), r[1]) for r in singular_rules]
singular_uninflected = set((
"bison" , "debris" , "headquarters", "pincers" , "trout" ,
"bream" , "diabetes" , "herpes" , "pliers" , "tuna" ,
"breeches" , "djinn" , "high-jinks" , "proceedings", "whiting" ,
"britches" , "eland" , "homework" , "rabies" , "wildebeest"
"carp" , "elk" , "innings" , "salmon" ,
"chassis" , "flounder" , "jackanapes" , "scissors" ,
"christmas" , "gallows" , "mackerel" , "series" ,
"clippers" , "georgia" , "measles" , "shears" ,
"cod" , "graffiti" , "mews" , "species" ,
"contretemps", "mumps" , "swine" ,
"corps" , "news" , "swiss" ,
))
singular_uncountable = set((
"advice" , "equipment", "happiness" , "luggage" , "news" , "software" ,
"bread" , "fruit" , "information" , "mathematics", "progress" , "understanding",
"butter" , "furniture", "ketchup" , "mayonnaise" , "research" , "water"
"cheese" , "garbage" , "knowledge" , "meat" , "rice" ,
"electricity", "gravel" , "love" , "mustard" , "sand" ,
))
singular_ie = set((
"alergie" , "cutie" , "hoagie" , "newbie" , "softie" , "veggie" ,
"auntie" , "doggie" , "hottie" , "nightie" , "sortie" , "weenie" ,
"beanie" , "eyrie" , "indie" , "oldie" , "stoolie" , "yuppie" ,
"birdie" , "freebie" , "junkie" , "^pie" , "sweetie" , "zombie"
"bogie" , "goonie" , "laddie" , "pixie" , "techie" ,
"bombie" , "groupie" , "laramie" , "quickie" , "^tie" ,
"collie" , "hankie" , "lingerie" , "reverie" , "toughie" ,
"cookie" , "hippie" , "meanie" , "rookie" , "valkyrie" ,
))
singular_irregular = {
"atlantes": "atlas",
"atlases": "atlas",
"axes": "axe",
"beeves": "beef",
"brethren": "brother",
"children": "child",
"children": "child",
"corpora": "corpus",
"corpuses": "corpus",
"ephemerides": "ephemeris",
"feet": "foot",
"ganglia": "ganglion",
"geese": "goose",
"genera": "genus",
"genii": "genie",
"graffiti": "graffito",
"helves": "helve",
"kine": "cow",
"leaves": "leaf",
"loaves": "loaf",
"men": "man",
"mongooses": "mongoose",
"monies": "money",
"moves": "move",
"mythoi": "mythos",
"numena": "numen",
"occipita": "occiput",
"octopodes": "octopus",
"opera": "opus",
"opuses": "opus",
"our": "my",
"oxen": "ox",
"penes": "penis",
"penises": "penis",
"people": "person",
"sexes": "sex",
"soliloquies": "soliloquy",
"teeth": "tooth",
"testes": "testis",
"trilbys": "trilby",
"turves": "turf",
"zoa": "zoon",
}
def singularize(word, pos=NOUN, custom={}):
""" Returns the singular of a given word.
"""
if word in custom:
return custom[word]
# Recurse compound words (e.g. mothers-in-law).
if "-" in word:
w = word.split("-")
if len(w) > 1 and w[1] in plural_prepositions:
return singularize(w[0], pos, custom)+"-"+"-".join(w[1:])
# dogs' => dog's
if word.endswith("'"):
return singularize(word[:-1]) + "'s"
w = word.lower()
for x in singular_uninflected:
if x.endswith(w):
return word
for x in singular_uncountable:
if x.endswith(w):
return word
for x in singular_ie:
if w.endswith(x+"s"):
return w
for x in singular_irregular:
if w.endswith(x):
return re.sub('(?i)'+x+'$', singular_irregular[x], word)
for suffix, inflection in singular_rules:
m = suffix.search(word)
g = m and m.groups() or []
if m:
for k in range(len(g)):
if g[k] is None:
inflection = inflection.replace('\\' + str(k + 1), '')
return suffix.sub(inflection, word)
return word
#### COMPARATIVE & SUPERLATIVE #####################################################################
VOWELS = "aeiouy"
grade_irregular = {
"bad": ( "worse", "worst"),
"far": ("further", "farthest"),
"good": ( "better", "best"),
"hind": ( "hinder", "hindmost"),
"ill": ( "worse", "worst"),
"less": ( "lesser", "least"),
"little": ( "less", "least"),
"many": ( "more", "most"),
"much": ( "more", "most"),
"well": ( "better", "best")
}
grade_uninflected = ["giant", "glib", "hurt", "known", "madly"]
COMPARATIVE = "er"
SUPERLATIVE = "est"
def _count_syllables(word):
""" Returns the estimated number of syllables in the word by counting vowel-groups.
"""
n = 0
p = False # True if the previous character was a vowel.
for ch in word.endswith("e") and word[:-1] or word:
v = ch in VOWELS
n += int(v and not p)
p = v
return n
def grade(adjective, suffix=COMPARATIVE):
""" Returns the comparative or superlative form of the given adjective.
"""
n = _count_syllables(adjective)
if adjective in grade_irregular:
# A number of adjectives inflect irregularly.
return grade_irregular[adjective][suffix != COMPARATIVE]
elif adjective in grade_uninflected:
# A number of adjectives don't inflect at all.
return "%s %s" % (suffix == COMPARATIVE and "more" or "most", adjective)
elif n <= 2 and adjective.endswith("e"):
# With one syllable and ending with an e: larger, wiser.
suffix = suffix.lstrip("e")
elif n == 1 and len(adjective) >= 3 \
and adjective[-1] not in VOWELS and adjective[-2] in VOWELS and adjective[-3] not in VOWELS:
# With one syllable ending with consonant-vowel-consonant: bigger, thinner.
if not adjective.endswith(("w")): # Exceptions: lower, newer.
suffix = adjective[-1] + suffix
elif n == 1:
# With one syllable ending with more consonants or vowels: briefer.
pass
elif n == 2 and adjective.endswith("y"):
# With two syllables ending with a y: funnier, hairier.
adjective = adjective[:-1] + "i"
elif n == 2 and adjective[-2:] in ("er", "le", "ow"):
# With two syllables and specific suffixes: gentler, narrower.
pass
else:
# With three or more syllables: more generous, more important.
return "%s %s" % (suffix==COMPARATIVE and "more" or "most", adjective)
return adjective + suffix
def comparative(adjective):
return grade(adjective, COMPARATIVE)
def superlative(adjective):
return grade(adjective, SUPERLATIVE)
#### ATTRIBUTIVE & PREDICATIVE #####################################################################
def attributive(adjective):
return adjective
def predicative(adjective):
return adjective
================================================
FILE: corpkit/interpreter_tests.cki
================================================
# this code is written in corpkit interpreter language.
# it is used to test that the interpreter works properly
set test-speak-parsed
search corpus for words matching '^[abcd]' showing pos and lemma
search corpus for governor-function matching 'root' showing lemma with preserve_case
search corpus for words matching any showing lemma
edit result by keeping entries matching wordlists.anyverb
export edited as csv to res.csv
export concordance as csv to conc.csv
save result as anylemma
================================================
FILE: corpkit/interrogation.py
================================================
"""
corpkit: `Int`errogation and Interrogation-like classes
"""
from __future__ import print_function
from collections import OrderedDict
import pandas as pd
from corpkit.process import classname
class Interrogation(object):
"""
Stores results of a corpus interrogation, before or after editing. The main
attribute, :py:attr:`~corpkit.interrogation.Interrogation.results`, is a
Pandas object, which can be edited or plotted.
"""
def __init__(self, results=None, totals=None, query=None, concordance=None):
"""Initialise the class"""
self.results = results
"""pandas `DataFrame` containing counts for each subcorpus"""
self.totals = totals
"""pandas `Series` containing summed results"""
self.query = query
"""`dict` containing values that generated the result"""
self.concordance = concordance
"""pandas `DataFrame` containing concordance lines, if concordance lines were requested."""
def __str__(self):
if self.query.get('corpus'):
prst = getattr(self.query['corpus'], 'name', self.query['corpus'])
else:
try:
prst = self.query['interrogation'].query['corpus'].name
except:
prst = 'edited'
st = 'Corpus interrogation: %s\n\n' % (prst)
return st
def __repr__(self):
try:
return "<%s instance: %d total>" % (classname(self), self.totals.sum())
except AttributeError:
return "<%s instance: %d total>" % (classname(self), self.totals)
def edit(self, *args, **kwargs):
"""
Manipulate results of interrogations.
There are a few overall kinds of edit, most of which can be combined
into a single function call. It's useful to keep in mind that many are
basic wrappers around `pandas` operations---if you're comfortable with
`pandas` syntax, it may be faster at times to use its syntax instead.
:Basic mathematical operations:
First, you can do basic maths on results, optionally passing in some
data to serve as the denominator. Very commonly, you'll want to get
relative frequencies:
:Example:
>>> data = corpus.interrogate({W: r'^t'})
>>> rel = data.edit('%', SELF)
>>> rel.results
.. to that the then ... toilet tolerant tolerate ton
01 18.50 14.65 14.44 6.20 ... 0.00 0.00 0.11 0.00
02 24.10 14.34 13.73 8.80 ... 0.00 0.00 0.00 0.00
03 17.31 18.01 9.97 7.62 ... 0.00 0.00 0.00 0.00
For the operation, there are a number of possible values, each of
which is to be passed in as a `str`:
`+`, `-`, `/`, `*`, `%`: self explanatory
`k`: calculate keywords
`a`: get distance metric
`SELF` is a very useful shorthand denominator. When used, all editing
is performed on the data. The totals are then extracted from the edited
data, and used as denominator. If this is not the desired behaviour,
however, a more specific `interrogation.results` or
`interrogation.totals` attribute can be used.
In the example above, `SELF` (or `'self'`) is equivalent to:
:Example:
>>> rel = data.edit('%', data.totals)
:Keeping and skipping data:
There are four keyword arguments that can be used to keep or skip rows
or columns in the data:
* `just_entries`
* `just_subcorpora`
* `skip_entries`
* `skip_subcorpora`
Each can accept different input types:
* `str`: treated as regular expression to match
* `list`:
* of integers: indices to match
* of strings: entries/subcorpora to match
:Example:
>>> data.edit(just_entries=r'^fr',
... skip_entries=['free','freedom'],
... skip_subcorpora=r'[0-9]')
:Merging data:
There are also keyword arguments for merging entries and subcorpora:
* `merge_entries`
* `merge_subcorpora`
These take a `dict`, with the new name as key and the criteria as
value. The criteria can be a str (regex) or wordlist.
:Example:
>>> from dictionaries.wordlists import wordlists
>>> mer = {'Articles': ['the', 'an', 'a'], 'Modals': wordlists.modals}
>>> data.edit(merge_entries=mer)
:Sorting:
The `sort_by` keyword argument takes a `str`, which represents the way
the result columns should be ordered.
* `increase`: highest to lowest slope value
* `decrease`: lowest to highest slope value
* `turbulent`: most change in y axis values
* `static`: least change in y axis values
* `total/most`: largest number first
* `infreq/least`: smallest number first
* `name`: alphabetically
:Example:
>>> data.edit(sort_by='increase')
:Editing text:
Column labels, corresponding to individual interrogation results, can
also be edited with `replace_names`.
:param replace_names: Edit result names, then merge duplicate entries
:type replace_names: `str`/`list of tuples`/`dict`
If `replace_names` is a string, it is treated as a regex to delete from
each name. If `replace_names` is a dict, the value is the regex, and
the key is the replacement text. Using a list of tuples in the form
`(find, replacement)` allows duplicate substitution values.
:Example:
>>> data.edit(replace_names={r'object': r'[di]obj'})
:param replace_subcorpus_names: Edit subcorpus names, then merge duplicates.
The same as `replace_names`, but on the other axis.
:type replace_subcorpus_names: `str`/`list of tuples`/`dict`
:Other options:
There are many other miscellaneous options.
:param keep_stats: Keep/drop stats values from dataframe after sorting
:type keep_stats: `bool`
:param keep_top: After sorting, remove all but the top *keep_top* results
:type keep_top: `int`
:param just_totals: Sum each column and work with sums
:type just_totals: `bool`
:param threshold: When using results list as dataframe 2, drop values
occurring fewer than n times. If not keywording, you
can use:
`'high'`: `denominator total / 2500`
`'medium'`: `denominator total / 5000`
`'low'`: `denominator total / 10000`
If keywording, there are smaller default thresholds
:type threshold: `int`/`bool`
:param span_subcorpora: If subcorpora are numerically named, span all
from *int* to *int2*, inclusive
:type span_subcorpora: `tuple` -- `(int, int2)`
:param projection: multiply results in subcorpus by n
:type projection: tuple -- `(subcorpus_name, n)`
:param remove_above_p: Delete any result over `p`
:type remove_above_p: `bool`
:param p: set the p value
:type p: `float`
:param revert_year: When doing linear regression on years, turn annual
subcorpora into 1, 2 ...
:type revert_year: `bool`
:param print_info: Print stuff to console showing what's being edited
:type print_info: `bool`
:param spelling: Convert/normalise spelling:
:type spelling: `str` -- `'US'`/`'UK'`
:Keywording options:
If the operation is `k`, you're calculating keywords. In this case,
some other keyword arguments have an effect:
:param keyword_measure: what measure to use to calculate keywords:
`ll`: log-likelihood
`pd': percentage difference
type keyword_measure: `str`
:param selfdrop: When keywording, try to remove target corpus from
reference corpus
:type selfdrop: `bool`
:param calc_all: When keywording, calculate words that appear in either
corpus
:type calc_all: `bool`
:returns: :class:`corpkit.interrogation.Interrogation`
"""
from corpkit.editor import editor
return editor(self, *args, **kwargs)
def sort(self, way, **kwargs):
from corpkit.editor import editor
return editor(self, sort_by=way, **kwargs)
def visualise(self,
title='',
x_label=None,
y_label=None,
style='ggplot',
figsize=(8, 4),
save=False,
legend_pos='best',
reverse_legend='guess',
num_to_plot=7,
tex='try',
colours='Accent',
cumulative=False,
pie_legend=True,
rot=False,
partial_pie=False,
show_totals=False,
transparent=False,
output_format='png',
interactive=False,
black_and_white=False,
show_p_val=False,
indices=False,
transpose=False,
**kwargs
):
"""Visualise corpus interrogations using `matplotlib`.
:Example:
>>> data.visualise('An example plot', kind='bar', save=True)
:param title: A title for the plot
:type title: `str`
:param x_label: A label for the x axis
:type x_label: `str`
:param y_label: A label for the y axis
:type y_label: `str`
:param kind: The kind of chart to make
:type kind: `str` (`'line'`/`'bar'`/`'barh'`/`'pie'`/`'area'`/`'heatmap'`)
:param style: Visual theme of plot
:type style: `str` ('ggplot'/'bmh'/'fivethirtyeight'/'seaborn-talk'/etc)
:param figsize: Size of plot
:type figsize: `tuple` -- `(int, int)`
:param save: If `bool`, save with *title* as name; if `str`, use `str` as name
:type save: `bool`/`str`
:param legend_pos: Where to place legend
:type legend_pos: `str` ('upper right'/'outside right'/etc)
:param reverse_legend: Reverse the order of the legend
:type reverse_legend: `bool`
:param num_to_plot: How many columns to plot
:type num_to_plot: `int`/'all'
:param tex: Use TeX to draw plot text
:type tex: `bool`
:param colours: Colourmap for lines/bars/slices
:type colours: `str`
:param cumulative: Plot values cumulatively
:type cumulative: `bool`
:param pie_legend: Show a legend for pie chart
:type pie_legend: `bool`
:param partial_pie: Allow plotting of pie slices only
:type partial_pie: `bool`
:param show_totals: Print sums in plot where possible
:type show_totals: `str` -- 'legend'/'plot'/'both'
:param transparent: Transparent .png background
:type transparent: `bool`
:param output_format: File format for saved image
:type output_format: `str` -- 'png'/'pdf'
:param black_and_white: Create black and white line styles
:type black_and_white: `bool`
:param show_p_val: Attempt to print p values in legend if contained in df
:type show_p_val: `bool`
:param indices: To use when plotting "distance from root"
:type indices: `bool`
:param stacked: When making bar chart, stack bars on top of one another
:type stacked: `str`
:param filled: For area and bar charts, make every column sum to 100
:type filled: `str`
:param legend: Show a legend
:type legend: `bool`
:param rot: Rotate x axis ticks by *rot* degrees
:type rot: `int`
:param subplots: Plot each column separately
:type subplots: `bool`
:param layout: Grid shape to use when *subplots* is True
:type layout: `tuple` -- `(int, int)`
:param interactive: Experimental interactive options
:type interactive: `list` -- `[1, 2, 3]`
:returns: matplotlib figure
"""
from corpkit.plotter import plotter
branch = kwargs.pop('branch', 'results')
if branch.lower().startswith('r'):
to_plot = self.results
elif branch.lower().startswith('t'):
to_plot = self.totals
return plotter(to_plot,
title=title,
x_label=x_label,
y_label=y_label,
style=style,
figsize=figsize,
save=save,
legend_pos=legend_pos,
reverse_legend=reverse_legend,
num_to_plot=num_to_plot,
tex=tex,
rot=rot,
colours=colours,
cumulative=cumulative,
pie_legend=pie_legend,
partial_pie=partial_pie,
show_totals=show_totals,
transparent=transparent,
output_format=output_format,
interactive=interactive,
black_and_white=black_and_white,
show_p_val=show_p_val,
indices=indices,
transpose=transpose,
**kwargs
)
def multiplot(self, leftdict={}, rightdict={}, **kwargs):
from corpkit.plotter import multiplotter
return multiplotter(self, leftdict=leftdict, rightdict=rightdict, **kwargs)
def language_model(self, name, *args, **kwargs):
"""
Make a language model from an Interrogation. This is usually done
directly on a :class:`corpkit.corpus.Corpus` object with the
:func:`~corpkit.corpus.Corpus.make_language_model` method.
"""
from corpkit.model import _make_model_from_interro
multi = self.multiindex()
order = len(self.query['show'])
return _make_model_from_interro(multi, name, order=order, *args, **kwargs)
def save(self, savename, savedir='saved_interrogations', **kwargs):
"""
Save an interrogation as pickle to ``savedir``.
:Example:
>>> o = corpus.interrogate(W, 'any')
### create ./saved_interrogations/savename.p
>>> o.save('savename')
:param savename: A name for the saved file
:type savename: `str`
:param savedir: Relative path to directory in which to save file
:type savedir: `str`
:param print_info: Show/hide stdout
:type print_info: `bool`
:returns: None
"""
from corpkit.other import save
save(self, savename, savedir=savedir, **kwargs)
def quickview(self, n=25):
"""view top n results as painlessly as possible.
:Example:
>>> data.quickview(n=5)
0: to (n=2227)
1: that (n=2026)
2: the (n=1302)
3: then (n=857)
4: think (n=676)
:param n: Show top *n* results
:type n: `int`
:returns: `None`
"""
from corpkit.other import quickview
quickview(self, n=n)
def tabview(self, **kwargs):
import tabview
tabview.view(self.results, **kwargs)
def asciiplot(self,
row_or_col_name,
axis=0,
colours=True,
num_to_plot=100,
line_length=120,
min_graph_length=50,
separator_length=4,
multivalue=False,
human_readable='si',
graphsymbol='*',
float_format='{:,.2f}',
**kwargs):
"""
A very quick ascii chart for result
"""
from ascii_graph import Pyasciigraph
from ascii_graph.colors import Gre, Yel, Red, Blu
from ascii_graph.colordata import vcolor
from ascii_graph.colordata import hcolor
import pydoc
graph = Pyasciigraph(
line_length=line_length,
min_graph_length=min_graph_length,
separator_length=separator_length,
multivalue=multivalue,
human_readable=human_readable,
graphsymbol=graphsymbol
)
if axis == 0:
dat = self.results.T[row_or_col_name]
else:
dat = self.results[row_or_col_name]
data = list(zip(dat.index, dat.values))[:num_to_plot]
if colours:
pattern = [Gre, Yel, Red]
data = vcolor(data, pattern)
out = []
for line in graph.graph(label=None, data=data, float_format=float_format):
out.append(line)
pydoc.pipepager('\n'.join(out), cmd='less -X -R -S')
def rel(self, denominator='self', **kwargs):
return self.edit('%', denominator, **kwargs)
def keyness(self, measure='ll', denominator='self', **kwargs):
return self.edit('k', denominator, **kwargs)
def multiindex(self, indexnames=None):
"""Create a `pandas.MultiIndex` object from slash-separated results.
:Example:
>>> data = corpus.interrogate({W: 'st$'}, show=[L, F])
>>> data.results
.. just/advmod almost/advmod last/amod
01 79 12 6
02 105 6 7
03 86 10 1
>>> data.multiindex().results
Lemma just almost last first most
Function advmod advmod amod amod advmod
0 79 12 6 2 3
1 105 6 7 1 3
2 86 10 1 3 0
:param indexnames: provide custom names for the new index, or leave blank to guess.
:type indexnames: `list` of strings
:returns: :class:`corpkit.interrogation.Interrogation`, with
`pandas.MultiIndex` as
:py:attr:`~corpkit.interrogation.Interrogation.results` attribute
"""
from corpkit.other import make_multi
return make_multi(self, indexnames=indexnames)
def topwords(self, datatype='n', n=10, df=False, sort=True, precision=2):
"""Show top n results in each corpus alongside absolute or relative frequencies.
:param datatype: show abs/rel frequencies, or keyness
:type datatype: `str` (n/k/%)
:param n: number of result to show
:type n: `int`
:param df: return a DataFrame
:type df: `bool`
:param sort: Sort results, or show as is
:type sort: `bool`
:param precision: float precision to show
:type precision: `int`
:Example:
>>> data.topwords(n=5)
1987 % 1988 % 1989 % 1990 %
health 25.70 health 15.25 health 19.64 credit 9.22
security 6.48 cancer 10.85 security 7.91 health 8.31
cancer 6.19 heart 6.31 cancer 6.55 downside 5.46
flight 4.45 breast 4.29 credit 4.08 inflation 3.37
safety 3.49 security 3.94 safety 3.26 cancer 3.12
:returns: None
"""
from corpkit.other import topwords
if df:
return topwords(self, datatype=datatype, n=n, df=True,
sort=sort, precision=precision)
else:
topwords(self, datatype=datatype, n=n,
sort=sort, precision=precision)
def perplexity(self):
"""
Pythonification of the formal definition of perplexity.
input: a sequence of chances (any iterable will do)
output: perplexity value.
from https://github.com/zeffii/NLP_class_notes
"""
def _perplex(chances):
import math
chances = [i for i in chances if i]
N = len(chances)
product = 1
for chance in chances:
product *= chance
return math.pow(product, -1/N)
return self.results.apply(_perplex, axis=1)
def entropy(self):
"""
entropy(pos.edit(merge_entries=mergetags, sort_by='total').results.T
"""
from scipy.stats import entropy
import pandas as pd
escores = entropy(self.rel().results.T)
ser = pd.Series(escores, index=self.results.index)
ser.name = 'Entropy'
return ser
def shannon(self):
from corpkit.stats import shannon
return shannon(self)
class Concordance(pd.core.frame.DataFrame):
"""
A class for concordance lines, with methods for saving, formatting and editing.
"""
def __init__(self, data):
super(Concordance, self).__init__(data)
self.concordance = data
def format(self, kind='string', n=100, window=35,
print_it=True, columns='all', metadata=True, **kwargs):
"""
Print concordance lines nicely, to string, LaTeX or CSV
:param kind: output format: `string`/`latex`/`csv`
:type kind: `str`
:param n: Print first `n` lines only
:type n: `int`/`'all'`
:param window: how many characters to show to left and right
:type window: `int`
:param columns: which columns to show
:type columns: `list`
:Example:
>>> lines = corpus.concordance({T: r'/NN.?/ >># NP'}, show=L)
### show 25 characters either side, 4 lines, just text columns
>>> lines.format(window=25, n=4, columns=[L,M,R])
0 we 're in tucson , then up north to flagst
1 e 're in tucson , then up north to flagstaff , then we we
2 tucson , then up north to flagstaff , then we went through th
3 through the grand canyon area and then phoenix and i sp
:returns: None
"""
from corpkit.other import concprinter
if print_it:
print(concprinter(self, kind=kind, n=n, window=window,
columns=columns, return_it=True, metadata=metadata, **kwargs))
else:
return concprinter(self, kind=kind, n=n, window=window,
columns=columns, return_it=True, metadata=metadata, **kwargs)
def calculate(self):
"""Make new Interrogation object from (modified) concordance lines"""
from corpkit.process import interrogation_from_conclines
return interrogation_from_conclines(self)
def shuffle(self, inplace=False):
"""Shuffle concordance lines
:param inplace: Modify current object, or create a new one
:type inplace: `bool`
:Example:
>>> lines[:4].shuffle()
3 01 1-01.txt.conll through the grand canyon area and then phoenix and i sp
1 01 1-01.txt.conll e 're in tucson , then up north to flagstaff , then we we
0 01 1-01.txt.conll we 're in tucson , then up north to flagst
2 01 1-01.txt.conll tucson , then up north to flagstaff , then we went through th
"""
import random
index = list(self.index)
random.shuffle(index)
shuffled = self.ix[index]
shuffled.reset_index()
if inplace:
self = shuffled
else:
return shuffled
def edit(self, *args, **kwargs):
"""
Delete or keep rows by subcorpus or by middle column text.
>>> skipped = conc.edit(skip_entries=r'to_?match')
"""
from corpkit.editor import editor
return editor(self, *args, **kwargs)
def __str__(self):
return self.format(print_it=False)
def __repr__(self):
return self.format(print_it=False)
def less(self, **kwargs):
import pydoc
pydoc.pipepager(self.format(print_it=False, **kwargs), cmd='less -X -R -S')
class Interrodict(OrderedDict):
"""
A class for interrogations that do not fit in a single-indexed DataFrame.
Individual interrogations can be looked up via dict keys, indexes or attributes:
:Example:
>>> out_data['WSJ'].results
>>> out_data.WSJ.results
>>> out_data[3].results
Methods for saving, editing, etc. are similar to
:class:`corpkit.corpus.Interrogation`. Additional methods are available for
collapsing into single (multi-indexed) DataFrames.
This class is now deprecated, in favour of a multiindexed DataFrame.
"""
def __init__(self, data):
from corpkit.process import makesafe
if isinstance(data, list):
data = OrderedDict(data)
# attribute access
for k, v in data.items():
setattr(self, makesafe(k), v)
self.query = None
super(Interrodict, self).__init__(data)
def __getitem__(self, key):
"""allow slicing, indexing"""
from corpkit.process import makesafe
# allow slicing
if isinstance(key, slice):
n = OrderedDict()
for ii in range(*key.indices(len(self))):
n[self.keys()[ii]] = self[ii]
return Interrodict(n)
# allow integer index
elif isinstance(key, int):
return next(v for i, (k, v) in enumerate(self.items()) if i == key)
#return self.subcorpora.__getitem__(makesafe(self.subcorpora[key]))
# dict key access
else:
try:
return OrderedDict.__getitem__(self, key)
except:
from corpkit.process import is_number
if is_number(key):
return self.__getattribute__('c' + key)
def __setitem__(self, key, value):
from corpkit.process import makesafe
setattr(self, makesafe(key), value)
super(Interrodict, self).__setitem__(key, value)
def __repr__(self):
return "<%s instance: %d items>" % (classname(self), len(self))
def __str__(self):
return "<%s instance: %d items>" % (classname(self), len(self))
def edit(self, *args, **kwargs):
"""Edit each value with :func:`~corpkit.interrogation.Interrogation.edit`.
See :func:`~corpkit.interrogation.Interrogation.edit` for possible arguments.
:returns: A :class:`corpkit.interrogation.Interrodict`
"""
from corpkit.editor import editor
return editor(self, *args, **kwargs)
def multiindex(self, indexnames=False):
"""Create a `pandas.MultiIndex` version of results.
:Example:
>>> d = corpora.interrogate({F: 'compound', GL: '^risk'}, show=L)
>>> d.keys()
['CHT', 'WAP', 'WSJ']
>>> d['CHT'].results
.... health cancer security credit flight safety heart
1987 87 25 28 13 7 6 4
1988 72 24 20 15 7 4 9
1989 137 61 23 10 5 5 6
>>> d.multiindex().results
... health cancer credit security downside
Corpus Subcorpus
CHT 1987 87 25 13 28 20
1988 72 24 15 20 12
1989 137 61 10 23 10
WAP 1987 83 44 8 44 10
1988 83 27 13 40 6
1989 95 77 18 25 12
WSJ 1987 52 27 33 4 21
1988 39 11 37 9 22
1989 55 47 43 9 24
:returns: A :class:`corpkit.interrogation.Interrogation`
"""
import pandas as pd
import numpy as np
from itertools import product
from corpkit.interrogation import Interrodict, Interrogation
query = self.query
def trav(dct, parents={}, level=0, colset=set(), results=list(), conc_results=list(), myparname=[]):
"""
Traverse the Interrodict and flatten it out
"""
from collections import defaultdict
columns = False
if hasattr(dct, 'items'):
parents[level] = list(dct.keys())
level += 1
for k, v in list(dct.items()):
pars = myparname + [k]
# the below is only for python3
#pars = [*myparname, k]
trav(v, parents=parents, level=level,
results=results, myparname=pars)
else:
if parents.get(level):
parents[level] |= set(dct.results.index)
else:
parents[level] = set(dct.results.index)
if not dct.results.empty:
if dct.concordance is not None:
conc_results.append(dct.concordance)
for n, ser in dct.results.iterrows():
ser.name = tuple(myparname + [ser.name])
#ser.name = (*myparname, ser.name)
results.append(ser)
for c in list(dct.results.columns):
colset.add(c)
level += 1
return results, conc_results
data, conc = trav(self)
index = [i.name for i in data]
if conc:
conc = pd.concat(conc)
else:
conc = None
# todo: better default for speakers?
if isinstance(self.query, dict) and self.query.get('subcorpora'):
nms = {'names': self.query['subcorpora']}
elif indexnames:
nms = {'names': indexnames}
else:
nms = {}
ix = pd.MultiIndex.from_tuples(index, **nms)
df = pd.DataFrame(data, index=ix)
df = df.fillna(0).astype(int)
df = df[df.sum().sort_values(ascending=False).index]
totals = df.sum(axis=1)
return Interrogation(results=df, totals=totals, query=query, concordance=conc)
def save(self, savename, savedir='saved_interrogations', **kwargs):
"""
Save an interrogation as pickle to `savedir`.
:param savename: A name for the saved file
:type savename: `str`
:param savedir: Relative path to directory in which to save file
:type savedir: `str`
:param print_info: Show/hide stdout
:type print_info: `bool`
:Example:
>>> o = corpus.interrogate(W, 'any')
### create ``saved_interrogations/savename.p``
>>> o.save('savename')
:returns: None
"""
from corpkit.other import save
save(self, savename, savedir=savedir, **kwargs)
def collapse(self, axis='y'):
"""
Collapse Interrodict on an axis or along interrogation name.
:param axis: collapse along x, y or name axis
:type axis: `str`: x/y/n
:Example:
.. code-block:: python
>>> d = corpora.interrogate({F: 'compound', GL: r'^risk'}, show=L)
>>> d.keys()
['CHT', 'WAP', 'WSJ']
>>> d['CHT'].results
.... health cancer security credit flight safety heart
1987 87 25 28 13 7 6 4
1988 72 24 20 15 7 4 9
1989 137 61 23 10 5 5 6
>>> d.collapse().results
... health cancer credit security
CHT 3174 1156 566 697
WAP 2799 933 582 1127
WSJ 1812 680 2009 537
>>> d.collapse(axis='x').results
... 1987 1988 1989
CHT 384 328 464
WAP 389 355 435
WSJ 428 410 473
>>> d.collapse(axis='key').results
... health cancer credit security
1987 282 127 65 93
1988 277 100 70 107
1989 379 253 83 91
:returns: A :class:`corpkit.interrogation.Interrogation`
"""
# join on keys ... probably shouldn't transpose like this though!
if axis.lower()[0] not in ['x', 'y']:
df = self.values()[0].results
others = [i.results.T for i in list(self.values())[1:]]
try:
df = df.T.join(others).T
except ValueError:
for i in self.values()[1:]:
df = df.add(i.results, fill_value=0)
df = df.fillna(0)
else:
out = []
for corpus_name, interro in self.items():
if axis.lower().startswith('y'):
ax = 0
elif axis.lower().startswith('x'):
ax = 1
data = interro.results.sum(axis=ax)
data.name = corpus_name
out.append(data)
# concatenate and transpose
df = pd.concat(out, axis=1).T
# turn NaN to 0, sort
df = df.fillna(0)
#make interrogation object from df
if not axis.lower().startswith('x'):
df = df.edit(sort_by='total', print_info=False)
else:
df = df.edit(print_info=False)
# make sure everything is int, not float
for col in list(df.results.columns):
df.results[col] = df.results[col].astype(int)
return df
def topwords(self, datatype='n', n=10, df=False, sort=True, precision=2):
"""Show top n results in each corpus alongside absolute or relative frequencies.
:param datatype: show abs/rel frequencies, or keyness
:type datatype: `str` (n/k/%)
:param n: number of result to show
:type n: `int`
:param df: return a DataFrame
:type df: `bool`
:param sort: Sort results, or show as is
:type sort: `bool`
:param precision: float precision to show
:type precision: `int`
:Example:
>>> data.topwords(n=5)
TBT % UST % WAP % WSJ %
health 25.70 health 15.25 health 19.64 credit 9.22
security 6.48 cancer 10.85 security 7.91 health 8.31
cancer 6.19 heart 6.31 cancer 6.55 downside 5.46
flight 4.45 breast 4.29 credit 4.08 inflation 3.37
safety 3.49 security 3.94 safety 3.26 cancer 3.12
:returns: None
"""
from corpkit.other import topwords
if df:
return topwords(self, datatype=datatype, n=n, df=True,
sort=sort, precision=precision)
else:
topwords(self, datatype=datatype, n=n,
sort=sort, precision=precision)
def visualise(self, shape='auto', truncate=8, **kwargs):
"""
Attempt to visualise Interrodict by using subplots
:param shape: Layout for the subplots (e.g. `(2, 2)`)
:type shape: tuple
:param truncate: Only process the first `n` items in the
class:`corpkit.interrogation.Interrodict`
:type truncate: `int`
:param kwargs: specifications to pass to :func:`~corpkit.plotter.plotter`
:type kwargs: keyword arguments
"""
import matplotlib.pyplot as plt
if shape == 'auto':
shape = (int(len(self) / 2), 2)
if truncate:
self = self[:truncate]
f, axes = plt.subplots(*shape)
for (name, interro), ax in zip(self.items(), axes.flatten()):
if kwargs.get('name_format'):
name = name_format.format(name)
interro.visualise(name, ax=ax, **kwargs)
return plt
def copy(self):
from corpkit.interrogation import Interrodict
copied = {}
for k, v in self.items():
copied[k] = v
return Interrodict(copied)
def flip(self, truncate=30, transpose=True, repeat=False, *args, **kwargs):
"""
Change the dimensions of :class:`corpkit.interrogation.Interrodict`,
making column names into keys.
:param truncate: Get first `n` columns
:type truncate: `int`/`'all'`
:param transpose: Flip rows and columns:
:type transpose: `bool`
:param repeat: Flip twice, to move columns into key position
:type repeat: `bool`
:param kwargs: Arguments to pass to the
:func:`~corpkit.interrogation.Interrogation.edit`
method
:returns: :class:`corpkit.interrogation.Interrodict`
"""
import pandas as pd
from corpkit.interrogation import Interrodict
# copy interrodict
copied = self.copy()
# first, flip x axis and keys
words = list(copied.collapse().results.columns)
if truncate != 'all':
words = words[:truncate]
data = {}
for word in words:
wordata = []
for k, v in copied.items():
try:
point = v.results[word]
except KeyError:
ser = [0] * len(v.results.index)
point = pd.Series(ser, index=v.results.index)
point.name = k
wordata.append(point)
df = pd.concat(wordata, axis=1)
if transpose:
df = df.T
df = df.edit(*args, **kwargs)
# divide each newspaper separately
data[word] = df
idi = Interrodict(data)
if repeat:
return idi.flip(truncate=truncate, transpose=False, repeat=False)
else:
return idi
def get_totals(self):
"""
Helper function to concatenate all totals
"""
lst = []
# for each interrogation name and data
for k, v in self.items():
# get the totals
tot = v.totals
# name the totals with the corpus name
tot.name = k
# add to a list
lst.append(tot)
# turn the list into a dataframe
return pd.concat(lst, axis=1)
================================================
FILE: corpkit/interrogator.py
================================================
"""
corpkit: Interrogate a parsed corpus
"""
from __future__ import print_function
from corpkit.constants import STRINGTYPE, PYTHON_VERSION, INPUTFUNC
def interrogator(corpus,
search='w',
query='any',
show='w',
exclude=False,
excludemode='any',
searchmode='all',
case_sensitive=False,
save=False,
subcorpora=False,
just_metadata=False,
skip_metadata=False,
preserve_case=False,
lemmatag=False,
files_as_subcorpora=False,
only_unique=False,
only_format_match=True,
multiprocess=False,
spelling=False,
regex_nonword_filter=r'[A-Za-z0-9]',
gramsize=1,
conc=False,
maxconc=9999,
window=None,
no_closed=False,
no_punct=True,
discard=False,
**kwargs):
"""
Interrogate corpus, corpora, subcorpus and file objects.
See corpkit.interrogation.interrogate() for docstring
"""
conc = kwargs.get('do_concordancing', conc)
quiet = kwargs.get('quiet', False)
coref = kwargs.pop('coref', False)
show_conc_metadata = kwargs.pop('show_conc_metadata', False)
fsi_index = kwargs.pop('fsi_index', True)
dep_type = kwargs.pop('dep_type', 'collapsed-ccprocessed-dependencies')
nosubmode = subcorpora is None
#todo: temporary
#if getattr(corpus, '_dlist', False):
# subcorpora = 'file'
# store kwargs and locs
locs = locals().copy()
locs.update(kwargs)
locs.pop('kwargs', None)
import codecs
import signal
import os
from time import localtime, strftime
from collections import Counter
import pandas as pd
from pandas import DataFrame, Series
from corpkit.interrogation import Interrogation, Interrodict
from corpkit.corpus import Datalist, Corpora, Corpus, File, Subcorpus
from corpkit.process import (tregex_engine, get_deps, unsplitter, sanitise_dict,
animator, filtermaker, fix_search,
pat_format, auto_usecols, format_tregex,
make_conc_lines_from_whole_mid)
from corpkit.other import as_regex
from corpkit.dictionaries.process_types import Wordlist
from corpkit.build import check_jdk
from corpkit.conll import pipeline
from corpkit.process import delete_files_and_subcorpora
have_java = check_jdk()
# remake corpus without bad files and folders
corpus, skip_metadata, just_metadata = delete_files_and_subcorpora(corpus, skip_metadata, just_metadata)
# so you can do corpus.interrogate('features/postags/wordclasses/lexicon')
if search == 'features':
search = 'v'
query = 'any'
if search in ['postags', 'wordclasses']:
query = 'any'
preserve_case = True
show = 'p' if search == 'postags' else 'x'
# use tregex if simple because it's faster
# but use dependencies otherwise
search = 't' if not subcorpora and not just_metadata and not skip_metadata and have_java else {'w': 'any'}
if search == 'lexicon':
search = 't' if not subcorpora and not just_metadata and not skip_metadata and have_java else {'w': 'any'}
query = 'any'
show = ['w']
if not kwargs.get('cql') and isinstance(search, STRINGTYPE) and len(search) > 3:
raise ValueError('search argument not recognised.')
import re
if regex_nonword_filter:
is_a_word = re.compile(regex_nonword_filter)
else:
is_a_word = re.compile(r'.*')
from traitlets import TraitError
# convert cql-style queries---pop for the sake of multiprocessing
cql = kwargs.pop('cql', None)
if cql:
from corpkit.cql import to_corpkit
search, exclude = to_corpkit(search)
def signal_handler(signal, _):
"""
Allow pausing and restarting whn not in GUI
"""
if root:
return
import signal
import sys
from time import localtime, strftime
signal.signal(signal.SIGINT, original_sigint)
thetime = strftime("%H:%M:%S", localtime())
INPUTFUNC('\n\n%s: Paused. Press any key to resume, or ctrl+c to quit.\n' % thetime)
time = strftime("%H:%M:%S", localtime())
print('%s: Interrogation resumed.\n' % time)
signal.signal(signal.SIGINT, signal_handler)
def add_adj_for_ngram(show, gramsize):
"""
If there's a gramsize of more than 1, remake show
for ngramming
"""
if gramsize == 1:
return show
out = []
for i in show:
out.append(i)
for i in range(1, gramsize):
for bit in show:
out.append('+%d%s' % (i, bit))
return out
def fix_show_bit(show_bit):
"""
Take a single search/show_bit type, return match
"""
ends = ['w', 'l', 'i', 'n', 'f', 'p', 'x', 's', 'a', 'e', 'c']
starts = ['d', 'g', 'm', 'b', 'h', '+', '-', 'r', 'c']
show_bit = show_bit.lstrip('n')
show_bit = show_bit.lstrip('b')
show_bit = list(show_bit)
if show_bit[-1] not in ends:
show_bit.append('w')
if show_bit[0] not in starts:
show_bit.insert(0, 'm')
return ''.join(show_bit)
def fix_show(show, gramsize):
"""
Lowercase anything in show and turn into list
"""
if isinstance(show, list):
show = [i.lower() for i in show]
elif isinstance(show, STRINGTYPE):
show = show.lower()
show = [show]
show = [fix_show_bit(i) for i in show]
return add_adj_for_ngram(show, gramsize)
def is_multiquery(corpus, search, query, outname):
"""
Determine if multiprocessing is needed/possibe, and
do some retyping if need be as well
"""
is_mul = False
from collections import OrderedDict
from corpkit.dictionaries.process_types import Wordlist
if isinstance(query, Wordlist):
query = list(query)
if subcorpora and multiprocess:
is_mul = 'subcorpora'
if isinstance(subcorpora, (list, tuple)):
is_mul = 'subcorpora'
if isinstance(query, (dict, OrderedDict)):
is_mul = 'namedqueriessingle'
if isinstance(search, dict):
if all(isinstance(i, dict) for i in list(search.values())):
is_mul = 'namedqueriesmultiple'
return is_mul, corpus, search, query
def ispunct(s):
import string
return all(c in string.punctuation for c in s)
def uniquify(conc_lines):
"""get unique concordance lines"""
from collections import OrderedDict
unique_lines = []
checking = []
for index, (_, speakr, start, middle, end) in enumerate(conc_lines):
joined = ' '.join([speakr, start, 'MIDDLEHERE:', middle, ':MIDDLEHERE', end])
if joined not in checking:
unique_lines.append(conc_lines[index])
checking.append(joined)
return unique_lines
def compiler(pattern):
"""
Compile regex or fail gracefully
"""
if hasattr(pattern, 'pattern'):
return pattern
import re
try:
if case_sensitive:
comped = re.compile(pattern)
else:
comped = re.compile(pattern, re.IGNORECASE)
return comped
except:
import traceback
import sys
from time import localtime, strftime
exc_type, exc_value, exc_traceback = sys.exc_info()
lst = traceback.format_exception(exc_type, exc_value, exc_traceback)
error_message = lst[-1]
thetime = strftime("%H:%M:%S", localtime())
print('%s: Query %s' % (thetime, error_message))
if root:
return 'Bad query'
else:
raise ValueError('%s: Query %s' % (thetime, error_message))
def determine_search_func(show):
"""Figure out what search function we're using"""
simple_tregex_mode = False
statsmode = False
tree_to_text = False
search_trees = False
simp_crit = all(not i for i in [kwargs.get('tgrep'),
files_as_subcorpora,
subcorpora,
just_metadata,
skip_metadata])
if search.get('t') and simp_crit:
if have_java:
simple_tregex_mode = True
else:
search_trees = 'tgrep'
optiontext = 'Searching parse trees'
elif datatype == 'conll':
if any(i.endswith('t') for i in search.keys()):
if have_java and not kwargs.get('tgrep'):
search_trees = 'tregex'
else:
search_trees = 'tgrep'
optiontext = 'Searching parse trees'
elif any(i.endswith('v') for i in search.keys()):
# either of these searchers now seems to work
#seacher = get_stats_conll
statsmode = True
optiontext = 'General statistics'
elif any(i.endswith('r') for i in search.keys()):
optiontext = 'Distance from root'
else:
optiontext = 'Querying CONLL data'
return optiontext, simple_tregex_mode, statsmode, tree_to_text, search_trees
def get_tregex_values(show):
"""If using Tregex, set appropriate values
- Check for valid query
- Make 'any' query
- Make list query
"""
translated_option = 't'
if isinstance(search['t'], Wordlist):
search['t'] = list(search['t'])
q = tregex_engine(corpus=False,
query=search.get('t'),
options=['-t'],
check_query=True,
root=root,
preserve_case=preserve_case
)
# so many of these bad fixing loops!
nshow = []
for i in show:
if i == 'm':
nshow.append('w')
else:
nshow.append(i.lstrip('m'))
show = nshow
if q is False:
if root:
return 'Bad query', None
else:
return 'Bad query', None
if isinstance(search['t'], list):
regex = as_regex(search['t'], boundaries='line', case_sensitive=case_sensitive)
else:
regex = ''
# listquery, anyquery, translated_option
treg_dict = {'p': [r'__ < (/%s/ !< __)' % regex, r'__ < (/.?[A-Za-z0-9].?/ !< __)', 'u'],
'pl': [r'__ < (/%s/ !< __)' % regex, r'__ < (/.?[A-Za-z0-9].?/ !< __)', 'u'],
'x': [r'__ < (/%s/ !< __)' % regex, r'__ < (/.?[A-Za-z0-9].?/ !< __)', 'u'],
't': [r'__ < (/%s/ !< __)' % regex, r'__ < (/.?[A-Za-z0-9].?/ !< __)', 'o'],
'w': [r'/%s/ !< __' % regex, r'/.?[A-Za-z0-9].?/ !< __', 't'],
'c': [r'/%s/ !< __' % regex, r'/.?[A-Za-z0-9].?/ !< __', 'C'],
'l': [r'/%s/ !< __' % regex, r'/.?[A-Za-z0-9].?/ !< __', 't'],
'u': [r'/%s/ !< __' % regex, r'/.?[A-Za-z0-9].?/ !< __', 'v']
}
newshow = []
listq, anyq, translated_option = treg_dict.get(show[0][-1].lower())
newshow.append(translated_option)
for item in show[1:]:
_, _, noption = treg_dict.get(item.lower())
newshow.append(noption)
if isinstance(search['t'], list):
search['t'] = listq
elif search['t'] == 'any':
search['t'] = anyq
return search['t'], newshow
def correct_spelling(a_string):
"""correct spelling within a string"""
if not spelling:
return a_string
from corpkit.dictionaries.word_transforms import usa_convert
if spelling.lower() == 'uk':
usa_convert = {v: k for k, v in list(usa_convert.items())}
bits = a_string.split('/')
for index, i in enumerate(bits):
converted = usa_convert.get(i.lower(), i)
if i.islower() or preserve_case is False:
converted = converted.lower()
elif i.isupper() and preserve_case:
converted = converted.upper()
elif i.istitle() and preserve_case:
converted = converted.title()
bits[index] = converted
r = '/'.join(bits)
return r
def make_search_iterable(corpus):
"""determine how to structure the corpus for interrogation"""
# skip file definitions if they are not needed
if getattr(corpus, '_dlist', False):
return {(i.name, i.path): [i] for i in list(corpus.files)}
#return {('Sample', 'Sample'): list(corpus.files)}
if simple_tregex_mode:
if corpus.level in ['s', 'f', 'd']:
return {(corpus.name, corpus.path): False}
else:
return {(os.path.basename(i), os.path.join(corpus.path, i)): False
for i in os.listdir(corpus.path)
if os.path.isdir(os.path.join(corpus.path, i))}
if isinstance(corpus, Datalist):
to_iterate_over = {}
# it could be files or subcorpus objects
if corpus[0].level in ['s', 'd']:
if files_as_subcorpora:
for subc in corpus:
for f in subc.files:
to_iterate_over[(f.name, f.path)] = [f]
else:
for subc in corpus:
to_iterate_over[(subc.name, subc.path)] = subc.files
elif corpus[0].level == 'f':
for f in corpus:
to_iterate_over[(f.name, f.path)] = [f]
elif corpus.singlefile:
to_iterate_over = {(corpus.name, corpus.path): [corpus]}
elif not hasattr(corpus, 'subcorpora') or not corpus.subcorpora:
# just files in a directory
if files_as_subcorpora:
to_iterate_over = {}
for f in corpus.files:
to_iterate_over[(f.name, f.path)] = [f]
else:
to_iterate_over = {(corpus.name, corpus.path): corpus.files}
else:
to_iterate_over = {}
if files_as_subcorpora:
# don't know if possible: has subcorpora but also .files
if hasattr(corpus, 'files') and corpus.files is not None:
for f in corpus.files:
to_iterate_over[(f.name, f.path)] = [f]
# has subcorpora with files in those
elif hasattr(corpus, 'files') and corpus.files is None:
for subc in corpus.subcorpora:
for f in subc.files:
to_iterate_over[(f.name, f.path)] = [f]
else:
if corpus[0].level == 's':
for subcorpus in corpus:
to_iterate_over[(subcorpus.name, subcorpus.path)] = subcorpus.files
elif corpus[0].level == 'f':
for f in corpus:
to_iterate_over[(f.name, f.path)] = [f]
else:
for subcorpus in corpus.subcorpora:
to_iterate_over[(subcorpus.name, subcorpus.path)] = subcorpus.files
return to_iterate_over
def welcome_printer(return_it=False):
"""Print welcome message"""
if no_conc:
message = 'Interrogating'
else:
message = 'Interrogating and concordancing'
if only_conc:
message = 'Concordancing'
if kwargs.get('printstatus', True):
thetime = strftime("%H:%M:%S", localtime())
from corpkit.process import dictformat
sformat = dictformat(search)
welcome = ('\n%s: %s %s ...\n %s\n ' \
'Query: %s\n %s corpus ... \n' % \
(thetime, message, cname, optiontext, sformat, message))
if return_it:
return welcome
else:
print(welcome)
def goodbye_printer(return_it=False, only_conc=False):
"""Say goodbye before exiting"""
if not kwargs.get('printstatus', True):
return
thetime = strftime("%H:%M:%S", localtime())
if only_conc:
finalstring = '\n\n%s: Concordancing finished! %s results.' % (thetime, format(len(conc_df), ','))
else:
finalstring = '\n\n%s: Interrogation finished!' % thetime
if countmode:
finalstring += ' %s matches.' % format(tot, ',')
else:
finalstring += ' %s unique results, %s total occurrences.' % (format(numentries, ','), format(total_total, ','))
if return_it:
return finalstring
else:
print(finalstring)
def get_conc_colnames(corpus,
fsi_index=False,
simple_tregex_mode=False):
fields = []
base = 'c f s l m r'
if simple_tregex_mode:
base = base.replace('f ', '')
if fsi_index and not simple_tregex_mode:
base = 'i ' + base
if PYTHON_VERSION == 2:
base = base.encode('utf-8').split()
else:
base = base.split()
if show_conc_metadata:
from corpkit.build import get_all_metadata_fields
meta = get_all_metadata_fields(corpus.path)
if isinstance(show_conc_metadata, list):
meta = [i for i in meta if i in show_conc_metadata]
#elif show_conc_metadata is True:
# pass
for i in sorted(meta):
if i in ['speaker', 'sent_id', 'parse']:
continue
if PYTHON_VERSION == 2:
base.append(i.encode('utf-8'))
else:
base.append(i)
return base
def make_conc_obj_from_conclines(conc_results, fsi_index=False):
"""
Turn conclines into DataFrame
"""
from corpkit.interrogation import Concordance
#fsi_place = 2 if fsi_index else 0
all_conc_lines = []
for sc_name, resu in sorted(conc_results.items()):
if only_unique:
unique_results = uniquify(resu)
else:
unique_results = resu
#make into series
for lin in unique_results:
#spkr = str(spkr, errors = 'ignore')
#if not subcorpora:
# lin[fsi_place] = lin[fsi_place]
#lin.insert(fsi_place, sc_name)
if len(lin) < len(conc_col_names):
diff = len(conc_col_names) - len(lin)
lin.extend(['none'] * diff)
all_conc_lines.append(Series(lin, index=conc_col_names))
try:
conc_df = pd.concat(all_conc_lines, axis=1).T
except ValueError:
return
if all(x == '' for x in list(conc_df['s'].values)) or \
all(x == 'none' for x in list(conc_df['s'].values)):
conc_df.drop('s', axis=1, inplace=True)
locs['corpus'] = corpus.name
if maxconc:
conc_df = Concordance(conc_df[:maxconc])
else:
conc_df = Concordance(conc_df)
try:
conc_df.query = locs
except AttributeError:
pass
return conc_df
def lowercase_result(res):
"""
Take any result and do spelling/lowercasing if need be
todo: remove lowercase and change name
"""
if not res or statsmode:
return res
# this is likely broken, but spelling in interrogate is deprecated anyway
if spelling:
res = [correct_spelling(r) for r in res]
return res
def postprocess_concline(line, fsi_index=False, conc=False):
# todo: are these right?
if not conc:
return line
subc, star, en = 0, 2, 5
if fsi_index:
subc, star, en = 2, 4, 7
if not preserve_case:
line[star:en] = [str(x).lower() for x in line[star:en]]
if spelling:
line[star:en] = [correct_spelling(str(b)) for b in line[star:en]]
return line
def make_progress_bar():
"""generate a progress bar"""
if simple_tregex_mode:
total_files = len(list(to_iterate_over.keys()))
else:
total_files = sum(len(x) for x in list(to_iterate_over.values()))
par_args = {'printstatus': kwargs.get('printstatus', True),
'root': root,
'note': note,
'quiet': quiet,
'length': total_files,
'startnum': kwargs.get('startnum'),
'denom': kwargs.get('denominator', 1)}
term = None
if kwargs.get('paralleling', None) is not None:
from blessings import Terminal
term = Terminal()
par_args['terminal'] = term
par_args['linenum'] = kwargs.get('paralleling')
if in_notebook:
par_args['welcome_message'] = welcome_message
outn = kwargs.get('outname', '')
if outn:
outn = getattr(outn, 'name', outn)
outn = outn + ': '
tstr = '%s%d/%d' % (outn, current_iter, total_files)
p = animator(None, None, init=True, tot_string=tstr, **par_args)
tstr = '%s%d/%d' % (outn, current_iter + 1, total_files)
animator(p, current_iter, tstr, **par_args)
return p, outn, total_files, par_args
# find out if using gui
root = kwargs.get('root')
note = kwargs.get('note')
language_model = kwargs.get('language_model')
# set up pause method
original_sigint = signal.getsignal(signal.SIGINT)
if kwargs.get('paralleling', None) is None:
if not root:
original_sigint = signal.getsignal(signal.SIGINT)
signal.signal(signal.SIGINT, signal_handler)
# find out about concordancing
only_conc = False
no_conc = False
if conc is False:
no_conc = True
if isinstance(conc, str) and conc.lower() == 'only':
only_conc = True
no_conc = False
numconc = 0
# wipe non essential class attributes to not bloat query attrib
if isinstance(corpus, Corpus):
import copy
corpus = copy.copy(corpus)
for k, v in corpus.__dict__.items():
if isinstance(v, (Interrogation, Interrodict)):
corpus.__dict__.pop(k, None)
# convert path to corpus object
if not isinstance(corpus, (Corpus, Corpora, Subcorpus, File, Datalist)):
if not multiprocess and not kwargs.get('outname'):
corpus = Corpus(corpus, print_info=False)
# figure out how the user has entered the query and show, and normalise
from corpkit.process import searchfixer
search = searchfixer(search, query)
show = fix_show(show, gramsize)
locs['show'] = show
# instantiate lemmatiser if need be
lem_instance = False
if any(i.endswith('l') for i in show) and isinstance(search, dict) and search.get('t'):
from nltk.stem.wordnet import WordNetLemmatizer
lem_instance = WordNetLemmatizer()
# do multiprocessing if need be
im, corpus, search, query, = is_multiquery(corpus, search, query,
kwargs.get('outname', False))
# figure out if we can multiprocess the corpus
if hasattr(corpus, '__iter__') and im:
corpus = Corpus(corpus, print_info=False)
if hasattr(corpus, '__iter__') and not im:
im = 'datalist'
if isinstance(corpus, Corpora):
im = 'multiplecorpora'
# split corpus if the user wants multiprocessing but no other iterable
if not im and multiprocess:
im = 'datalist'
if getattr(corpus, 'subcorpora', False):
corpus = corpus[:]
else:
corpus = corpus.files
search = fix_search(search, case_sensitive=case_sensitive, root=root)
exclude = fix_search(exclude, case_sensitive=case_sensitive, root=root)
# if it's already been through pmultiquery, don't do it again
locs['search'] = search
locs['exclude'] = exclude
locs['query'] = query
locs['corpus'] = corpus
locs['multiprocess'] = multiprocess
locs['print_info'] = kwargs.get('printstatus', True)
locs['multiple'] = im
locs['subcorpora'] = subcorpora
locs['nosubmode'] = nosubmode
# send to multiprocess function
if im:
signal.signal(signal.SIGINT, original_sigint)
from corpkit.multiprocess import pmultiquery
return pmultiquery(**locs)
# get corpus metadata
cname = corpus.name
if isinstance(save, STRINGTYPE):
savename = corpus.name + '-' + save
if save is True:
raise ValueError('save must be str, not bool.')
datatype = getattr(corpus, 'datatype', 'conll')
singlefile = getattr(corpus, 'singlefile', False)
level = getattr(corpus, 'level', 'c')
# store all results in here
from collections import defaultdict
results = defaultdict(Counter)
count_results = defaultdict(list)
conc_results = defaultdict(list)
# check if just counting, turn off conc if so
countmode = 'c' in show or 'mc' in show
if countmode:
no_conc = True
only_conc = False
# where we are at in interrogation
current_iter = 0
# multiprocessing progress bar
denom = kwargs.get('denominator', 1)
startnum = kwargs.get('startnum', 0)
# Determine the search function to be used #
optiontext, simple_tregex_mode, statsmode, tree_to_text, search_trees = determine_search_func(show)
# no conc for statsmode
if statsmode:
no_conc = True
only_conc = False
conc = False
# Set some Tregex-related values
translated_option = False
if search.get('t'):
query, translated_option = get_tregex_values(show)
if query == 'Bad query' and translated_option is None:
if root:
return 'Bad query'
else:
return
# more tregex options
if tree_to_text:
treg_q = r'ROOT << __'
op = ['-o', '-t', '-w', '-f']
elif simple_tregex_mode:
treg_q = search['t']
op = ['-%s' % i for i in translated_option] + ['-o', '-f']
# make iterable object for corpus interrogation
to_iterate_over = make_search_iterable(corpus)
try:
nam = get_ipython().__class__.__name__
if nam == 'ZMQInteractiveShell':
in_notebook = True
else:
in_notebook = False
except TraitError:
in_notebook = False
except ImportError:
in_notebook = False
# caused in newest ipython
except AttributeError:
in_notebook = False
except NameError:
in_notebook = False
lemtag = False
if search.get('t'):
from corpkit.process import gettag
lemtag = gettag(search.get('t'), lemmatag)
usecols = auto_usecols(search, exclude, show, kwargs.pop('usecols', None), coref=coref)
# print welcome message
welcome_message = welcome_printer(return_it=in_notebook)
# create a progress bar
p, outn, total_files, par_args = make_progress_bar()
if conc:
conc_col_names = get_conc_colnames(corpus,
fsi_index=fsi_index,
simple_tregex_mode=False)
# Iterate over data, doing interrogations
for (subcorpus_name, subcorpus_path), files in sorted(to_iterate_over.items()):
if nosubmode:
subcorpus_name = 'Total'
# results for subcorpus go here
#conc_results[subcorpus_name] = []
#count_results[subcorpus_name] = []
#results[subcorpus_name] = Counter()
# get either everything (tree_to_text) or the search['t'] query
if tree_to_text or simple_tregex_mode:
result = tregex_engine(query=treg_q,
options=op,
corpus=subcorpus_path,
root=root,
preserve_case=preserve_case)
# format search results with slashes etc
if not countmode and not tree_to_text:
result = format_tregex(result, show, translated_option=translated_option,
exclude=exclude, excludemode=excludemode, lemtag=lemtag,
lem_instance=lem_instance, countmode=countmode, speaker_data=False)
# if concordancing, do the query again with 'whole' sent and fname
if not no_conc:
ops = ['-w'] + op
#ops = [i for i in ops if i != '-n']
whole_result = tregex_engine(query=search['t'],
options=ops,
corpus=subcorpus_path,
root=root,
preserve_case=preserve_case
)
# format match too depending on option
if not only_format_match:
wholeresult = format_tregex(whole_result, show, translated_option=translated_option,
exclude=exclude, excludemode=excludemode, lemtag=lemtag,
lem_instance=lem_instance, countmode=countmode, speaker_data=False, whole=True)
# make conc lines from conc results
conc_result = make_conc_lines_from_whole_mid(whole_result, result, show=show)
for lin in conc_result:
if maxconc is False or numconc < maxconc:
conc_results[subcorpus_name].append(lin)
numconc += 1
# add matches to ongoing counts
if countmode:
count_results[subcorpus_name] += [result]
else:
if result:
results[subcorpus_name] += Counter([i[-1] for i in result])
else:
results[subcorpus_name] += Counter()
# update progress bar
current_iter += 1
tstr = '%s%d/%d' % (outn, current_iter + 1, total_files)
animator(p, current_iter, tstr, **par_args)
continue
# todo: move this
kwargs.pop('by_metadata', None)
# conll querying goes by file, not subcorpus
for f in files:
slow_treg_speaker_guess = kwargs.get('outname', '') if kwargs.get('multispeaker') else ''
filepath, corefs = f.path, coref
res, conc_res = pipeline(filepath, search=search, show=show,
dep_type=dep_type,
exclude=exclude,
excludemode=excludemode,
searchmode=searchmode,
case_sensitive=case_sensitive,
conc=conc,
only_format_match=only_format_match,
speaker=slow_treg_speaker_guess,
gramsize=gramsize,
no_punct=no_punct,
no_closed=no_closed,
window=window,
filename=f.path,
coref=corefs,
countmode=countmode,
maxconc=(maxconc, numconc),
is_a_word=is_a_word,
by_metadata=subcorpora,
show_conc_metadata=show_conc_metadata,
just_metadata=just_metadata,
skip_metadata=skip_metadata,
fsi_index=fsi_index,
category=subcorpus_name,
translated_option=translated_option,
statsmode=statsmode,
preserve_case=preserve_case,
usecols=usecols,
search_trees=search_trees,
lem_instance=lem_instance,
lemtag=lemtag,
**kwargs)
if res is None and conc_res is None:
current_iter += 1
tstr = '%s%d/%d' % (outn, current_iter + 1, total_files)
animator(p, current_iter, tstr, **par_args)
continue
# deal with symbolic structures---that is, rather than adding
# results by subcorpora, add them by metadata value
# todo: sorting?
if subcorpora:
for (k, v), concl in zip(res.items(), conc_res.values()):
v = lowercase_result(v)
results[k] += Counter(v)
for line in concl:
if maxconc is False or numconc < maxconc:
line = postprocess_concline(line,
fsi_index=fsi_index, conc=conc)
conc_results[k].append(line)
numconc += 1
current_iter += 1
tstr = '%s%d/%d' % (outn, current_iter + 1, total_files)
animator(p, current_iter, tstr, **par_args)
continue
# garbage collection needed?
sents = None
corefs = None
if res == 'Bad query':
return 'Bad query'
if countmode:
count_results[subcorpus_name] += [res]
else:
# add filename and do lowercasing for conc
if not no_conc:
for line in conc_res:
line = postprocess_concline(line,
fsi_index=fsi_index, conc=conc)
if maxconc is False or numconc < maxconc:
conc_results[subcorpus_name].append(line)
numconc += 1
# do lowercasing and spelling
if not only_conc:
res = lowercase_result(res)
# discard removes low results, helping with
# curse of dimensionality
countres = Counter(res)
if isinstance(discard, float):
countres.most_common()
nkeep = len(counter) - len(counter) * discard
countres = Counter({k: v for i, (k, v) in enumerate(countres.most_common()) if i <= nkeep})
elif isinstance(discard, int):
countres = Counter({k: v for k, v in countres.most_common() if v >= discard})
results[subcorpus_name] += countres
#else:
#results[subcorpus_name] += res
# update progress bar
current_iter += 1
tstr = '%s%d/%d' % (outn, current_iter + 1, total_files)
animator(p, current_iter, tstr, **par_args)
# Get concordances into DataFrame, return if just conc
if not no_conc:
# fail on this line with typeerror if no results?
conc_df = make_conc_obj_from_conclines(conc_results, fsi_index=fsi_index)
if only_conc and conc_df is None:
return
elif only_conc:
locs = sanitise_dict(locs)
try:
conc_df.query = locs
except AttributeError:
return conc_df
if save and not kwargs.get('outname'):
if conc_df is not None:
conc_df.save(savename)
goodbye_printer(only_conc=True)
if not root:
signal.signal(signal.SIGINT, original_sigint)
return conc_df
else:
conc_df = None
# Get interrogation into DataFrame
if countmode:
df = Series({k: sum(v) for k, v in sorted(count_results.items())})
tot = df.sum()
else:
the_big_dict = {}
unique_results = set(item for sublist in list(results.values()) for item in sublist)
sortres = sorted(results.items(), key=lambda x: x[0])
for word in unique_results:
the_big_dict[word] = [subcorp_result[word] for _, subcorp_result in sortres]
# turn master dict into dataframe, sorted
df = DataFrame(the_big_dict, index=sorted(results.keys()))
# for ngrams, remove hapaxes
#if show_ngram or show_collocates:
# if not language_model:
# df = df[[i for i in list(df.columns) if df[i].sum() > 1]]
numentries = len(df.columns)
tot = df.sum(axis=1)
total_total = df.sum().sum()
# turn df into series if all conditions met
conds = [countmode,
files_as_subcorpora,
subcorpora,
kwargs.get('df1_always_df', False)]
anyxs = [level == 's',
singlefile,
nosubmode]
if all(not x for x in conds) and any(x for x in anyxs):
df = Series(df.ix[0])
df.sort_values(ascending=False, inplace=True)
tot = df.sum()
numentries = len(df.index)
total_total = tot
# turn data into DF for GUI if need be
if isinstance(df, Series) and kwargs.get('df1_always_df', False):
total_total = df.sum()
df = DataFrame(df)
tot = Series(total_total, index=['Total'])
# if we're doing files as subcorpora, we can remove the extension etc
if isinstance(df, DataFrame) and files_as_subcorpora:
df.index = df.index.str.replace(r'(?:-[0-9][0-9][0-9]|)\.txt\.conll.*', '')
df = df.groupby(level=0,sort=True).sum()
if conc_df is not None and conc_df is not False:
# removed 'f' from here for now
for col in ['c']:
for pat in ['.txt', '.conll', '.conllu']:
conc_df[col] = conc_df[col].str.replace(pat, '')
conc_df[col] = conc_df[col].str.replace(r'-[0-9][0-9][0-9]$', '')
#df.index = df.index.str.replace('w', 'this')
# make interrogation object
locs['corpus'] = corpus.path
locs = sanitise_dict(locs)
if nosubmode and isinstance(df, pd.DataFrame):
df = df.sum()
interro = Interrogation(results=df, totals=tot, query=locs, concordance=conc_df)
# save it
if save and not kwargs.get('outname'):
print('\n')
interro.save(savename)
goodbye = goodbye_printer(return_it=in_notebook)
if in_notebook:
try:
p.children[2].value = goodbye.replace('\n', '')
except AttributeError:
pass
if not root:
signal.signal(signal.SIGINT, original_sigint)
return interro
================================================
FILE: corpkit/keys.py
================================================
"""corpkit: simple keyworder"""
from __future__ import print_function
from corpkit.constants import STRINGTYPE, PYTHON_VERSION
def keywords(target_corpus,
reference_corpus='bnc.p',
threshold=False,
selfdrop=True,
calc_all=True,
measure='ll',
sort_by=False,
print_info=False,
**kwargs):
"""Feed this function some target_corpus and get its keywords"""
from pandas import DataFrame, Series
from collections import Counter
from corpkit.interrogation import Interrogation
def data_to_dict(target_corpus):
"""turn Series/DataFrame into Counter"""
if isinstance(target_corpus, Interrogation):
if hasattr(target_corpus, 'results'):
target_corpus = target_corpus.results
else:
target_corpus = target_corpus.totals
if isinstance(target_corpus, Series):
return Counter(target_corpus.to_dict())
elif isinstance(target_corpus, DataFrame):
return Counter(target_corpus.sum().to_dict())
else:
return Counter(target_corpus)
def log_likelihood_measure(word_in_ref, word_in_target, ref_sum, target_sum):
"""calc log likelihood keyness"""
import math
neg = (word_in_target / float(target_sum)) < (word_in_ref / float(ref_sum))
E1 = float(ref_sum)*((float(word_in_ref)+float(word_in_target)) / \
(float(ref_sum)+float(target_sum)))
E2 = float(target_sum)*((float(word_in_ref)+float(word_in_target)) / \
(float(ref_sum)+float(target_sum)))
if word_in_ref == 0:
logaE1 = 0
else:
logaE1 = math.log(word_in_ref/E1)
if word_in_target == 0:
logaE2 = 0
else:
logaE2 = math.log(word_in_target/E2)
score = float(2* ((word_in_ref*logaE1)+(word_in_target*logaE2)))
if neg:
score = -score
return score
def perc_diff_measure(word_in_ref, word_in_target, ref_sum, target_sum):
"""calculate using perc diff measure"""
norm_target = float(word_in_target) / target_sum
norm_ref = float(word_in_ref) / ref_sum
# Gabrielatos and Marchi (2012) do it this way!
if norm_ref == 0:
norm_ref = 0.00000000000000000000000001
return ((norm_target - norm_ref) * 100.0) / norm_ref
def set_threshold(threshold):
"""define a threshold"""
if threshold is False:
return 0
if threshold is True:
threshold = 'm'
if isinstance(threshold, STRINGTYPE):
if threshold.startswith('l'):
denominator = 800
if threshold.startswith('m'):
denominator = 400
if threshold.startswith('h'):
denominator = 100
totwords = sum(loaded_ref_corpus.values())
return float(totwords) / float(denominator)
else:
return threshold
def calc_keywords(target_corpus, reference_corpus):
"""
get keywords in target corpus compared to reference corpus
this should probably become some kind of row-wise df.apply method
"""
# get total num words in ref corpus
key_scores = {}
ref_sum = sum(reference_corpus.values())
if isinstance(target_corpus, dict):
target_sum = sum(target_corpus.values())
if isinstance(target_corpus, Series):
target_sum = target_corpus.sum()
# get words to calculate
if calc_all:
wordlist = list(set(list(target_corpus.keys()) + list(reference_corpus.keys())))
else:
wordlist = list(target_corpus.keys())
wordlist = [(word, reference_corpus[word]) for word in wordlist]
for w, s in wordlist:
if s < threshold:
global skipped
skipped += 1
continue
word_in_ref = reference_corpus.get(w, 0)
word_in_target = target_corpus.get(w, 0)
if kwargs.get('only_words_in_both_corpora'):
if word_in_ref == 0:
continue
score = measure_func(word_in_ref, word_in_target, ref_sum, target_sum)
key_scores[w] = score
return key_scores
# load string ref corp
if isinstance(reference_corpus, STRINGTYPE):
from corpkit.other import load
ldr = kwargs.get('loaddir', 'dictionaries')
reference_corpus = load(reference_corpus, loaddir=ldr)
# if a corpus interrogation, assume we want results
if isinstance(target_corpus, Interrogation):
reference_corpus = reference_corpus.results
# turn data into dict
loaded_ref_corpus = data_to_dict(reference_corpus)
df = target_corpus
index_names = list(df.index)
results = {}
threshold = set_threshold(threshold)
global skipped
skipped = 0
# figure out which measure we're using
if measure == 'll':
measure_func = log_likelihood_measure
elif measure == 'pd':
measure_func = perc_diff_measure
else:
raise NotImplementedError("Only 'll' and 'pd' measures defined so far.")
for subcorpus in index_names:
if selfdrop:
ref_calc = loaded_ref_corpus - Counter(reference_corpus.ix[subcorpus].to_dict())
else:
ref_calc = loaded_ref_corpus
results[subcorpus] = calc_keywords(df.ix[subcorpus], ref_calc)
if print_info:
print('Skipped %d entries under threshold (%d)\n' % (skipped, threshold))
df = DataFrame(results).T
df.sort_index()
if not sort_by:
df = df[list(df.sum().sort_values(ascending=False).index)]
return df
================================================
FILE: corpkit/layouts.py
================================================
"""
This file contains a dictionary of matplotlib subplot layouts
They are used during multiplotting. Sooner or later they should be accessible
with something other than integer keys, as this is hard to comprehend...
"""
layouts = {1: [(1, 2, 1),
(1, 2, 2)],
2: [(1, 2, 1),
(1, 3, 2),
(1, 3, 3)],
3: [(1, 2, 1),
(3, 2, 2),
(3, 2, 4),
(3, 2, 6)],
3.5: [(2, 1, 1),
(2, 3, 4),
(2, 3, 5),
(2, 3, 6)],
4: [(1, 2, 1),
(2, 4, 3),
(2, 4, 4),
(2, 4, 7),
(2, 4, 8)],
5: [(3, 3, (1, 5)),
(3, 3, 3),
(3, 3, 6),
(3, 3, 7),
(3, 3, 8),
(3, 3, 9)],
6: [(1, 2, 1),
(3, 4, 3),
(3, 4, 4),
(3, 4, 7),
(3, 4, 8),
(3, 4, 11),
(3, 4, 12)],
6.5: [(4, 2, (6, 8)),
(4, 2, 1),
(4, 2, 2),
(4, 2, 3),
(4, 2, 4),
(4, 2, 5),
(4, 2, 7)],
9: [(1, 5, (1, 2)),
(3, 5, 3),
(3, 5, 4),
(3, 5, 5),
(3, 5, 8),
(3, 5, 9),
(3, 5, 10),
(3, 5, 13),
(3, 5, 14),
(3, 5, 15)],
9.5: [(1, 6, (1, 3)),
(3, 6, 4),
(3, 6, 5),
(3, 6, 6),
(3, 6, 10),
(3, 6, 11),
(3, 6, 12),
(3, 6, 16),
(3, 6, 17),
(3, 6, 18)],
12: [(4, 1, 1),
(4, 4, 5),
(4, 4, 6),
(4, 4, 7),
(4, 4, 8),
(4, 4, 9),
(4, 4, 10),
(4, 4, 11),
(4, 4, 12),
(4, 4, 13),
(4, 4, 14),
(4, 4, 15),
(4, 4, 16)],
12.5: [(4, 4, (1, 6)),
(4, 4, 3),
(4, 4, 4),
(4, 4, 7),
(4, 4, 8),
(4, 4, 9),
(4, 4, 10),
(4, 4, 11),
(4, 4, 12),
(4, 4, 13),
(4, 4, 14),
(4, 4, 15),
(4, 4, 16)],
14: [(6, 3, (1, 5)),
(6, 3, 3),
(6, 3, 6),
(6, 3, 7),
(6, 3, 8),
(6, 3, 9),
(6, 3, 10),
(6, 3, 11),
(6, 3, 12),
(6, 3, 13),
(6, 3, 14),
(6, 3, 15),
(6, 3, 16),
(6, 3, 17),
(6, 3, 18)]
}
================================================
FILE: corpkit/lazyprop.py
================================================
# this file duplicates lazyprop many times because i can't work out how to
# automatically add the right docstring...
def lazyprop(fn):
"""Lazy loading class attributes, with hard-coded docstrings for now..."""
attr_name = '_lazy_' + fn.__name__
if fn.__name__ == 'subcorpora':
@property
def _lazyprop(self):
"""A list-like object containing a corpus' subcorpora.
:Example:
>>> corpus.subcorpora
"""
if not hasattr(self, attr_name):
setattr(self, attr_name, fn(self))
return getattr(self, attr_name)
elif fn.__name__ == 'files':
@property
def _lazyprop(self):
"""A list-like object containing the files in a folder.
:Example:
>>> corpus.subcorpora[0].files
"""
if not hasattr(self, attr_name):
setattr(self, attr_name, fn(self))
return getattr(self, attr_name)
elif fn.__name__ == 'features':
@property
def _lazyprop(self):
"""
Generate and show basic stats from the corpus, including number of sentences, clauses, process types, etc.
:Example:
>>> corpus.features
.. Characters Tokens Words Closed class words Open class words Clauses
01 26873 8513 7308 4809 3704 2212
02 25844 7933 6920 4313 3620 2270
03 18376 5683 4877 3067 2616 1640
04 20066 6354 5366 3587 2767 1775
"""
if not hasattr(self, attr_name):
setattr(self, attr_name, fn(self))
return getattr(self, attr_name)
elif fn.__name__ == 'document':
@property
def _lazyprop(self):
"""Return a DataFrame representation of a parsed file"""
if not hasattr(self, attr_name):
setattr(self, attr_name, fn(self))
return getattr(self, attr_name)
elif fn.__name__ == 'relational':
@property
def _lazyprop(self):
"""List of relational processes"""
if not hasattr(self, attr_name):
setattr(self, attr_name, fn(self))
return getattr(self, attr_name)
elif fn.__name__ == 'verbal':
@property
def _lazyprop(self):
"""List of verbal processes"""
if not hasattr(self, attr_name):
setattr(self, attr_name, fn(self))
return getattr(self, attr_name)
elif fn.__name__ == 'mental':
@property
def _lazyprop(self):
"""List of mental processes"""
if not hasattr(self, attr_name):
setattr(self, attr_name, fn(self))
return getattr(self, attr_name)
else:
@property
def _lazyprop(self):
"""Lazy-loaded data.
"""
if not hasattr(self, attr_name):
setattr(self, attr_name, fn(self))
return getattr(self, attr_name)
return _lazyprop
================================================
FILE: corpkit/make.py
================================================
from __future__ import print_function
from corpkit.constants import INPUTFUNC, PYTHON_VERSION
def make_corpus(unparsed_corpus_path,
project_path=None,
parse=True,
tokenise=False,
postag=False,
lemmatise=False,
corenlppath=False,
nltk_data_path=False,
operations=False,
speaker_segmentation=False,
root=False,
multiprocess=False,
split_texts=400,
outname=False,
metadata=False,
restart=False,
coref=True,
lang='en',
**kwargs):
"""
Create a parsed version of unparsed_corpus using CoreNLP or NLTK's tokeniser
:param unparsed_corpus_path: path to corpus containing text files,
or subdirs containing text files
:type unparsed_corpus_path: str
:param project_path: path to corpkit project
:type project_path: str
:param parse: Do parsing?
:type parse: bool
:param tokenise: Do tokenising?
:type tokenise: bool
:param corenlppath: folder containing corenlp jar files
:type corenlppath: str
:param nltk_data_path: path to tokeniser if tokenising
:type nltk_data_path: str
:param operations: which kinds of annotations to do
:type operations: str
:param speaker_segmentation: add speaker name to parser output if your corpus is script-like:
:type speaker_segmentation: bool
:returns: list of paths to created corpora
"""
import sys
import os
from os.path import join, isfile, isdir, basename, splitext, exists
import shutil
import codecs
from corpkit.build import folderise, can_folderise
from corpkit.process import saferead, make_dotfile
from corpkit.build import (get_corpus_filepaths,
check_jdk,
rename_all_files,
make_no_id_corpus, parse_corpus, move_parsed_files)
from corpkit.constants import REPEAT_PARSE_ATTEMPTS, OPENER, PYTHON_VERSION
if parse is True and tokenise is True:
raise ValueError('Select either parse or tokenise, not both.')
if project_path is None:
project_path = os.getcwd()
fileparse = isfile(unparsed_corpus_path)
if fileparse:
copier = shutil.copyfile
else:
copier = shutil.copytree
# raise error if no tokeniser
#if tokenise:
# if outname:
# newpath = os.path.join(os.path.dirname(unparsed_corpus_path), outname)
# else:
# newpath = unparsed_corpus_path + '-tokenised'
# if isdir(newpath):
# shutil.rmtree(newpath)
# import nltk
# if nltk_data_path:
# if nltk_data_path not in nltk.data.path:
# nltk.data.path.append(nltk_data_path)
# try:
# from nltk import word_tokenize as tokenise
# except:
# print('\nTokeniser not found. Pass in its path as keyword arg "nltk_data_path = ".\n')
# raise
if sys.platform == "darwin":
if not check_jdk():
print("Get the latest Java from http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html")
cop_head = kwargs.get('copula_head', True)
note = kwargs.get('note', False)
stdout = kwargs.get('stdout', False)
# make absolute path to corpus
unparsed_corpus_path = os.path.abspath(unparsed_corpus_path)
# move it into project
if fileparse:
datapath = project_path
else:
datapath = join(project_path, 'data')
if isdir(datapath):
newp = join(datapath, basename(unparsed_corpus_path))
else:
os.makedirs(datapath)
if fileparse:
noext = splitext(unparsed_corpus_path)[0]
newp = join(datapath, basename(noext))
else:
newp = join(datapath, basename(unparsed_corpus_path))
if exists(newp):
pass
else:
copier(unparsed_corpus_path, newp)
unparsed_corpus_path = newp
# ask to folderise?
check_do_folderise = False
do_folderise = kwargs.get('folderise', None)
if can_folderise(unparsed_corpus_path):
import __main__ as main
if do_folderise is None and not hasattr(main, '__file__'):
check_do_folderise = INPUTFUNC("Your corpus has multiple files, but no subcorpora. "\
"Would you like each file to be treated as a subcorpus? (y/n) ")
check_do_folderise = check_do_folderise.lower().startswith('y')
if check_do_folderise or do_folderise:
folderise(unparsed_corpus_path)
# this is bad!
if join('data', 'data') in unparsed_corpus_path:
unparsed_corpus_path = unparsed_corpus_path.replace(join('data', 'data'), 'data')
def chunks(l, n):
for i in range(0, len(l), n):
yield l[i:i+n]
if (parse or tokenise) and coref:
# this loop shortens files containing more than 500 lines,
# for corenlp memory's sake. maybe user needs a warning or
# something in case s/he is doing coref?
# try block because it isn't necessarily essential that this works.
# just delete generated files if it fails part way
split_f_names = []
try:
for rootx, dirs, fs in os.walk(unparsed_corpus_path):
for f in fs:
# skip hidden files
if f.startswith('.'):
continue
fp = join(rootx, f)
data, enc = saferead(fp)
data = data.splitlines()
if len(data) > split_texts:
chk = chunks(data, split_texts)
for index, c in enumerate(chk):
newname = fp.replace('.txt', '-%s.txt' % str(index + 1).zfill(3))
split_f_names.append(newname)
data = '\n'.join(c) + '\n'
# does this work?
with OPENER(newname, 'w') as fo:
if PYTHON_VERSION == 2:
data = data.encode('utf-8', errors='ignore')
fo.write(data)
os.remove(fp)
else:
pass
except (KeyboardInterrupt, SystemExit):
raise
except:
for f in split_f_names:
os.remove(f)
pass
if outname:
newpath = os.path.join(os.path.dirname(unparsed_corpus_path), outname)
else:
newpath = unparsed_corpus_path + '-parsed'
if restart:
restart = newpath
if speaker_segmentation or metadata:
if isdir(newpath) and not root:
import __main__ as main
if not restart and not hasattr(main, '__file__'):
ans = INPUTFUNC('\n Path exists: %s. Do you want to overwrite? (y/n)\n' %newpath)
if ans.lower().strip()[0] == 'y':
shutil.rmtree(newpath)
else:
return
elif isdir(newpath) and root:
raise OSError('Path exists: %s' % newpath)
if speaker_segmentation:
print('Processing speaker IDs ...')
make_no_id_corpus(unparsed_corpus_path,
unparsed_corpus_path + '-stripped',
metadata_mode=metadata,
speaker_segmentation=speaker_segmentation)
to_parse = unparsed_corpus_path + '-stripped'
else:
to_parse = unparsed_corpus_path
if not fileparse:
print('Making list of files ... ')
# now we enter a while loop while not all files are parsed
#todo: these file lists are not necessary when not parsing
if outname:
newparsed = os.path.join(project_path, 'data', outname)
else:
basecp = os.path.basename(to_parse)
newparsed = os.path.join(project_path, 'data', '%s-parsed' % basecp)
newparsed = newparsed.replace('-stripped-', '-')
while REPEAT_PARSE_ATTEMPTS:
if not parse:
break
if not fileparse:
pp = os.path.dirname(unparsed_corpus_path)
# if restart mode, the filepaths won't include those already parsed...
filelist, fs = get_corpus_filepaths(projpath=pp,
corpuspath=to_parse,
restart=restart,
out_ext=kwargs.get('output_format'))
else:
filelist = unparsed_corpus_path.replace('.txt', '-filelist.txt')
with open(filelist, 'w') as fo:
fo.write(unparsed_corpus_path + '\n')
# split up filelists
if multiprocess is not False:
if multiprocess is True:
import multiprocessing
multiprocess = multiprocessing.cpu_count()
from joblib import Parallel, delayed
# split old file into n parts
if os.path.isfile(filelist):
data, enc = saferead(filelist)
fs = [i for i in data.splitlines() if i]
else:
fs = []
# if there's nothing here, we're done
if not fs:
# double dutch
REPEAT_PARSE_ATTEMPTS = 0
break
if len(fs) <= multiprocess:
multiprocess = len(fs)
# make generator with list of lists
divl = int(len(fs) / multiprocess)
filelists = []
if not divl:
filelists.append(filelist)
else:
fgen = chunks(fs, divl)
# for each list, make new file
from corpkit.constants import OPENER
for index, flist in enumerate(fgen):
as_str = '\n'.join(flist) + '\n'
new_fpath = filelist.replace('.txt', '-%s.txt' % str(index).zfill(4))
filelists.append(new_fpath)
with OPENER(new_fpath, 'w', encoding='utf-8') as fo:
try:
fo.write(as_str.encode('utf-8'))
except TypeError:
fo.write(as_str)
try:
os.remove(filelist)
except:
pass
ds = []
for listpath in filelists:
d = {'proj_path': project_path,
'corpuspath': to_parse,
'filelist': listpath,
'corenlppath': corenlppath,
'nltk_data_path': nltk_data_path,
'operations': operations,
'copula_head': cop_head,
'multiprocessing': True,
'root': root,
'note': note,
'stdout': stdout,
'outname': outname,
'coref': coref,
'output_format': kwargs.get('output_format', 'xml')
}
ds.append(d)
res = Parallel(n_jobs=multiprocess)(delayed(parse_corpus)(**x) for x in ds)
if len(res) > 0:
newparsed = res[0]
else:
return
if all(r is False for r in res):
return
for i in filelists:
try:
os.remove(i)
except:
pass
else:
newparsed = parse_corpus(proj_path=project_path,
corpuspath=to_parse,
filelist=filelist,
corenlppath=corenlppath,
nltk_data_path=nltk_data_path,
operations=operations,
copula_head=cop_head,
root=root,
note=note,
stdout=stdout,
fileparse=fileparse,
outname=outname,
output_format=kwargs.get('output_format', 'conll'))
if not restart:
REPEAT_PARSE_ATTEMPTS = 0
else:
REPEAT_PARSE_ATTEMPTS -= 1
print('Repeating parsing due to missing files. '\
'%d iterations remaining.' % REPEAT_PARSE_ATTEMPTS)
if parse and not newparsed:
return
if parse and all(not x for x in newparsed):
print('Error after parsing.')
return
if parse and fileparse:
# cleanup mistakes :)
if isfile(splitext(unparsed_corpus_path)[0]):
os.remove(splitext(unparsed_corpus_path)[0])
if isfile(unparsed_corpus_path.replace('.txt', '-filelist.txt')):
os.remove(unparsed_corpus_path.replace('.txt', '-filelist.txt'))
return unparsed_corpus_path + '.conll'
if parse:
move_parsed_files(project_path, to_parse, newparsed,
ext=kwargs.get('output_format', 'conll'), restart=restart)
from corpkit.conll import convert_json_to_conll
coref = False
if operations is False:
coref = True
elif 'coref' in operations or 'dcoref' in operations:
coref = True
convert_json_to_conll(newparsed, speaker_segmentation=speaker_segmentation,
coref=coref, metadata=metadata)
try:
os.remove(filelist)
except:
pass
if not parse and tokenise:
#todo: outname
newparsed = to_parse.replace('-stripped', '-tokenised')
from corpkit.tokenise import plaintext_to_conll
newparsed = plaintext_to_conll(to_parse,
postag=postag,
lemmatise=lemmatise,
lang=lang,
metadata=metadata,
nltk_data_path=nltk_data_path,
speaker_segmentation=speaker_segmentation,
outpath=newparsed)
if outname:
if not os.path.isdir(outname):
outname = os.path.join('data', os.path.basename(outdir))
import shutil
shutil.copytree(newparsed, outname)
newparsed = outname
if newparsed is False:
return
else:
make_dotfile(newparsed)
return newparsed
rename_all_files(newparsed)
print('Generating corpus metadata...')
make_dotfile(newparsed)
print('Done!\n')
return newparsed
================================================
FILE: corpkit/model.py
================================================
from __future__ import division
from __future__ import print_function
import math
import os
from nltk import ngrams, sent_tokenize, word_tokenize
from corpkit.constants import PYTHON_VERSION, STRINGTYPE
class LanguageModel(object):
def __init__(self, order, alpha, data):
"""
:param data: a pandas series with multiindex
"""
self.order = order
self.alpha = alpha
if order > 1:
self.backoff = LanguageModel(order - 1, alpha, data)
self.lexicon = None
else:
self.backoff = None
self.n = 0
from collections import Counter
self.counts = Counter()
lexicon = set()
# below, we make a counter object from the series
# it should be fine for simpler show values, but
# has some theoretical issues when the model is of
# mixed type, such as L, GL, GF, because the backoff
# involves getting just the first ORDER words ...
for index, count in data.iteritems():
#gramm = index.split('/')
# order == 1 still gives us a tuple for now!
cut_index = index[:order]
self.counts[cut_index] += count
if order == 1:
lexicon.add(cut_index)
self.n += 1
self.v = len(lexicon)
def _logprob(self, ngram):
return math.log(self._prob(ngram))
def _prob(self, ngram):
if self.backoff is not None:
freq = self.counts[ngram]
backoff_freq = self.backoff.counts[ngram[1:]]
if freq == 0:
return self.alpha * self.backoff._prob(ngram[1:])
else:
return freq / backoff_freq
else:
# laplace smoothing to handle unknown unigrams
return (self.counts[ngram] + 1) / (self.n + self.v)
class MultiModel(dict):
def __init__(self, data, order, name='', **kwargs):
import os
from corpkit.other import load
if isinstance(data, STRINGTYPE):
name = data
if not name.endswith('.p'):
name = name + '.p'
self.name = name
self.order = order
self.kwargs = kwargs
if os.path.isfile(self.name):
data = load(self.name, loaddir='models')
else:
pth = os.path.join('models', self.name)
if os.path.isfile(pth):
data = load(self.name, loaddir='models')
super(MultiModel, self).__init__(data)
def score(self, data, **kwargs):
"""
Score text against a model
"""
# get data into a list of ngram tuples
from collections import Counter, OrderedDict
import pandas as pd
from corpkit.corpus import Subcorpus, File
# get subcorpus
if isinstance(data, Subcorpus):
counts = self[data.name].counts
elif isinstance(data, STRINGTYPE) and data in self.keys():
counts = self[data].counts
#get file
elif isinstance(data, File) or (isinstance(data, STRINGTYPE) and \
os.path.isfile(data)):
counts = self._turn_file_obj_into_counts(data)
# get text
#elif isinstance(data, STRINGTYPE) and not \
# os.path.exists(data):
# dat = []
# #sents = sent_tokenize(data)
# #for sent in sents:
# # dat.append('-spl-it-'.join(word_tokenize(sent)))
# counted_sents = Counter(dat)
# counts = LanguageModel(self.order, kwargs.get('alpha', 0.4), counted_sents).counts
tempscores = {}
for name, model in self.items():
tempscores[name] = self._score_counts_against_model(counts, model)
ser = pd.Series(tempscores)
ser = ser.sort_values(ascending=False)
ser['Corpus'] = ser.pop('Corpus')
return ser
def _score_counts_against_model(self, counts, model):
grams = []
for k, v in counts.items():
for _ in range(v):
grams.append(k)
slogprob = 0
for gram in grams:
lb = model._logprob(gram)
slogprob += lb
return slogprob / len(counts)
def _turn_file_obj_into_counts(self, data, *args, **kwargs):
if data.datatype != 'parse':
data = data.parse(**kwargs)
kwgs = self.kwargs
# add kwargs
res = data.interrogate(**kwgs)
model = _make_model_from_interro(res, self.name, order=self.order,
nosave=True, singlemod=True, *args, **kwargs)
return model.counts
def score_subcorpora(self):
import pandas as pd
data = []
for subname in self.keys():
ser = pd.Series(self.score(subname))
ser.name = subname
data.append(ser)
df = pd.concat(data, axis=1)
return df[sorted(df.columns)]
def _make_model_from_interro(self, name, order, **kwargs):
import os
from pandas import DataFrame, Series
from corpkit.other import load
nosave = kwargs.get('nosave')
singlemod = kwargs.get('singlemod')
if not nosave:
if not name.endswith('.p'):
name = name + '.p'
pth = os.path.join('models', name)
if os.path.isfile(pth):
return load(name, loaddir='models')
scores = {}
if not hasattr(self, 'results'):
raise ValueError('Need results attribute to make language model.')
# determine what we iterate over
if not singlemod:
to_iter_over = [(nm, self.results.ix[nm][self.results.ix[nm] > 0]) \
for nm in list(self.results.index)]
else:
if isinstance(self.results, Series):
to_iter_over = [(name, self.results)]
else:
to_iter_over = [(name, self.results.sum())]
try:
tot = self.results.sum()[self.results.sum() > 0]
to_iter_over.append(('Corpus', tot))
except:
pass
for subname, subc in list(to_iter_over):
# get name for file
model = _train(subc, subname, name, order=order, **kwargs)
scores[subname] = model
if singlemod:
return scores.values()[0]
mm = MultiModel(scores, order=order, name=name, **kwargs)
if not os.path.isfile(os.path.join('models', name)):
from corpkit.other import save
save(scores, name, savedir='models')
print('Done!\n')
return mm
#scores[subc.name] = score_text_with_model(trained)
#return sorted(scores.items(), key=lambda x: x[1], reverse=True)
def _train(data, name, corpusname, order=3, **kwargs):
alpha = kwargs.get('alpha', 0.4)
print('Making model: %s ... ' % name.replace('.p', ''))
lm = LanguageModel(order, alpha, data)
return lm
================================================
FILE: corpkit/multiprocess.py
================================================
"""corpkit: multiprocessing of interrogations"""
from __future__ import print_function
def pmultiquery(corpus,
search,
show='words',
query='any',
sort_by='total',
save=False,
multiprocess='default',
root=False,
note=False,
print_info=True,
subcorpora=False,
**kwargs
):
"""
- Parallel process multiple queries or corpora.
- This function is used by corpkit.interrogator.interrogator()
- for multiprocessing.
- There's no reason to call this function yourself.
"""
import os
from pandas import DataFrame, Series
import pandas as pd
import collections
from collections import namedtuple, OrderedDict
from time import strftime, localtime
import corpkit
from corpkit.interrogator import interrogator
from corpkit.interrogation import Interrogation, Interrodict
from corpkit.process import canpickle
try:
from joblib import Parallel, delayed
except ImportError:
pass
import multiprocessing
locs = locals()
for k, v in kwargs.items():
locs[k] = v
in_notebook = locs.get('in_notebook')
def best_num_parallel(num_cores, num_queries):
"""decide how many parallel processes to run
the idea, more or less, is to balance the load when possible"""
import corpkit
if num_queries <= num_cores:
return num_queries
if num_queries > num_cores:
if (num_queries / num_cores) == num_cores:
return int(num_cores)
if num_queries % num_cores == 0:
try:
return max([int(num_queries / n) for n in range(2, num_cores) \
if int(num_queries / n) <= num_cores])
except ValueError:
return num_cores
else:
import math
if (float(math.sqrt(num_queries))).is_integer():
square_root = math.sqrt(num_queries)
if square_root <= num_queries / num_cores:
return int(square_root)
return num_cores
num_cores = multiprocessing.cpu_count()
# what is our iterable? ...
multiple = kwargs.get('multiple', False)
mult_corp_are_subs = False
if hasattr(corpus, '__iter__'):
if all(getattr(x, 'level', False) == 's' for x in corpus):
mult_corp_are_subs = True
non_first_sub = None
if subcorpora:
non_first_sub = subcorpora[1:] if isinstance(subcorpora, list) else None
subval = subcorpora if not non_first_sub else subcorpora[0]
#print(subcorpora, non_first_sub, subval)
if subcorpora is True:
import re
subcorpora = re.compile(r'.*')
else:
# strange travis error happened here
subcorpora = corpus.metadata['fields'][subval]
if len(subcorpora) == 0:
print('No %s metadata found.' % str(subval))
return
mapcores = {'datalist': [corpus, 'corpus'],
'multiplecorpora': [corpus, 'corpus'],
'namedqueriessingle': [query, 'query'],
'namedqueriesmultiple': [search, 'search'],
'subcorpora': [subcorpora, 'subcorpora']}
# a is a dummy, just to produce default one
toiter, itsname = mapcores.get(multiple, [False, False])
if isinstance(toiter, dict):
toiter = toiter.items()
denom = len(toiter)
num_cores = best_num_parallel(num_cores, denom)
# todo: code below makes no sense
vals = ['eachspeaker', 'multiplespeaker', 'namedqueriesmultiple']
if multiple == 'multiplecorpora' and any(x is True for x in vals):
from corpkit.corpus import Corpus, Corpora
if isinstance(corpus, Corpora):
multiprocess = False
else:
corpus = Corpus(corpus)
if isinstance(multiprocess, int):
num_cores = multiprocess
if multiprocess is False:
num_cores = 1
# make sure saves are right type
if save is True:
raise ValueError('save must be string when multiprocessing.')
# make a list of dicts to pass to interrogator,
# with the iterable unique in every one
locs['printstatus'] = False
locs['multiprocess'] = False
locs['df1_always_df'] = False
locs['files_as_subcorpora'] = False
locs['corpus'] = corpus
if multiple == 'multiplespeaker':
locs['multispeaker'] = True
if isinstance(non_first_sub, list) and len(non_first_sub) == 1:
non_first_sub = non_first_sub[0]
# make the default query
locs = {k: v for k, v in locs.items() if canpickle(v)}
# make a new dict for every iteration
ds = [dict(**locs) for i in range(denom)]
for index, (d, bit) in enumerate(zip(ds, toiter)):
d['paralleling'] = index
if multiple in ['namedqueriessingle', 'namedqueriesmultiple']:
d[itsname] = bit[1]
d['outname'] = bit[0]
elif multiple in ['multiplecorpora', 'datalist']:
d['outname'] = bit.name.replace('-parsed', '')
d[itsname] = bit
elif multiple in ['subcorpora']:
d[itsname] = bit
jmd = {subval: bit}
# put this earlier
j2 = kwargs.get('just_metadata', False)
if not j2:
j2 = {}
jmd.update(j2)
d['just_metadata'] = jmd
d['outname'] = bit
d['by_metadata'] = False
d['subcorpora'] = non_first_sub
if non_first_sub:
d['print_info'] = False
# message printer should be a function...
if kwargs.get('conc') is False:
message = 'Interrogating'
elif kwargs.get('conc') is True:
message = 'Interrogating and concordancing'
elif kwargs.get('conc').lower() == 'only':
message = 'Concordancing'
time = strftime("%H:%M:%S", localtime())
from corpkit.process import dictformat
if print_info:
# proper printing for plurals
# in truth this needs to be revised, it's horrible.
sformat = dictformat(search, query)
if num_cores == 1:
add_es = ''
else:
add_es = 'es'
if multiple in ['multiplecorpora', 'datalist']:
corplist = "\n ".join([i.name for i in list(corpus)[:20]])
if len(corpus) > 20:
corplist += '\n ... and %d more ...\n' % (len(corpus) - 20)
print(("\n%s: Beginning %d corpus interrogations (in %d parallel process%s):\n %s" \
"\n Query: %s\n %s corpus ... \n" % (time, len(corpus), num_cores, add_es, corplist, sformat, message)))
elif multiple == 'namedqueriessingle':
print(("\n%s: Beginning %d corpus interrogations (in %d parallel process%s): %s" \
"\n Queries: %s\n %s corpus ... \n" % (time, len(query), num_cores, add_es, corpus.name, sformat, message) ))
elif multiple == 'namedqueriesmultiple':
print(("\n%s: Beginning %d corpus interrogations (in %d parallel process%s): %s" \
"\n Queries: %s\n %s corpus ... \n" % (time, len(list(search.keys())), num_cores, add_es, corpus.name, sformat, message)))
elif multiple in ['eachspeaker', 'multiplespeaker']:
print(("\n%s: Beginning %d parallel corpus interrogation%s: %s" \
"\n Query: %s\n %s corpus ... \n" % (time, num_cores, add_es.lstrip('e'), corpus.name, sformat, message) ))
elif multiple in ['subcorpora']:
print(("\n%s: Beginning %d parallel corpus interrogation%s: %s" \
"\n Query: %s\n %s corpus ... \n" % (time, num_cores, add_es.lstrip('e'), corpus.name, sformat, message) ))
# run in parallel, get either a list of tuples (non-c option)
# or a dataframe (c option)
#import sys
#reload(sys)
#stdout=sys.stdout
failed = False
terminal = False
used_joblib = False
#ds = ds[::-1]
#todo: the number of blank lines to print can be way wrong
if not root and print_info:
from blessings import Terminal
terminal = Terminal()
print('\n' * (len(ds) - 2))
for dobj in ds:
linenum = dobj['paralleling']
# this try handles nosetest problems in sublime text
try:
with terminal.location(0, terminal.height - (linenum + 1)):
# this is a really bad idea.
thetime = strftime("%H:%M:%S", localtime())
num_spaces = 26 - len(dobj['outname'])
print('%s: QUEUED: %s' % (thetime, dobj['outname']))
except:
pass
if not root and multiprocess:
try:
res = Parallel(n_jobs=num_cores)(delayed(interrogator)(**x) for x in ds)
used_joblib = True
except:
failed = True
print('Multiprocessing failed.')
raise
if not res:
failed = True
else:
res = []
for index, d in enumerate(ds):
d['startnum'] = (100 / denom) * index
res.append(interrogator(**d))
try:
res = sorted([i for i in res if i])
except:
pass
# remove unpicklable bits from query
from types import ModuleType, FunctionType, BuiltinMethodType, BuiltinFunctionType
badtypes = (ModuleType, FunctionType, BuiltinFunctionType, BuiltinMethodType)
qlocs = {k: v for k, v in locs.items() if not isinstance(v, badtypes)}
if hasattr(qlocs.get('corpus', False), 'name'):
qlocs['corpus'] = qlocs['corpus'].path
else:
qlocs['corpus'] = list([i.path for i in qlocs.get('corpus', [])])
# return just a concordance
from corpkit.interrogation import Concordance
if kwargs.get('conc') == 'only':
concs = pd.concat([x for x in res])
thetime = strftime("%H:%M:%S", localtime())
concs = concs.reset_index(drop=True)
if kwargs.get('maxconc'):
concs = concs[:kwargs.get('maxconc')]
lines = Concordance(concs)
if save:
lines.save(save, print_info=print_info)
if print_info:
print('\n\n%s: Finished! %d results.\n\n' % (thetime, format(len(concs.index), ',')))
return lines
# return interrodict (to become multiindex)
if isinstance(res[0], Interrodict) or not all(isinstance(i.results, Series) for i in res):
out = OrderedDict()
for interrog, d in zip(res, ds):
for unpicklable in ['note', 'root']:
interrog.query.pop(unpicklable, None)
try:
out[interrog.query['outname']] = interrog
except KeyError:
out[d['outname']] = interrog
idict = Interrodict(out)
if print_info:
thetime = strftime("%H:%M:%S", localtime())
print("\n\n%s: Finished! Output is multi-indexed." % thetime)
idict.query = qlocs
if save:
idict.save(save, print_info=print_info)
return idict
# make query and total branch, save, return
# todo: standardise this so we don't have to guess transposes
#
else:
if multiple == 'multiplecorpora' and not mult_corp_are_subs:
sers = [i.results for i in res]
out = DataFrame(sers, index=[i.query['outname'] for i in res])
out = out.reindex_axis(sorted(out.columns), axis=1) # sort cols
out = out.fillna(0) # nan to zero
out = out.astype(int) # float to int
out = out.T
else:
# make a series from counts
if all(len(i.results) == 1 for i in res):
out = pd.concat([r.results for r in res])
out = out.sort_index()
else:
try:
out = pd.concat([r.results for r in res], axis=1)
out = out.T
out.index = [i.query['outname'] for i in res]
except ValueError:
return None
# format like normal
# this sorts subcorpora, which are cls
out = out[sorted(list(out.columns))]
# puts subcorpora in the right place
if not mult_corp_are_subs and multiple != 'subcorpora':
out = out.T
if multiple == 'subcorpora':
out = out.sort_index()
out = out.fillna(0) # nan to zero
out = out.astype(int)
if 'c' in show and mult_corp_are_subs:
out = out.sum()
out.index = sorted(list(out.index))
# sort by total
if isinstance(out, DataFrame):
out = out[list(out.sum().sort_values(ascending=False).index)]
# really need to figure out the deal with tranposing!
if all(x.endswith('.xml') for x in list(out.columns)) \
or all(x.endswith('.txt') for x in list(out.columns)) \
or all(x.endswith('.conll') for x in list(out.columns)):
out = out.T
if kwargs.get('nosubmode'):
out = out.sum()
from corpkit.interrogation import Interrogation
tt = out.sum(axis=1) if isinstance(out, DataFrame) else out.sum()
out = Interrogation(results=out, totals=tt, query=qlocs)
if hasattr(out, 'columns') and len(out.columns) == 1:
out = out.sort_index()
if kwargs.get('conc') is True:
try:
concs = pd.concat([x.concordance for x in res], ignore_index=True)
concs = concs.sort_values(by='c')
concs = concs.reset_index(drop=True)
if kwargs.get('maxconc'):
concs = concs[:kwargs.get('maxconc')]
out.concordance = Concordance(concs)
except ValueError:
out.concordance = None
thetime = strftime("%H:%M:%S", localtime())
if terminal:
print(terminal.move(terminal.height-1, 0))
if print_info:
if terminal:
print(terminal.move(terminal.height-1, 0))
if hasattr(out.results, 'columns'):
print('%s: Interrogation finished! %s unique results, %s total.' % (thetime, format(len(out.results.columns), ','), format(out.totals.sum(), ',')))
else:
print('%s: Interrogation finished! %s matches.' % (thetime, format(tt, ',')))
if save:
out.save(save, print_info = print_info)
if list(out.results.index) == ['0'] and not kwargs.get('df1_always_df'):
out.results = out.results.ix[0].sort_index()
return out
================================================
FILE: corpkit/new_project
================================================
#!/usr/bin/env python
from __future__ import print_function
"""
A script to create a new corpkit project
"""
import sys
from corpkit.other import new_project
if len(sys.argv) == 1:
raise ValueError('Please specify name of new project.')
else:
name = sys.argv[1]
new_project(name)
================================================
FILE: corpkit/noseinstall.py
================================================
import os
from nose.tools import assert_equals
from corpkit import *
unparsed_path = 'data/test'
parsed_path = 'data/test-parsed'
def test_import():
import corpkit
from dictionaries.wordlists import wordlists
from corpkit import Corpus
assert_equals(wordlists.articles, ['a', 'an', 'the', 'teh'])
================================================
FILE: corpkit/nosetests.py
================================================
"""
This file contains tests for the corpkit API, to be run by Nose.
There are fast and slow tests. Slow tests include those that test the parser.
These should be run before anything goes into master. Fast tests corpus
interrogations, edits, concordances and so on. These are done on commit.
The tests don't cover everything in the module yet.
To run all tests:
nosetests corpkit/nosetests.py
Just fast tests:
nosetests corpkit/nosetests.py -a '!slow'
"""
import os
import nose
from nose.tools import assert_equals
import corpkit
from corpus import Corpus
unparsed_path = 'data/test'
parsed_path = 'data/test-plain-parsed'
speak_path = 'data/test-speak-parsed'
tok_path = 'data/test-tokenised'
def test_import():
import corpkit
from dictionaries.wordlists import wordlists
from corpus import Corpus
assert_equals(wordlists.articles, ['a', 'an', 'the', 'teh'])
def test_corpus_class():
"""Test that Corpus can be created"""
unparsed = Corpus(unparsed_path)
assert_equals(os.path.basename(unparsed_path), unparsed.name)
def test_parse():
"""Test CoreNLP parsing"""
import shutil
unparsed = Corpus(unparsed_path)
try:
shutil.rmtree(parsed_path)
except:
pass
parsed = unparsed.parse(metadata=True)
fnames = []
for subc in parsed.subcorpora:
for f in subc.files:
fnames.append(f.name)
shutil.move(parsed.path, parsed_path)
assert_equals(fnames, ['intro.txt.conll', 'body.txt.conll'])
def test_tokenise():
"""Test the tokeniser, lemmatiser and POS tagger"""
unparsed = Corpus(unparsed_path)
try:
shutil.rmtree(tok_path)
except:
pass
tok = unparsed.tokenise(speaker_segmentation=True, lemmatise=True, postag=True, metadata=True)
df = tok[0][0].document
assert_equals(tok.name, 'test-tokenised')
assert_equals(len(tok.subcorpora), 2)
#assert_equals(list(df.columns), ['w', 'l', 'p'])
assert_equals(list(df.index.names), ['s', 'i'])
def test_speak_parse():
"""Test CoreNLP parsing with speaker segmentation"""
import shutil
unparsed = Corpus(unparsed_path)
try:
shutil.rmtree(speak_path)
except:
pass
parsed = unparsed.parse(speaker_segmentation=True, metadata=True)
fnames = []
for subc in parsed.subcorpora:
for f in subc.files:
fnames.append(f.name)
shutil.move(parsed.path, speak_path)
assert_equals(fnames, ['intro.txt.conll', 'body.txt.conll'])
# this is how you define a slow test
test_parse.slow = 1
test_speak_parse.slow = 1
def test_interro1():
"""Testing interrogation 1"""
corp = Corpus(parsed_path)
data = corp.interrogate('t', r'__ < /JJ.?/')
assert_equals(data.results.shape, (2, 6))
def test_interro2():
"""Testing interrogation 2"""
corp = Corpus(parsed_path)
data = corp.interrogate({'t': r'__ < /JJ.?/'})
assert_equals(data.results.shape, (2, 6))
def test_interro3():
"""Testing interrogation 3"""
corp = Corpus(parsed_path)
data = corp.interrogate({'w': r'^c'}, exclude={'l': r'check'}, show=['l', 'f'])
st = {'can/aux',
'computational/amod',
'concordancing/appos',
'corpkit/nmod:poss',
'corpus/compound',
'case/nmod:in',
'continuum/nmod:on',
'conduit/nmod:as',
'concordancing/nmod:like',
'corpus/nsubjpass',
}
assert_equals(set(list(data.results.columns)), st)
# skipping this for now, as who cares about tokens
#def test_interro4():
# """Testing interrogation 4"""
# corp = Corpus('data/test-stripped-tokenised')
# data = corp.interrogate({'w': 'any'}, show='nw')
# d = {'and interrogating': {'first': 0, 'second': 2},
# 'concordancing and': {'first': 0, 'second': 2}}
# assert_equals(data.results.to_dict(), d)
def test_interro_multiindex_tregex_justspeakers():
"""Testing interrogation 6"""
import pandas as pd
corp = Corpus(speak_path)
data = corp.interrogate('t', r'__ < /JJ.?/', subcorpora='speaker')
assert_equals(all(data.results.index),
all(pd.MultiIndex(levels=[['ANONYMOUS', 'NEWCOMER',
'TESTER', 'UNIDENTIFIED'], ['first', 'second']],
labels=[[0, 0, 1, 1, 2, 2, 3, 3], [0, 1, 0, 1, 0, 1, 0, 1]])))
test_interro_multiindex_tregex_justspeakers.slow = 1
def test_conc():
"""Testing concordancer"""
corp = Corpus(parsed_path)
data = corp.concordance({'f': 'amod'})
assert_equals(data.ix[0]['m'], 'small')
# this syntax isn't recognised by tgrep, so we'll skip it in tests
def test_edit():
"""Testing edit function"""
corp = Corpus(parsed_path)
data = corp.interrogate({'t': r'__ !< __'})
data = data.edit('%', 'self')
assert_equals(data.results.iloc[0,0], 10.204081632653061)
#assert_equals(data.results.iloc[0,0], 11.627906976744185)
test_edit.slow = 1
def test_tok1_interro():
"""
Check that indexes can be shown
"""
corpus = Corpus(tok_path)
res = corpus.interrogate(show=['s', 'i', 'l'])
sortd = res.results[sorted(res.results.columns)]
three = ['0/0/corpus', '0/0/this', '0/1/linguistics']
assert_equals(list(sortd.columns)[:3], three)
assert_equals(sortd.sum().sum(), 77)
def test_tok2_interro():
"""
Check a tokenised corpus interrogation
"""
corpus = Corpus(tok_path)
res = corpus.interrogate(show=['w', 'l', 'p'], conc=True)
assert_equals(res.results['is/be/vbz']['second'], 1)
assert_equals(res.results['is/be/vbz']['first'], 2)
assert_equals(str(res.results.ix[0].dtype), 'int64')
flo = res.edit('%', 'self').results.iat[0,0].round(2)
assert_equals(flo, 5.71)
assert_equals(res.concordance.m.iloc[-1], 'work/work/nn')
attributes = ['query', 'results', 'totals', 'visualise', 'edit', 'concordance']
allat = all(getattr(res, i) is not None for i in attributes)
assert_equals(allat, True)
def document_check():
"""
Check that the document lazy attribute works
"""
corpus = Corpus(speak_path)
df = corpus[0][0].document
fir = ['This', 'this', 'DT', 'O', 3, 'det', '0', '1']
assert_equals(list(df.ix[1,1], fir))
kys = list(df._metadata[5].keys())
lst = ['year', 'test', 'parse', 'speaker', 'num']
assert_equals(kys, lst)
assert_equals(corpus.files, None)
assert_equals(corpus.datatype, 'conll')
def test_conc_edit():
"""
Make sure we can edit concordance lines
"""
corpus = Corpus(speak_path)
res = corpus.interrogate(show=['l','gl'], conc=True)
assert_equals(len(res.concordance), 77)
noling = len(res.concordance.edit(skip_entries='ling'))
assert_equals(noling, 69)
def test_symbolic_subcorpora():
"""
Check that we can make speaker into subcorpora
"""
corpus = Corpus(speak_path, subcorpora='speaker')
res = corpus.interrogate({'l': r'^[abcde]'})
spks = ['ANONYMOUS', 'NEWCOMER', 'TESTER', 'UNIDENTIFIED']
assert_equals(list(res.results.index), spks)
def test_symbolic_multiindex():
"""
Check that we can make a named multiindex
"""
subval = ['speaker', 'test']
corpus = Corpus(speak_path, subcorpora=subval)
res = corpus.interrogate({'l': r'^[abcde]'})
test_poss = {'none', 'off', 'on'}
assert_equals(set(res.results.index.levels[1]), test_poss)
assert_equals(list(res.results.index.names), subval)
def check_skip_filt():
"""
Check that we can make a skip filter
"""
corpus = Corpus(speak_path, skip={'speaker': 'UNIDENTIFIED'})
res = corpus.interrogate()
assert_equals(len(res.results.columns), 47)
def check_just_filt():
"""
Check that we can make a just filter
"""
corpus = Corpus(speak_path, just={'speaker': 'UNIDENTIFIED'})
res = corpus.interrogate()
assert_equals(len(res.results.columns), 22)
def test_interpreter():
"""
Test for errors in interpreter functionality
"""
import os
try:
os.remove('saved_interrogations/test-speak-parsed-anylemma.p')
except:
pass
from corpkit.env import interpreter
try:
os.makedirs('exported')
except:
pass
try:
os.makedirs('saved_interrogations')
except:
pass
# this will make some data in exported/
out = interpreter(fromscript='corpkit/interpreter_tests.cki')
assert_equals(out, None)
def check_interpreter_res_csv():
"""
Interpreter check made exported/res.csv---check it
"""
import pandas as pd
df = pd.read_csv('exported/res.csv', sep='\t', index_col=0)
assert_equals(df.mean()['a'], 1.5)
def check_interpreter_conc_csv():
"""
Interpreter check made exported/conc.csv---check it
"""
import pandas as pd
import shutil
df = pd.read_csv('exported/conc.csv', sep='\t', index_col=0)
shutil.rmtree('exported')
assert_equals(df.shape, (77, 7))
def check_interpreter_saved_interro():
"""
Interpreter made a pickled result. Check it
"""
import pandas as pd
import shutil
from corpkit import load
dat = load('test-speak-parsed-anylemma')
shutil.rmtree('saved_interrogations')
assert hasattr(dat, 'results')
assert hasattr(dat, 'totals')
assert hasattr(dat, 'query')
assert('concordancing' in dat.results)
rel = dat.results.T / dat.totals
assert_equals(rel.ix[0].sum().round(2), 0.19)
# test to write:
# annotation
# unannotation
# language model
# tgrep
# features, postags, wordclasses, dotfiles
================================================
FILE: corpkit/other.py
================================================
from __future__ import print_function
"""
In here are functions used internally by corpkit, but also
might be called by the user from time to time
"""
from corpkit.constants import STRINGTYPE, PYTHON_VERSION, INPUTFUNC
def quickview(results, n=25):
"""
View top n results as painlessly as possible.
:param results: Interrogation data
:type results: :class:``corpkit.interrogation.Interrogation``
:param n: Show top *n* results
:type n: int
:returns: None
"""
import corpkit
import pandas as pd
import numpy as np
import os
import corpkit
from corpkit.interrogation import Interrogation
# handle dictionaries too:
dictpath = 'dictionaries'
savedpath = 'saved_interrogations'
# too lazy to code this properly for every possible data type:
if n == 'all':
n = 9999
dtype = corpkit.interrogation.Interrogation
if isinstance(results, STRINGTYPE):
if os.path.isfile(os.path.join(dictpath, results)):
from corpkit.other import load
results = load(results, loaddir=dictpath)
elif os.path.isfile(os.path.join(savedpath, results)):
from corpkit.other import load
results = load(results)
else:
raise OSError('File "%s" not found.' % os.path.abspath(results))
elif isinstance(results, Interrogation):
if getattr(results, 'results'):
datatype = results.results.iloc[0,0].dtype
if datatype == 'int64':
option = 't'
else:
option = '%'
rq = results.query.get('operation', False)
if rq:
rq = rq.lower()
if rq.startswith('k'):
option = 'k'
if rq.startswith('%'):
option = '%'
if rq.startswith('/'):
option = '/'
try:
the_list = list(results.results.columns)[:n]
except:
the_list = list(results.results.index)[:n]
else:
print(results.totals)
return
else:
raise ValueError('Results not recognised.')
# get longest word length for justification
longest = max([len(i) for i in the_list])
for index, entry in enumerate(the_list):
if option == 't':
if isinstance(results, Interrogation):
if hasattr(results, 'results'):
to_get_from = results.results
tot = to_get_from[entry].sum()
else:
to_get_from = results.totals
tot = to_get_from[entry]
print('%s: %s (n=%d)' %(str(index).rjust(3), entry.ljust(longest), tot))
elif option == '%' or option == '/':
if isinstance(results, Interrogation):
to_get_from = results.totals
tot = to_get_from[entry]
totstr = "%.3f" % tot
print('%s: %s (%s%%)' % (str(index).rjust(3), entry.ljust(longest), totstr))
elif dtype == corpkit.interrogation.Results:
print('%s: %s (%s)' %(str(index).rjust(3), entry.ljust(longest), option))
elif dtype == corpkit.interrogation.Totals:
tot = results[entry]
totstr = "%.3f" % tot
print('%s: %s (%s%%)' % (str(index).rjust(3), entry.ljust(longest), totstr))
elif option == 'k':
print('%s: %s (l/l)' %(str(index).rjust(3), entry.ljust(longest)))
else:
print('%s: %s' %(str(index).rjust(3), entry.ljust(longest)))
def concprinter(dataframe, kind='string', n=100,
window=35, columns='all', metadata=True, **kwargs):
"""
Print conc lines nicely, to string, latex or csv
:param df: concordance lines from :class:``corpkit.corpus.Concordance``
:type df: pd.DataFame
:param kind: output format
:type kind: str ('string'/'latex'/'csv')
:param n: Print first n lines only
:type n: int/'all'
:returns: None
"""
import corpkit
df = dataframe.copy().fillna('')
if n > len(df):
n = len(df)
if not kind.startswith('l') and kind.startswith('c') and kind.startswith('s'):
raise ValueError('kind argument must start with "l" (latex), "c" (csv) or "s" (string).')
import pandas as pd
# shitty thing to hardcode
pd.set_option('display.max_colwidth', -1)
if isinstance(n, int):
to_show = df.head(n)
elif n is False:
to_show = df
elif n == 'all':
to_show = df
else:
raise ValueError('n argument "%s" not recognised.' % str(n))
def resize_by_window_size(df, window):
df.is_copy = False
if isinstance(window, int):
df['l'] = df['l'].str.slice(start=-window, stop=None)
df['l'] = df['l'].str.rjust(window)
df['r'] = df['r'].str.slice(start=0, stop=window)
df['r'] = df['r'].str.ljust(window)
df['m'] = df['m'].str.ljust(df['m'].str.len().max())
else:
df['l'] = df['l'].str.slice(start=-window[0], stop=None)
df['l'] = df['l'].str.rjust(window[0])
df['r'] = df['r'].str.slice(start=0, stop=window[-1])
df['r'] = df['r'].str.ljust(window[-1])
df['m'] = df['m'].str.ljust(df['m'].str.len().max())
return df
to_show.is_copy = False
if window:
to_show = resize_by_window_size(to_show, window)
# if showing metadata to the right of lmr, add it here
cnames = list(to_show.columns)
ind = cnames.index('r')
if columns == 'all':
columns = cnames[:ind+1]
if metadata is True:
after_right = cnames[ind+1:]
columns = columns + after_right
elif isinstance(metadata, list):
columns = columns + metadata
to_show = to_show[columns]
if kind.startswith('s'):
functi = pd.DataFrame.to_string
if kind.startswith('l'):
functi = pd.DataFrame.to_latex
if kind.startswith('c'):
functi = pd.DataFrame.to_csv
kwargs['sep'] = ','
if kind.startswith('t'):
functi = pd.DataFrame.to_csv
kwargs['sep'] = '\t'
# automatically basename subcorpus for show
if 'c' in list(to_show.columns):
import os
to_show['c'] = to_show['c'].apply(os.path.basename)
if 'f' in list(to_show.columns):
import os
to_show['f'] = to_show['f'].apply(os.path.basename)
return_it = kwargs.pop('return_it', False)
print_it = kwargs.pop('print_it', True)
if return_it:
return functi(to_show, header=kwargs.get('header', False), **kwargs)
else:
print('\n')
print(functi(to_show, header=kwargs.get('header', False), **kwargs))
print('\n')
def save(interrogation, savename, savedir='saved_interrogations', **kwargs):
"""
Save an interrogation as pickle to *savedir*.
>>> interro_interrogator(corpus, 'words', 'any')
>>> save(interro, 'savename')
will create ``./saved_interrogations/savename.p``
:param interrogation: Corpus interrogation to save
:type interrogation: corpkit interogation/edited result
:param savename: A name for the saved file
:type savename: str
:param savedir: Relative path to directory in which to save file
:type savedir: str
:param print_info: Show/hide stdout
:type print_info: bool
:returns: None
"""
try:
import cPickle as pickle
except ImportError:
import pickle as pickle
import os
from time import localtime, strftime
import corpkit
from corpkit.process import makesafe, sanitise_dict
from corpkit.interrogation import Interrogation
from corpkit.corpus import Corpus, Datalist
print_info = kwargs.get('print_info', True)
def make_filename(interrogation, savename):
"""create a filename"""
if '/' in savename:
return savename
firstpart = ''
if savename.endswith('.p'):
savename = savename[:-2]
savename = makesafe(savename, drop_datatype=False, hyphens_ok=True)
if not savename.endswith('.p'):
savename = savename + '.p'
if hasattr(interrogation, 'query') and isinstance(interrogation.query, dict):
corpus = interrogation.query.get('corpus', False)
if corpus:
if isinstance(corpus, STRINGTYPE):
firstpart = corpus
else:
if isinstance(corpus, Datalist):
firstpart = Corpus(corpus).name
if hasattr(corpus, 'name'):
firstpart = corpus.name
else:
firstpart = ''
firstpart = os.path.basename(firstpart)
if firstpart:
return firstpart + '-' + savename
else:
return savename
savename = make_filename(interrogation, savename)
# delete unpicklable parts of query
if hasattr(interrogation, 'query') and isinstance(interrogation.query, dict):
iq = interrogation.query
if iq:
from types import ModuleType, FunctionType, BuiltinMethodType, BuiltinFunctionType
interrogation.query = {k: v for k, v in iq.items() if not isinstance(v, ModuleType) \
and not isinstance(v, FunctionType) \
and not isinstance(v, BuiltinFunctionType) \
and not isinstance(v, BuiltinMethodType)}
else:
iq = {}
if savedir and not '/' in savename:
if not os.path.exists(savedir):
os.makedirs(savedir)
fullpath = os.path.join(savedir, savename)
else:
fullpath = savename
while os.path.isfile(fullpath):
selection = INPUTFUNC(("\nSave error: %s already exists in %s.\n\n" \
"Type 'o' to overwrite, or enter a new name: " % (savename, savedir)))
if selection == 'o' or selection == 'O':
os.remove(fullpath)
else:
selection = selection.replace('.p', '')
if not selection.endswith('.p'):
selection = selection + '.p'
fullpath = os.path.join(savedir, selection)
if hasattr(interrogation, 'query'):
interrogation.query = sanitise_dict(interrogation.query)
with open(fullpath, 'wb') as fo:
pickle.dump(interrogation, fo)
time = strftime("%H:%M:%S", localtime())
if print_info:
print('\n%s: Data saved: %s\n' % (time, fullpath))
def load(savename, loaddir='saved_interrogations'):
"""
Load saved data into memory:
>>> loaded = load('interro')
will load ``./saved_interrogations/interro.p`` as loaded
:param savename: Filename with or without extension
:type savename: str
:param loaddir: Relative path to the directory containg *savename*
:type loaddir: str
:param only_concs: Set to True if loading concordance lines
:type only_concs: bool
:returns: loaded data
"""
try:
import cPickle as pickle
except ImportError:
import pickle as pickle
import os
if not savename.endswith('.p'):
savename = savename + '.p'
if loaddir:
if '/' not in savename:
fullpath = os.path.join(loaddir, savename)
else:
fullpath = savename
else:
fullpath = savename
with open(fullpath, 'rb') as fo:
data = pickle.load(fo)
return data
def loader(savedir='saved_interrogations'):
"""Show a list of data that can be loaded, and then load by user input of index"""
import glob
import os
import corpkit
from corpkit.other import load
fs = [i for i in glob.glob(r'%s/*' % savedir) if not os.path.basename(i).startswith('.')]
string_to_show = '\nFiles in %s:\n' % savedir
most_digits = max([len(str(i)) for i, j in enumerate(fs)])
for index, fname in enumerate(fs):
string_to_show += str(index).rjust(most_digits) + ':\t' + os.path.basename(fname) + '\n'
print(string_to_show)
INPUTFUNC('Enter index of item to load: ')
if ' ' in index or '=' in index:
if '=' in index:
index = index.replace(' = ', ' ')
index = index.replace('=', ' ')
varname, ind = index.split(' ', 1)
globals()[varname] = load(os.path.basename(fs[int(ind)]))
print("%s = %s. Don't do this again." % (varname, os.path.basename(fs[int(ind)])))
return
try:
index = int(index)
except:
raise ValueError('Selection not recognised.')
return load(os.path.basename(fs[index]))
def new_project(name, loc='.', **kwargs):
"""Make a new project in ``loc``.
:param name: A name for the project
:type name: str
:param loc: Relative path to directory in which project will be made
:type loc: str
:returns: None
"""
import corpkit
import os
import shutil
import stat
import platform
from time import strftime, localtime
root = kwargs.get('root', False)
path_to_corpkit = os.path.dirname(corpkit.__file__)
thepath, corpkitname = os.path.split(path_to_corpkit)
# make project directory
fullpath = os.path.join(loc, name)
try:
os.makedirs(fullpath)
except:
if root:
thetime = strftime("%H:%M:%S", localtime())
print('%s: Directory already exists: "%s"' %( thetime, fullpath))
return
else:
raise
# make other directories
dirs_to_make = ['data', 'images', 'saved_interrogations', \
'saved_concordances', 'dictionaries', 'exported', 'logs']
#subdirs_to_make = ['dictionaries', 'saved_interrogations']
for directory in dirs_to_make:
os.makedirs(os.path.join(fullpath, directory))
#for subdir in subdirs_to_make:
#os.makedirs(os.path.join(fullpath, 'data', subdir))
# copy the bnc dictionary to dictionaries
def resource_path(relative):
import os
return os.path.join(os.environ.get("_MEIPASS2",os.path.abspath(".")),relative)
corpath = os.path.dirname(corpkit.__file__)
if root:
corpath = corpath.replace('/lib/python2.7/site-packages.zip/corpkit', '')
baspat = os.path.dirname(corpath)
dicpath = os.path.join(corpath, 'dictionaries')
try:
shutil.copy(os.path.join(dicpath, 'bnc.p'), os.path.join(fullpath, 'dictionaries'))
except:
# find out why bnc not found!
if root:
try:
shutil.copy(resource_path(os.path.join('dictionaries', 'bnc.p')), os.path.join(fullpath, 'dictionaries'))
except:
pass
if not root:
thetime = strftime("%H:%M:%S", localtime())
print('\n%s: New project created: "%s"\n' % (thetime, name))
def load_all_results(data_dir='saved_interrogations', **kwargs):
"""
Load every saved interrogation in data_dir into a dict:
>>> r = load_all_results()
:param data_dir: path to saved data
:type data_dir: str
:returns: dict with filenames as keys
"""
import os
from time import localtime, strftime
from other import load
from process import makesafe
root = kwargs.get('root', False)
note = kwargs.get('note', False)
datafiles = [f for f in os.listdir(data_dir) if os.path.isfile(os.path.join(data_dir, f)) \
and f.endswith('.p')]
# just load first n (for testing)
if kwargs.get('n', False):
datafiles = datafiles[:kwargs['n']]
output = {}
l = 0
for index, f in enumerate(datafiles):
try:
loadname = f.replace('.p', '')
output[loadname] = load(f, loaddir = data_dir)
time = strftime("%H:%M:%S", localtime())
print('%s: %s loaded as %s.' % (time, f, makesafe(loadname)))
l += 1
except:
time = strftime("%H:%M:%S", localtime())
print('%s: %s failed to load. Try using load to find out the matter.' % (time, f))
if note and len(datafiles) > 3:
note.progvar.set((index + 1) * 100.0 / len(datafiles))
if root:
root.update()
time = strftime("%H:%M:%S", localtime())
print('%s: %d interrogations loaded from %s.' % (time, l, os.path.basename(data_dir)))
from interrogation import Interrodict
return Interrodict(output)
def texify(series, n=20, colname='Keyness', toptail=False, sort=False):
"""turn a series into a latex table"""
import corpkit
import pandas as pd
if sort:
df = pd.DataFrame(series.order(ascending=False))
else:
df = pd.DataFrame(series)
df.columns = [colname]
if not toptail:
return df.head(n).to_latex()
else:
comb = pd.concat([df.head(n), df.tail(n)])
longest_word = max([len(w) for w in list(comb.index)])
tex = ''.join(comb.to_latex()).split('\n')
linelin = len(tex[0])
try:
newline = (' ' * (linelin / 2)) + ' &'
newline_len = len(newline)
newline = newline + (' ' * (newline_len - 1)) + r'\\'
newline = newline.replace(r' \\', r'... \\')
newline = newline.replace(r' ', r'... ', 1)
except:
newline = r'... & ... \\'
tex = tex[:n+4] + [newline] + tex[n+4:]
tex = '\n'.join(tex)
return tex
def as_regex(lst, boundaries='w', case_sensitive=False, inverse=False, compile=False):
"""Turns a wordlist into an uncompiled regular expression
:param lst: A wordlist to convert
:type lst: list
:param boundaries:
:type boundaries: str -- 'word'/'line'/'space'; tuple -- (leftboundary, rightboundary)
:param case_sensitive: Make regular expression case sensitive
:type case_sensitive: bool
:param inverse: Make regular expression inverse matching
:type inverse: bool
:returns: regular expression as string
"""
import corpkit
import re
if case_sensitive:
case = r''
else:
case = r'(?i)'
if not boundaries:
boundary1 = r''
boundary2 = r''
elif isinstance(boundaries, (tuple, list)):
boundary1 = boundaries[0]
boundary2 = boundaries[1]
else:
if boundaries.startswith('w') or boundaries.startswith('W'):
boundary1 = r'\b'
boundary2 = r'\b'
elif boundaries.startswith('l') or boundaries.startswith('L'):
boundary1 = r'^'
boundary2 = r'$'
elif boundaries.startswith('s') or boundaries.startswith('S'):
boundary1 = r'\s'
boundary2 = r'\s'
else:
raise ValueError('Boundaries not recognised. Use a tuple for custom start and end boundaries.')
if inverse:
inverser1 = r'(?!'
inverser2 = r')'
else:
inverser1 = r''
inverser2 = r''
if inverse:
joinbit = r'%s|%s' % (boundary2, boundary1)
as_string = case + inverser1 + r'(?:' + boundary1 + joinbit.join(sorted(list(set([re.escape(w) for w in lst])))) + boundary2 + r')' + inverser2
else:
as_string = case + boundary1 + inverser1 + r'(?:' + r'|'.join(sorted(list(set([re.escape(w) for w in lst])))) + r')' + inverser2 + boundary2
if compile:
return re.compile(as_string)
else:
return as_string
def make_multi(interrogation, indexnames=None):
"""
make pd.multiindex version of an interrogation (for pandas geeks)
:param interrogation: a corpkit interrogation
:type interrogation: a corpkit interrogation, pd.DataFrame or pd.Series
:param indexnames: pass in a list of names for the multiindex;
leave as None to get them if possible from interrogation
use False to explicitly not get them
:type indexnames: list of strings/None/False
:returns: pd.DataFrame with multiindex"""
# get proper names for index if possible
from corpkit.constants import transshow, transobjs
import numpy as np
import pandas as pd
# if it's an interrodict, we want to make it into a single df
import corpkit
from corpkit.interrogation import Interrodict, Interrogation
seriesmode = False
if isinstance(interrogation, (Interrodict, dict)):
import pandas as pd
import numpy as np
flat = [[], [], []]
for name, data in list(interrogation.items()):
for subcorpus in list(data.results.index):
# make multiindex
flat[0].append(name)
flat[1].append(subcorpus)
# add results
flat[2].append(data.results.ix[subcorpus])
flat[0] = np.array(flat[0])
flat[1] = np.array(flat[1])
df = pd.DataFrame(flat[2], index=flat[:2])
if indexnames is None:
indexnames = ['Corpus', 'Subcorpus']
df.index.names = indexnames
df = df.fillna(0)
df = df.T
df[('Total', 'Total')] = df.sum(axis=1)
df = df.sort_values(by=('Total', 'Total'),
ascending=False).drop(('Total', 'Total'),
axis=1).T
try:
df = df.astype(int)
except:
pass
return Interrogation(df, df.sum(axis=1), getattr(interrogation, 'query', None))
# determine datatype, get df and cols
rows=False
if isinstance(interrogation, pd.core.frame.DataFrame):
df = interrogation
cols = list(interrogation.columns)
rows = list(interrogation.index)
elif isinstance(interrogation, pd.core.series.Series):
cols = list(interrogation.index)
seriesmode = True
df = pd.DataFrame(interrogation).T
elif isinstance(interrogation, Interrogation):
df = interrogation.results
if isinstance(df, pd.core.series.Series):
cols = list(df.index)
seriesmode = True
df = pd.DataFrame(df).T
else:
cols = list(df.columns)
rows = list(df.index)
# set indexnames if we have them
if indexnames is not False:
if interrogation.query.get('show'):
indexnames = []
ends = ['w', 'l', 'i', 'n', 'f', 'p', 'x', 's']
for showval in interrogation.query['show']:
if len(showval) == 1:
if showval in ends:
showval = 'm' + showval
else:
showval = showval + 'w'
a = transobjs.get(showval[0], showval[0])
b = transshow.get(showval[-1], showval[-1])
indexstring = '%s %s' % (a, b.lower())
indexnames.append(indexstring)
else:
indexnames = False
# split column names on slash
for index, i in enumerate(cols):
cols[index] = i.split('/')
# make numpy arrays
arrays = []
for i in range(len(cols[0])):
arrays.append(np.array([x[i] for x in cols]))
# make output df, add names if we have them
newdf = pd.DataFrame(df.T.as_matrix(), index=arrays).T
if indexnames:
newdf.columns.names = indexnames
if rows:
newdf.index = rows
pd.set_option('display.multi_sparse', False)
totals = newdf.sum(axis=1)
query = interrogation.query
conco = getattr(interrogation, 'concordance', None)
return Interrogation(newdf, totals, query, conco)
def topwords(self, datatype='n', n=10, df=False, sort=True, precision=2):
"""Show top n results in each corpus alongside absolute or relative frequencies.
:param relative: show abs/rel frequencies
:type relative: bool
:param n: number of result to show
:type n: int
:param df: return a DataFrame instead of a string
:type df: bool
:param sort: sort or leave as is
:type sort: bool, 'reverse'
:param precision: float precision
:type precision: int
:Example:
>>> data.topwords(n = 5)
TBT % UST % WAP % WSJ %
health 25.70 health 15.25 health 19.64 credit 9.22
security 6.48 cancer 10.85 security 7.91 health 8.31
cancer 6.19 heart 6.31 cancer 6.55 downside 5.46
flight 4.45 breast 4.29 credit 4.08 inflation 3.37
safety 3.49 security 3.94 safety 3.26 cancer 3.12
:returns: None
"""
import corpkit
from corpkit.interrogation import Interrogation, Interrodict
import pandas as pd
pd.set_option('display.float_format', lambda x: format(x, '.%df' % precision))
strings = []
if sort == 'reverse':
ascend = True
sort = True
else:
ascend = False
if datatype.lower().startswith('n'):
operation = 'n'
if datatype.lower().startswith('k'):
operation = 'k'
else:
operation = '%'
if isinstance(self, corpkit.interrogation.Interrodict):
to_iterate = self.items()
else:
if sort is True:
to_iterate = [(x, self.results.ix[x].sort_values(ascending=ascend)) \
for x in list(self.results.index)]
else:
to_iterate = [(x, self.results.ix[x]) for x in list(self.results.index)]
for name, data in to_iterate:
if isinstance(self, corpkit.interrogation.Interrodict):
if sort is True:
data = data.results.sum().sort_values(ascending=ascend)
else:
data = data.results.sum()
# todo: if already float, don't do this operation...
if operation == '%':
data = data * 100.0 / data.sum()
if operation == 'n':
data = data.astype(float)
if df:
data.index.name = name
df1 = pd.DataFrame({'Result': list(data.index)[:n], operation: list(data)[:n]})
df1 = df1[['Result', operation]]
strings.append(df1)
#ser1 = pd.Series(list(data.index), index = range(len(data)))[:n]
#ser2 = pd.Series(list(data), index = range(len(data)))[:n]
#ser1.name = 'Result'
#ser2.name = operation
#strings.append(ser1)
#strings.append(ser2)
else:
as_str = data[:n].to_string(header=False)
linelen = len(as_str.splitlines()[1])
strings.append(name.ljust(linelen - 1) + '%s\n' % operation + as_str)
# strings is a list of series as strings
if df:
dataframe = pd.concat(strings, axis=1, keys=[i for i, _ in to_iterate])
return dataframe
output = ''
for tup in zip(*[i.splitlines() for i in strings]):
output += ' '.join(tup) + '\n'
print(output)
================================================
FILE: corpkit/parse
================================================
#!/usr/bin/env python
from __future__ import print_function
"""
A script to parse using corpkit
:Example:
$ parse junglebook --speaker-segmentation True
"""
import sys
from corpkit.corpus import Corpus
if len(sys.argv) == 1:
raise ValueError('Please specify a corpus to parse.')
trans = {'true': True,
'false': False,
'none': None}
corp = Corpus(sys.argv[1])
kwargs = {}
args = sys.argv[2:]
for index, item in enumerate(args):
if item.startswith('-'):
item = item.lstrip('-').lower().replace('-', '_')
if '=' in item:
val = item.split('=', 1)[1]
else:
val = args[index+1]
if val.isdigit():
val = int(val)
if isinstance(val, str):
val = trans.get(val.lower(), val)
kwargs[item] = val
parsed = corp.parse(**kwargs)
================================================
FILE: corpkit/plotter.py
================================================
from __future__ import print_function
from corpkit.constants import STRINGTYPE, PYTHON_VERSION
def plotter(df,
title=False,
kind='line',
x_label=None,
y_label=None,
style='ggplot',
figsize=(8, 4),
save=False,
legend_pos='best',
reverse_legend='guess',
num_to_plot=6,
tex='try',
colours='default',
cumulative=False,
pie_legend=True,
partial_pie=False,
show_totals=False,
transparent=False,
output_format='png',
interactive=False,
black_and_white=False,
show_p_val=False,
indices=False,
transpose=False,
rot=False,
**kwargs):
"""Visualise corpus interrogations.
:param title: A title for the plot
:type title: str
:param df: Data to be plotted
:type df: Pandas DataFrame
:param x_label: A label for the x axis
:type x_label: str
:param y_label: A label for the y axis
:type y_label: str
:param kind: The kind of chart to make
:type kind: str ('line'/'bar'/'barh'/'pie'/'area')
:param style: Visual theme of plot
:type style: str ('ggplot'/'bmh'/'fivethirtyeight'/'seaborn-talk'/etc)
:param figsize: Size of plot
:type figsize: tuple (int, int)
:param save: If bool, save with *title* as name; if str, use str as name
:type save: bool/str
:param legend_pos: Where to place legend
:type legend_pos: str ('upper right'/'outside right'/etc)
:param reverse_legend: Reverse the order of the legend
:type reverse_legend: bool
:param num_to_plot: How many columns to plot
:type num_to_plot: int/'all'
:param tex: Use TeX to draw plot text
:type tex: bool
:param colours: Colourmap for lines/bars/slices
:type colours: str
:param cumulative: Plot values cumulatively
:type cumulative: bool
:param pie_legend: Show a legend for pie chart
:type pie_legend: bool
:param partial_pie: Allow plotting of pie slices only
:type partial_pie: bool
:param show_totals: Print sums in plot where possible
:type show_totals: str -- 'legend'/'plot'/'both'
:param transparent: Transparent .png background
:type transparent: bool
:param output_format: File format for saved image
:type output_format: str -- 'png'/'pdf'
:param black_and_white: Create black and white line styles
:type black_and_white: bool
:param show_p_val: Attempt to print p values in legend if contained in df
:type show_p_val: bool
:param indices: To use when plotting "distance from root"
:type indices: bool
:param stacked: When making bar chart, stack bars on top of one another
:type stacked: str
:param filled: For area and bar charts, make every column sum to 100
:type filled: str
:param legend: Show a legend
:type legend: bool
:param rot: Rotate x axis ticks by *rot* degrees
:type rot: int
:param subplots: Plot each column separately
:type subplots: bool
:param layout: Grid shape to use when *subplots* is True
:type layout: tuple -- (int, int)
:param interactive: Experimental interactive options
:type interactive: list -- [1, 2, 3]
:returns: matplotlib figure
"""
import corpkit
import os
try:
from IPython.utils.shimmodule import ShimWarning
import warnings
warnings.simplefilter('ignore', ShimWarning)
except:
pass
kwargs['rot'] = rot
xtickspan = kwargs.pop('xtickspan', False)
# prefer seaborn plotting
try:
import seaborn as sns
except (ImportError, AttributeError):
pass
import matplotlib as mpl
from matplotlib import rc
if interactive:
import matplotlib.pyplot as plt, mpld3
else:
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
import pandas
from pandas import DataFrame, Series, MultiIndex
from time import localtime, strftime
from process import checkstack
if interactive:
import mpld3
import collections
from mpld3 import plugins, utils
from plugins import InteractiveLegendPlugin, HighlightLines
have_mpldc = False
try:
from mpldatacursor import datacursor, HighlightingDataCursor
have_mpldc = True
except ImportError:
pass
# if the data was multiindexed, the default is a little different!
from corpkit.interrogation import Interrogation
if isinstance(df.index, MultiIndex):
import matplotlib.pyplot as nplt
shape = kwargs.get('shape', 'auto')
truncate = kwargs.get('truncate', 8)
if shape == 'auto':
shape = (int(len(df.index.levels[0]) / 2), 2)
f, axes = nplt.subplots(*shape)
for i, ((name, data), ax) in enumerate(zip(df.groupby(level=0), axes.flatten())):
data = data.loc[name]
if isinstance(truncate, int) and i > truncate:
continue
if kwargs.get('name_format'):
name = kwargs.get('name_format').format(name)
data = Interrogation(results=data, totals=data.sum(axis=1), query=None)
data.visualise(title=name,
ax=ax,
kind=kind,
x_label=x_label,
y_label=y_label,
style=style,
figsize=figsize,
save=save,
legend_pos=legend_pos,
reverse_legend=reverse_legend,
num_to_plot=num_to_plot,
tex=tex,
colours=colours,
cumulative=cumulative,
pie_legend=pie_legend,
partial_pie=partial_pie,
show_totals=show_totals,
transparent=transparent,
output_format=output_format,
interactive=interactive,
black_and_white=black_and_white,
show_p_val=show_p_val,
indices=indices,
transpose=transpose,
rot=rot)
return nplt
def copy(self):
from corpkit.interrogation import Interrodict
copied = {}
for k, v in self.items():
copied[k] = v
return Interrodict(copied)
# check what environment we're in
tk = checkstack('tkinter')
running_python_tex = checkstack('pythontex')
running_spider = checkstack('spyder')
if not title:
title = ''
def truncate_colormap(cmap, minval=0.0, maxval=1.0, n=100):
"""remove extreme values from colourmap --- no pure white"""
import matplotlib.colors as colors
import numpy as np
new_cmap = colors.LinearSegmentedColormap.from_list(
'trunc({n},{a:.2f},{b:.2f})'.format(n=cmap.name, a=minval, b=maxval),
cmap(np.linspace(minval, maxval, n)))
return new_cmap
def get_savename(imagefolder, save = False, title = False, ext = 'png'):
"""Come up with the savename for the image."""
import os
from corpkit.process import urlify
# name as
if not ext.startswith('.'):
ext = '.' + ext
if isinstance(save, STRINGTYPE):
savename = os.path.join(imagefolder, (urlify(save) + ext))
#this 'else' is redundant now that title is obligatory
else:
if title:
filename = urlify(title) + ext
savename = os.path.join(imagefolder, filename)
# remove duplicated ext
if savename.endswith('%s%s' % (ext, ext)):
savename = savename.replace('%s%s' % (ext, ext), ext, 1)
return savename
def rename_data_with_total(dataframe, was_series = False, using_tex = False, absolutes = True):
"""adds totals (abs, rel, keyness) to entry name strings"""
if was_series:
where_the_words_are = dataframe.index
else:
where_the_words_are = dataframe.columns
the_labs = []
for w in list(where_the_words_are):
if not absolutes:
if was_series:
perc = dataframe.T[w][0]
else:
the_labs.append(w)
continue
if using_tex:
the_labs.append('%s (%.2f\%%)' % (w, perc))
else:
the_labs.append('%s (%.2f %%)' % (w, perc))
else:
if was_series:
score = dataframe.T[w].sum()
else:
score = dataframe[w].sum()
if using_tex:
the_labs.append('%s (n=%d)' % (w, score))
else:
the_labs.append('%s (n=%d)' % (w, score))
if not was_series:
dataframe.columns = the_labs
else:
vals = list(dataframe[list(dataframe.columns)[0]].values)
dataframe = pandas.DataFrame(vals, index=the_labs)
dataframe.columns = ['Total']
return dataframe
def auto_explode(dataframe, tinput, was_series = False, num_to_plot = 7):
"""give me a list of strings and i'll output explode option"""
output = [0 for s in range(num_to_plot)]
if was_series:
l = list(dataframe.index)
else:
l = list(dataframe.columns)
if isinstance(tinput, (STRINGTYPE, int)):
tinput = [tinput]
if isinstance(tinput, list):
for i in tinput:
if isinstance(i, STRINGTYPE):
index = l.index(i)
else:
index = i
output[index] = 0.1
return output
# get a few options from kwargs
sbplt = kwargs.get('subplots', False)
show_grid = kwargs.pop('grid', True)
the_rotation = kwargs.get('rot', False)
dragmode = kwargs.pop('draggable', False)
leg_frame = kwargs.pop('legend_frame', True)
leg_alpha = kwargs.pop('legend_alpha', 0.8)
# auto set num to plot based on layout
lo = kwargs.get('layout', None)
if lo:
num_to_plot = lo[0] * lo[1]
# todo: get this dynamically instead.
styles = ['dark_background', 'bmh', 'grayscale', 'ggplot', 'fivethirtyeight', 'matplotlib', False, 'mpl-white']
#if style not in styles:
#raise ValueError('Style %s not found. Use %s' % (str(style), ', '.join(styles)))
if style == 'mpl-white':
try:
sns.set_style("whitegrid")
except:
pass
style = 'matplotlib'
if kwargs.get('savepath'):
mpl.rcParams['savefig.directory'] = kwargs.get('savepath')
kwargs.pop('savepath', None)
mpl.rcParams['savefig.bbox'] = 'tight'
mpl.rcParams.update({'figure.autolayout': True})
# try to use tex
# TO DO:
# make some font kwargs here
using_tex = False
mpl.rcParams['font.family'] = 'sans-serif'
mpl.rcParams['text.latex.unicode'] = True
if tex == 'try' or tex is True:
try:
rc('text', usetex=True)
rc('font', **{'family': 'serif', 'serif': ['Computer Modern']})
using_tex = True
except:
matplotlib.rc('font', family='sans-serif')
matplotlib.rc('font', serif='Helvetica Neue')
matplotlib.rc('text', usetex='false')
rc('text', usetex=False)
else:
rc('text', usetex=False)
if interactive:
using_tex = False
if show_totals is False:
show_totals = 'none'
# find out what kind of plot we're making, and enable
# or disable interactive values if need be
kwargs['kind'] = kind.lower()
if interactive:
if kwargs['kind'].startswith('bar'):
interactive_types = [3]
elif kwargs['kind'] == 'area':
interactive_types = [2, 3]
elif kwargs['kind'] == 'line':
interactive_types = [2, 3]
elif kwargs['kind'] == 'pie':
interactive_types = None
warnings.warn('Interactive plotting not yet available for pie plots.')
else:
interactive_types = [None]
if interactive is False:
interactive_types = [None]
# find out if pie mode, add autopct format
piemode = False
if kind == 'pie':
piemode = True
# always the best spot for pie
#if legend_pos == 'best':
#legend_pos = 'lower left'
if show_totals.endswith('plot') or show_totals.endswith('both'):
kwargs['pctdistance'] = 0.6
if using_tex:
kwargs['autopct'] = r'%1.1f\%%'
else:
kwargs['autopct'] = '%1.1f%%'
# copy data, make series into df
dataframe = df.copy()
if kind == 'heatmap':
try:
dataframe = dataframe.T
except:
pass
was_series = False
if isinstance(dataframe, Series):
was_series = True
if not cumulative:
dataframe = DataFrame(dataframe)
else:
dataframe = DataFrame(dataframe.cumsum())
else:
# don't know if this is much good.
if transpose:
dataframe = dataframe.T
if cumulative:
dataframe = DataFrame(dataframe.cumsum())
if len(list(dataframe.columns)) == 1:
was_series = True
# attempt to convert x axis to ints:
#try:
# dataframe.index = [int(i) for i in list(dataframe.index)]
#except:
# pass
# remove totals and tkinter order
if not was_series:
for name, ax in zip(['Total'] * 2 + ['tkintertable-order'] * 2, [0, 1, 0, 1]):
try:
dataframe = dataframe.drop(name, axis=ax, errors='ignore')
except:
pass
try:
dataframe = dataframe.drop('tkintertable-order', errors='ignore')
except:
pass
try:
dataframe = dataframe.drop('tkintertable-order', axis=1, errors='ignore')
except:
pass
# look at columns to see if all can be ints, in which case, set up figure
# for depnumming
if not was_series:
if indices == 'guess':
def isint(x):
try:
a = float(x)
b = int(a)
except (ValueError, OverflowError):
return False
else:
return a == b
if all([isint(x) is True for x in list(dataframe.columns)]):
indices = True
else:
indices = False
# if depnumming, plot all, transpose, and rename axes
if indices is True:
num_to_plot = 'all'
dataframe = dataframe.T
if y_label is None:
y_label = 'Percentage of all matches'
if x_label is None:
x_label = ''
# set backend?
output_formats = ['svgz', 'ps', 'emf', 'rgba', 'raw', 'pdf', 'svg', 'eps', 'png', 'pgf']
if output_format not in output_formats:
raise ValueError('%s output format not recognised. Must be: %s' % (output_format, ', '.join(output_formats)))
# don't know if these are necessary
if 'pdf' in output_format:
plt.switch_backend(output_format)
if 'pgf' in output_format:
plt.switch_backend(output_format)
if num_to_plot == 'all':
if was_series:
if not piemode:
num_to_plot = len(dataframe)
else:
num_to_plot = len(dataframe)
else:
if not piemode:
num_to_plot = len(list(dataframe.columns))
else:
num_to_plot = len(dataframe.index)
# explode pie, or remove if not piemode
if piemode and not sbplt and kwargs.get('explode'):
kwargs['explode'] = auto_explode(dataframe,
kwargs['explode'],
was_series=was_series,
num_to_plot=num_to_plot)
else:
kwargs.pop('explode', None)
legend = kwargs.get('legend', True)
#cut data short
plotting_a_totals_column = False
if was_series:
if list(dataframe.columns)[0] != 'Total':
try:
can_be_ints = [int(x) for x in list(dataframe.index)]
num_to_plot = len(dataframe)
except:
dataframe = dataframe[:num_to_plot]
elif list(dataframe.columns)[0] == 'Total':
plotting_a_totals_column = True
if not 'legend' in kwargs:
legend = False
num_to_plot = len(dataframe)
else:
if transpose:
dataframe = dataframe.head(num_to_plot)
else:
dataframe = dataframe.T.head(num_to_plot).T
# remove stats fields, put p in entry text, etc.
statfields = ['slope', 'intercept', 'r', 'p', 'stderr']
try:
dataframe = dataframe.drop(statfields, axis=1, errors='ignore')
except:
pass
try:
dataframe.ix['p']
there_are_p_vals = True
except:
there_are_p_vals = False
if show_p_val:
if there_are_p_vals:
newnames = []
for col in list(dataframe.columns):
pval = dataframe[col]['p']
def p_string_formatter(val):
if val < 0.001:
if not using_tex:
return 'p < 0.001'
else:
return r'p $<$ 0.001'
else:
return 'p = %s' % format(val, '.3f')
pstr = p_string_formatter(pval)
newname = '%s (%s)' % (col, pstr)
newnames.append(newname)
dataframe.columns = newnames
dataframe.drop(statfields, axis=0, inplace = True, errors='ignore')
else:
warnings.warn('No p-values calculated to show.\n\nUse keep_stats kwarg while editing to generate these values.')
else:
if there_are_p_vals:
dataframe.drop(statfields, axis=0, inplace=True, errors='ignore')
# make and set y label
absolutes = True
if isinstance(dataframe, DataFrame):
try:
if not all([s.is_integer() for s in dataframe.iloc[0,:].values]):
absolutes = False
except:
pass
else:
if not all([s.is_integer() for s in dataframe.values]):
absolutes = False
##########################################
################ COLOURS #################
##########################################
# set defaults, with nothing for heatmap yet
if colours is True or colours == 'default' or colours == 'Default':
if kind != 'heatmap':
colours = 'viridis'
else:
colours = 'default'
# assume it's a single color, unless string denoting map
cmap_or_c = 'color'
if isinstance(colours, str):
cmap_or_c = 'colormap'
from matplotlib.colors import LinearSegmentedColormap
if isinstance(colours, LinearSegmentedColormap):
cmap_or_c = 'colormap'
# for heatmaps, it's always a colormap
if kind == 'heatmap':
cmap_or_c = 'cmap'
# if it's a defaulty string, set accordingly
if isinstance(colours, str):
if colours.lower().startswith('diverg'):
colours = sns.diverging_palette(10, 133, as_cmap=True)
# if default not set, do diverge for any df with a number < 0
elif colours.lower() == 'default':
mn = dataframe.min()
if isinstance(mn, Series):
mn = mn.min()
if mn < 0:
colours = sns.diverging_palette(10, 133, as_cmap=True)
else:
colours = sns.light_palette("green", as_cmap=True)
if 'seaborn' not in style:
kwargs[cmap_or_c] = colours
#if not was_series:
# if kind in ['pie', 'line', 'area']:
# if colours and not plotting_a_totals_column:
# kwargs[cmap_or_c] = colours
# else:
# if colours:
# kwargs[cmap_or_c] = colours
#if piemode:
# if num_to_plot > 0:
# kwargs[cmap_or_c] = colours
# else:
# if num_to_plot > 0:
# kwargs[cmap_or_c] = colours
# multicoloured bar charts
#if colours and cmap_or_c == 'colormap':
# if kind.startswith('bar'):
# if len(list(dataframe.columns)) == 1:
# if not black_and_white:
# import numpy as np
# the_range = np.linspace(0, 1, num_to_plot)
# middle = len(the_range) / 2
# try:
# cmap = plt.get_cmap(colours)
# kwargs[cmap_or_c] = [cmap(n) for n in the_range][middle]
# except ValueError:
# kwargs[cmap_or_c] = colours
# # make a bar width ... ? ...
# #kwargs['width'] = (figsize[0] / float(num_to_plot)) / 1.5
# reversing legend option
if reverse_legend is True:
rev_leg = True
elif reverse_legend is False:
rev_leg = False
# show legend or don't, guess whether to reverse based on kind
if kind in ['bar', 'barh', 'area', 'line', 'pie']:
if was_series:
legend = False
if kind == 'pie':
if pie_legend:
legend = True
else:
legend = False
if kind in ['barh', 'area']:
if reverse_legend == 'guess':
rev_leg = True
if not 'rev_leg' in locals():
rev_leg = False
# the default legend placement
if legend_pos is True:
legend_pos = 'best'
# cut dataframe if just_totals
try:
tst = dataframe['Combined total']
dataframe = dataframe.head(num_to_plot)
except:
pass
# no title for subplots because ugly,
if title and not sbplt:
kwargs['title'] = title
# no interactive subplots yet:
if sbplt and interactive:
import warnings
interactive = False
warnings.warn('No interactive subplots yet, sorry.')
return
# not using pandas for labels or legend anymore.
#kwargs['labels'] = None
#kwargs['legend'] = False
if legend:
if num_to_plot > 6:
if not kwargs.get('ncol'):
kwargs['ncol'] = num_to_plot // 7
# kwarg options go in leg_options
leg_options = {'framealpha': leg_alpha,
'shadow': kwargs.get('shadow', False),
'ncol': kwargs.pop('ncol', 1)}
# determine legend position based on this dict
if legend_pos:
possible = {'best': 0, 'upper right': 1, 'upper left': 2, 'lower left': 3, 'lower right': 4,
'right': 5, 'center left': 6, 'center right': 7, 'lower center': 8, 'upper center': 9,
'center': 10, 'o r': 2, 'outside right': 2, 'outside upper right': 2,
'outside center right': 'center left', 'outside lower right': 'lower left'}
if isinstance(legend_pos, int):
the_loc = legend_pos
elif isinstance(legend_pos, str):
try:
the_loc = possible[legend_pos]
except KeyError:
raise KeyError('legend_pos value must be one of:\n%s\n or an int between 0-10.' %', '.join(list(possible.keys())))
leg_options['loc'] = the_loc
#weirdness needed for outside plot
if legend_pos in ['o r', 'outside right', 'outside upper right']:
leg_options['bbox_to_anchor'] = (1.02, 1)
if legend_pos == 'outside center right':
leg_options['bbox_to_anchor'] = (1.02, 0.5)
if legend_pos == 'outside lower right':
leg_options['loc'] == 'upper right'
leg_options['bbox_to_anchor'] = (0.5, 0.5)
# a bit of distance between legend and plot for outside legends
if isinstance(legend_pos, str):
if legend_pos.startswith('o'):
leg_options['borderaxespad'] = 1
if not piemode:
if show_totals.endswith('both') or show_totals.endswith('legend'):
dataframe = rename_data_with_total(dataframe,
was_series = was_series,
using_tex = using_tex,
absolutes = absolutes)
else:
if pie_legend:
if show_totals.endswith('both') or show_totals.endswith('legend'):
dataframe = rename_data_with_total(dataframe,
was_series = was_series,
using_tex = using_tex,
absolutes = absolutes)
if piemode:
if partial_pie:
dataframe = dataframe / 100.0
# some pie things
if piemode:
if not sbplt:
kwargs['y'] = list(dataframe.columns)[0]
def filler(df):
pby = df.T.copy()
for i in list(pby.columns):
tot = pby[i].sum()
pby[i] = pby[i] * 100.0 / tot
return pby.T
areamode = False
if kind == 'area':
areamode = True
if legend is False:
kwargs['legend'] = False
# line highlighting option for interactive!
if interactive:
if 2 in interactive_types:
if kind == 'line':
kwargs['marker'] = ','
if not piemode:
kwargs['alpha'] = 0.1
# convert dates --- works only in my current case!
#if plotting_a_totals_column or not was_series:
# try:
# can_it_be_int = int(list(dataframe.index)[0])
# can_be_int = True
# except:
# can_be_int = False
# if can_be_int:
# if 1500 < int(list(dataframe.index)[0]):
# if 2050 > int(list(dataframe.index)[0]):
# n = pandas.PeriodIndex([d for d in list(dataframe.index)], freq='A')
# dataframe = dataframe.set_index(n)
if kwargs.get('filled'):
if areamode or kind.startswith('bar'):
dataframe = filler(dataframe)
kwargs.pop('filled', None)
MARKERSIZE = 4
COLORMAP = {
0: {'marker': None, 'dash': (None,None)},
1: {'marker': None, 'dash': [5,5]},
2: {'marker': "o", 'dash': (None,None)},
3: {'marker': None, 'dash': [1,3]},
4: {'marker': "s", 'dash': [5,2,5,2,5,10]},
5: {'marker': None, 'dash': [5,3,1,2,1,10]},
6: {'marker': 'o', 'dash': (None,None)},
7: {'marker': None, 'dash': [5,3,1,3]},
8: {'marker': "1", 'dash': [1,3]},
9: {'marker': "*", 'dash': [5,5]},
10: {'marker': "2", 'dash': [5,2,5,2,5,10]},
11: {'marker': "s", 'dash': (None,None)}
}
HATCHES = {
0: {'color': '#dfdfdf', 'hatch':"/"},
1: {'color': '#6f6f6f', 'hatch':"\\"},
2: {'color': 'b', 'hatch':"|"},
3: {'color': '#dfdfdf', 'hatch':"-"},
4: {'color': '#6f6f6f', 'hatch':"+"},
5: {'color': 'b', 'hatch':"x"}
}
if black_and_white:
if kind == 'line':
kwargs['linewidth'] = 1
cmap = plt.get_cmap('Greys')
new_cmap = truncate_colormap(cmap, 0.25, 0.95)
if kind == 'bar':
# darker if just one entry
if len(dataframe.columns) == 1:
new_cmap = truncate_colormap(cmap, 0.70, 0.90)
kwargs[cmap_or_c] = new_cmap
# remove things from kwargs if heatmap
if kind == 'heatmap':
hmargs = {'annot': kwargs.pop('annot', True),
cmap_or_c: kwargs.pop(cmap_or_c, None),
'fmt': kwargs.pop('fmt', ".2f"),
'cbar': kwargs.pop('cbar', False)}
for i in ['vmin', 'vmax', 'linewidths', 'linecolor',
'robust', 'center', 'cbar_kws', 'cbar_ax',
'square', 'mask', 'norm']:
if i in kwargs.keys():
hmargs[i] = kwargs.pop(i, None)
class dummy_context_mgr():
"""a fake context for plotting without style
perhaps made obsolete by 'classic' style in new mpl"""
def __enter__(self):
return None
def __exit__(self, one, two, three):
return False
with plt.style.context((style)) if style != 'matplotlib' else dummy_context_mgr():
kwargs.pop('filled', None)
if not sbplt:
# check if negative values, no stacked if so
if areamode:
if not kwargs.get('ax'):
kwargs['legend'] = False
if dataframe.applymap(lambda x: x < 0.0).any().any():
kwargs['stacked'] = False
rev_leg = False
if kind != 'heatmap':
# turn off pie labels at the last minute
if kind == 'pie' and pie_legend:
kwargs['labels'] = None
kwargs['autopct'] = '%.2f'
if kind == 'pie':
kwargs.pop('color', None)
ax = dataframe.plot(figsize=figsize, **kwargs)
else:
fg = plt.figure(figsize=figsize)
if title:
plt.title(title)
ax = kwargs.get('ax', plt.axes())
tmp = sns.heatmap(dataframe, ax=ax, **hmargs)
ax.set_title(title)
for item in tmp.get_yticklabels():
item.set_rotation(0)
plt.close(fg)
if areamode and not kwargs.get('ax'):
handles, labels = plt.gca().get_legend_handles_labels()
del handles
del labels
if x_label:
ax.set_xlabel(x_label)
if y_label:
ax.set_ylabel(y_label)
else:
if not kwargs.get('layout'):
plt.gcf().set_tight_layout(False)
if kind != 'heatmap':
ax = dataframe.plot(figsize=figsize, **kwargs)
else:
plt.figure(figsize=figsize)
if title:
plt.title(title)
ax = plt.axes()
sns.heatmap(dataframe, ax=ax, **hmargs)
plt.xticks(rotation=0)
plt.yticks(rotation=0)
def rotate_degrees(rotation, labels):
if rotation is None:
if max(labels, key=len) > 6:
return 45
else:
return 0
elif rotation is False:
return 0
elif rotation is True:
return 45
else:
return rotation
if sbplt:
if 'layout' not in kwargs:
axes = [l for l in ax]
else:
axes = []
cols = [l for l in ax]
for col in cols:
for bit in col:
axes.append(bit)
for index, a in enumerate(axes):
if xtickspan is not False:
a.xaxis.set_major_locator(ticker.MultipleLocator(xtickspan))
labels = [item.get_text() for item in a.get_xticklabels()]
rotation = rotate_degrees(the_rotation, labels)
try:
if the_rotation == 0:
ax.set_xticklabels(labels, rotation=rotation, ha='center')
else:
ax.set_xticklabels(labels, rotation=rotation, ha='right')
except AttributeError:
pass
else:
if kind == 'heatmap':
labels = [item.get_text() for item in ax.get_xticklabels()]
rotation = rotate_degrees(the_rotation, labels)
if the_rotation == 0:
ax.set_xticklabels(labels, rotation=rotation, ha='center')
else:
ax.set_xticklabels(labels, rotation=rotation, ha='right')
if transparent:
plt.gcf().patch.set_facecolor('white')
plt.gcf().patch.set_alpha(0)
if black_and_white:
if kind == 'line':
# white background
# change everything to black and white with interesting dashes and markers
c = 0
for line in ax.get_lines():
line.set_color('black')
#line.set_width(1)
line.set_dashes(COLORMAP[c]['dash'])
line.set_marker(COLORMAP[c]['marker'])
line.set_markersize(MARKERSIZE)
c += 1
if c == len(list(COLORMAP.keys())):
c = 0
# draw legend with proper placement etc
if legend:
if not piemode and not sbplt and kind != 'heatmap':
if 3 not in interactive_types:
handles, labels = plt.gca().get_legend_handles_labels()
# area doubles the handles and labels. this removes half:
#if areamode:
# handles = handles[-len(handles) / 2:]
# labels = labels[-len(labels) / 2:]
if rev_leg:
handles = handles[::-1]
labels = labels[::-1]
if kwargs.get('ax'):
lgd = plt.gca().legend(handles, labels, **leg_options)
ax.get_legend().draw_frame(leg_frame)
else:
lgd = plt.legend(handles, labels, **leg_options)
lgd.draw_frame(leg_frame)
if interactive:
# 1 = highlight lines
# 2 = line labels
# 3 = legend switches
ax = plt.gca()
# fails for piemode
lines = ax.lines
handles, labels = plt.gca().get_legend_handles_labels()
if 1 in interactive_types:
plugins.connect(plt.gcf(), HighlightLines(lines))
if 3 in interactive_types:
plugins.connect(plt.gcf(), InteractiveLegendPlugin(lines, labels, alpha_unsel=0.0))
for i, l in enumerate(lines):
y_vals = l.get_ydata()
x_vals = l.get_xdata()
x_vals = [str(x) for x in x_vals]
if absolutes:
ls = ['%s (%s: %d)' % (labels[i], x_val, y_val) for x_val, y_val in zip(x_vals, y_vals)]
else:
ls = ['%s (%s: %.2f%%)' % (labels[i], x_val, y_val) for x_val, y_val in zip(x_vals, y_vals)]
if 2 in interactive_types:
#if 'kind' in kwargs and kwargs['kind'] == 'area':
tooltip_line = mpld3.plugins.LineLabelTooltip(lines[i], labels[i])
mpld3.plugins.connect(plt.gcf(), tooltip_line)
#else:
if kind == 'line':
tooltip_point = mpld3.plugins.PointLabelTooltip(l, labels = ls)
mpld3.plugins.connect(plt.gcf(), tooltip_point)
if piemode:
if not sbplt:
plt.axis('equal')
ax.get_xaxis().set_visible(False)
ax.get_yaxis().set_visible(False)
# add x label
# this could be revised now!
# if time series period, it's year for now
if isinstance(dataframe.index, pandas.tseries.period.PeriodIndex):
x_label = 'Year'
y_l = False
if not absolutes:
y_l = 'Percentage'
else:
y_l = 'Absolute frequency'
# hacky: turn legend into subplot titles :)
if sbplt:
# title the big plot
#plt.gca().suptitle(title, fontsize = 16)
#plt.subplots_adjust(top=0.9)
# get all axes
if 'layout' not in kwargs:
axes = [l for index, l in enumerate(ax)]
else:
axes = []
cols = [l for index, l in enumerate(ax)]
for col in cols:
for bit in col:
axes.append(bit)
# set subplot titles
for index, a in enumerate(axes):
try:
titletext = list(dataframe.columns)[index]
except:
pass
a.set_title(titletext)
try:
a.legend_.remove()
except:
pass
#try:
# from matplotlib.ticker import MaxNLocator
# from corpkit.process import is_number
# indx = list(dataframe.index)
# if all([is_number(qq) for qq in indx]):
# ax.get_xaxis().set_major_locator(MaxNLocator(integer=True))
#except:
# pass
# remove axis labels for pie plots
if piemode:
a.axes.get_xaxis().set_visible(False)
a.axes.get_yaxis().set_visible(False)
a.axis('equal')
a.grid(b=show_grid)
# add sums to bar graphs and pie graphs
# doubled right now, no matter
if not sbplt:
# show grid
ax.grid(b=show_grid)
if kind.startswith('bar'):
width = ax.containers[0][0].get_width()
if was_series:
the_y_limit = plt.ylim()[1]
if show_totals.endswith('plot') or show_totals.endswith('both'):
# make plot a bit higher if putting these totals on it
plt.ylim([0,the_y_limit * 1.05])
for i, label in enumerate(list(dataframe.index)):
if len(dataframe.ix[label]) == 1:
score = dataframe.ix[label][0]
else:
if absolutes:
score = dataframe.ix[label].sum()
else:
#import warnings
#warnings.warn("It's not possible to determine total percentage from individual percentages.")
continue
if not absolutes:
plt.annotate('%.2f' % score, (i, score), ha = 'center', va = 'bottom')
else:
plt.annotate(score, (i, score), ha = 'center', va = 'bottom')
else:
the_y_limit = plt.ylim()[1]
if show_totals.endswith('plot') or show_totals.endswith('both'):
for i, label in enumerate(list(dataframe.columns)):
if len(dataframe[label]) == 1:
score = dataframe[label][0]
else:
if absolutes:
score = dataframe[label].sum()
else:
#import warnings
#warnings.warn("It's not possible to determine total percentage from individual percentages.")
continue
if not absolutes:
plt.annotate('%.2f' % score, (i, score), ha='center', va='bottom')
else:
plt.annotate(score, (i, score), ha='center', va='bottom')
if not kwargs.get('layout') and not sbplt and not kwargs.get('ax'):
plt.tight_layout()
if kwargs.get('ax'):
try:
plt.gcf().set_tight_layout(False)
except:
pass
try:
plt.set_tight_layout(False)
except:
pass
if save:
if running_python_tex:
imagefolder = '../images'
else:
imagefolder = 'images'
savename = get_savename(imagefolder, save=save, title=title, ext=output_format)
if not os.path.isdir(imagefolder):
os.makedirs(imagefolder)
# save image and get on with our lives
if legend_pos.startswith('o') and not sbplt:
plt.gcf().savefig(savename, dpi=150, bbox_extra_artists=(lgd,),
bbox_inches='tight', format=output_format)
else:
plt.gcf().savefig(savename, dpi=150, format=output_format)
time = strftime("%H:%M:%S", localtime())
if os.path.isfile(savename):
print('\n' + time + ": " + savename + " created.")
else:
raise ValueError("Error making %s." % savename)
if dragmode:
plt.legend().draggable()
if sbplt:
plt.subplots_adjust(right=.8)
plt.subplots_adjust(left=.1)
# add DataCursor to notebook backend if possible
if have_mpldc:
if kind == 'line':
HighlightingDataCursor(plt.gca().get_lines(), highlight_width=4, highlight_color = False,
formatter=lambda **kwargs: '%s: %s' % (kwargs['label'], "{0:.3f}".format(kwargs['y'])))
else:
datacursor(formatter=lambda **kwargs: '%s: %s' % (kwargs['label'], "{0:.3f}".format(kwargs['height'])))
#if not interactive and not running_python_tex and not running_spider \
# and not tk:
# plt.gcf().show()
# return plt
#elif running_spider or tk:
# return plt
if interactive:
plt.subplots_adjust(right=.8)
plt.subplots_adjust(left=.1)
try:
ax.legend_.remove()
except:
pass
return mpld3.display()
else:
return plt
def multiplotter(df, leftdict={},rightdict={}, **kwargs):
"""
Plot a big chart and its subplots together
:param leftdict: a dict of arguments for the big plot
:type leftdict: dict
:param rightdict: a dict of arguments for the small plot
:type rightdict: dict
"""
from corpkit.interrogation import Interrogation
import matplotlib.pyplot as plt
axes = []
if isinstance(df, Interrogation):
df = df.results
df2 = rightdict.pop('data', df.copy())
if isinstance(df2, Interrogation):
df2 = df2.results
# add more cool layouts here
# and figure out a nice way to access them other than numbers...
from corpkit.layouts import layouts
if isinstance(kwargs.get('layout'), list):
layout = kwargs.get('layout')
else:
lay = kwargs.get('layout', 1)
layout = layouts.get(lay)
kinda = leftdict.pop('kind', 'area')
kindb = rightdict.pop('kind', 'line')
tpa = leftdict.pop('transpose', False)
tpb = rightdict.pop('transpose', False)
numtoplot = leftdict.pop('num_to_plot', len(layout) - 1)
ntpb = rightdict.pop('num_to_plot', 'all')
sharex = rightdict.pop('sharex', True)
sharey = rightdict.pop('sharey', False)
if kindb == 'pie':
piecol = rightdict.pop('colours', 'default')
coloursb = rightdict.pop('colours', 'default')
fig = plt.figure()
for i, (nrows, ncols, plot_number) in enumerate(layout, start=-1):
if tpb:
df2 = df2.T
if i >= len(df2.columns):
continue
ax = fig.add_subplot(nrows, ncols, plot_number)
if i == -1:
df.visualise(kind=kinda, ax=ax, transpose=tpa,
num_to_plot=numtoplot, **leftdict)
if kinda in ['bar', 'hist', 'barh']:
import matplotlib as mpl
colmap = []
rects = [r for r in ax.get_children() if isinstance(r, mpl.patches.Rectangle)]
for r in rects:
if r._facecolor not in colmap:
colmap.append(r._facecolor)
try:
colmap = {list(df.columns)[i]: x for i, x in enumerate(colmap[:len(df.columns)])}
except AttributeError:
colmap = {list(df.index)[i]: x for i, x in enumerate(colmap[:len(df.index)])}
else:
try:
colmap = {list(df.columns)[i]: l.get_color() for i, l in enumerate(ax.get_lines())}
except AttributeError:
colmap = {list(df.index)[i]: l.get_color() for i, l in enumerate(ax.get_lines())}
else:
if colmap and kindb != 'pie':
try:
name = df2.iloc[:, i].name
coloursb = colmap[name]
except IndexError:
coloursb = 'gray'
except KeyError:
coloursb = 'gray'
if kindb == 'pie':
rightdict['colours'] = piecol
else:
rightdict['colours'] = coloursb
df2.iloc[:, i].visualise(kind=kindb, ax=ax, sharex=sharex, sharey=sharey,
num_to_plot=ntpb, **rightdict)
ax.set_title(df2.iloc[:, i].name)
wspace = kwargs.get('wspace', .2)
hspace = kwargs.get('hspace', .5)
fig.subplots_adjust(bottom=0.025, left=0.025, top=0.975, right=0.975,
wspace=wspace, hspace=hspace)
size = kwargs.get('figsize', (10, 4))
fig.set_size_inches(size)
try:
plt.set_size_inches(size)
except:
pass
if kwargs.get('save'):
import os
from corpkit.process import urlify
savepath = os.path.join('images', urlify(kwargs['save']) + '.png')
fig.savefig(savepath, dpi=150)
return plt
================================================
FILE: corpkit/plugins.py
================================================
import mpld3
import collections
from mpld3 import plugins, utils
class HighlightLines(plugins.PluginBase):
"""A plugin to highlight lines on hover"""
JAVASCRIPT = """
mpld3.register_plugin("linehighlight", LineHighlightPlugin);
LineHighlightPlugin.prototype = Object.create(mpld3.Plugin.prototype);
LineHighlightPlugin.prototype.constructor = LineHighlightPlugin;
LineHighlightPlugin.prototype.requiredProps = ["line_ids"];
LineHighlightPlugin.prototype.defaultProps = {alpha_bg:0.0, alpha_fg:1.0}
function LineHighlightPlugin(fig, props){
mpld3.Plugin.call(this, fig, props);
};
LineHighlightPlugin.prototype.draw = function(){
for(var i=0; ilink', '')
return HTML('' % url)
def add_corpkit_to_path():
import sys
import os
import inspect
corpath = inspect.getfile(inspect.currentframe())
baspat = os.path.dirname(corpath)
dicpath = os.path.join(baspat, 'dictionaries')
for p in [corpath, baspat, dicpath]:
if p not in sys.path:
sys.path.append(p)
if p not in os.environ["PATH"].split(':'):
os.environ["PATH"] += os.pathsep + p
def add_nltk_data_to_nltk_path(**kwargs):
import nltk
import os
npat = nltk.__file__
nltkpath = os.path.dirname(npat)
if nltkpath not in nltk.data.path:
nltk.data.path.append(nltkpath)
if 'note' in list(kwargs.keys()):
path_within_gui = os.path.join(nltkpath.split('/lib/python2.7')[0], 'nltk_data')
if path_within_gui not in nltk.data.path:
nltk.data.path.append(path_within_gui)
if path_within_gui.replace('/nltk/', '/', 1) not in nltk.data.path:
nltk.data.path.append(path_within_gui.replace('/nltk/', '/', 1))
def get_gui_resource_dir():
import inspect
import os
import sys
if sys.platform == 'darwin':
fext = 'app'
else:
fext = 'exe'
corpath = corpath = __file__
extens = '.%s' % fext
apppath = corpath.split(extens , 1)
resource_path = ''
# if not an .app
if len(apppath) == 1:
resource_path = os.path.dirname(corpath)
else:
apppath = apppath[0] + extens
appdir = os.path.dirname(apppath)
if sys.platform == 'darwin':
#resource_path = os.path.join(apppath, 'Contents', 'Resources')
resource_path = os.path.join(apppath, 'Contents', 'MacOS')
else:
resource_path = appdir
return resource_path
def get_fullpath_to_jars(path_var):
"""when corenlp is needed, this sets corenlppath as the path to jar files,
or returns false if not found"""
import os
important_files = ['stanford-corenlp-3.5.2-javadoc.jar', 'stanford-corenlp-3.5.2-models.jar',
'stanford-corenlp-3.5.2-sources.jar', 'stanford-corenlp-3.5.2.jar']
# if user selected file in parser dir rather than dir,
# get the containing dir
path_var_str = path_var.get()
if os.path.isfile(path_var_str):
path_var_str = os.path.dirname(path_var_str.rstrip('/'))
# if the user selected the subdir:
if all(os.path.isfile(os.path.join(path_var_str, f)) for f in important_files):
path_var.set(path_var_str)
return True
# if the user selected the parent dir:
if os.path.isdir(path_var_str):
# get subdirs containing the jar
try:
find_install = [d for d in os.listdir(path_var_str) \
if os.path.isdir(os.path.join(path_var_str, d)) \
and os.path.isfile(os.path.join(path_var_str, d, 'jollyday.jar'))]
except OSError:
pass
if len(find_install) > 0:
path_var.set(os.path.join(path_var_str, find_install[0]))
return True
# need to fix this duplicated code
try:
home = os.path.expanduser("~")
try_dir = os.path.join(home, 'corenlp')
if os.path.isdir(try_dir):
path_var_str = try_dir
# get subdirs containing the jar
try:
find_install = [d for d in os.listdir(path_var_str) \
if os.path.isdir(os.path.join(path_var_str, d)) \
and os.path.isfile(os.path.join(path_var_str, d, 'jollyday.jar'))]
except OSError:
pass
if len(find_install) > 0:
path_var.set(os.path.join(path_var_str, find_install[0]))
return True
except:
pass
return False
def determine_datatype(path):
"""
Determine if plaintext, tokens or parsed XML
"""
import os
from collections import Counter
exts = []
if not os.path.isdir(path) and not os.path.isfile(path):
raise ValueError("Corpus path '%s' doesn't exist." % path)
singlefile = False
if os.path.isfile(path):
singlefile = True
if '.' in path:
exts = [os.path.splitext(path)[1]]
else:
exts = ['.txt']
else:
for (root, dirs, fs) in os.walk(path):
for f in fs:
if '.' in f:
ext = os.path.splitext(f)[1]
exts.append(ext)
counted = Counter(exts)
counted.pop('', None)
try:
mc = counted.most_common(1)[0][0]
except IndexError:
mc = '.txt'
lookup = {'.txt': 'plaintext',
'.conll': 'conll',
'.conllu': 'conll'}
return lookup.get(mc, 'plaintext'), singlefile
def filtermaker(the_filter, case_sensitive=False, **kwargs):
"""
Create a search/exclude value
"""
import re
from corpkit.dictionaries.process_types import Wordlist
from time import localtime, strftime
root = kwargs.get('root')
if isinstance(the_filter, (list, Wordlist)):
from corpkit.other import as_regex
the_filter = as_regex(the_filter, case_sensitive=case_sensitive)
try:
output = re.compile(the_filter)
is_valid = True
except:
is_valid = False
if root:
import traceback
import sys
exc_type, exc_value, exc_traceback = sys.exc_info()
lst = traceback.format_exception(exc_type, exc_value, exc_traceback)
error_message = lst[-1]
thetime = strftime("%H:%M:%S", localtime())
print('%s: Filter %s' % (thetime, error_message))
return 'Bad query'
while not is_valid:
if root:
time = strftime("%H:%M:%S", localtime())
print(the_filter)
print('%s: Invalid regular expression.' % time)
return False
time = strftime("%H:%M:%S", localtime())
selection = INPUTFUNC('\n%s: filter regular expression " %s " contains an error. You can either:\n\n' \
' a) rewrite it now\n' \
' b) exit\n\nYour selection: ' % (time, the_filter))
if 'a' in selection:
the_filter = INPUTFUNC('\nNew regular expression: ')
try:
output = re.compile(r'\b' + the_filter + r'\b')
is_valid = True
except re.error:
is_valid = False
elif 'b' in selection:
print('')
return False
return output
def searchfixer(search, query, datatype=False):
"""
Normalise query/search value
"""
if isinstance(search, STRINGTYPE) and isinstance(query, dict):
return search
if isinstance(search, STRINGTYPE):
srch = search[0].lower()
if not srch.startswith('t') and not srch.lower().startswith('n'):
if query == 'any':
query = r'.*'
search = {search: query}
return search
def is_number(s):
"""
Check if str can be can be made into float/int
"""
try:
float(s) # for int, long and float
return True
except ValueError:
try:
complex(s) # for complex
return True
except ValueError:
return False
except TypeError:
return False
def animator(progbar,
count,
tot_string=False,
linenum=False,
terminal=False,
init=False,
length=False,
quiet=False,
**kwargs
):
"""
Animates progress bar in unique position in terminal
Multiple progress bars not supported in jupyter yet.
"""
# if ipython?
welcome_message = kwargs.pop('welcome_message', '')
if welcome_message:
welcome_message = welcome_message.replace('Interrogating corpus ... \n', '')
welcome_message = welcome_message.replace('Concordancing corpus ... \n', '')
welcome_message = welcome_message.replace('\n', ' ').replace(' ' * 17, ' ' * 17)
else:
welcome_message = ''
if init:
from traitlets import TraitError
try:
from ipywidgets import IntProgress, HTML, VBox
from IPython.display import display
progress = IntProgress(min=0, max=length, value=1)
using_notebook = True
progress.bar_style = 'info'
label = HTML()
label.font_family = 'monospace'
gblabel = HTML()
gblabel.font_family = 'monospace'
box = VBox(children=[label, progress, gblabel])
display(box)
return box
except TraitError:
pass
except ImportError:
pass
# newest ipython error
except AttributeError:
pass
if not init:
try:
from ipywidgets.widgets.widget_box import Box
if isinstance(progbar, Box):
label, progress, goodbye = progbar.children
progress.value = count
if count == length:
progress.bar_style = 'success'
else:
label.value = '%s\nInterrogating: %s ...' % (welcome_message, tot_string)
return
except:
pass
# add startnum
start_at = kwargs.get('startnum', 0)
if start_at is None:
start_at = 0.0
denominator = kwargs.get('denom', 1)
if kwargs.get('note'):
if count is None:
perc_done = 0.0
else:
perc_done = (count * 100.0 / float(length)) / float(denominator)
kwargs['note'].progvar.set(start_at + perc_done)
kwargs['root'].update()
return
if init:
from corpkit.textprogressbar import TextProgressBar
return TextProgressBar(length, dirname=tot_string)
# this try is for sublime text nosetests, which don't take terminal object
try:
with terminal.location(0, terminal.height - (linenum + 1)):
if tot_string:
progbar.animate(count, tot_string, quiet=quiet)
else:
progbar.animate(count, quiet=quiet)
# typeerror for nose
except:
if tot_string:
progbar.animate(count, tot_string, quiet=quiet)
else:
progbar.animate(count, quiet=quiet)
def parse_just_speakers(just_speakers, corpus):
if just_speakers is True:
just_speakers = ['each']
if just_speakers is False or just_speakers is None:
return False
if isinstance(just_speakers, STRINGTYPE):
just_speakers = [just_speakers]
if isinstance(just_speakers, list):
if just_speakers == ['each']:
from corpkit.build import get_speaker_names_from_parsed_corpus
just_speakers = get_speaker_names_from_parsed_corpus(corpus)
return just_speakers
def get_deps(sentence, dep_type):
if dep_type == 'basic-dependencies':
return sentence.basic_dependencies
if dep_type == 'collapsed-dependencies':
return sentence.collapsed_dependencies
if dep_type == 'collapsed-ccprocessed-dependencies':
return sentence.collapsed_ccprocessed_dependencies
def timestring(input):
"""print with time prepended"""
from time import localtime, strftime
thetime = strftime("%H:%M:%S", localtime())
print('%s: %s' % (thetime, input.lstrip()))
def makesafe(variabletext, drop_datatype=True, hyphens_ok=False):
import re
from corpkit.process import is_number
if hyphens_ok:
variable_safe_r = re.compile(r'[^A-Za-z0-9_-]+', re.UNICODE)
else:
variable_safe_r = re.compile(r'[^A-Za-z0-9_]+', re.UNICODE)
try:
txt = variabletext.name.split('.')[0]
except AttributeError:
txt = variabletext.split('.')[0]
if drop_datatype:
txt = txt.replace('-parsed', '')
txt = txt.replace(' ', '_')
if not hyphens_ok:
txt = txt.replace('-', '_')
variable_safe = re.sub(variable_safe_r, '', txt)
if is_number(variable_safe):
variable_safe = 'c' + variable_safe
return variable_safe
def interrogation_from_conclines(newdata):
"""
Make new interrogation result from its conc lines
"""
from collections import Counter
from pandas import DataFrame
from corpkit.editor import editor
results = {}
conc = newdata
subcorpora = list(set(conc['c']))
for subcorpus in subcorpora:
counted = Counter(list(conc[conc['c'] == subcorpus]['m']))
results[subcorpus] = counted
the_big_dict = {}
unique_results = set([item for sublist in list(results.values()) for item in sublist])
for word in unique_results:
the_big_dict[word] = [subcorp_result[word] for name, subcorp_result \
in sorted(results.items(), key=lambda x: x[0])]
# turn master dict into dataframe, sorted
df = DataFrame(the_big_dict, index=sorted(results.keys()))
df = editor(df, sort_by='total', print_info=False)
df.concordance = conc
return df
def checkstack(the_string):
"""checks for pytex"""
import inspect
thestack = []
for bit in inspect.stack():
for b in bit:
thestack.append(str(b))
as_string = ' '.join(thestack)
return as_string.lower().count(the_string) > 1
def check_tex(have_ipython=True):
"""
See if tex is available
"""
import os
if have_ipython:
checktex_command = 'which latex'
o = get_ipython().getoutput(checktex_command)[0]
have_tex = not o.startswith('which: no latex in')
else:
import subprocess
FNULL = open(os.devnull, 'w')
checktex_command = ["which", "latex"]
try:
o = subprocess.check_output(checktex_command, stderr=FNULL)
have_tex = True
except subprocess.CalledProcessError:
have_tex = False
return have_tex
def get_corenlp_path(corenlppath):
"""
Find a working CoreNLP path.
Return a dir containing jars
"""
import os
import sys
import re
import glob
cnlp_regex = re.compile(r'stanford-corenlp-[0-9\.]+\.jar')
# if something has been passed in, find that first
if corenlppath:
# if it's a file, get the parent dir
if os.path.isfile(corenlppath):
corenlppath = os.path.dirname(corenlppath)
if any(re.search(cnlp_regex, f) for f in os.listdir(corenlppath)):
return corenlppath
# if it's a dir, check if dir contains jar
elif os.path.isdir(corenlppath):
if any(re.search(cnlp_regex, f) for f in os.listdir(corenlppath)):
return corenlppath
# if it doesn't contain jar, get subdir by glob
globpath = os.path.join(corenlppath, 'stanford-corenlp*')
poss = [i for i in glob.glob(globpath) if os.path.isdir(i)]
if poss:
poss = poss[-1]
if any(re.search(cnlp_regex, f) for f in os.listdir(poss)):
return poss
# put possisble paths into list
pths = ['.', 'corenlp',
os.path.expanduser("~"),
os.path.join(os.path.expanduser("~"), 'corenlp')]
if isinstance(corenlppath, STRINGTYPE):
pths.append(corenlppath)
possible_paths = os.getenv('PATH').split(os.pathsep) + sys.path + pths
# remove empty strings
possible_paths = set([i for i in possible_paths if os.path.isdir(i)])
# check each possible path
for path in possible_paths:
if any(re.search(cnlp_regex, f) for f in os.listdir(path)):
return path
# check if it's a parent
for path in possible_paths:
globpath = os.path.join(path, 'stanford-corenlp*')
cnlp_dirs = [d for d in glob.glob(globpath)
if os.path.isdir(d)]
for cnlp_dir in cnlp_dirs:
if any(re.search(cnlp_regex, f) for f in os.listdir(cnlp_dir)):
return cnlp_dir
return
def unsplitter(data):
"""unsplit contractions and apostophes from tokenised text"""
if isinstance(data, STRINGTYPE):
replaces = [("$ ", "$"),
("`` ", "``"),
(" ,", ","),
(" .", "."),
("'' ", "''"),
(" n't", "n't"),
(" 're", "'re"),
(" 'm", "'m"),
(" 's", "'s"),
(" 'd", "'d"),
(" 'll", "'ll"),
(' ', ' ')
]
for find, replace in replaces:
data = data.replace(find, replace)
return data
else:
unsplit = []
for index, t in enumerate(data):
if index == 0 or index == len(data) - 1:
unsplit.append(t)
continue
if "'" in t and not t.endswith("'"):
rejoined = ''.join([data[index - 1], t])
unsplit.append(rejoined)
else:
if not "'" in data[index + 1]:
unsplit.append(t)
return unsplit
def classname(cls):
"""Create the class name str for __repr__"""
return '.'.join([cls.__class__.__module__, cls.__class__.__name__])
def format_middle(tree, show, df=False, sent_id=False, ixs=False):
tree_vals = {}
if 't' in show or 'mt' in show:
tre = str(tree).replace('/', '-slash')
# todo?
if 'mw' in show:
tree_vals['mw'] = [i.replace('/', '-slash-') for i in tree.leaves()]
if 'ml' in show:
print(df)
tree_vals['ml'] = [df.loc[sent_id, i]['l'] for i in ixs]
if 'mp' in show:
tree_vals['mp'] = [y for x, y in tree.pos()]
if 'mx' in show:
from corpkit.dictionaries import taglemma
tree_vals['mx'] = [taglemma.get(y.lower(), y) for x, y in tree.pos()]
output = []
zipped = zip(*[tree_vals[i] for i in show])
for tup in zipped:
output.append('/'.join(tup))
# now we have [a/a, nicer/nice, day/day]
return ' '.join(output)
def format_conc(tups, show, df=False, sent_id=False, root=False, ixs=False):
"""
Prepare start or end of tgrepped conc lines
"""
tree_vals = {}
if 't' in show or 'mt' in show:
tre = str(root).replace('/', '-slash')
# todo?
if 'mw' in show:
tree_vals['mw'] = [w.replace('/', '-slash-') for w, p, i in tups]
if 'ml' in show:
tree_vals['ml'] = [df.loc[sent_id, i]['l'] for i in ixs]
if 'mp' in show:
tree_vals['mp'] = [p.replace('/', '-slash-') for w, p, i in tups]
if 'mx' in show:
from corpkit.dictionaries import taglemma
tree_vals['mx'] = [taglemma.get(p.lower(), p) for w, p, i in tups]
if 'ms' in show:
tree_vals['ms'] = [str(sent_id) for i in tups]
if 'mi' in show:
tree_vals['mi'] = [str(i) for w, p, i in tups]
output = []
zipped = zip(*[tree_vals[i] for i in show])
for tup in zipped:
output.append('/'.join(tup))
# now we have [a/a, nicer/nice, day/day]
return ' '.join(output)
def show_tree_as_per_option(show, tree, sent=False, df=False,
sent_id=False, conc=False,
only_format_match=True):
"""
Turn a ParentedTree into shown output
:returns: tok_id, metcat, start, middle, end
"""
# make a list of all indices
start = False
end = False
metcat = False
# here, we need to get the indexes of the first and last
# token in the match, when the tree is flattened.
# i wonder if there is an easier way!
all_leaf_positions = tree.root().treepositions(order='leaves')
match_position = tree.treeposition()
ixs = [e for e, i in enumerate(all_leaf_positions, start=1) \
if i[:len(match_position)] == match_position]
# get the data from the left and right
if conc:
start = [(w, p, i) for i, (w, p) in enumerate(tree.root().pos(), start=1)
if i < ixs[0]]
end = [(w, p, i) for i, (w, p) in enumerate(tree.root().pos(), start=1)
if i > ixs[-1]]
middle = format_middle(tree, show, df=df, sent_id=sent_id, ixs=ixs)
if conc:
if not only_format_match:
start_ixes = list(range(1, len(start)+1))
end_ixes = list(range(ixs[-1]+1, len(end)+1))
start = format_conc(start, show, df=df, sent_id=sent_id, root=tree.root(), ixs=start_ixes)
end = format_conc(end, show, df=df, sent_id=sent_id, root=tree.root(), ixs=end_ixes)
else:
start = ' '.join([w for w, p, i in start])
end = ' '.join([w for w, p, i in end])
return ixs[0], start, middle, end
def tgrep(parse_string, search):
"""
Uses tgrep to search a parse tree string
:param parse_string: A bracketed tree
:type parse_string: `str`
:param search: A search query
:type search: `str` -- Tgrep query
"""
from nltk.tree import ParentedTree
from nltk.tgrep import tgrep_nodes, tgrep_positions
pt = ParentedTree.fromstring(parse_string)
ptrees = [i for i in list(tgrep_nodes(search, [pt])) if i]
return [item for sublist in ptrees for item in sublist]
def canpickle(obj):
"""
Determine if object can be pickled
:returns: `bool`
"""
import os
try:
from cPickle import UnpickleableError as unpick_error
import cPickle as pickle
from cPickle import PicklingError as unpick_error_2
except ImportError:
import pickle
from pickle import UnpicklingError as unpick_error
from pickle import PicklingError as unpick_error_2
mode = 'w' if PYTHON_VERSION == 2 else 'wb'
with open(os.devnull, mode) as fo:
try:
pickle.dump(obj, fo)
return True
except (unpick_error, TypeError, unpick_error_2, AttributeError) as err:
return False
def sanitise_dict(d):
"""
Make a dict that works as query attribute---remove nesting and unpicklable
"""
if not isinstance(d, dict):
return
newd = {}
if d.get('kwargs') and isinstance(d['kwargs'], dict):
for k, v in d['kwargs'].items():
if canpickle(v) and not isinstance(v, type):
newd[k] = v
for k, v in d.items():
if canpickle(v) and not isinstance(v, type):
newd[k] = v
return newd
def saferead(path):
"""
Read a file with detect encoding
:returns: text and its encoding
"""
import chardet
import sys
if sys.version_info.major == 3:
enc = 'utf-8'
try:
with open(path, 'r', encoding=enc) as fo:
data = fo.read()
except:
with open(path, 'rb') as fo:
data = fo.read().decode('utf-8', errors='ignore')
return data, enc
else:
with open(path, 'r') as fo:
data = fo.read()
try:
enc = 'utf-8'
data = data.decode(enc)
except UnicodeDecodeError:
enc = chardet.detect(data)['encoding']
data = data.decode(enc, errors='ignore')
return data, enc
def urlify(s):
"""
Turn plot title into filename for saving
"""
import re
s = s.lower()
s = re.sub(r"[^\w\s-]", '', s)
s = re.sub(r"\s+", '-', s)
s = re.sub(r"-(textbf|emph|textsc|textit)", '-', s)
return s
def gui():
"""
Run the graphical interface with the current directory loaded
"""
import os
from corpkit.gui import corpkit_gui
current = os.getcwd()
corpkit_gui(noupdate=True, loadcurrent=current)
def dictformat(d, query=False):
"""
Format a dict search query for printing
:returns: `str`
"""
from corpkit.constants import transshow, transobjs
if isinstance(d, STRINGTYPE) and isinstance(query, dict):
newd = {}
for k, v in query.items():
newd[k] = fix_search({d: v})
return dictformat(newd)
if query:
sformat = dictformat(query)
return sformat
else:
return d
if all(isinstance(i, dict) for i in d.values()):
sformat = '\n'
for k, v in d.items():
sformat += ' ' + k + ':'
sformat += dictformat(v)
return sformat
if len(d) == 1 and d.get('v'):
return 'Features'
sformat = '\n'
for k, v in d.items():
adj = ''
if k[0] in ['-', '+']:
adj = ' ' + k[:2]
k = k[2:]
if k == 't':
dratt = ''
else:
dratt = transshow.get(k[-1], k[-1])
if len(k) > 1:
drole = transobjs.get(k[0], k[0])
else:
drole = ''
if k == 't':
drole = 'Trees'
vform = getattr(v, 'pattern', v)
sformat += ' %s %s %s: %s\n' % (adj, drole, dratt.lower(), vform)
return sformat
def fix_search(search, case_sensitive=False, root=False):
"""
If search has nested dicts, translate them
"""
ends = ['w', 'l', 'i', 'n', 'f', 'p', 'x', 's', 'c']
# handle the possibility of nesting queries
nestq = False
if isinstance(search, dict):
if all(isinstance(v, dict) for v in search.values()):
nestq = True
for v in search.values():
if not all(x.islower() and x.isalpha() and len(x) < 4 for x in v.keys()):
nestq = False
if nestq:
newd = {}
for k, v in search.items():
newd[k] = fix_search(v)
return newd
newsearch = {}
if not search:
return
if isinstance(search, STRINGTYPE):
return search
if search.get('t'):
return search
trees = 't' in search.keys()
for srch, pat in search.items():
if len(srch) == 1 and srch in ends:
if trees:
pass
else:
srch = 'm%s' % srch
if len(srch) == 3 and srch[0] in ['+', '-']:
srch = list(srch)
if srch[-1] in ends:
srch.insert(2, 'm')
else:
srch.append('w')
srch = ''.join(srch)
if isinstance(pat, dict):
for k, v in list(pat.items()):
if k != 'w':
newsearch[srch + k] = pat_format(v, case_sensitive=case_sensitive, root=root)
else:
newsearch[srch] = pat_format(v, case_sensitive=case_sensitive, root=root)
else:
newsearch[srch] = pat_format(pat, case_sensitive=case_sensitive)
return newsearch
def pat_format(pat, case_sensitive=False, root=False):
"""
Coerce or compile search value
"""
from corpkit.dictionaries.process_types import Wordlist
import re
if pat == 'any':
return re.compile(r'.*')
if isinstance(pat, Wordlist):
pat = list(pat)
if isinstance(pat, list):
if all(isinstance(x, int) for x in pat):
pat = [str(x) for x in pat]
pat = filtermaker(pat, case_sensitive=case_sensitive, root=root)
else:
if isinstance(pat, int):
return pat
if isinstance(pat, re._pattern_type):
return pat
if case_sensitive:
pat = re.compile(pat)
else:
pat = re.compile(pat, re.IGNORECASE)
return pat
def make_name_to_query_dict(existing={}, cols=False, dtype=False):
"""
Make or add to dict of longhand and shorthand search bits
"""
from corpkit.constants import transshow, transobjs
if dtype and dtype != 'conll':
return {'None': 'None'}
for l, o in transobjs.items():
if cols and l in ['g', 'd'] and l not in cols:
continue
if o == 'Match':
o = ''
else:
o = o + ' '
for m, p in sorted(transshow.items()):
if cols:
fixed = m.replace('x', 'p')
if fixed in ['n', 't', 'a']:
pass
else:
if fixed not in cols:
continue
if m in ['n', 't']:
continue
if p != 'POS' and o != '' and o != 'NER':
p = p.lower()
existing['%s%s' % (o, p)] = '%s%s' % (l, m)
return existing
def auto_usecols(search, exclude, show, usecols, coref=False):
"""
Figure out if we can speed up conll parsing based on search,
exclude and show. the return value is passed to pandas.read_csv
so that only relevant columns are parsed.
If usecols isn't None, the user has specified needed cols.
todo: coref
"""
if usecols:
return usecols
from corpkit.constants import CONLL_COLUMNS
# get all objs from search, exclude and show
needed = []
for i in search.keys():
if 'g' in i or i == 'g':
needed.append('d')
elif 'd' in i or i == 'd':
needed.append('g')
elif 'h' in i or i == 'h':
needed.append('c')
elif 'r' in i or i == 'r':
needed.append('c')
# features mode:
elif i == 'v':
needed.append('f')
needed.append('w')
needed.append('p')
continue
needed.append(i)
if isinstance(exclude, dict):
for i in exclude.keys():
needed.append(i)
if isinstance(show, list):
for i in show:
if i.endswith('a'):
needed.append('g')
if i.startswith('r') or i.startswith('h'):
needed.append('c')
i = i.replace('a', 'f').replace('x', 'p')
needed.append(i)
else:
needed.append(show)
if coref:
needed.append('c')
# get the obj and attr from these
stcols = []
for i in needed:
stcols.append(i[-1])
try:
stcols.append(i[-2])
except:
pass
# word class is pos
#stcols = ['p' if i == 'x' else i for i in stcols]
# we always get word right now, but could remove '2' in the future
# we add one to the index because conll_columns does not have 's', yet it
# is there in the df
out = [0, 1, 2]
for n, c in enumerate(CONLL_COLUMNS, start=1):
if c in stcols and n not in out:
out.append(n)
return out
def format_tregex(results,
show=False,
lemtag=False,
exclude=False,
excludemode=False,
translated_option=False,
lem_instance=False,
whole=False,
speaker_data=False,
countmode=False):
"""
Format tregex by show list
"""
import re
if countmode:
return results
if not results:
return
done = []
fnames, snames, results = zip(*results)
# this needs to be standardised!
new_show = [x.lstrip('m') for x in show]
new_show = ['w' if not x else x for x in new_show]
if 'l' in new_show or 'x' in new_show:
from corpkit.process import lemmatiser
lemmata = lemmatiser(results, tag=lemtag,
lem_instance=lem_instance,
translated_option=translated_option)
else:
lemmata = [None for i in results]
for word, lemma in list(zip(results, lemmata)):
bits = []
if exclude and exclude.get('w'):
if len(list(exclude.keys())) == 1 or excludemode == 'any':
if re.search(exclude.get('w'), word):
continue
if len(list(exclude.keys())) == 1 or excludemode == 'any':
if re.search(exclude.get('l'), lemma):
continue
if len(list(exclude.keys())) == 1 or excludemode == 'any':
if re.search(exclude.get('p'), word):
continue
if len(list(exclude.keys())) == 1 or excludemode == 'any':
if re.search(exclude.get('x'), lemma):
continue
if exclude and excludemode == 'all':
num_to_cause_exclude = len(list(exclude.keys()))
current_num = 0
if exclude.get('w'):
if re.search(exclude.get('w'), word):
current_num += 1
if exclude.get('l'):
if re.search(exclude.get('l'), lemma):
current_num += 1
if exclude.get('p'):
if re.search(exclude.get('p'), word):
current_num += 1
if exclude.get('x'):
if re.search(exclude.get('x'), lemma):
current_num += 1
if current_num == num_to_cause_exclude:
continue
for i in new_show:
if i == 't':
bits.append(word)
if i == 'l':
bits.append(lemma)
elif i == 'w':
bits.append(word)
elif i == 'p':
bits.append(word)
elif i == 'x':
bits.append(lemma)
joined = '/'.join(bits)
done.append(joined)
done = list(zip(fnames, snames, done))
return done
def make_conc_lines_from_whole_mid(wholes,
middle_column_result,
show=False,
category=False,
filename=False):
"""
Create concordance line output from tregex output
"""
import re
import os
if not wholes and not middle_column_result:
return []
conc_lines = []
unique_wholes = []
unique_middle_column_result = []
duplicates = []
word_index = show.index('w') if 'w' in show else 0
metcat = category if category else ''
for (f, sk, whole), mid in list(zip(wholes, middle_column_result)):
mid = mid[-1]
joined = '-join-'.join([f, sk, whole, mid])
if joined not in duplicates:
duplicates.append(joined)
unique_wholes.append([f, sk, whole])
unique_middle_column_result.append(mid)
# split into start, middle and end, dealing with multiple occurrences
# this fails when multiple show values are given, because they are slash separated...
for (f, sk, whole), mid in list(zip(unique_wholes, unique_middle_column_result)):
mid = mid.split('/')[word_index]
reg = re.compile(r'([^a-zA-Z0-9-]|^)(' + re.escape(mid) + r')([^a-zA-Z0-9-]|$)', \
re.IGNORECASE | re.UNICODE)
offsets = [(m.start(), m.end()) for m in re.finditer(reg, whole)]
for offstart, offend in offsets:
start, middle, end = whole[0:offstart].strip(), whole[offstart:offend].strip(), \
whole[offend:].strip()
# lin = [ix, category, fname, sname, start, mid, end]
conc_lines.append(['_,_', metcat, os.path.basename(f), sk, start, middle, end])
return conc_lines
def gettag(query, lemmatag=False):
"""
Find tag for WordNet lemmatisation
"""
if lemmatag:
return lemmatag
tagdict = {'n': 'n',
'j': 'a',
'v': 'v',
'a': 'r'}
# in case someone compiles the tregex query
query = getattr(query, 'pattern', query)
qr = query.replace(r'\w', '').replace(r'\s', '').replace(r'\b', '')
firstletter = next((c for c in qr if c.isalpha()), 'n')
return tagdict.get(firstletter.lower(), 'n')
def lemmatiser(list_of_words, tag, translated_option,
lem_instance=False, preserve_case=False):
"""
Take a list of unicode words and a tag and return a lemmatised list
"""
from corpkit.dictionaries.word_transforms import wordlist, taglemma
if not lem_instance:
from nltk.stem.wordnet import WordNetLemmatizer
lem_instance = WordNetLemmatizer()
output = []
for word in list_of_words:
if 'u' in translated_option:
word = taglemma.get(word.lower(), 'Other')
else:
word = wordlist.get(word, lem_instance.lemmatize(word, tag))
output.append(word)
return output
def get_first_df(corpus):
"""
Get the first document in a corpus, so that we can
check what columns it has
"""
# genius code below
from corpkit.corpus import Corpus
if not isinstance(corpus, Corpus):
corpus = Corpus(corpus, print_info=False)
if corpus.subcorpora:
return corpus.subcorpora[0].files[0].document
elif corpus.files:
return corpus.files[0].document
else:
return corpus.document
def make_dotfile(path, return_json=False, data_dict=False):
"""
Generate a dotfile in the data directory containing corpus information
Right now, this information is the metadata fields and their values
"""
path = getattr(path, 'path', path)
import os
import json
from corpkit.build import get_all_metadata_fields, get_speaker_names_from_parsed_corpus
from corpkit.constants import OPENER
if data_dict:
json_data = data_dict
else:
json_data = {'fields': {}}
fields = get_all_metadata_fields(path, include_speakers=True)
for field in fields:
vals = get_speaker_names_from_parsed_corpus(path, field)
json_data['fields'][field] = vals
df = get_first_df(path)
json_data['columns'] = ['s', 'i'] + list(df.columns)
dotname = '.%s.json' % os.path.basename(path)
with OPENER(os.path.join('data', dotname), 'w', encoding='utf-8') as fo:
fo.write(json.dumps(json_data))
if return_json:
return json_data
def get_corpus_metadata(path, generate=False):
"""
Return a dict containing corpus metadata, or None if not done yet
"""
import os
import json
from corpkit.corpus import Corpus
from corpkit.constants import OPENER
if not isinstance(path, Corpus):
corpus = Corpus(path, print_info=False)
else:
corpus = path
if not corpus.datatype == 'conll':
return {}
path = getattr(path, 'path', path)
dotname = '.%s.json' % os.path.basename(path)
dotpath = os.path.join('data', dotname)
if not os.path.isfile(dotpath):
if generate:
return make_dotfile(path, return_json=True)
else:
return
else:
with OPENER(dotpath, 'r') as fo:
data = fo.read()
if data:
return json.loads(data)
else:
return make_dotfile(path, return_json=True)
def make_df_json_name(typ, subcorpora=False):
if subcorpora:
if isinstance(subcorpora, list):
subcorpora = '-'.join(subcorpora)
return '%s-%s' % (typ, subcorpora)
else:
return typ
def add_df_to_dotfile(path, df, typ='features', subcorpora=False):
"""
Add some Pandas data to corpus metadata
"""
path = getattr(path, 'path', path)
name = make_df_json_name(typ, subcorpora)
md = get_corpus_metadata(path, generate=True)
if name not in md:
md[name] = df.astype(object).to_dict()
make_dotfile(path, data_dict=md)
def delete_files_and_subcorpora(corpus, skip_metadata, just_metadata):
"""
Remake a Corpus object without some files or folders
"""
import re
from corpkit.corpus import Corpus, Subcorpus
# we use type here because subcorpora don't have subcorpora, but Subcorpus
# inherits from Corpus
if not type(corpus) == Corpus:
return corpus, skip_metadata, just_metadata
if not skip_metadata and not just_metadata:
return corpus, skip_metadata, just_metadata
sd = skip_metadata.pop('folders', None) if isinstance(skip_metadata, dict) else None
sf = skip_metadata.pop('files', None) if isinstance(skip_metadata, dict) else None
jd = just_metadata.pop('folders', None) if isinstance(just_metadata, dict) else None
jf = just_metadata.pop('files', None) if isinstance(just_metadata, dict) else None
sd = str(sd) if isinstance(sd, (int, float)) else sd
sf = str(sf) if isinstance(sf, (int, float)) else sf
jd = str(jd) if isinstance(jd, (int, float)) else jd
jf = str(jf) if isinstance(jf, (int, float)) else jf
if not any([sd, sf, jd, jf]):
return corpus, skip_metadata, just_metadata
# now, the real processing begins
# the code has to be this way, sorry.
if sd not in [None, False, {}]:
todel = set()
if isinstance(sd, list):
for i, sub in enumerate(corpus.subcorpora):
if sub.name in sd:
todel.add(i)
else:
for i, sub in enumerate(corpus.subcorpora):
if re.search(sd, sub.name, re.IGNORECASE):
todel.add(i)
for i in sorted(todel, reverse=True):
del corpus.subcorpora[i]
if sf not in [None, False, {}]:
if not getattr(corpus, 'subcorpora', False):
todel = set()
if isinstance(sf, list):
for i, sub in enumerate(corpus.files):
if sub.name in sf:
todel.add(i)
else:
for i, sub in enumerate(corpus.files):
if re.search(sf, sub.name, re.IGNORECASE):
todel.add(i)
for i in sorted(todel, reverse=True):
del corpus.files[i]
else:
for sc in corpus.subcorpora:
todel = set()
if isinstance(sf, list):
for i, sub in enumerate(corpus.files):
if sub.name in sf:
todel.add(i)
else:
for i, sub in enumerate(sc.files):
if re.search(sf, sub.name, re.IGNORECASE):
todel.add(i)
for i in sorted(todel, reverse=True):
del sc.files[i]
if jd not in [None, False, {}]:
todel = set()
if isinstance(jd, list):
for i, sub in enumerate(corpus.subcorpora):
if sub.name not in jd:
todel.add(i)
else:
for i, sub in enumerate(corpus.subcorpora):
if not re.search(jd, sub.name, re.IGNORECASE):
todel.add(i)
for i in sorted(todel, reverse=True):
del corpus.subcorpora[i]
if jf not in [None, False, {}]:
if not getattr(corpus, 'subcorpora', False):
todel = set()
if isinstance(jf, list):
for i, sub in enumerate(corpus.files):
if sub.name not in jf:
todel.add(i)
else:
for i, sub in enumerate(corpus.files):
if not re.search(jf, sub.name, re.IGNORECASE):
todel.add(i)
for i in sorted(todel, reverse=True):
del corpus.files[i]
else:
for sc in corpus.subcorpora:
todel = set()
if isinstance(jf, list):
for i, sub in enumerate(corpus.files):
if sub.name not in jf:
todel.add(i)
else:
for i, sub in enumerate(sc.files):
if not re.search(jf, sub.name, re.IGNORECASE):
todel.add(i)
for i in sorted(todel, reverse=True):
del sc.files[i]
return corpus, skip_metadata, just_metadata
================================================
FILE: corpkit/stats.py
================================================
"""
scikit-learn stuff
"""
def tfidf(self, search={'w': 'any'}, show=['w'], **kwargs):
"""
Generate TF-IDF vector representation of corpus
using interrogate method
"""
from sklearn.feature_extraction.text import TfidfVectorizer
def tokeniser(s):
return [s]
vectoriser = TfidfVectorizer(input='content', tokenizer=tokeniser)
matrices = {}
res = self.interrogate(search=search,
show=show,
**kwargs).results
def dupe_string(line):
"""
turn {'corpus': 3, 'linguistics': 2} into
'corpus corpus corpus linguistics linguistics'
"""
return ''.join([(w + ' ') * line[w] \
for w in line.index])
ser = res.apply(dupe_string, axis=1)
vec = vectoriser.fit_transform(ser.values)
return vectoriser, vec
#vec = vectoriser.transform(ser.values)
#return vec
def translate_show_for_surprisal(show, gramsize):
"""
Translate a simple show query into
"""
return show
def surprisal(self,
search={'w', 'any'},
exclude=False,
show=['w'],
gramsize=1,
subcorpora='default',
**kwargs):
"""
A method to show surprisal for tokens (and averages for sents?)
It involves two parts. First, we generate a model over the whole corpus
Then, we score each sent by it
It should then be possible to annotate the corpus with this info.
"""
model = self.interrogate(search=search, exclude=exclude, show=show,
subcorpora=subcorpora, **kwargs)
def shannon(self):
from corpkit.interrogation import Interrogation
def to_apply(ser):
data = []
import numpy as np
import pandas as pd
for word in ser.index:
if not ser[word]:
probability = np.nan
self_information = np.nan
else:
probability = ser[word] / float(1.0 * len(ser))
self_information = np.log2(1.0/probability)
data.append(self_information)
return pd.Series(data, index=ser.index)
res = getattr(self, 'results', self)
appl = res.apply(to_apply, axis=1)
ents = appl.sum(axis=1) / appl.shape[1]
ents.name = 'Entropy'
return Interrogation(results=appl, totals=ents)
================================================
FILE: corpkit/textprogressbar.py
================================================
#!/usr/bin/python
from __future__ import print_function
class TextProgressBar:
"""a text progress bar for CLI operations
no need for user to call"""
from time import localtime, strftime
def __init__(self, iterations, dirname=False, quiet=False):
from time import localtime, strftime
self.iterations = iterations
self.prog_bar = '[]'
self.fill_char = '*'
self.width = 60
self.quiet = quiet
self.__update_amount(0, dirname=dirname)
self.animate = self.animate_ipython
def animate_ipython(self, iter, dirname=None, quiet=False):
from time import localtime, strftime
import sys
if not self.quiet:
print(str(self) + '\r', end='')
try:
sys.stdout.flush()
except:
pass
self.update_iteration(iter + 1, dirname)
def update_iteration(self, elapsed_iter, dirname=None):
from time import localtime, strftime
num = float(self.iterations)
if num != 0:
self.__update_amount((elapsed_iter / float(self.iterations)) * 100.0, dirname)
else:
self.__update_amount(0 * 100.0, dirname)
self.prog_bar += ' ' # + ' %d of %s complete' % (elapsed_iter, self.iterations)
def __update_amount(self, new_amount, dirname=None):
from time import localtime, strftime
percent_done = int(round((new_amount / 100.0) * 100.0, 2))
all_full = self.width - 2
num_hashes = int(round((percent_done / 100.0) * all_full))
time = strftime("%H:%M:%S", localtime())
self.prog_bar = time + ': [' + self.fill_char * num_hashes + ' ' * (all_full - num_hashes) + ']'
if dirname:
pct_string = '%d%% ' % percent_done + '(' + dirname + ')'
else:
pct_string = '%d%%' % percent_done # could pass dirname here!
# find out where the index of the first space in the middle string
index_of_space = next((i for i, j in enumerate(pct_string) if j.isspace()), 0)
# put middle string in centre, adjust so that spaces are always aligned
pct_place = int(len(self.prog_bar) / float(2)) - index_of_space
#if len(pct_string) < 20:
#pct_string = ' ' * (20 - len(pct_string)) + pct_string
self.prog_bar = self.prog_bar[0:pct_place] + \
(pct_string + self.prog_bar[pct_place + len(pct_string):])
def __str__(self):
return str(self.prog_bar)
================================================
FILE: corpkit/tokenise.py
================================================
from __future__ import print_function
"""
Tokenise, POS tag and lemmatise a corpus, returning CONLL-U data
"""
def nested_list_to_pandas(toks):
"""
Turn sent/word tokens into Series
"""
import pandas as pd
index = []
words = []
for si, sent in enumerate(toks, start=1):
for wi, w in enumerate(sent, start=1):
index.append((si, wi))
words.append(w)
ix = pd.MultiIndex.from_tuples(index)
ser = pd.Series(words, index=ix)
ser.name = 'w'
return ser
def pos_tag_series(ser, tagger):
"""
Create a POS tag Series from token Series
"""
import nltk
import pandas as pd
tags = [i[-1] for i in nltk.pos_tag(ser.values)]
tagser = pd.Series(tags, index=ser.index)
tagser.name = 'p'
return tagser
def lemmatise_series(words, postags, lemmatiser):
"""
Create a lemma Series from token+postag Series
"""
import nltk
import pandas as pd
tups = zip(words.values, postags.values)
lemmata = []
tag_convert = {'j': 'a'}
for word, tag in tups:
tag = tag_convert.get(tag[0].lower(), tag[0].lower())
if tag in ['n', 'a', 'v', 'r']:
lem = lemmatiser.lemmatize(word, tag)
else:
lem = word
lemmata.append(lem)
lems = pd.Series(lemmata, index=words.index)
lems.name = 'l'
return lems
def write_df_to_conll(df, newf, plain=False, stripped=False,
metadata=False, speaker_segmentation=False, offsets=False):
"""
Turn a DF into CONLL-U text, and write to file, newf
"""
import os
from corpkit.constants import OPENER, PYTHON_VERSION
from corpkit.conll import get_speaker_from_offsets
outstring = ''
sent_ixs = set(df.index.labels[0])
for si in sent_ixs:
si = si + 1
#outstring += '# sent_id %d\n' % si
if metadata:
metad = get_speaker_from_offsets(stripped,
plain,
offsets[si - 1],
metadata_mode=metadata,
speaker_segmentation=speaker_segmentation)
for k, v in sorted(metad.items()):
outstring += '# %s=%s\n' % (k, v)
sent = df.loc[si]
csv = sent.to_csv(None, sep='\t', header=False)
outstring += csv + '\n'
try:
os.makedirs(os.path.dirname(newf))
except OSError:
pass
with OPENER(newf, 'w') as newf:
if PYTHON_VERSION == 2:
outstring = outstring.encode('utf-8', errors='ignore')
newf.write(outstring)
def new_fname(oldpath, inpath):
"""
Determine output filename
"""
import os
newf, ext = os.path.splitext(oldpath)
newf = newf + '.conll'
if '-stripped' in newf:
return newf.replace('-stripped', '-tokenised')
else:
return newf.replace(inpath, inpath + '-tokenised')
def process_meta(data, speaker_segmentation, metadata):
import re
from corpkit.constants import MAX_SPEAKERNAME_SIZE
meta_offsets = []
if metadata and speaker_segmentation:
reg = re.compile(r'(^.{,%d}?:\s| )')
elif metadata and not speaker_segmentation:
reg = re.compile(r' ')
elif not metadata and not speaker_segmentation:
reg = re.compile(r'^.{,%d}?:\s' % MAX_SPEAKERNAME_SIZE)
#splt = re.split(reg, data)
if speaker_segmentation or metadata:
for i in re.finditer(reg, data):
meta_offsets.append((i.start(), i.end()))
for s, e in reversed(meta_offsets):
data = data[:s] + data[e:]
return data, meta_offsets
def plaintext_to_conll(inpath,
postag=False,
lemmatise=False,
lang='en',
metadata=False,
outpath=False,
nltk_data_path=False,
speaker_segmentation=False):
"""
Take a plaintext corpus and sent/word tokenise.
:param inpath: The corpus to read in
:param postag: do POS tagging?
:param lemmatise: do lemmatisation?
:param lang: choose language for pos/lemmatiser (not implemented yet)
:param metadata: add metadata to conll (not implemented yet)
:param outpath: custom name for the resulting corpus
:param speaker_segmentation: did the corpus has speaker names?
"""
import nltk
import shutil
import pandas as pd
from corpkit.process import saferead
from corpkit.build import get_filepaths
fps = get_filepaths(inpath, 'txt')
# IN THE SECTIONS BELOW, WE COULD ADD MULTILINGUAL
# ANNOTATORS, PROVIDED THEY BEHAVE AS THE NLTK ONES DO
# SENT TOKENISERS
from nltk.tokenize.punkt import PunktSentenceTokenizer
stoker = PunktSentenceTokenizer()
s_tokers = {'en': stoker}
sent_tokenizer = s_tokers.get(lang, stoker)
# WORD TOKENISERS
tokenisers = {'en': nltk.word_tokenize}
tokeniser = tokenisers.get(lang, nltk.word_tokenize)
# LEMMATISERS
if lemmatise:
from nltk.stem.wordnet import WordNetLemmatizer
lmtzr = WordNetLemmatizer()
lemmatisers = {'en': lmtzr}
lemmatiser = lemmatisers.get(lang, lmtzr)
# POS TAGGERS
if postag:
# nltk.download('averaged_perceptron_tagger')
postaggers = {'en': nltk.pos_tag}
tagger = postaggers.get(lang, nltk.pos_tag)
# iterate over files, make df of each, convert this
# to conll and sent to new filename
for f in fps:
for_df = []
data, enc = saferead(f)
plain, enc = saferead(f.replace('-stripped', ''))
#orig_data = data
#data, offsets = process_meta(data, speaker_segmentation, metadata)
#nest = []
sents = sent_tokenizer.tokenize(data)
soffs = sent_tokenizer.span_tokenize(data)
toks = [tokeniser(sent) for sent in sents]
ser = nested_list_to_pandas(toks)
for_df.append(ser)
if postag or lemmatise:
postags = pos_tag_series(ser, tagger)
if lemmatise:
lemma = lemmatise_series(ser, postags, lemmatiser)
for_df.append(lemma)
for_df.append(postags)
else:
if postag:
for_df.append(postags)
df = pd.concat(for_df, axis=1)
fo = new_fname(f, inpath)
write_df_to_conll(df, fo,
metadata=metadata,
plain=plain,
stripped=data,
speaker_segmentation=speaker_segmentation,
offsets=soffs)
nsent = len(set(df.index.labels[0]))
print('%s created (%d sentences)' % (fo, nsent))
if '-stripped' in inpath:
return inpath.replace('-stripped', '-tokenised')
else:
return inpath + '-tokenised'
================================================
FILE: corpkit/tregex.sh
================================================
#!/bin/sh
scriptdir=`dirname $0`
java -mx100m -cp "$scriptdir/stanford-tregex.jar:" edu.stanford.nlp.trees.tregex.TregexPattern "$@"
================================================
FILE: data/corpus-filelist.txt
================================================
/Users/daniel/Work/corpkit/corpkit/data/test-stripped/first/intro.txt
/Users/daniel/Work/corpkit/corpkit/data/test-stripped/second/body.txt
================================================
FILE: data/test/first/intro.txt
================================================
TESTER: This small corpus is used in corpkit's tests. Not a lot of data is required.
ANONYMOUS: Here, we're testing the speaker_segmentation option.
TESTER: Right you are. The next file, however, won't have speaker IDs.
================================================
FILE: data/test/second/body.txt
================================================
Corpus linguistics and computational linguistics, like concordancing and interrogating, are situated on a vast continuum.
In both cases, Python can act as a fantastic conduit.
NEWCOMER: Just checking I'm getting noticed during parsing, concordancing and interrogating. This corpus linguistics is hard work!
================================================
FILE: data/test-plain-parsed/first/intro.txt.conll
================================================
# parse=(ROOT (FRAG (NP (NN TESTER)) (: :) (S (NP (DT This) (JJ small) (NN corpus)) (VP (VBZ is) (VP (VBN used) (PP (IN in) (NP (NP (NN corpkit) (POS 's)) (NNS tests)))))) (. .)))
# speaker=none
# test=on
# year=2004
1 TESTER tester NN O _ 0 ROOT 2,7,12 _
2 : : : O _ 1 punct 0 _
3 This this DT O _ 5 det 0 _
4 small small JJ O _ 5 amod 0 _
5 corpus corpus NN O _ 7 nsubjpass 3,4 _
6 is be VBZ O _ 7 auxpass 0 _
7 used use VBN O _ 1 appos 5,6,11 _
8 in in IN O _ 11 case 0 _
9 corpkit corpkit NN O _ 11 nmod:poss 10 _
10 's 's POS O _ 9 case 0 _
11 tests test NNS O _ 7 nmod:in 8,9 _
12 . . . O _ 1 punct 0 _
# parse=(ROOT (S (NP (NP (RB Not) (DT a) (NN lot)) (PP (IN of) (NP (NNS data)))) (VP (VBZ is) (VP (VBN required))) (. .)))
# speaker=none
# test=on
# year=2004
1 Not not RB O _ 3 neg 0 _
2 a a DT O _ 5 det:qmod 3,4 _
3 lot lot NN O _ 2 mwe 1 _
4 of of IN O _ 2 mwe 0 _
5 data datum NNS O _ 7 nsubjpass 2 _
6 is be VBZ O _ 7 auxpass 0 _
7 required require VBN O _ 0 ROOT 5,6,8 _
8 . . . O _ 7 punct 0 _
# parse=(ROOT (NP (NP (NNP ANONYMOUS)) (: :) (S (ADVP (RB Here)) (, ,) (NP (PRP we)) (VP (VBP 're) (VP (VBG testing) (NP (DT the) (NN speaker_segmentation) (NN option))))) (. .)))
# speaker=none
# test=on
# year=2005
1 ANONYMOUS ANONYMOUS NNP O _ 0 ROOT 2,7,11 _
2 : : : O _ 1 punct 0 _
3 Here here RB O _ 7 advmod 0 _
4 , , , O _ 7 punct 0 _
5 we we PRP O _ 7 nsubj 0 _
6 're be VBP O _ 7 aux 0 _
7 testing test VBG O _ 1 parataxis 3,4,5,6,10 _
8 the the DT O _ 10 det 0 _
9 speaker_segmentation speaker_segmentation NN O _ 10 compound 0 _
10 option option NN O _ 7 dobj 8,9 _
11 . . . O _ 1 punct 0 _
# parse=(ROOT (NP (NP (NN TESTER)) (: :) (NP (NP (NNP Right)) (SBAR (S (NP (PRP you)) (VP (VBP are))))) (. .)))
# speaker=none
# test=on
# year=2004
1 TESTER tester NN O _ 0 ROOT 2,3,6 _
2 : : : O _ 1 punct 0 _
3 Right Right NNP O _ 1 dep 5 _
4 you you PRP O _ 5 nsubj 0 _
5 are be VBP O _ 3 acl:relcl 4 _
6 . . . O _ 1 punct 0 _
# parse=(ROOT (S (NP (DT The) (JJ next) (NN file)) (, ,) (ADVP (RB however)) (, ,) (VP (MD wo) (RB n't) (VP (VB have) (NP (NN speaker) (NNS IDs)))) (. .)))
# speaker=none
# test=on
# year=2004
1 The the DT O _ 3 det 0 _
2 next next JJ O _ 3 amod 0 _
3 file file NN O _ 9 nsubj 1,2 _
4 , , , O _ 9 punct 0 _
5 however however RB O _ 9 advmod 0 _
6 , , , O _ 9 punct 0 _
7 wo will MD O _ 9 aux 0 _
8 n't not RB O _ 9 neg 0 _
9 have have VB O _ 0 ROOT 3,4,5,6,7,8,11,12 _
10 speaker speaker NN O _ 11 compound 0 _
11 IDs id NNS O _ 9 dobj 10 _
12 . . . O _ 9 punct 0 _
================================================
FILE: data/test-plain-parsed/second/body.txt.conll
================================================
# parse=(ROOT (S (NP (NP (NNP Corpus) (NNS linguistics)) (CC and) (NP (JJ computational) (NNS linguistics))) (, ,) (PP (IN like) (NP (NP (NN concordancing)) (CC and) (NP (VBG interrogating)))) (, ,) (VP (VBP are) (VP (VBN situated) (PP (IN on) (NP (DT a) (JJ vast) (NN continuum))))) (. .)))
# speaker=none
1 Corpus Corpus NNP O _ 2 compound 0 _
2 linguistics linguistics NNS O _ 13 nsubjpass 1,3,5 _
3 and and CC O _ 2 cc 0 _
4 computational computational JJ O _ 5 amod 0 _
5 linguistics linguistics NNS O _ 2 conj:and 4 _
6 , , , O _ 13 punct 0 _
7 like like IN O _ 8 case 0 _
8 concordancing concordancing NN O _ 13 nmod:like 7,9,10 _
9 and and CC O _ 8 cc 0 _
10 interrogating interrogate VBG O _ 8 conj:and 0 _
11 , , , O _ 13 punct 0 _
12 are be VBP O _ 13 auxpass 0 _
13 situated situate VBN O _ 0 ROOT 2,5,6,8,10,11,12,17,18 _
14 on on IN O _ 17 case 0 _
15 a a DT O _ 17 det 0 _
16 vast vast JJ O _ 17 amod 0 _
17 continuum continuum NN O _ 13 nmod:on 14,15,16 _
18 . . . O _ 13 punct 0 _
# parse=(ROOT (S (PP (IN In) (NP (DT both) (NNS cases))) (, ,) (NP (NNP Python)) (VP (MD can) (VP (VB act) (PP (IN as) (NP (DT a) (JJ fantastic) (NN conduit))))) (. .)))
# speaker=none
# test=off
# year=2002
1 In in IN O _ 3 case 0 _
2 both both DT O _ 3 det 0 _
3 cases case NNS O _ 7 nmod:in 1,2 _
4 , , , O _ 7 punct 0 _
5 Python Python NNP PERSON _ 7 nsubj 0 _
6 can can MD O _ 7 aux 0 _
7 act act VB O _ 0 ROOT 3,4,5,6,11,12 _
8 as as IN O _ 11 case 0 _
9 a a DT O _ 11 det 0 _
10 fantastic fantastic JJ O _ 11 amod 0 _
11 conduit conduit NN O _ 7 nmod:as 8,9,10 _
12 . . . O _ 7 punct 0 _
# parse=(ROOT (X (NP (NN NEWCOMER)) (: :) (FRAG (S (ADVP (RB Just)) (VP (VBG checking) (SBAR (S (NP (PRP I)) (VP (VBP 'm) (VP (VP (VBG getting) (S (VP (VBN noticed) (PP (IN during) (NP (NP (NN parsing)) (, ,) (NP (NN concordancing))))))) (CC and) (VP (VBG interrogating))))))))) (. .)))
# speaker=none
# test=on
# year=2005
1 NEWCOMER newcomer NN O _ 0 ROOT 2,4,15 _
2 : : : O _ 1 punct 0 _
3 Just just RB O _ 4 advmod 0 _
4 checking check VBG O _ 1 dep 3,7,14 _
5 I I PRP O _ 7 nsubj 0 _
6 'm be VBP O _ 7 aux 0 _
7 getting get VBG O _ 4 ccomp 5,6,8,13,14 _
8 noticed notice VBN O _ 7 dep 10 _
9 during during IN O _ 10 case 0 _
10 parsing parsing NN O _ 8 nmod:during 9,11,12 _
11 , , , O _ 10 punct 0 _
12 concordancing concordancing NN O _ 10 appos 0 _
13 and and CC O _ 7 cc 0 _
14 interrogating interrogate VBG O _ 4 ccomp 5 _
15 . . . O _ 1 punct 0 _
# parse=(ROOT (S (NP (DT This) (NN corpus) (NNS linguistics)) (VP (VBZ is) (NP (JJ hard) (NN work))) (. !)))
# speaker=none
# test=on
# year=2005
1 This this DT O _ 3 det 0 _
2 corpus corpus NN O _ 3 compound 0 _
3 linguistics linguistics NNS O _ 4 nsubj 1,2 _
4 is be VBZ O _ 0 ROOT 3,6,7 _
5 hard hard JJ O _ 6 amod 0 _
6 work work NN O _ 4 xcomp 5 _
7 ! ! . O _ 4 punct 0 _
================================================
FILE: data/test-speak-parsed/first/intro.txt.conll
================================================
# parse=(ROOT (S (NP (DT This) (JJ small) (NN corpus)) (VP (VBZ is) (VP (VBN used) (PP (IN in) (NP (NP (NN corpkit) (POS 's)) (NNS tests))))) (. .)))
# speaker=TESTER
# test=on
# year=2004
1 This this DT O _ 3 det 0 _
2 small small JJ O _ 3 amod 0 _
3 corpus corpus NN O _ 5 nsubjpass 1,2 _
4 is be VBZ O _ 5 auxpass 0 _
5 used use VBN O _ 0 ROOT 3,4,9,10 _
6 in in IN O _ 9 case 0 _
7 corpkit corpkit NN O _ 9 nmod:poss 8 _
8 's 's POS O _ 7 case 0 _
9 tests test NNS O _ 5 nmod:in 6,7 _
10 . . . O _ 5 punct 0 _
# parse=(ROOT (S (NP (NP (RB Not) (DT a) (NN lot)) (PP (IN of) (NP (NNS data)))) (VP (VBZ is) (VP (VBN required))) (. .)))
# speaker=TESTER
# test=on
# year=2004
1 Not not RB O _ 3 neg 0 _
2 a a DT O _ 5 det:qmod 3,4 _
3 lot lot NN O _ 2 mwe 1 _
4 of of IN O _ 2 mwe 0 _
5 data datum NNS O _ 7 nsubjpass 2 _
6 is be VBZ O _ 7 auxpass 0 _
7 required require VBN O _ 0 ROOT 5,6,8 _
8 . . . O _ 7 punct 0 _
# parse=(ROOT (S (ADVP (RB Here)) (, ,) (NP (PRP we)) (VP (VBP 're) (VP (VBG testing) (NP (DT the) (NN speaker_segmentation) (NN option)))) (. .)))
# speaker=ANONYMOUS
# test=on
# year=2005
1 Here here RB O _ 5 advmod 0 _
2 , , , O _ 5 punct 0 _
3 we we PRP O _ 5 nsubj 0 _
4 're be VBP O _ 5 aux 0 _
5 testing test VBG O _ 0 ROOT 1,2,3,4,8,9 _
6 the the DT O _ 8 det 0 _
7 speaker_segmentation speaker_segmentation NN O _ 8 compound 0 _
8 option option NN O _ 5 dobj 6,7 _
9 . . . O _ 5 punct 0 _
# parse=(ROOT (S (ADVP (RB Right)) (NP (PRP you)) (VP (VBP are)) (. .)))
# speaker=TESTER
# test=on
# year=2004
1 Right right RB O _ 3 advmod 0 _
2 you you PRP O _ 3 nsubj 0 _
3 are be VBP O _ 0 ROOT 1,2,4 _
4 . . . O _ 3 punct 0 _
# parse=(ROOT (S (NP (DT The) (JJ next) (NN file)) (, ,) (ADVP (RB however)) (, ,) (VP (MD wo) (RB n't) (VP (VB have) (NP (NN speaker) (NNS IDs)))) (. .)))
# speaker=TESTER
# test=on
# year=2004
1 The the DT O _ 3 det 0 _
2 next next JJ O _ 3 amod 0 _
3 file file NN O _ 9 nsubj 1,2 _
4 , , , O _ 9 punct 0 _
5 however however RB O _ 9 advmod 0 _
6 , , , O _ 9 punct 0 _
7 wo will MD O _ 9 aux 0 _
8 n't not RB O _ 9 neg 0 _
9 have have VB O _ 0 ROOT 3,4,5,6,7,8,11,12 _
10 speaker speaker NN O _ 11 compound 0 _
11 IDs id NNS O _ 9 dobj 10 _
12 . . . O _ 9 punct 0 _
================================================
FILE: data/test-speak-parsed/second/body.txt.conll
================================================
# parse=(ROOT (S (NP (NP (NNP Corpus) (NNS linguistics)) (CC and) (NP (JJ computational) (NNS linguistics))) (, ,) (PP (IN like) (NP (NP (NN concordancing)) (CC and) (NP (VBG interrogating)))) (, ,) (VP (VBP are) (VP (VBN situated) (PP (IN on) (NP (DT a) (JJ vast) (NN continuum))))) (. .)))
# speaker=UNIDENTIFIED
1 Corpus Corpus NNP O _ 2 compound 0 _
2 linguistics linguistics NNS O _ 13 nsubjpass 1,3,5 _
3 and and CC O _ 2 cc 0 _
4 computational computational JJ O _ 5 amod 0 _
5 linguistics linguistics NNS O _ 2 conj:and 4 _
6 , , , O _ 13 punct 0 _
7 like like IN O _ 8 case 0 _
8 concordancing concordancing NN O _ 13 nmod:like 7,9,10 _
9 and and CC O _ 8 cc 0 _
10 interrogating interrogate VBG O _ 8 conj:and 0 _
11 , , , O _ 13 punct 0 _
12 are be VBP O _ 13 auxpass 0 _
13 situated situate VBN O _ 0 ROOT 2,5,6,8,10,11,12,17,18 _
14 on on IN O _ 17 case 0 _
15 a a DT O _ 17 det 0 _
16 vast vast JJ O _ 17 amod 0 _
17 continuum continuum NN O _ 13 nmod:on 14,15,16 _
18 . . . O _ 13 punct 0 _
# parse=(ROOT (S (PP (IN In) (NP (DT both) (NNS cases))) (, ,) (NP (NNP Python)) (VP (MD can) (VP (VB act) (PP (IN as) (NP (DT a) (JJ fantastic) (NN conduit))))) (. .)))
# speaker=UNIDENTIFIED
# test=off
# year=2002
1 In in IN O _ 3 case 0 _
2 both both DT O _ 3 det 0 _
3 cases case NNS O _ 7 nmod:in 1,2 _
4 , , , O _ 7 punct 0 _
5 Python Python NNP PERSON _ 7 nsubj 0 _
6 can can MD O _ 7 aux 0 _
7 act act VB O _ 0 ROOT 3,4,5,6,11,12 _
8 as as IN O _ 11 case 0 _
9 a a DT O _ 11 det 0 _
10 fantastic fantastic JJ O _ 11 amod 0 _
11 conduit conduit NN O _ 7 nmod:as 8,9,10 _
12 . . . O _ 7 punct 0 _
# parse=(ROOT (S (S (VP (ADVP (RB Just)) (VBG checking) (NP (PRP I)))) (VP (VBP 'm) (VP (VP (VBG getting) (S (VP (VBN noticed) (PP (IN during) (NP (NP (NN parsing)) (, ,) (NP (NN concordancing))))))) (CC and) (VP (VBG interrogating)))) (. .)))
# speaker=NEWCOMER
# test=on
# year=2005
1 Just just RB O _ 2 advmod 0 _
2 checking check VBG O _ 5 csubj 1,3 _
3 I I PRP O _ 2 dobj 0 _
4 'm be VBP O _ 5 aux 0 _
5 getting get VBG O _ 0 ROOT 2,4,6,11,12,13 _
6 noticed notice VBN O _ 5 dep 8 _
7 during during IN O _ 8 case 0 _
8 parsing parsing NN O _ 6 nmod:during 7,9,10 _
9 , , , O _ 8 punct 0 _
10 concordancing concordancing NN O _ 8 appos 0 _
11 and and CC O _ 5 cc 0 _
12 interrogating interrogate VBG O _ 5 conj:and 2 _
13 . . . O _ 5 punct 0 _
# parse=(ROOT (S (NP (DT This) (NN corpus) (NNS linguistics)) (VP (VBZ is) (NP (JJ hard) (NN work))) (. !)))
# speaker=NEWCOMER
# test=on
# year=2005
1 This this DT O _ 3 det 0 _
2 corpus corpus NN O _ 3 compound 0 _
3 linguistics linguistics NNS O _ 4 nsubj 1,2 _
4 is be VBZ O _ 0 ROOT 3,6,7 _
5 hard hard JJ O _ 6 amod 0 _
6 work work NN O _ 4 xcomp 5 _
7 ! ! . O _ 4 punct 0 _
================================================
FILE: data/test-stripped/first/intro.txt
================================================
This small corpus is used in corpkit's tests. Not a lot of data is required.
Here, we're testing the speaker_segmentation option.
Right you are. The next file, however, won't have speaker IDs.
================================================
FILE: data/test-stripped/second/body.txt
================================================
Corpus linguistics and computational linguistics, like concordancing and interrogating, are situated on a vast continuum.
In both cases, Python can act as a fantastic conduit.
Just checking I'm getting noticed during parsing, concordancing and interrogating. This corpus linguistics is hard work!
================================================
FILE: index.rst
================================================
.. corpkit documentation master file, created by
sphinx-quickstart on Thu Nov 5 11:43:02 2015.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
========================================
corpkit documentation
========================================
*corpkit* is a Python-based tool for doing more sophisticated corpus linguistics. It exists as a graphical interface, a Python API, and a natural language interpreter. The API and interpreter are documented here.
With *corpkit*, you can create parsed, structured and metadata-annotated corpora, and then search them for complex lexicogrammatical patterns. Search results can be quickly edited, sorted and visualised, saved and loaded within projects, or exported to formats that can be handled by other tools. In fact, you can easily work with any dataset in `CONLL U`_ format, including the freely available, multilingual `Universal Dependencies Treebanks`_.
Concordancing is extended to allow the user to query and display grammatical features alongside tokens. Keywording can be restricted to certain word classes or positions within the clause. If your corpus contains multiple documents or subcorpora, you can identify keywords in each, compared to the corpus as a whole.
*corpkit* leverages `Stanford CoreNLP`_, NLTK_ and pattern_ for the linguistic heavy lifting, and pandas_ and matplotlib_ for storing, editing and visualising interrogation results. Multiprocessing is available via joblib_, and Python 2 and 3 are both supported.
.. rubric:: API example
Here's a basic workflow, using a corpus of news articles published between 1987 and 2014, structured like this:
.. code-block:: none
./data/NYT:
├───1987
│ ├───NYT-1987-01-01-01.txt
│ ├───NYT-1987-01-02-01.txt
│ ...
│
├───1988
│ ├───NYT-1988-01-01-01.txt
│ ├───NYT-1988-01-02-01.txt
│ ...
...
Below, this corpus is made into a `Corpus` object, parsed with *Stanford CoreNLP*, and interrogated for a lexicogrammatical feature. Absolute frequencies are turned into relative frequencies, and results sorted by trajectory. The edited data is then plotted.
.. code-block:: python
>>> from corpkit import *
>>> from corpkit.dictionaries import processes
### parse corpus of NYT articles containing annual subcorpora
>>> unparsed = Corpus('data/NYT')
>>> parsed = unparsed.parse()
### query: nominal nsubjs that have verbal process as governor lemma
>>> crit = {F: r'^nsubj$',
... GL: processes.verbal.lemmata,
... P: r'^N'}
### interrogate corpus, outputting lemma forms
>>> sayers = parsed.interrogate(crit, show=L)
>>> sayers.quickview(10)
0: official (n=4348)
1: expert (n=2057)
2: analyst (n=1369)
3: report (n=1103)
4: company (n=1070)
5: which (n=1043)
6: researcher (n=987)
7: study (n=901)
8: critic (n=826)
9: person (n=802)
### get relative frequency and sort by increasing
>>> rel_say = sayers.edit('%', SELF, sort_by='increase')
### plot via matplotlib, using tex if possible
>>> rel_say.visualise('Sayers, increasing', kind='area',
... y_label='Percentage of all sayers')
Output:
.. figure:: images/sayers-increasing.png
.. rubric:: Installation
Via pip:
.. code-block:: bash
$ pip install corpkit
via Git:
.. code-block:: bash
$ git clone https://www.github.com/interrogator/corpkit
$ cd corpkit
$ python setup.py install
Parsing and interrogation of parse trees will also require *Stanford CoreNLP*. *corpkit* can download and install it for you automatically.
.. rubric:: Graphical interface
Much of corpkit's command line functionality is also available in the *corpkit GUI*. After installation, it can be started from the command line with:
.. code-block:: bash
$ python -m corpkit.gui
If you're working on a project from within Python, you can open it graphically with:
.. code-block:: python
>>> from corpkit import gui
>>> gui()
Alternatively, the GUI is available (alongside documentation) as a standalone OSX app here_.
.. rubric:: Interpreter
*corpkit* also has its own interpreter, a bit like the `Corpus Workbench`_. You can open it with:
.. code-block:: bash
$ corpkit
# or, alternatively:
$ python -m corpkit.env
And then start working with natural language commands:
.. code-block:: bash
> set junglebook as corpus
> parse junglebook with outname as jb
> set jb as corpus
> search corpus for governor-lemma matching processes:verbal showing pos and lemma
> calculate result as percentage of self
> plot result as line chart with title as 'Example figure'
From the interpreter, you can enter ``ipython``, ``jupyter notebook`` or ``gui`` to switch between interfaces, preserving the local namespace and data where possible.
Information about the syntax is available at the :ref:`interpreter-page`.
.. toctree::
:maxdepth: 1
:caption: API
rst_docs/API/corpkit.building.rst
rst_docs/API/corpkit.interrogating.rst
rst_docs/API/corpkit.concordancing.rst
rst_docs/API/corpkit.editing.rst
rst_docs/API/corpkit.visualising.rst
rst_docs/API/corpkit.langmodel.rst
rst_docs/API/corpkit.managing.rst
.. toctree::
:maxdepth: 1
:caption: Interpreter
rst_docs/interpreter/corpkit.interpreter.overview.rst
rst_docs/interpreter/corpkit.interpreter.setup.rst
rst_docs/interpreter/corpkit.interpreter.making.rst
rst_docs/interpreter/corpkit.interpreter.interrogating.rst
rst_docs/interpreter/corpkit.interpreter.concordancing.rst
rst_docs/interpreter/corpkit.interpreter.annotating.rst
rst_docs/interpreter/corpkit.interpreter.editing.rst
rst_docs/interpreter/corpkit.interpreter.visualising.rst
rst_docs/interpreter/corpkit.interpreter.managing.rst
.. toctree::
:maxdepth: 2
:caption: API reference
rst_docs/API-ref/corpkit.corpus.rst
rst_docs/API-ref/corpkit.interrogation.rst
rst_docs/API-ref/corpkit.other.rst
rst_docs/API-ref/corpkit.dictionaries.rst
.. toctree::
:maxdepth: 2
:caption: External links
:hidden:
Graphical interface
GitHub
.. rubric:: Cite
If you'd like to cite *corpkit*, you can use:
.. code-block:: none
McDonald, D. (2015). corpkit: a toolkit for corpus linguistics. Retrieved from
https://www.github.com/interrogator/corpkit. DOI: http://doi.org/10.5281/zenodo.28361
.. _Stanford CoreNLP: http://stanfordnlp.github.io/CoreNLP/
.. _NLTK: http://www.nltk.org/
.. _pandas: http://pandas.pydata.org/
.. _here: http://interrogator.github.io/corpkit/
.. _pattern: http://www.clips.ua.ac.be/pages/pattern-en/
.. _matplotlib: http://matplotlib.org/
.. _joblib: http://pythonhosted.org/joblib/
.. _Corpus Workbench: http://cwb.sourceforge.net/
.. _CONLL U: http://universaldependencies.org/format.html
.. _Universal Dependencies Treebanks: https://github.com/UniversalDependencies
================================================
FILE: make.bat
================================================
@ECHO OFF
REM Command file for Sphinx documentation
if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set BUILDDIR=_build
set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% .
set I18NSPHINXOPTS=%SPHINXOPTS% .
if NOT "%PAPER%" == "" (
set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%
set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS%
)
if "%1" == "" goto help
if "%1" == "help" (
:help
echo.Please use `make ^` where ^ is one of
echo. html to make standalone HTML files
echo. dirhtml to make HTML files named index.html in directories
echo. singlehtml to make a single large HTML file
echo. pickle to make pickle files
echo. json to make JSON files
echo. htmlhelp to make HTML files and a HTML help project
echo. qthelp to make HTML files and a qthelp project
echo. devhelp to make HTML files and a Devhelp project
echo. epub to make an epub
echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter
echo. text to make text files
echo. man to make manual pages
echo. texinfo to make Texinfo files
echo. gettext to make PO message catalogs
echo. changes to make an overview over all changed/added/deprecated items
echo. xml to make Docutils-native XML files
echo. pseudoxml to make pseudoxml-XML files for display purposes
echo. linkcheck to check all external links for integrity
echo. doctest to run all doctests embedded in the documentation if enabled
echo. coverage to run coverage check of the documentation if enabled
goto end
)
if "%1" == "clean" (
for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i
del /q /s %BUILDDIR%\*
goto end
)
REM Check if sphinx-build is available and fallback to Python version if any
%SPHINXBUILD% 2> nul
if errorlevel 9009 goto sphinx_python
goto sphinx_ok
:sphinx_python
set SPHINXBUILD=python -m sphinx.__init__
%SPHINXBUILD% 2> nul
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.http://sphinx-doc.org/
exit /b 1
)
:sphinx_ok
if "%1" == "html" (
%SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The HTML pages are in %BUILDDIR%/html.
goto end
)
if "%1" == "dirhtml" (
%SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml.
goto end
)
if "%1" == "singlehtml" (
%SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml.
goto end
)
if "%1" == "pickle" (
%SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle
if errorlevel 1 exit /b 1
echo.
echo.Build finished; now you can process the pickle files.
goto end
)
if "%1" == "json" (
%SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json
if errorlevel 1 exit /b 1
echo.
echo.Build finished; now you can process the JSON files.
goto end
)
if "%1" == "htmlhelp" (
%SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp
if errorlevel 1 exit /b 1
echo.
echo.Build finished; now you can run HTML Help Workshop with the ^
.hhp project file in %BUILDDIR%/htmlhelp.
goto end
)
if "%1" == "qthelp" (
%SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp
if errorlevel 1 exit /b 1
echo.
echo.Build finished; now you can run "qcollectiongenerator" with the ^
.qhcp project file in %BUILDDIR%/qthelp, like this:
echo.^> qcollectiongenerator %BUILDDIR%\qthelp\corpkit.qhcp
echo.To view the help file:
echo.^> assistant -collectionFile %BUILDDIR%\qthelp\corpkit.ghc
goto end
)
if "%1" == "devhelp" (
%SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp
if errorlevel 1 exit /b 1
echo.
echo.Build finished.
goto end
)
if "%1" == "epub" (
%SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The epub file is in %BUILDDIR%/epub.
goto end
)
if "%1" == "latex" (
%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
if errorlevel 1 exit /b 1
echo.
echo.Build finished; the LaTeX files are in %BUILDDIR%/latex.
goto end
)
if "%1" == "latexpdf" (
%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
cd %BUILDDIR%/latex
make all-pdf
cd %~dp0
echo.
echo.Build finished; the PDF files are in %BUILDDIR%/latex.
goto end
)
if "%1" == "latexpdfja" (
%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
cd %BUILDDIR%/latex
make all-pdf-ja
cd %~dp0
echo.
echo.Build finished; the PDF files are in %BUILDDIR%/latex.
goto end
)
if "%1" == "text" (
%SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The text files are in %BUILDDIR%/text.
goto end
)
if "%1" == "man" (
%SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The manual pages are in %BUILDDIR%/man.
goto end
)
if "%1" == "texinfo" (
%SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo.
goto end
)
if "%1" == "gettext" (
%SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The message catalogs are in %BUILDDIR%/locale.
goto end
)
if "%1" == "changes" (
%SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes
if errorlevel 1 exit /b 1
echo.
echo.The overview file is in %BUILDDIR%/changes.
goto end
)
if "%1" == "linkcheck" (
%SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck
if errorlevel 1 exit /b 1
echo.
echo.Link check complete; look for any errors in the above output ^
or in %BUILDDIR%/linkcheck/output.txt.
goto end
)
if "%1" == "doctest" (
%SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest
if errorlevel 1 exit /b 1
echo.
echo.Testing of doctests in the sources finished, look at the ^
results in %BUILDDIR%/doctest/output.txt.
goto end
)
if "%1" == "coverage" (
%SPHINXBUILD% -b coverage %ALLSPHINXOPTS% %BUILDDIR%/coverage
if errorlevel 1 exit /b 1
echo.
echo.Testing of coverage in the sources finished, look at the ^
results in %BUILDDIR%/coverage/python.txt.
goto end
)
if "%1" == "xml" (
%SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The XML files are in %BUILDDIR%/xml.
goto end
)
if "%1" == "pseudoxml" (
%SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml.
goto end
)
:end
================================================
FILE: meta.yaml
================================================
package:
name: corpkit
version: "2.3.8"
source:
fn: corpkit-2.3.8.tar.gz
url: https://pypi.python.org/packages/d1/20/ee1ebd50a3c067d60a863a2afaaa2ed02f012858c005706f08c4540317d3/corpkit-2.3.8.tar.gz
md5: 4bf94ac616419b51f8b28ea6a12447ee
# patches:
# List any patch files here
# - fix.patch
build:
# noarch_python: True
# preserve_egg_dir: True
entry_points:
# Put any entry points (scripts to be generated automatically) here. The
# syntax is module:function. For example
#
- gui = corpkit:gui
- corpkit = corpkit:env
#
# Would create an entry point called corpkit that calls corpkit.main()
# If this is a new build for the same version, increment the build
# number. If you do not include this key, it defaults to 0.
number: 1
requirements:
build:
- python
- setuptools
- matplotlib >=1.4.3
- nltk >=3.0.0
- joblib
- pandas >=0.18.1
- requests
- tabview >=1.4.0
- chardet
- blessings >=1.6
- traitlets >=4.1.0
run:
- python
- matplotlib >=1.4.3
- nltk >=3.0.0
- joblib
- pandas >=0.18.1
- requests
- tabview >=1.4.0
- chardet
- blessings >=1.6
- traitlets >=4.1.0
test:
# Python imports
imports:
- corpkit
- corpkit.download
# commands:
# You can put test commands to be run here. Use this to test that the
# entry points work.
# You can also put a file called run_test.py in the recipe that will be run
# at test time.
# requires:
# Put any additional test requirements here. For example
# - nose
about:
home: http://github.com/interrogator/corpkit
license: MIT
summary: 'A toolkit for working with linguistic corpora'
license_family: MIT
# See
# http://docs.continuum.io/conda/build.html for
# more information about meta.yaml
================================================
FILE: requirements.txt
================================================
git+https://github.com/interrogator/tkintertable.git#egg=tkintertable-1.2
git+https://github.com/interrogator/tabview#egg=tabview-1.4.0
matplotlib >= 1.5.1
nltk >= 3.0.0
joblib
pandas >= 0.16.1
requests
chardet
blessings>=1.6
traitlets>=4.1.0
================================================
FILE: rst_docs/API/corpkit.building.rst
================================================
Creating projects and building corpora
=======================================
Doing corpus linguistics involves building and interrogating corpora, and exploring interrogation results. ``corpkit`` helps with all of these things. This page will explain how to create a new project and build a corpus.
.. contents::
:local:
Creating a new project
-----------------------
The simplest way to begin using corpkit is to import it and to create a new project. Projects are simply folders containing subfolders where corpora, saved results, images and dictionaries will be stored. The simplest way is to do it is to use the ``new_project`` command in `bash`, passing in the name you'd like for the project as the only argument:
.. code-block:: bash
$ new_project psyc
# move there:
$ cd psyc
# now, enter python and begin ...
Or, from Python:
.. code-block:: python
>>> import corpkit
>>> corpkit.new_project('psyc')
### move there:
>>> import os
>>> os.chdir('psyc')
>>> os.listdir('.')
['data',
'dictionaries',
'exported',
'images',
'logs',
'saved_concordances',
'saved_interrogations']
Adding a corpus
----------------
Now that we have a project, we need to add some plain-text data to the `data` folder. At the very least, this is simply a text file. Better than this is a folder containing a number of text files. Best, however, is a folder containing subfolders, with each subfolder containing one or more text files. These subfolders represent subcorpora.
You can add your corpus to the `data` folder from the command line, or using Finder/Explorer if you prefer.
.. code-block:: bash
$ cp -R /Users/me/Documents/transcripts ./data
Or, in `Python`, using `shutil`:
.. code-block:: python
>>> import shutil
>>> shutil.copytree('/Users/me/Documents/transcripts', './data')
If you've been using `bash` so far, this is the moment when you'd enter `Python` and ``import corpkit``.
Creating a Corpus object
-------------------------
Once we have a corpus of text files, we need to turn it into a `Corpus` object.
.. code-block:: python
>>> from corpkit import Corpus
### you can leave out the 'data' if it's in there
>>> unparsed = Corpus('data/transcripts')
>>> unparsed
Pre-processing the data
----------------------------------
A `Corpus` object can only be interrogated if tokenisation or parsing has been performed. For this, :class:`corpkit.corpus.Corpus` objects have :func:`~corpkit.corpus.Corpus.tokenise` and :func:`~corpkit.corpus.Corpus.parse` methods. Tokenising is faster, simpler, and will work for more languages. As shown below, you can also elect to POS tag and lemmatise the data:
.. code-block:: python
> corpus = unparsed.tokenise(postags=True, lemmatisation=True)
# switch either to false to disable---but lemmatisation requires pos
Parsing relies on Stanford CoreNLP's parser, and therefore, you must have the parser and Java installed. ``corpkit`` will look around in your PATH for the parser, but you can also pass in its location manually with (e.g.) ``corenlppath='users/you/corenlp'``. If it can't be found, you'll be asked if you want to download and install it automatically. Parsing has sensible defaults, and can be run with:
.. code-block:: python
>>> corpus = unparsed.parse()
.. note::
Remember that parsing is a computationally intensive task, and can take a long time!
``corpkit`` can also work with speaker IDs. If lines in your file contain capitalised alphanumeric names, followed by a colon (as per the example below), these IDs can be stripped out and turned into metadata features in the parsed dataset.
.. code-block:: none
JOHN: Why did they change the signs above all the bins?
SPEAKER23: I know why. But I'm not telling.
To use this option, use the ``speaker_segmentation`` keyword argument:
.. code-block:: python
>>> corpus = unparsed.parse(speaker_segmentation=True)
Tokenising or parsing creates a corpus that is structurally identical to the original, but with annotations in `CONLL-U` formatted files in place of the original ``.txt`` files. When parsing, there are also methods for multiprocessing, memory allocation and so on:
+--------------------------+------------+---------------------------------------+
| `parse()` argument | Type | Purpose |
+==========================+============+=======================================+
| `corenlppath` | `str` | Path to CoreNLP |
+--------------------------+------------+---------------------------------------+
+--------------------------+------------+---------------------------------------+
| `operations` | `str` | `List of annotations`_ |
+--------------------------+------------+---------------------------------------+
| `copula_head` | `bool` | Make copula head of dependency parse |
+--------------------------+------------+---------------------------------------+
| `speaker_segmentation` | `bool` | Do speaker segmentation |
+--------------------------+------------+---------------------------------------+
| `memory_mb` | `int` | Amount of memory to allocate |
+--------------------------+------------+---------------------------------------+
| `multiprocess` | `int/bool` | Process in `n` parallel jobs |
+--------------------------+------------+---------------------------------------+
| `outname` | `str` | Custom name for parsed corpus |
+--------------------------+------------+---------------------------------------+
You can run parsing operations from the command line:
.. code-block:: bash
$ parse mycorpus --multiprocess 4 --outname MyData
Manipulating a parsed corpus
-----------------------------
Once you have a parsed corpus, you're ready to analyse it. :class:`corpkit.corpus.Corpus` objects can be navigated in a number of ways. *CoreNLP XML* is used to navigte the internal structure of `CONLL-U` files within the corpus.
.. code-block:: python
>>> corpus[:3] # access first three subcorpora
>>> corpus.subcorpora.chapter1 # access subcorpus called chapter1
>>> f = corpus[5][20] # access 21st file in 6th subcorpus
>>> f.document.sentences[0].parse_string # get parse tree for first sentence
>>> f.document.sentences.tokens[0].word # get first word
Counting key features
-----------------------
Before constructing your own queries, you may want to use some predefined attributes for counting key features in the corpus.
.. code-block:: python
>>> corpus.features
Output:
.. code-block:: none
S Characters Tokens Words Closed class Open class Clauses Sentences Unmod. declarative Passives Mental processes Relational processes Mod. declarative Interrogative Verbal processes Imperative Open interrogative Closed interrogative
01 4380658 1258606 1092113 643779 614827 277103 68267 35981 16842 11570 11082 3691 5012 2962 615 787 813
02 3185042 922243 800046 471883 450360 209448 51575 26149 10324 8952 8407 3103 3407 2578 540 547 461
03 3157277 917822 795517 471578 446244 209990 51860 26383 9711 9163 8590 3438 3392 2572 583 556 452
04 3261922 948272 820193 486065 462207 216739 53995 27073 9697 9553 9037 3770 3702 2665 652 669 530
05 3164919 921098 796430 473446 447652 210165 52227 26137 9543 8958 8663 3622 3523 2738 633 571 467
06 3187420 928350 797652 480843 447507 209895 52171 25096 8917 9011 8820 3913 3637 2722 686 553 480
07 3080956 900110 771319 466254 433856 202868 50071 24077 8618 8616 8547 3623 3343 2676 615 515 434
08 3356241 972652 833135 502913 469739 218382 52637 25285 9921 9230 9562 3963 3497 2831 692 603 442
09 2908221 840803 725108 434839 405964 191851 47050 21807 8354 8413 8720 3876 3147 2582 675 554 455
10 2868652 815101 708918 421403 393698 185677 43474 20763 8640 8067 8947 4333 3181 2727 584 596 424
This can take a while, as it counts a number of complex features. Once it's done, however, it saves automatically, so you don't need to do it again. There are also ``postags``, ``wordclasses`` and ``lexicon`` attributes, which behave similarly:
.. code-block:: python
>>> corpus.postags
>>> corpus.wordclasses
>>> corpus.lexicon
These results can be useful when generating relative frequencies later on. Right now, however, you're probably interested in searching the corpus yourself, however. Hit `Next` to learn about that.
.. _List of annotations: http://nlp.stanford.edu/index.shtml
================================================
FILE: rst_docs/API/corpkit.concordancing.rst
================================================
Concordancing
==============
Concordancing is the task of getting an aligned list of *keywords in context*. Here's a very basic example, using *Industrial Society and Its Future* as a corpus:
.. code-block:: python
>>> tech = corpus.concordance({W: r'techn*'})
>>> tech.format(n=10, columns=[L, M, R])
0 The continued development of technology will worsen the situation
1 vernments but the economic and technological basis of the present society
2 They want to make him study technical subjects become an executive o
3 program to acquire some petty technical skill then come to work on tim
4 rom nature are consequences of technological progress
5 n them and modern agricultural technology has made it possible for the e
6 -LRB- Also technology exacerbates the effects of cro
7 changes very rapidly owing to technological change
8 they enthusiastically support technological progress and economic growth
9 e rapid drastic changes in the technology and the economy of a society w
Generating a concordance
-------------------------
When using *corpkit*, any interrogation is also optionally a concordance. If you use the ``do_concordancing`` keyword argument, your interrogation will have a ``concordance`` attribute containing concordance lines. Like interrogation results, concordances are stored as *Pandas DataFrames*. ``maxconc`` controls the number of lines produced.
.. code-block:: python
>>> withconc = corp.interrogate({L: ['man', 'woman', 'person']},
... show=[W,P],
... do_concordancing=True,
... maxconc=500)
0 T Asian/JJ a/DT disabled/JJ person/nn or/cc a/dt woman/nn origin
1 led/JJ person/NN or/CC a/DT woman/nn originally/rb had/vbd no/d
2 woman/NN or/CC disabled/JJ person/nn but/cc a/dt minority/nn of
3 n/JJ immigrant/JJ abused/JJ woman/nn or/cc disabled/jj person/n
4 ing/VBG weak/JJ -LRB-/-LRB- women/nns -rrb-/-rrb- defeated/vbn -
If you like, you can use ``only_format_match=True`` to keep the left and right context simple:
.. code-block:: python
>>> withconc = corp.interrogate({L: ['man', 'woman', 'person']},
... show=[W,P],
... only_format_match=True,
... do_concordancing=True,
... maxconc=500)
0 African an Asian a disabled person/nn or a woman originally had
1 sian a disabled person or a woman/nn originally had no derogato
2 nt abused woman or disabled person/nn but a minority of activist
3 ller Asian immigrant abused woman/nn or disabled person but a m
4 n image of being weak -LRB- women/nns -rrb- defeated -lrb- ameri
If you don't want or need the interrogation data, you can use the :func:`~corpkit.corpus.Corpus.concordance` method:
.. code-block:: python
>>> conc = corpus.concordance(T, r'/JJ.?/ > (NP <<# /man/)')
Displaying concordance lines
------------------------------
How concordance lines will be displayed really depends on your interpreter and environment. For the most part, though, you'll want to use the :func:`~corpkit.interrogation.Concordance.format` method.
.. code-block:: python
>>> lines.format(kind='s',
... n=100,
... window=50,
... columns=[L, M, R])
``kind='c'/'l'/'s'`` allows you to print as CSV, LaTeX, or simple string. ``n`` controls the number of results shown. ``window`` controls how much context to show in the left and right columns. ``columns`` accepts a list of column names to show.
Pandas' set_option_ can be used to customise some visualisation defaults.
Working with concordance lines
-------------------------------
You can edit concordance lines using the :func:`~corpkit.interrogation.Concordance.edit` method. You can use this method to keep or remove entries or subcorpora matching regular expressions or lists. Keep in mind that because concordance lines are DataFrames, you can use Pandas' dedicated methods for working with text data.
.. code-block:: python
### get just uk variants of words with variant spellings
>>> from corpkit.dictionaries import usa_convert
>>> concs = result.concordance.edit(just_entries=usa_convert.keys())
Concordance objects can be saved just like any other ``corpkit`` object:
.. code-block:: python
>>> concs.save('adj_modifying_man')
You can also easily turn them into CSV data, or into LaTeX:
.. code-block:: python
### pandas methods
>>> concs.to_csv()
>>> concs.to_latex()
### corpkit method: csv and latex
>>> concs.format('c', window=20, n=10)
>>> concs.format('l', window=20, n=10)
The *calculate* method
------------------------
You might have begun to notice that interrogating and concordancing aren't really very different tasks. If we drop the left and right context, and move the data around, we have all the data we get from an interrogation.
For this reason, you can use the :func:`~corpkit.interrogation.Concordance.calculate` method to generate an :class:`corpus.interrogation.Interrogation` object containing a frequency count of the middle column of the concordance as the ``results`` attribute.
Therefore, one method for ensuring accuracy is to:
1. Run an interrogation, using ``do_concordance=True``
2. Remove false positives from the concordance result using :func:`~corpkit.interrogation.Concordance.edit`
3. Use the :func:`~corpkit.interrogation.Concordance.calculate` method to regenerate the overall frequencies
4. Edit, visualise or export the data
If you'd like to randomise the order of your results, you can use ``lines.shuffle()``
.. _set_option: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.set_option.html
================================================
FILE: rst_docs/API/corpkit.editing.rst
================================================
.. _editing-page:
Editing results
=====================
Corpus interrogation is the task of getting frequency counts for a lexicogrammatical phenomenon in a corpus. Simple absolute frequencies, however, are of limited use. The :func:`~corpkit.interrogation.Interrogation.edit` method allows us to do complex things with our results, including:
.. contents::
:local:
Each of these will be covered in the sections below. Keep in mind that because results are stored as DataFrames, you can also use Pandas/Numpy/Scipy to manipulate your data in ways not covered here.
Keeping or deleting results and subcorpora
-------------------------------------------
One of the simplest kinds of editing is removing or keeping results or subcorpora. This is done using keyword arguments: `skip_subcorpora`, `just_subcorpora`, `skip_entries`, `just_entries`. The value for each can be:
1. A string (treated as a regular expression to match)
2. A list (a list of words to match)
3. An integer (treated as an index to match)
.. code-block:: python
>>> criteria = r'ing$'
>>> result.edit(just_entries=criteria)
.. code-block:: python
>>> criteria = ['everything', 'nothing', 'anything']
>>> result.edit(skip_entries=criteria)
.. code-block:: python
>>> result.edit(just_subcorpora=['Chapter_10', 'Chapter_11'])
You can also span subcorpora, using a tuple of ``(first_subcorpus, second_subcorpus)``. This works for numerical and non-numerical subcorpus names:
.. code-block:: python
>>> just_span = result.edit(span_subcorpora=(3, 10))
Editing result names
--------------------
You can use the ``replace_names`` keyword argument to edit the text of each result. If you pass in a string, it is treated as a regular expression to delete from every result:
.. code-block:: python
>>> ingdel = result.edit(replace_names=r'ing$')
You can also pass in a ``dict`` with the structure of ``{newname: criteria}``:
.. code-block:: python
>>> rep = {'-ing words': r'ing$', '-ed words': r'ed$'}
>>> replaced = result.edit(replace_names=rep)
If you wanted to see how commonly words start with a particular letter, you could do something creative:
.. code-block:: python
>>> from string import lowercase
>>> crit = {k.upper() + ' words': r'(?i)^%s.*' % k for k in lowercase}
>>> firstletter = result.edit(replace_names=crit, sort_by='total')
Spelling normalisation
-----------------------
When results are single words, you can normalise to UK/US spelling:
.. code-block:: python
>>> spelled = result.edit(spelling='UK')
You can also perform this step when interrogating a corpus.
Generating relative frequencies
---------------------------------
Because subcorpora often vary in size, it is very common to want to create relative frequency versions of results. The best way to do this is to pass in an ``operation`` and a ``denominator``. The ``operation`` is simply a string denoting a mathematical operation: '+', '-', '*', '/', '%'. The last two of these can be used to get relative frequencies and percentage.
Denominator is what the result will be divided by. Quite often, you can use the string ``'self'``. This means, after all other editing (deleting entries, subcorpora, etc.), use the totals of the result being edited as the denominator. When doing no other editing operations, the two lines below are equivalent:
.. code-block:: python
>>> rel = result.edit('%', 'self')
>>> rel = result.edit('%', result.totals)
The best denominator, however, may not simply be the totals for the results being edited. You may instead want to relativise by the total number of words:
.. code-block:: python
>>> rel = result.edit('%', corpus.features.Words)
Or by some other result you have generated:
.. code-block:: python
>>> words_with_oo = corpus.interrogate(W, 'oo')
>>> rel = result.edit('%', words_with_oo.totals)
There is a more complex kind of relative frequency making, where a ``.results`` attribute is used as the denominator. In the example below, we calculate the percentage of the time each verb occurs as the `root` of the parse.
.. code-block:: python
>>> verbs = corpus.interrogate(P, r'^vb', show=L)
>>> roots = corpus.interrogate(F, 'root', show=L)
>>> relv = verbs.edit('%', roots.results)
Keywording
---------------------------------
``corpkit`` treats keywording as an editing task, rather than an interrogation task. This makes it easy to get key nouns, or key Agents, or key grammatical features. To do keywording, use the ``K`` operation:
.. code-block:: python
>>> from corpkit import *
### * imports predefined global variables like K and SELF
>>> keywords = result.edit(K, SELF)
This finds out which words are key in each subcorpus, compared to the corpus as a whole. You can compare subcorpora directly as well. Below, we compare the ``plays`` subcorpus to the ``novels`` subcorpus.
. code-block:: python
>>> from corpkit import *
>>> keywords = result.edit(K, result.ix['novels'], just_subcorpora='plays')
You could also pass in word frequency counts from some other source. A wordlist of the *British National Corpus* is included:
.. code-block:: python
>>> keywords = result.edit(K, 'bnc')
The default keywording metric is *log-likelihood*. If you'd like to use *percentage difference*, you can do:
.. code-block:: python
>>> keywords = result.edit(K, 'bnc', keyword_measure='pd')
Sorting
---------------------------------
You can sort results using the ``sort_by`` keyword. Possible values are:
* `'name'` (alphabetical)
* `'total'` (most common first)
* `'infreq'` (inverse total)
* `'increase'` (most increasing)
* `'decrease'` (most decreasing)
* `'turbulent'` (by most change)
* `'static'` (by least change)
* `'p'` (by p value)
* `'slope'` (by slope)
* `'intercept'` (by intercept)
* `'r'` (by correlation coefficient)
* `'stderr'` (by standard error of the estimate)
* `''` by total in
.. code-block:: python
>>> inc = result.edit(sort_by='increase', keep_stats=False)
Many of these rely on Scipy's ``linregress`` function. If you want to keep the generated statistics, use ``keep_stats=True``.
Calculating trends, P values
---------------------------------
``keep_stats=True`` will cause slopes, p values and stderr to be calculated for each result.
Saving results
----------------
You can save edited results to disk.
.. code-block:: python
>>> edited.save('savename')
Exporting results
------------------
You can generate CSV data very easily using Pandas:
.. code-block:: python
>>> result.results.to_csv()
Next step
----------
Once you've edited data, it's ready to visualise. Hit next to learn how to use the :func:`~corpkit.interrogation.Interrogation.visualise` method.
================================================
FILE: rst_docs/API/corpkit.interrogating.rst
================================================
Interrogating corpora
=====================
Once you've built a corpus, you can search it for linguistic phenomena. This is done with the :func:`~corpkit.corpus.Corpus.interrogate` method.
.. contents::
:local:
Introduction
--------------
Interrogations can be performed on any :class:`corpkit.corpus.Corpus` object, but also, on :class:`corpkit.corpus.Subcorpus` objects, :class:`corpkit.corpus.File` objects and :class:`corpkit.corpus.Datalist` objects (slices of ``Corpus`` objects). You can search plaintext corpora, tokenised corpora or fully parsed corpora using the same method. We'll focus on parsed corpora in this guide.
.. code-block:: python
>>> from corpkit import *
### words matching 'woman', 'women', 'man', 'men'
>>> query = {W: r'/(^wo)m.n/'}
### interrogate corpus
>>> corpus.interrogate(query)
### interrogate parts of corpus
>>> corpus[2:4].interrogate(query)
>>> corpus.files[:10].interrogate(query)
### if you have a subcorpus called 'abstract':
>>> corpus.subcorpora.abstract.interrogate(query)
Corpus interrogations will output a :class:`corpkit.interrogation.Interrogation` object, which stores a DataFrame of results, a Series of totals, a ``dict`` of values used in the query, and, optionally, a set of concordance lines. Let's search for proper nouns in *The Great Gatsby* and see what we get:
.. code-block:: python
>>> corp = Corpus('gatsby-parsed')
### turn on concordancing:
>>> propnoun = corp.interrogate({P: '^NNP'}, do_concordancing=True)
>>> propnoun.results
gatsby tom daisy mr. wilson jordan new baker york miss
chapter1 12 32 29 4 0 2 10 21 6 19
chapter2 1 30 6 8 26 0 6 0 6 0
chapter3 28 0 1 8 0 22 5 6 5 1
chapter4 38 10 15 25 1 9 5 8 4 7
chapter5 36 3 26 4 0 0 1 1 1 1
chapter6 37 21 19 11 0 1 4 0 3 4
chapter7 63 87 60 9 27 35 9 2 5 1
chapter8 21 3 19 1 19 1 0 1 0 0
chapter9 27 5 9 14 4 3 4 1 4 1
>>> propnoun.totals
chapter1 232
chapter2 252
chapter3 171
chapter4 428
chapter5 128
chapter6 219
chapter7 438
chapter8 139
chapter9 208
dtype: int64
>>> propnoun.query
{'case_sensitive': False,
'corpus': 'gatsby-parsed',
'dep_type': 'collapsed-ccprocessed-dependencies',
'do_concordancing': True,
'exclude': False,
'excludemode': 'any',
'files_as_subcorpora': True,
'gramsize': 1,
...}
>>> propnoun.concordance # (sample)
54 chapter1 They had spent a year in france for no particular reason and then d
55 chapter1 n't believe it I had no sight into daisy 's heart but i felt that tom would
56 chapter1 into Daisy 's heart but I felt that tom would drift on forever seeking a li
57 chapter1 This was a permanent move said daisy over the telephone but i did n't be
58 chapter1 windy evening I drove over to East egg to see two old friends whom i scarc
59 chapter1 warm windy evening I drove over to east egg to see two old friends whom i s
60 chapter1 d a cheerful red and white Georgian colonial mansion overlooking the bay
61 chapter1 pen to the warm windy afternoon and tom buchanan in riding clothes was stan
62 chapter1 to the warm windy afternoon and Tom buchanan in riding clothes was standing with
Cool, eh? We'll focus on what to do with these attributes later. Right now, we need to learn how to generate them.
Search types
---------------------
Parsed corpora contain many different kinds of things we might like to search. There are word forms, lemma forms, POS tags, word classes, indices, and constituency and (three different) dependency grammar annotations. For this reason, the search query is a ``dict`` object passed to the ``interrogate()`` method, whose keys specify what to search, and whose values specify a query. The simplest ones are given in the table below.
.. note::
Single capital letter variables in code examples represent lowercase strings ``(W = 'w')``. These variables are made available by doing ``from corpkit import *``. They are used here for readability.
+--------+-----------------------+
| Search | Gloss |
+========+=======================+
| W | Word |
+--------+-----------------------+
| L | Lemma |
+--------+-----------------------+
| F | Function |
+--------+-----------------------+
| P | POS tag |
+--------+-----------------------+
| X | Word class |
+--------+-----------------------+
| E | NER tag |
+--------+-----------------------+
| A | Distance from root |
+--------+-----------------------+
| I | Index in sentence |
+--------+-----------------------+
| S | Sentence index |
+--------+-----------------------+
| R | Coref representative |
+--------+-----------------------+
Because it comes first, and because it's always needed, you can pass it in like an argument, rather than a keyword argument.
.. code-block:: python
### get variants of the verb 'be'
>>> corpus.interrogate({L: 'be'})
### get words in 'nsubj' position
>>> corpus.interrogate({F: 'nsubj'})
Multiple key/value pairs can be supplied. By default, all must match for the result to be counted, though this can be changed with ``searchmode=ANY`` or ``searchmode=ALL``:
.. code-block:: python
>>> goverb = {P: r'^v', L: r'^go'}
### get all variants of 'go' as verb
>>> corpus.interrogate(goverb, searchmode=ALL)
### get all verbs and any word starting with 'go':
>>> corpus.interrogate(goverb, searchmode=ANY)
Grammatical searching
----------------------
In the examples above, we match attributes of tokens. The great thing about parsed data, is that we can search for relationships between words. So, other possible search keys are:
+--------+------------------------+
| Search | Gloss |
+========+========================+
| G | Governor |
+--------+------------------------+
| D | Dependent |
+--------+------------------------+
| H | Coreference head |
+--------+------------------------+
| T | Syntax tree |
+--------+------------------------+
| A1 | Token 1 place to left |
+--------+------------------------+
| Z1 | Token 1 place to right |
+--------+------------------------+
.. code-block:: python
>>> q = {G: r'^b'}
### return any token with governor word starting with 'b'
>>> corpus.interrogate(q)
`Governor`, `Dependent` and `Left/Right` can be combined with the earlier table, allowing a large array of search types:
+--------------------+-------+----------+-----------+------------+-----------------+
| | Match | Governor | Dependent | Coref head | Left/right |
+====================+=======+==========+===========+============+=================+
| Word | W | G | D | H | A1/Z1 |
+--------------------+-------+----------+-----------+------------+-----------------+
| Lemma | L | GL | DL | HL | A1L/Z1L |
+--------------------+-------+----------+-----------+------------+-----------------+
| Function | F | GF | DF | HF | A1F/Z1F |
+--------------------+-------+----------+-----------+------------+-----------------+
| POS tag | P | GP | DP | HP | A1P/Z1P |
+--------------------+-------+----------+-----------+------------+-----------------+
| Word class | X | GX | DX | HX | A1X/Z1X |
+--------------------+-------+----------+-----------+------------+-----------------+
| Distance from root | A | GA | DA | HA | A1A/Z1A |
+--------------------+-------+----------+-----------+------------+-----------------+
| Index | I | GI | DI | HI | A1I/Z1I |
+--------------------+-------+----------+-----------+------------+-----------------+
| Sentence index | S | GS | DS | HS | A1S/Z1S |
+--------------------+-------+----------+-----------+------------+-----------------+
Syntax tree searching can't be combined with other options. We'll return to them in a minute, however.
Excluding results
---------------------
You may also wish to exclude particular phenomena from the results. The ``exclude`` argument takes a ``dict`` in the same form a ``search``. By default, if any key/value pair in the ``exclude`` argument matches, it will be excluded. This is controlled by ``excludemode=ANY`` or ``excludemode=ALL``.
.. code-block:: python
>>> from corpkit.dictionaries import wordlists
### get any noun, but exclude closed class words
>>> corpus.interrogate({P: r'^n'}, exclude={W: wordlists.closedclass})
### when there's only one search criterion, you can also write:
>>> corpus.interrogate(P, r'^n', exclude={W: wordlists.closedclass})
In many cases, rather than using ``exclude``, you could also remove results later, during editing.
What to show
---------------------
Up till now, all searches have simply returned words. The final major argument of the ``interrogate`` method is ``show``, which dictates what is returned from a search. Words are the default value. You can use any of the search values as a show value. ``show`` can be either a single string or a list of strings. If a list is provided, each value is returned with forward slashes as delimiters.
.. code-block:: python
>>> example = corpus.interrogate({W: r'fr?iends?'}, show=[W, L, P])
>>> list(example.results)
['friend/friend/nn', 'friends/friend/nns', 'fiend/fiend/nn', 'fiends/fiend/nns', ... ]
Unigrams are generated by default. To get n-grams, pass in an n value as ``gramsize``:
.. code-block:: python
>>> example = corpus.interrogate({W: r'wom[ae]n]'}, show=N, gramsize=2)
>>> list(example.results)
['a/woman', 'the/woman', 'the/women', 'women/are', ... ]
So, this leaves us with a huge array of possible things to show, all of which can be combined if need be:
+--------------------+-------+----------+-----------+------------+-------------+-------------+
| | Match | Governor | Dependent | Coref Head | 1L position | 1R position |
+====================+=======+==========+===========+============+=============+=============+
| Word | W | G | D | H | A1 | Z1 |
+--------------------+-------+----------+-----------+------------+-------------+-------------+
| Lemma | L | GL | DL | HL | A1L | Z1L |
+--------------------+-------+----------+-----------+------------+-------------+-------------+
| Function | F | GF | DF | HF | A1F | Z1F |
+--------------------+-------+----------+-----------+------------+-------------+-------------+
| POS tag | P | GP | DP | HP | A1P | Z1P |
+--------------------+-------+----------+-----------+------------+-------------+-------------+
| Word class | X | GX | DX | HX | A1X | Z1X |
+--------------------+-------+----------+-----------+------------+-------------+-------------+
| Distance from root | A | GA | DA | HA | A1A | Z1R |
+--------------------+-------+----------+-----------+------------+-------------+-------------+
| Index | I | GI | DI | HI | A1I | Z1I |
+--------------------+-------+----------+-----------+------------+-------------+-------------+
| Sentence index | S | GS | DS | HS | A1S | Z1S |
+--------------------+-------+----------+-----------+------------+-------------+-------------+
One further extra show value is ``'c'`` (count), which simply counts occurrences of a phenomenon. Rather than returning a DataFrame of results, it will result in a single Series. It cannot be combined with other values.
Working with trees
---------------------
If you have elected to search trees, by default, searching will be done with Java, using Tregex. If you don't have Java, or if you pass in ``tgrep=True``, searching will the more limited Tgrep2 syntax. Here, we'll concentrate on Tregex.
Tregex is a language for searching syntax trees like this one:
.. figure:: https://raw.githubusercontent.com/interrogator/sfl_corpling/master/images/const-grammar.png
To write a Tregex query, you specify *words and/or tags* you want to match, in combination with *operators* that link them together. First, let's understand the Tregex syntax.
To match any adjective, you can simply write:
.. code-block:: none
JJ
with `JJ` representing adjective as per the `Penn Treebank tagset`_. If you want to get NPs containing adjectives, you might use:
.. code-block:: none
NP < JJ
where `<` means `with a child/immediately below`. These operators can be reversed: If we wanted to show the adjectives within NPs only, we could use:
.. code-block:: none
JJ > NP
It's good to remember that **the output will always be the left-most part of your query**.
If you only want to match Subject NPs, you can use bracketting, and the `$` operator, which means *sister/directly to the left/right of*:
.. code-block:: none
JJ > (NP $ VP)
In this way, you build more complex queries, which can extent all the way from a sentence's *root* to particular tokens. The query below, for example, finds adjectives modifying `book`:
.. code-block:: none
JJ > (NP <<# /book/)
Notice that here, we have a different kind of operator. The `<<` operator means that the node on the right does not need to be a child, but can be a descendant. the `#` means `head`—that is, in SFL, it matches the `Thing` in a Nominal Group.
If we wanted to also match `magazine` or `newspaper`, there are a few different approaches. One way would be to use `|` as an operator meaning `or`:
.. code-block:: none
JJ > (NP ( <<# /book/ | <<# /magazine/ | <<# /newspaper/))
This can be cumbersome, however. Instead, we could use a regular expression:
.. code-block:: none
JJ > (NP <<# /^(book|newspaper|magazine)s*$/)
Though it is beyond the scope of this guide to teach Regular Expressions, it is important to note that Regular Expressions are extremely powerful ways of searching text, and are invaluable for any linguist interested in digital datasets.
Detailed documentation for Tregex usage (with more complex queries and operators) can be found here_.
Tree `show` values
-------------------
Though you can use the same Tregex query for tree searches, the output changes depending on what you select as the ``show`` value. For the following sentence:
.. code-block:: none
These are prosperous times.
you could write a query:
.. code-block:: python
r'JJ < __'
Which would return:
+------+----------+----------------------+
| Show | Gloss | Output |
+======+==========+======================+
| W | Word | `prosperous` |
+------+----------+----------------------+
| T | Tree | `(JJ prosperous)` |
+------+----------+----------------------+
| p | POS tag | `JJ` |
+------+----------+----------------------+
| C | Count | `1` (added to total) |
+------+----------+----------------------+
Working with dependencies
--------------------------
When working with dependencies, you can use any of the long list of search and `show` values. It's possible to construct very elaborate queries:
.. code-block:: python
>>> from corpkit.dictionaries import process_types, roles
### nominal nsubj with verbal process as governor
>>> crit = {F: r'^nsubj$',
... GL: processes.verbal.lemmata,
... GF: roles.event,
... P: r'^N'}
### interrogate corpus, outputting the nsubj lemma
>>> sayers = parsed.interrogate(crit, show=L)
Working with metadata
----------------------------------
If you've used speaker segmentation and/or metadata addition when building your corpus, you can tell the :func:`~corpkit.corpus.Corpus.interrogate` method to use these values as subcorpora, or restrict searches to particular values. The code below will limit searches to sentences spoken by Jason and Martin, or exclude them from the search:
.. code-block:: python
>>> corpus.interrogate(query, just_metadata={'speaker': ['JASON', 'MARTIN']})
>>> corpus.interrogate(query, skip_metadata={'speaker': ['JASON', 'MARTIN']})
If you wanted to compare Jason and Martin's contributions in the corpus as a whole, you could treat them as subcorpora:
.. code-block:: python
>>> corpus.interrogate(query, subcorpora='speaker',
... just_metadata={'speaker': ['JASON', 'MARTIN']})
The method above, however, will make an interrogation with two subcorpora, `'JASON'` AND ``MARTIN``. You can pass a list in as the ``subcorpora`` keyword argument to generate a multiindex:
.. code-block:: python
>>> corpus.interrogate(query, subcorpora=['folder', 'speaker'],
just_metadata={'speaker': ['JASON', 'MARTIN']})
Working with coreferences
--------------------------
One major challenge in corpus linguistics is the fact that pronouns stand in for other words. Parsing provides coreference resolution, which maps pronouns to the things they denote. You can enable this kind of parsing by specifying the `dcoref` annotator:
.. code-block:: python
>>> corpus = Corpus('example.txt')
>>> ops = 'tokenize,ssplit,pos,lemma,parse,ner,dcoref'
>>> parsed = corpus.interrogate(operations=ops)
### print a plaintext representation of the parsed corpus
>>> print(parsed.plain)
.. code-block:: none
0. Clinton supported the independence of Kosovo
1. He authorized the use of force.
If you have done this, you can use `coref=True` while interrogating to allow coreferent forms to be counted alongside query matches. For example, if you wanted to find all the processes Clinton is engaged in, you could do:
.. code-block:: python
>>> from corpkit.dictionaries import roles
>>> query = {W: 'clinton', GF: roles.process}
>>> res = parsed.interrogate(query, show=L, coref=True)
>>> res.results.columns
This matches both `Clinton` and `he`, and thus gives us:
.. code-block:: python
['support', 'authorize']
Multiprocessing
---------------------
Interrogating the corpus can be slow. To speed it up, you can pass an integer as the ``multiprocess`` keyword argument, which tells the ``interrogate()`` method how many processes to create.
.. code-block:: python
>>> corpus.interrogate({T: r'__ > MD'}, multiprocess=4)
.. note::
Too many parallel processes may slow your computer down. If you pass in ``multiprocessing=True``, the number of processes will equal the number of cores on your machine. This is usually a fairly sensible number.
N-grams
---------------------
N-gramming can be generated by making ``gramsize`` > 1:
.. code-block:: python
>>> corpus.interrogate({W: 'father'}, show='L', gramsize=3)
Collocation
------------
Collocations can be shown by making using ``window``:
.. code-block:: python
>>> corpus.interrogate({W: 'father'}, show='L', window=6)
Saving interrogations
----------------------
.. code-block:: python
>>> interro.save('savename')
Interrogation savenames will be prefaced with the name of the corpus interrogated.
You can also quicksave interrogations:
.. code-block:: python
>>> corpus.interrogate(T, r'/NN.?/', save='savename')
Exporting interrogations
-------------------------
If you want to quickly export a result to CSV, LaTeX, etc., you can use Pandas' DataFrame methods:
.. code-block:: python
>>> print(nouns.results.to_csv())
>>> print(nouns.results.to_latex())
Other options
---------------
:func:`~corpkit.corpus.Corpus.interrogate` takes a number of other arguments, each of which is documented in the API documentation.
If you're done interrogating, you can head to the page on :ref:`editing-page` to learn how to transform raw frequency counts into something more meaningful. Or, hit `Next` to learn about concordancing.
.. _here: http://nlp.stanford.edu/~manning/courses/ling289/Tregex.htm
.. _Penn Treebank tagset: https://www.ling.upenn.edu/courses/Fall_2003/ling001/penn_treebank_pos.html
================================================
FILE: rst_docs/API/corpkit.langmodel.rst
================================================
Using language models
======================
.. warning::
Language modelling is currently deprecated, while the tool is updated to use `CONLL` formatted data, rather than `CoreNLP XML`. Sorry!
Language models are probability distributions over sequences of words. They are common in a number of natural language processing tasks. In corpus linguistics, they can be used to judge the similarity between texts.
*corpkit*'s :func:`~corpkit.corpus.Corpus.make_language_model` method makes it very easy to generate a language model:
.. code-block:: python
>>> corpus = Corpus('threads')
# save as models/savename.p
>>> lm = corpus.make_language_model('savename')
One simple thing you can do with a language model is pass in a string of text:
.. code-block:: python
>>> text = ("We can compare an arbitrary string against the models "\
... "created for each subcorpus, in order to find out how "\
... "similar the text is to the texts in each subcorpus... ")
# get scores for each subcorpus, and the corpus as a whole
>>> lm.score(text)
01 -4.894732
04 -4.986471
02 -5.060964
03 -5.096785
05 -5.106083
07 -5.226934
06 -5.338614
08 -5.829444
09 -5.874777
10 -6.351399
Corpus -5.285553
You can also pass in :class:`corpkit.corpus.Subcorpus` objects, subcorpus names or :class:`corpkit.corpus.File` instances.
Customising models
--------------------
Under the hood, *corpkit* interrogates the corpus using some special parameters, then builds a model from the results. This means that you can pass in arbitrary arguments for the :func:`~corpkit.corpus.Corpus.interrogate` method:
.. code-block:: python
>>> lm = corpus.make_language_model('lemma_model',
... show=L,
... just_speakers='MAHSA',
... multiprocess=2)
Compare subcorpora
-------------------
You can find out which subcorpora are similar using the :func:`~corpkit.model.MultiModel.score` method:
.. code-block:: python
>>> lm.score('1996')
Or get a complete *DataFrame* of values using :func:`~corpkit.model.MultiModel.score_subcorpora`:
.. code-block:: python
>>> df = lm.score_subcorpora()
Advanced stuff
----------------
.. note::
Coming soon
================================================
FILE: rst_docs/API/corpkit.managing.rst
================================================
Managing projects
=================
``corpkit`` has a few other bits and pieces designed to make life easier when doing corpus linguistic work. This includes methods for loading saved data, for working with multiple corpora at the same time, and for switching between command line and graphical interfaces. Those things are covered here.
.. contents::
:local:
Loading saved data
-------------------
When you're starting a new session, you probably don't want to start totally from scratch. It's handy to be able to load your previous work. You can load data in a few ways.
First, you can use ``corpkit.load()``, using the name of the filename you'd like to load. By default, ``corpkit`` looks in the ``saved_interrogations`` directory, but you can pass in an absolute path instead if you like.
.. code-block:: python
>>> import corpkit
>>> nouns = corpkit.load('nouns')
Second, you can use ``corpkit.loader()``, which provides a list of items to load, and asks the user for input:
.. code-block:: python
>>> nouns = corpkit.loader()
Third, when instantiating a ``Corpus`` object, you can add ``load_saved=True`` keyword argument to load any saved data belonging to this corpus as an attribute.
.. code-block:: python
>>> corpus = Corpus('data/psyc-parsed', load_saved=True)
A final alternative approach stores all interrogations within an :class:`corpkit.interrogation.Interrodict` object object:
.. code-block:: python
>>> r = corpkit.load_all_results()
Managing multiple corpora
--------------------
``corpkit`` can handle one further level of abstraction for both Corpus and Interrogations. :class:`corpkit.corpus.Corpora` models a collection of :class:`corpkit.corpus.Corpus` objects. To create one, pass in a directory containing corpora, or a list of paths/``Corpus`` objects:
.. code-block:: python
>>> from corpkit import Corpora
>>> corpora = Corpora('data')
Individual corpora can be accessed as attributes, by index, or as keys:
.. code-block:: python
>>> corpora.first
>>> corpora[0]
>>> corpora['first']
You can use the :func:`~corpkit.corpus.Corpora.interrogate` method to search them, using the same arguments as you would for :func:`~corpkit.corpus.Corpus.interrogate`.
Interrogating these objects often returns an :class:`corpkit.interrogation.Interrodict` object, which models a collection of DataFrames.
Editing can be performed with :func:`~corpkit.interrogation.Interrodict.edit`. The editor will iterate over each DataFrame in turn, generally returning another ``Interrodict``.
.. note::
There is no ``visualise()`` method for Interrodict objects.
:func:`~corpkit.interrogation.Interrodict.multiindex` can turn an ``Interrodict`` into a `Pandas MultiIndex`:
.. code-block:: python
>>> multiple_res.multiindex()
:func:`~corpkit.interrogation.Interrodict.collapse` will collapse one dimension of the ``Interrodict``. You can collapse the x axis (``'x'``), the y axis (``'y'``), or the Interrodict keys (``'k'``). In the example below, an ``Interrodict`` is collapsed along each axis in turn.
.. code-block:: python
>>> d = corpora.interrogate({F: 'compound', GL: r'^risk'}, show=L)
>>> d.keys()
['CHT', 'WAP', 'WSJ']
>>> d['CHT'].results
.... health cancer security credit flight safety heart
1987 87 25 28 13 7 6 4
1988 72 24 20 15 7 4 9
1989 137 61 23 10 5 5 6
>>> d.collapse(axis=Y).results
... health cancer credit security
CHT 3174 1156 566 697
WAP 2799 933 582 1127
WSJ 1812 680 2009 537
>>> d.collapse(axis=X).results
... 1987 1988 1989
CHT 384 328 464
WAP 389 355 435
WSJ 428 410 473
>>> d.collapse(axis=K).results
... health cancer credit security
1987 282 127 65 93
1988 277 100 70 107
1989 379 253 83 91
:func:`~corpkit.interrogation.Interrodict.topwords` quickly shows the top results from every interrogation in the ``Interrodict``.
.. code-block:: python
>>> data.topwords(n=5)
Output:
.. code-block:: none
TBT % UST % WAP % WSJ %
health 25.70 health 15.25 health 19.64 credit 9.22
security 6.48 cancer 10.85 security 7.91 health 8.31
cancer 6.19 heart 6.31 cancer 6.55 downside 5.46
flight 4.45 breast 4.29 credit 4.08 inflation 3.37
safety 3.49 security 3.94 safety 3.26 cancer 3.12
Using the GUI
-------------
``corpkit`` is also designed to work as a GUI. It can be started in ``bash`` with:
.. code-block:: bash
$ python -m corpkit.gui
The GUI can understand any projects you have defined. If you open it, you can simply select your project via ``Open Project`` and resume work in a graphical environment.
================================================
FILE: rst_docs/API/corpkit.visualising.rst
================================================
Visualising results
=====================
One thing missing in a lot of corpus linguistic tools is the ability to produce high-quality visualisations of corpus data. ``corpkit`` uses the :class:`corpkit.interrogation.Interrogation.visualise` method to do this.
.. contents::
:local:
.. note::
Most of the keyword arguments from Pandas' plot_ method are available. See their documentation for more information.
Basics
---------------------
``visualise()`` is a method of all :class:`corpkit.interrogation.Interrogation` objects. If you use `from corpkit import *`, it is also monkey-patched to Pandas objects.
.. note::
If you're using a *Jupyter Notebook*, make sure you use ``%matplotlib inline`` or ``%matplotlib notebook`` to set the appropriate backend.
A common workflow is to interrogate a corpus, relative results, and visualise:
.. code-block:: python
>>> from corpkit import *
>>> corpus = Corpus('data/P-parsed', load_saved=True)
>>> counts = corpus.interrogate({T: r'MD < __'})
>>> reldat = counts.edit('%', SELF)
>>> reldat.visualise('Modals', kind='line', num_to_plot=ALL).show()
### the visualise method can also attach to the df:
>>> reldat.results.visualise(...).show()
The current behaviour of ``visualise()`` is to return the ``pyplot`` module. This allows you to edit figures further before showing them. Therefore, there are two ways to show the figure:
.. code-block:: python
>>> data.visualise().show()
.. code-block:: python
>>> plt = data.visualise()
>>> plt.show()
Plot type
---------------------
The visualise method allows ``line``, ``bar``, horizontal bar (``barh``), ``area``, and ``pie`` charts. Those with `seaborn` can also use ``'heatmap'`` (docs_). Just pass in the type as a string with the ``kind`` keyword argument. Arguments such as ``robust=True`` can then be used.
.. code-block:: python
>>> data.visualise(kind='heatmap', robust=True, figsize=(4,12),
... x_label='Subcorpus', y_label='Event').show()
.. figure:: ../../images/event-heatmap.png
:width: 50%
:target: ../../images/event-heatmap.png
:align: center
Heatmap example
Stacked area/line plots can be made with ``stacked=True``. You can also use ``filled=True`` to attempt to make all values sum to 100. Cumulative plotting can be done with ``cumulative=True``. Below is an area plot beside an area plot where ``filled=True``. Both use the ``vidiris`` colour scheme.
.. image:: ../../images/area.png
:width: 45%
:target: ../../images/area.png
:align: left
.. image:: ../../images/area-filled.png
:width: 45%
:target: ../../images/area-filled.png
:align: right
Plot style
---------------------
You can select from a number of styles, such as ``ggplot``, ``fivethirtyeight``, ``bmh``, and ``classic``. If you have `seaborn` installed (and you should), then you can also select from `seaborn` styles (``seaborn-paper``, ``seaborn-dark``, etc.).
Figure and font size
---------------------
You can pass in a tuple of ``(width, height)`` to control the size of the figure. You can also pass an integer as ``fontsize``.
Title and labels
---------------------
You can label your plot with `title`, `x_label` and `y_label`:
.. code-block:: python
>>> data.visualise('Modals', x_label='Subcorpus', y_label='Relative frequency')
Subplots
---------------------
``subplots=True`` makes a separate plot for every entry in the data. If using it, you'll probably also want to use ``layout=(rows,columns)`` to specify how you'd like the plots arranged.
.. code-block:: python
>>> data.visualise(subplots=True, layout=(2,3)).show()
.. figure:: ../../images/subplots.png
:width: 60%
:target: ../../images/subplots.png
:align: center
Line charts using subplots and layout specification
TeX
---------------------
If you have LaTeX installed, you can use ``tex=True`` to render text with LaTeX. By default, ``visualise()`` tries to use LaTeX if it can.
Legend
---------------------
You can turn the legend off with ``legend=False``. Legend placement can be controlled with ``legend_pos``, which can be:
.. table::
:column-dividers: single double double single
+---------------------+----------------------------+----------------------+
| Margin | Figure | Margin |
+=====================+=============+==============+======================+
| outside upper left | upper left | upper right | outside upper right |
+---------------------+-------------+--------------+----------------------+
| outside center left | center left | center right | outside center right |
+---------------------+-------------+--------------+----------------------+
| outside lower left | lower left | lower right | outside lower right |
+---------------------+-------------+--------------+----------------------+
The default value, ``'best'``, tries to find the best place automatically (without leaving the figure boundaries).
If you pass in ``draggable=True``, you should be able to drag the legend around the figure.
Colours
---------------------
You can use the ``colours`` keyword argument to pass in:
1. A colour name recognised by *matplotlib*
2. A hex colour string
3. A colourmap object
There is an extra argument, ``black_and_white``, which can be set to ``True`` to make greyscale plots. Unlike ``colours``, it also updates line styles.
Saving figures
---------------------
To save a figure to a project's `images` directory, you can use the ``save`` argument. ``output_format='png'/'pdf'`` can be used to change the file format.
.. code-block:: python
>>> data.visualise(save='name', output_format='png')
Other options
--------------------
There are a number of further keyword arguments for customising figures:
+--------------------+------------+---------------------------------+
| Argument | Type | Action |
+====================+============+=================================+
| `grid` | `bool` | Show grid in background |
+--------------------+------------+---------------------------------+
| `rot` | `int` | Rotate x axis labels n degrees |
+--------------------+------------+---------------------------------+
| `shadow` | `bool` | Shadows for some parts of plot |
+--------------------+------------+---------------------------------+
| `ncol` | `int` | n columns for legend entries |
+--------------------+------------+---------------------------------+
| `explode` | `list` | Explode these entries in pie |
+--------------------+------------+---------------------------------+
| `partial_pie` | `bool` | Allow plotting of pie slices |
+--------------------+------------+---------------------------------+
| `legend_frame` | `bool` | Show frame around legend |
+--------------------+------------+---------------------------------+
| `legend_alpha` | `float` | Opacity of legend |
+--------------------+------------+---------------------------------+
| `reverse_legend` | `bool` | Reverse legend entry order |
+--------------------+------------+---------------------------------+
| `transpose` | `bool` | Flip axes of DataFrame |
+--------------------+------------+---------------------------------+
| `logx/logy` | `bool` | Log scales |
+--------------------+------------+---------------------------------+
| `show_p_val` | `bool` | Try to show p value in legend |
+--------------------+------------+---------------------------------+
| `interactive` | `bool` | Experimental mpld3_ use |
+--------------------+------------+---------------------------------+
A number of these and other options for customising figures are also described in the :class:`corpkit.interrogation.Interrogation.visualise` method documentation.
Multiplotting
---------------
The :class:`corpkit.interrogation.Interrogation` also comes with a :class:`corpkit.interrogation.Interrogation.multiplot` method, which can be used to show two different kinds of chart within the same figure.
The first two arguments for the function are two `dict` objects, which configure the larger and smaller plots.
For the second dictionary, you may pass in a `data` argument, which is an :class:`corpkit.interrogation.Interrogation` or similar, and will be used as separate data for the subplots. This is useful, for example, if you want your main plot to show absolute frequencies, and your subplots to show relative frequencies.
There is also `layout`, which you can use to choose an overall grid design. You can also pass in a list of tuples if you like, to use your own layout. Below is a complete example, focussing on objects in risk processes:
.. code-block:: python
>>> from corpkit import *
>>> from corpkit.dictionaries import *
### parse a collection of text files
>>> corpora = Corus('data/news')
### make dependency parse query: get get 'object' of risk process
>>> query = {F: roles.participant2, GL: r'\brisk', GF: roles.process}
### interrogate corpus, return lemma form, no coreference
>>> result = corpus.interrogate(query, show=[L], coref=False)
### generate relative frequencies, skip closed class, and sort
>>> inc = result.edit('%', SELF,
>>> sort_by='increase',
>>> skip_entries=wordlists.closedclass)
### visualise as area and line charts combined
>>> inc.multiplot({'title': 'Objects of risk processes, increasing',
>>> 'kind': 'area',
>>> 'x_label': 'Year',
>>> 'y_label': 'Percentage of all results'},
>>> {'kind': 'line'}, layout=5)
.. figure:: ../../images/inc-risk-obj.png
:width: 50%
:target: ../../images/inc-risk-obj.png
:align: center
`multiplot` example
.. _plot: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.plot.html
.. _docs: https://stanford.edu/~mwaskom/software/seaborn/generated/seaborn.heatmap.html
.. _mpld3: http://mpld3.github.io/
================================================
FILE: rst_docs/API-ref/corpkit.corpus.rst
================================================
Corpus classes
=====================
Much of *corpkit*'s functionality comes from the ability to work with ``Corpus`` and ``Corpus``-like objects, which have methods for parsing, tokenising, interrogating and concordancing.
`Corpus`
---------------------
.. autoclass:: corpkit.corpus.Corpus
:members:
:undoc-members:
:show-inheritance:
`Corpora`
---------------------
.. autoclass:: corpkit.corpus.Corpora
:members:
:undoc-members:
:show-inheritance:
`Subcorpus`
---------------------
.. autoclass:: corpkit.corpus.Subcorpus
:members:
:undoc-members:
:show-inheritance:
`File`
---------------------
.. autoclass:: corpkit.corpus.File
:members:
:undoc-members:
:show-inheritance:
`Datalist`
---------------------
.. autoclass:: corpkit.corpus.Datalist
:members:
:undoc-members:
:show-inheritance:
================================================
FILE: rst_docs/API-ref/corpkit.dictionaries.rst
================================================
Wordlists
============================
Closed class word types
-------------------------------------------
Various wordlists, mostly for subtypes of closed class words
.. autodata:: corpkit.dictionaries.wordlists.wordlists
Systemic functional process types
-------------------------------------------
Inflected verbforms for systemic process types.
.. data:: corpkit.dictionaries.process_types.processes
Stopwords
-------------------------------------------
A list of arbitrary stopwords.
.. data:: corpkit.dictionaries.stopwords.stopwords
Systemic/dependency label conversion
-------------------------------------------
Systemic-functional to dependency role translation.
.. autodata:: corpkit.dictionaries.roles.roles
BNC reference corpus
-------------------------------------------
BNC word frequency list.
.. data:: corpkit.dictionaries.bnc.bnc
Spelling conversion
-------------------------------------------
A dict with U.S. English spellings as keys, U.K. spellings as values.
.. data:: corpkit.dictionaries.word_transforms.usa_convert
================================================
FILE: rst_docs/API-ref/corpkit.interrogation.rst
================================================
Interrogation classes
============================
Once you have searched a ``Corpus`` object, you'll want to be able to edit, visualise and store results. Remember that upon importing *corpkit*, any ``pandas.DataFrame`` or ``pandas.Series`` object is monkey-patched with ``save``, ``edit`` and ``visualise`` methods.
`Interrogation`
---------------------
.. autoclass:: corpkit.interrogation.Interrogation
:members:
:undoc-members:
:show-inheritance:
`Interrodict`
---------------------
.. autoclass:: corpkit.interrogation.Interrodict
:members:
:undoc-members:
:show-inheritance:
`Concordance`
---------------------
.. autoclass:: corpkit.interrogation.Concordance
:members:
:undoc-members:
:show-inheritance:
================================================
FILE: rst_docs/API-ref/corpkit.other.rst
================================================
Functions
====================
*corpkit* contains a small set of standalone functions.
`as_regex`
--------------------
.. autofunction:: corpkit.other.as_regex
`load`
--------------------
.. autofunction:: corpkit.other.load
`load_all_results`
--------------------
.. autofunction:: corpkit.other.load_all_results
`new_project`
--------------------
.. autofunction:: corpkit.other.new_project
================================================
FILE: rst_docs/interpreter/corpkit.interpreter.annotating.rst
================================================
Annotating your corpus
========================
Another thing you might like to do is add metadata or annotations to your corpus. This can be done by simply editing corpus files, which are stored in a human-readable format. You can also automate annotation, however.
To do annotation, you first run a ``search`` command and generate a ``concordance``. After deleting any false positives from the ``concordance``, you can use the ``annotate`` command to annotate each sentence for which a concordance line exists.
``annotate` works a lot like the ``mark``, ``keep``, and ``del`` commands to begin with, but has some special syntax at the end, which controls whether you annotate using *tags*, or *fields and values*.
Tagging sentences
-------------------
The first way of annotating is to add a **tag** to one or more sentences:
.. code-block:: shell
> search corpus for pos matching NNP and word matching 'daisy'
> annotate m matching '^daisy$' with tag 'has_daisy'
You can use `all` to annotate every single concordance line:
.. code-block:: shell
> search corpus for governor-function matching nsubjpass \
... showing governor-lemma and lemma
> annotate all with tag 'passive'
If you try to run this code, you actually get a `dry run`, showing you what would be modified in your corpus. Once you're happy with it, you can do ``toggle annotation`` to turn file writing on, and then run the previous line again (use the up arrow to get it!).
Creating fields and values
-----------------------------
More complex than adding tags is adding **fields** and **values**. This creates a new metadata category with multiple possible realisations. Below, we tag an sentence sentences based on their containing certain kinds of processes
.. code-block:: shell
> search corpus for function matching roles.process showing lemma
> mark m matching processes.verbal red
# annotate by colour
> annotate red with field as process \
... and value as 'verbal'
# annotate without colouring first
> annotate m matching processes.mental with field as process \
... and value as 'mental'
You can also use ``m`` as the value, which passes in the text from the middle column of the concordance.
.. code-block:: shell
> search corpus for pos matching NNP showing word
> annotate m matching [gatsby, daisy, tom] \
... with field as character and value as m
The moment these values have been added to your text, you can do really powerful things with them. You can, for example, use them as subcorpora, or use them as filters for the sentences being processed.
.. code-block:: shell
> set subcorpora as process
> set skip character as 'gatsby'
> set skip passive tag
Now, the subcorpora will be the different processes (*verbal*, *mental* and *none*), and any sentence annotated as containing the ``gatsby`` ``character``, or the ``passive`` ``tag``, will be ignored.
Removing annotations
-----------------------
To remove a ``tag`` or a ``field`` across the dataset, the commands are very simple. Note that again, you need to ``toggle annotation`` to actually alter any files.
.. code-block:: shell
> unannotate character field
> unannotate typo tag
> unannotate all tags
================================================
FILE: rst_docs/interpreter/corpkit.interpreter.concordancing.rst
================================================
Concordancing
===============
By default, every search also produces concordance lines. You can view them by typing ``concordance``. This opens an interactive display, which can be scrolled and searched---hit ``h`` to get help on possible commands.
Customising appearance
---------------------------------------------
The first thing you might want to do is adjust how concordance lines are displayed:
.. code-block:: shell
# hide subcorpus name, speaker name
> show concordance with columns as lmr
# enlarge window
> show concordance with columns as lmr and window as 60
# limit number of results to 100
> show concordance with columns as lmr and window as 60 and n as 100
The values you enter here are persistant---the window size, number of lines, etc. will remain the same until you shut down the interpreter or provide new values.
Sorting
--------
Sorting can be by column, or by word.
.. code-block:: shell
# middle column, first word
> sort concordance by M1
# left column, last word
> sort concordance by L1
# right column, third word
> sort concordance by R3
# by index (original order)
> sort concordance by index
Colouring
-----------
One nice feature is that concordances can be coloured. This can be done through either indexing or regular expression matches. Note that ``background`` can be added to colour the background instead of the foreground, and ``dim``/``bright`` can be used to adjust text brightness. This means that you can code lines for multiple phenomena. Background highlighting could mark the argument structure, foreground highlighting could mark the mood type, and bright and dim could be used to mark exemplars or false positives.
.. note::
If you're using Python 2, you may find that colouring concordance lines causes some interference with `readline`, making it difficult to select or search previous commands. This is a limitation of readline in Python 2. Use Python 3 instead!
.. code-block:: shell
# colour by index
> mark 10 blue
> mark -10 background red
> mark 10-15 cyan
> mark 15- magenta
# reset all
> mark - reset
.. code-block:: shell
# regular expression methods: specify column(s) to search
> mark m '^PRP.*' yellow
> mark r 'be(ing)' background green
> mark lm 'JJR$' dim
# reset via regex
> mark m '.*' reset
You can then sort by colour with `sort concordance by scheme`. If you export the concordances to a file (`export concordance as csv to conc.csv`), colour information will be added in additional columns.
Editing
--------
To edit concordance lines, you can use the same syntax as you would use to edit results:
.. code-block:: shell
> edit concordance by skipping subcorpora matching '[123]$'
> edit concordance by keeping entries matching 'PRP'
Perhaps faster is the use of `del` and `keep`. For these, specify the column and the criteria using the same methods as you would for colouring:
.. code-block:: shell
> del m matching 'this'
> keep l matching '^I\s'
> del 10-20
Recalculating results from concordance lines
---------------------------------------------
If you've deleted some concordance lines, you can update the ``result`` object to reflect these changes with `calculate result from concordance`.
Working with metadata
------------------------
You can use ``show_conc_metadata`` when interrogating or concordancing to collect and display metadata alongside concordance results:
.. code-block:: shell
> search corpus for words matching any with show_conc_metadata
> concordance
================================================
FILE: rst_docs/interpreter/corpkit.interpreter.editing.rst
================================================
Editing results
================
Once you have generated a `result` object via the `search` command, you can edit the result in a number of ways. You can delete, merge or otherwise alter entries or subcorpora; you can do statistics, and you can sort results.
Editing, calculating and sorting each create a new object, called `edited`. This means that if you make a mistake, you still have access to the original `result` object, without needing to run the search again.
The edit command
------------------
When using the `edit` command, the main things you'll want to do is skip, keep, span or merge results or subcorpora.
.. code-block:: bash
> edit result by keeping subcorpora matching '[01234]'
> edit result by skipping entries matching wordlists.closedclass
# merge has a slightly different syntax, because you need
# to specify the name to merge under
> edit result by merging entries matching 'be|have' as 'aux'
.. note::
The syntax above works for concordance lines too, if you change `result` to `concordance`. Merging is not possible.
Doing basic statistics
------------------------
The `calculate` command allows you to turn the absolute frequencies into relative frequencies, keyness scores, etc.
.. code-block:: bash
> calculate result as percentage of self
> calculate edited as percentage of features.clauses
> calculate result as keyness of self
If you want to run more complicated operations on the results, you might like to use the `ipython` command to enter an IPython session, and then manipulate the Pandas objects directly.
Sorting results
------------------
The `sort` command allows you to change the search result order.
Possible values are `total`, `name`, `infreq`, `increase`, `decrease`, `static`, `turbulent`.
.. code-block:: bash
> sort result by total
# requires scipy
> sort edited by increase
================================================
FILE: rst_docs/interpreter/corpkit.interpreter.interrogating.rst
================================================
Interrogating corpora
=======================
The most powerful thing about *corpkit* is its ability to search parsed corpora for very complex constituency, dependency or token level features.
Before we begin, make sure you've ``set`` the corpus as the thing to search:
.. code-block:: bash
> set nyt-parsed as corpus
# you could also try just typing `set` ...
.. note::
By default, when using the interpreter, searching also produces concordance lines. If you don't need them, you can use ``toggle conc`` to switch them off, or on again. This can dramatically speed up processing time.
Search examples
--------------------
.. code-block:: bash
> search corpus ### interactive search helper
> search corpus for words matching ".*"
> search corpus for words matching "^[A-M]" showing lemma and word with case_sensitive
> search corpus for cql matching '[pos="DT"] [pos="NN"]' showing pos and word with coref
> search corpus for function matching roles.process showing dependent-lemma
> search corpus for governor-lemma matching processes.verbal showing governor-lemma, lemma
> search corpus for words matching any and not words matching wordlists.closedclass
> search corpus for trees matching '/NN.?/ >># NP'
> search corpus for pos matching NNP showing ngram-word and pos with gramsize as 3
> etc.
Under the surface, what you are doing is selecting a `Corpus` object to search, and then generating arguments for the :func:`~corpkit.corpus.Corpus.interrogate` method. These arguments, in order, are:
1. `search` criteria
2. `exclude` criteria
3. `show` values
4. Keyword arguments
Here is a syntax example that might help you see how the command gets parsed. Note that there are two ways of setting `exclude` criteria.
.. code-block:: bash
> search corpus \ # select object
... for words matching 'ing$' and \ # search criterion
... not lemma matching 'being' and \ # exclude criterion
... pos matching 'NN' \ # seach criterion
... excluding words matching wordlists.closedclass \ # exclude criterion
... showing lemma and pos and function \ # show values
... with preserve_case and \ # boolean keyword arg
... not no_punct and \ # bool keyword arg
... excludemode as 'all' # keyword arg
Working with metadata
----------------------
By default, *corpkit* treats folders within your corpus as subcorpora. If you want to treat files, rather than folders, as subcorpora, you can do:
.. code-block:: bash
> search corpus for words matching 'ing$' with subcorpora as files
If you have metadata in your corpus, you can use the metadata value as the subcorpora:
.. code-block:: bash
> search corpus for words matching 'ing$' with subcorpora as speaker
If you don't want to keep specifying the subcorpus structure every time you search a corpus, you have a couple of choices. First, you can set the default subcorpus value with for the session with ``set subcorpora``. This applies the filter globally, to whatever corpus you search:
.. code-block:: bash
# use speaker metadata as subcorpora
> set subcorpora as speaker
# ignore folders, use files as subcorpora
> set subcorpora as files
You can also define metadata filters, which skip sentences matching a metadata feature, or which keep only sentences matching a metadata feature:
.. code-block:: bash
# if you have a `year` metadata field, skip this decade
> set skip year as '^201'
# if you want only this decade:
> set keep year as '^201'
If you want to set subcorpora and filters for a corpus, rather than globally, you can do this by passing in the values when you select the corpus:
.. code-block:: bash
> set mydata-parsed as corpus with year as subcorpora and \
... just year as '^201' and skip speaker as 'chomsky'
# forget filters for this corpus:
> set mydata-parsed
Sampling a corpus
------------------
Sometimes, your corpus is too big to search quickly. If this is the case, you can use the ``sample`` command to create a randomise sample of the corpus data:
.. code-block:: bash
> sample 3 subcorpora of corpus
> sample 100 files of corpus
If you pass in a float, it will try to get a proportional amount of data: ``sample 0.33 subcorpora of corpus`` will return a third of the subcorpora in the corpus.
A sampled corpus becomes an object called ``sampled``. You can then refer to it when searching:
.. code-block:: bash
> search sampled for words matching '^[abcde]'
Global metadata filters and subcorpus declarations will be observed when searching this corpus as well.
================================================
FILE: rst_docs/interpreter/corpkit.interpreter.making.rst
================================================
Making projects and corpora
============================
The first two things you need to do when using *corpkit* are to create a project, and to create (and optionally parse) a corpus. These steps can all be accomplished quickly using shell commands. They can also be done using the interpreter, however.
Once you're in *corpkit*, the command below will create a new project called `iran-news`, and move you into it.
.. code-block:: bash
> new project named iran-news
Adding a corpus
----------------
Adding a corpus simply copies it to the project's data directory. The syntax is simple:
.. code-block:: bash
> add '../../my_corpus'
Parsing a corpus
-----------------
To parse a text file, folder of text files, or folder of folder of text files, you first ``set`` the corpus, and then use the ``parse`` command:
.. code-block:: bash
> set my_corpus as corpus
> parse corpus
Tokenising, POS tagging and lemmatising
-----------------------------------------
If you don't want/need full parses, or if you aren't working with English, you might want to use the ``tokenise`` method.
.. code-block:: bash
> set abstracts as corpus
> tokenise corpus
POS tagging and lemmatisation are switched on by default, but you could also disable them:
.. code-block:: bash
> tokenise corpus with postag as false and lemmatise as false
Working with metadata
-------------------------
Parsing/tokenising can be made way cooler when your data has some metadata in it. The metadata will be transferred over to the parsed version of the corpus, and then you can search or filter by metadata features, use metadata values as symbolic subcorpora, or display metadata alongside concordances.
Metadata should take the form of an XML tag at the end of a line, which could be a sentence or a paragraph:
.. code-block:: xml
I hope everyone is hanging in with this blasted heat. As we all know being hot, sticky,
stressed and irritated can bring on a mood swing super fast. So please make sure your
all takeing your meds and try to stay out of the heat.
Then, parse with metadata:
.. code-block:: bash
> parse corpus with metadata
The parser output will look something like:
.. code-block:: none
# sent_id 1
# parse=(ROOT (S (NP (PRP I)) (VP (VBP hope) (SBAR (S (NP (NN everyone)) (VP (VBZ is) (VP (VBG hanging) (PP (IN in) (IN with) (NP (DT this) (VBN blasted) (NN heat)))))))) (. .)))
# speaker=Emz45
# totalposts=5063
# threadlength=1
# currentposts=4051
# stage=10
# date=2011-07-13
# year=2011
# postnum=0
1 1 I I PRP O 2 nsubj 0 1
1 2 hope hope VBP O 0 ROOT 1,5,11 _
1 3 everyone everyone NN O 5 nsubj 0 _
1 4 is be VBZ O 5 aux 0 _
1 5 hanging hang VBG O 2 ccomp 3,4,10 _
1 6 in in IN O 10 case 0 _
1 7 with with IN O 10 case 0 _
1 8 this this DT O 10 det 0 2
1 9 blasted blast VBN O 10 amod 0 2
1 10 heat heat NN O 5 nmod:with 6,7,8,9 2*
1 11 . . . O 2 punct 0 _
Viewing corpus data
--------------------
You can interactively work with the parser output.
.. code-block:: bash
> get file of corpus
Or, if your corpus has subcorpora:
.. code-block:: bash
> get subcorpus of corpus
> get file of sampled
This view can be surprisingly powerful: sorting by lemma, POS or dependency function can show you some recurring lexicogrammatical patterns in a file without the need for searching.
The next page will show you how to search the corpus you've built, and to work with metadata if you've added it.
================================================
FILE: rst_docs/interpreter/corpkit.interpreter.managing.rst
================================================
Settings and management
========================
The interpreter can do a number of other useful things. They are outlined here.
Managing data
---------------
You should be able to store most of the objects you create in memory using the ``store`` command:
.. code-block:: bash
> store result as 'good_result'
> show store
> fetch 'good_result' as result
A more permanent solution is to use `save` and `load`:
.. code-block:: bash
> save result as 'good_result'
> ls saved_interrogations
> load 'good_result' as result
An alternative approach is to create variables using the ``call`` command:
.. code-block:: bash
> search corpus for words matching any
> call result anyword
> calculate anyword as percentage of self
A variable can also be a simple string, which you can then add into searches:
.. code-block:: bash
> call '/NN.?/ >># NP' headnoun
> search corpus for trees matching headnoun
To forget a variable, just do `remove `.
Toggles and settings
---------------------
* Using ``toggle interactive``, You can switch between interactive mode, where results and concordances are shown in a way that you can manipulate directly, and non-interactive mode, where results and concordances are simply printed to the console.
* Using ``toggle conc``, you can tell *corpkit* not to produce concordances. This can be much faster, especially when there are a lot of results.
* ``toggle comma`` will display thousands separators in results
* ``toggle annotation`` is used to switch from dry-run to actual modification of corpus files when annotating
* You can set the number of decimals displayed when viewing results with ``set decimal to ``
* ``set max_rows to `` and ``set max_cols to `` limit the amount of data loaded into results lists. This can speed up interactive viewing.
Switching to IPython
---------------------
When the interpreter constrains you, you can switch to IPython with ``ipython``. Your objects are available there under the same name. When you're done there, do ``quit`` to return to the *corpkit* interpreter.
Running scripts
-----------------
You can also write and run scripts. If you make a file, ``participants.cki``, containing:
.. code-block:: bash
#!/usr/bin/env corpkit
set mydata-parsed as corpus
search corpus for function matching roles.participant showing lemma
export result as csv to part.csv
You can run it from the terminal with:
.. code-block:: bash
corpkit participants.cki
# or, directly, if there's a shebang and chmod +x:
./participants.cki
which will leave you with a CSV file at ``exported/part.csv``. This approach can be handy if you need to pipe ``stdout`` or ``stderr``, or if you want to call *corpkit* within a shell script.
Finally, just like Python, you can use the ``-c`` flag to pass code in on the command line:
.. code-block:: bash
corpkit -c "set 2 ; search corpus for features ; export result as csv to feat.csv"
.. note::
When running a script, interactivity will automatically be switched off, and concordancing disabled if the script does not appear to need it.
================================================
FILE: rst_docs/interpreter/corpkit.interpreter.overview.rst
================================================
.. _interpreter-page:
Overview
=======================
*corpkit* comes with a dedicated interpreter, which receives commands in a natural language syntax like these:
.. code-block:: bash
> set mydata as corpus
> search corpus for pos matching 'JJ.*'
> call result 'adjectives'
> edit adjectives by skipping subcorpora matching 'books'
> plot edited as line chart with title as 'Adjectives'
It's a little less powerful than the full Python API, but it is easier to use, especially if you don't know Python. You can also switch instantly from the interpreter to the full API, so you only need the API for the really tricky stuff.
The syntax of the interpreter is based around *objects*, which you do things to, and *commands*, which are actions performed upon the objects. The example below uses the `search` command on a `corpus` object, which produces new objects, called `result`, `concordance`, `totals` and `query`. As you can see, very complex searches can be performed using an English-like syntax:
.. code-block:: bash
> search corpus for lemma matching '^t' and pos matching 'VB' \
... excluding words matching 'try' \
... showing word and dependent-word \
... with preserve_case
> result
This shows us results for each subcorpus:
.. code-block:: none
. I/think I/thought and/turned me/told and/took I/told ...
chapter1 5 3 2 2 1 3 ...
chapter2 7 2 5 3 0 2 ...
chapter3 5 5 4 4 1 0 ...
chapter4 3 7 1 0 3 1 ...
chapter5 7 7 2 1 4 2 ...
chapter6 2 0 0 2 1 0 ...
chapter7 6 2 6 1 1 3 ...
chapter8 3 1 2 2 1 1 ...
chapter9 5 7 1 4 6 3 ...
Objects
---------
The most common objects you'll be using are:
+---------------+-----------------------------------------------+
| Object | Contains |
+===============+===============================================+
| `corpus` | Dataset selected for parsing or searching |
+---------------+-----------------------------------------------+
| `result` | Search output |
+---------------+-----------------------------------------------+
| `edited` | Results after sorting, editing or calculating |
+---------------+-----------------------------------------------+
| `concordance` | Concordance lines from search |
+---------------+-----------------------------------------------+
| `features` | General linguistic features of corpus |
+---------------+-----------------------------------------------+
| `wordclasses` | Distribution of word classes in corpus |
+---------------+-----------------------------------------------+
| `postags` | Distribution of POS tags in corpus |
+---------------+-----------------------------------------------+
| `lexicon` | Distribution of lexis in the corpus |
+---------------+-----------------------------------------------+
| `figure` | Plotted data |
+---------------+-----------------------------------------------+
| `query` | Values used to perform search or edit |
+---------------+-----------------------------------------------+
| `previous` | Object created before last |
+---------------+-----------------------------------------------+
| `sampled` | A sampled corpus |
+---------------+-----------------------------------------------+
| `wordlists` | A list of wordlists for searching, editing |
+---------------+-----------------------------------------------+
When you start the interpreter, these are all empty. You'll need to run commands in order to fill them with data. You can also create your own object names using the ``call`` command.
Commands
-----------
You do things to the objects via commands. Each command has its own syntax, designed to be as similar to natural language as possible. Below is a table of common commands, an explanation of their purpose, and an example of their syntax
+-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| Command | Purpose | Syntax |
+=================+==============================================================+============================================================================================+
| `new` | Make a new project | `new project ` |
+-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| `set` | Set current corpus | `set ` |
+-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| `parse` | Parse corpus | `parse corpus with [options]*` |
+-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| `search` | Search a corpus for linguistic feature, generate concordance | `search corpus for [feature matching pattern]* showing [feature]* with [options]*` |
+-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| `edit` | Edit results or edited results | `edit result by [skipping subcorpora/entries matching pattern]* with [options]*` |
+-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| `calculate` | Calculate relative frequencies, keyness, etc. | `calculate result/edited as operation of denominator` |
+-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| `sort` | Sort results or concordance | `sort result/concordance by value` |
+-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| `plot` | Visualise result or edited result | `plot result/edited as line chart with [options]*` |
+-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| `show` | Show any object | `show object` |
+-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| `annotate` | Add annotations to corpus based on search results | `annotate all with field as and value as m` |
+-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| `unannotate` | Delete annotation fields from corpus | `unannotate field` |
+-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| `sample` | Get a random sample of subcorpora or files from a corpus | `sample 5 subcorpora of corpus` |
+-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| `call` | Name an object (i.e. make a variable) | `call object ''` |
+-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| `export` | Export result, edited result or concordance to string/file | `export result to string/csv/latex/file ` |
+-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| `save` | Save data to disk | `save object to ` |
+-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| `load` | Load data from disk | `load object as result` |
+-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| `store` | Store something in memory | `store object as ` |
+-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| `fetch` | Fetch something from memory | `fetch as object` |
+-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| `help` | Get help on an object or command | `help command/object` |
+-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| `history` | See previously entered commands | `history` |
+-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| `ipython` | Enter IPython with objects available | `ipython` |
+-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| `py` | Execute Python code | `py 'print("hello world")'` |
+-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| `!` | Run a line of bash shell | `!ls -al data` |
+-----------------+--------------------------------------------------------------+--------------------------------------------------------------------------------------------+
In square brackets with asterisks are recursive parts of the syntax, which often also accept `not` operators. `` denotes places where you can choose an identifier, filename, etc.
In the pages that follow, the syntax is provided for the most common commands. You can also type the name of the command with no arguments into the interpreter, in order to show usage examples.
Prompt features
-------------------
* You can use `history`, `clear`, `ls` and `cd` commands as you would in the shell
* You can execute arbitrary bash commands by beginning the line with an exclamation point (e.g. ``!rm data/*``)
* You can use semicolons to put multiple commands on a line (currently needs a space **before and after** the semicolon)
* There is no piping or output redirection (yet), but you can use the `export` and `save` commands to export results
* You can use backslashes to continue writing on the next line
* You can write scripts and pass them to the *corpkit* interpreter
The below is therefore a possible (but terrible) way to write code in *corpkit*:
.. code-block:: bash
> !du -h data ; set mycorp ; search corpus for words \
... matching any \
... excluding wordlists.closedclass \
... showing lemma and pos ; concordance
================================================
FILE: rst_docs/interpreter/corpkit.interpreter.setup.rst
================================================
Setup
==============================
.. contents::
:local:
Dependencies
-------------
To use the interpreter, you'll need *corpkit* installed. To use all features of the interpreter, you will also need *readline* and *IPython*.
Accessing
--------------------
With *corpkit* installed, you can start the interpreter in a couple of ways:
.. code-block:: bash
$ corpkit
# or
$ python -m corpkit.env
You can start it from a Python session, too:
.. code-block:: python
>>> from corpkit import env
>>> env()
The prompt
------------
When using the interpreter, the prompt (the text to the left of where you type your command) displays the directory you are in (with an asterisk if it does not appear to be a *corpkit* project) and the currently active corpus, if any:
.. code-block:: none
corpkit@junglebook:no-corpus>
When you see it, *corpkit* is ready to accept commands!
================================================
FILE: rst_docs/interpreter/corpkit.interpreter.visualising.rst
================================================
Plotting
=========
You can plot results and edited results using the `plot` method, which interfaces with *matplotlib*.
.. code-block:: bash
> plot edited as bar chart with title as 'Example plot' and x_label as 'Subcorpus'
> plot edited as area chart with stacked and colours as Paired
> plot edited with style as seaborn-talk # defaults to line chart
There are many possible arguments for customising the figure. The table below shows some of them.
.. code-block:: bash
> plot edited as bar chart with rot as 45 and logy and \
... legend_alpha as 0.8 and show_p_val and not grid
+--------------------+------------+---------------------------------+
| Argument | Type | Action |
+====================+============+=================================+
| `grid` | `bool` | Show grid in background |
+--------------------+------------+---------------------------------+
| `rot` | `int` | Rotate x axis labels n degrees |
+--------------------+------------+---------------------------------+
| `shadow` | `bool` | Shadows for some parts of plot |
+--------------------+------------+---------------------------------+
| `ncol` | `int` | n columns for legend entries |
+--------------------+------------+---------------------------------+
| `explode` | `list` | Explode these entries in pie |
+--------------------+------------+---------------------------------+
| `partial_pie` | `bool` | Allow plotting of pie slices |
+--------------------+------------+---------------------------------+
| `legend_frame` | `bool` | Show frame around legend |
+--------------------+------------+---------------------------------+
| `legend_alpha` | `float` | Opacity of legend |
+--------------------+------------+---------------------------------+
| `reverse_legend` | `bool` | Reverse legend entry order |
+--------------------+------------+---------------------------------+
| `transpose` | `bool` | Flip axes of DataFrame |
+--------------------+------------+---------------------------------+
| `logx/logy` | `bool` | Log scales |
+--------------------+------------+---------------------------------+
| `show_p_val` | `bool` | Try to show p value in legend |
+--------------------+------------+---------------------------------+
.. note::
If you want to set a boolean value, you can just say ``and value`` or ``and not value``. If you like, however, you could write it more fully as ``with value as true/false`` as well.
================================================
FILE: setup.cfg
================================================
[metadata]
name = corpkit
description-file = README.md
description = A toolkit for working with parsed corpora
url = http://github.com/interrogator/corpkit
author = Daniel McDonald
author-email = mcdonaldd@unimelb.edu.au
[bdist_wheel]
universal = 1
================================================
FILE: setup.py
================================================
import setuptools
from setuptools import setup, find_packages
from setuptools.command.install import install
import os
from os.path import isfile, isdir, join, dirname
class CustomInstallCommand(install):
"""
Customized setuptools install command, which installs
some NLTK data automatically
"""
def run(self):
from setuptools.command.install import install
install.run(self)
# since nltk may have just been installed
# we need to update our PYTHONPATH
import site
try:
reload(site)
except NameError:
pass
# Now we can import nltk
import nltk
# install these three resources and add them to path
install_d = {'tokenizers': 'punkt',
'corpora': 'wordnet',
'taggers': 'averaged_perceptron_tagger'}
path_to_nltk_f = nltk.__file__
nltkpath = dirname(path_to_nltk_f)
for path, name in install_d.items():
pat = join(nltkpath, path)
if not isfile(join(pat, '%s.zip' % name)) \
and not isdir(join(pat, name)):
nltk.download(name, download_dir=nltkpath)
nltk.data.path.append(nltkpath)
setup(name='corpkit',
version='2.3.8',
description='A toolkit for working with linguistic corpora',
url='http://github.com/interrogator/corpkit',
author='Daniel McDonald',
packages=['corpkit', 'corpkit.download'],
scripts=['corpkit/new_project', 'corpkit/parse',
'corpkit/corpkit', 'corpkit/corpkit.1'],
package_dir={'corpkit': 'corpkit'},
package_data={'corpkit': ['*.jar', 'corpkit/*.jar', '*.sh', 'corpkit/*.sh',
'*.ipynb', 'corpkit/*.ipynb', '*.p', 'dictionaries/*.p',
'*.py', 'dictionaries/*.py']},
author_email='mcdonaldd@unimelb.edu.au',
license='MIT',
cmdclass={'install': CustomInstallCommand,},
keywords=['corpus', 'linguistics', 'nlp'],
install_requires=["matplotlib>=1.4.3",
"nltk>=3.0.0",
"joblib",
"pandas>=0.18.1",
#"mpld3>=0.2",
"requests",
"tabview>=1.4.0",
"chardet",
"blessings>=1.6",
"traitlets>=4.1.0"],
dependency_links=['git+https://github.com/interrogator/tabview.git#egg=tabview-1.4.0',
'git+https://github.com/interrogator/tkintertable.git#egg=tkintertable-1.2'])
================================================
FILE: talks/IDL_seminar.tex
================================================
\documentclass{beamer} % print frames
%\documentclass[notes=only]{beamer} % only notes
%\documentclass{beamer} % only frames
\newcounter{savedenum}
\newcommand*{\saveenum}{\setcounter{savedenum}{\theenumi}}
\newcommand*{\resume}{\setcounter{enumi}{\thesavedenum}}
\usepackage{multienum}
\usepackage[notocbib]{apacite}
\renewcommand{\APACrefatitle}[2]{#1}
\renewcommand{\APACrefbtitle}[2]{#1}
\renewcommand{\APACrefbtitle}[2]{\Bem{#1}}
\renewcommand{\APACrefaetitle}[2]{[#2]}
\renewcommand{\APACrefbetitle}[2]{[#2]}
\usepackage{textpos}
\usefonttheme{serif}
%\usepackage{graphicx}
\usetheme{Boadilla}
\usepackage{hyperref}
\usepackage[UKenglish]{babel}
\usepackage{lingmacros}
\setcounter{tocdepth}{1}
\usecolortheme{orchid}
\title[University of Melbourne]{Exploring the influence of medium and culture on language use in an online support group}
\author[Daniel McDonald]{~\\Daniel McDonald~\\~\\~\\\footnotesize}
\date{IDL, 20/3/2015}
\begin{document}
\addtobeamertemplate{frametitle}{}{%
\begin{textblock*}{100mm}(.775\textwidth,-.5cm)
\includegraphics[scale=.235]{../images/unimelblong}
\end{textblock*}}
\frame{\titlepage}
\begin{frame}
\frametitle{Context}
\begin{itemize}
\item Show you all what my PhD research is about
\item Introduce \emph{Systemic Functional Linguistics} (SFL)
\item Discuss some of the problems \emph{SFL} might help \emph{us} solve
\item Discuss some of the problems \emph{you} might help \emph{me} solve
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Case study: my thesis}
\begin{itemize}
\item I'm researching longitudinal linguistic change in a 12 year old bipolar disorder forum
\item 60,000 posts
\item 5821 unique usernames
\item A few veterans with over 1000 posts, most users have 1--5
\item Rules: no asking for diagnosis, stay `anonymous'
\item Normative biomedical ideology \cite{vayreda_social_2009}
\item People come for information and/or social support
\item Veterans answer questions, welcome new members, speak as `we'
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{The forum}
\centering
\includegraphics[scale=.5]{../images/forum.png}
\end{frame}
\begin{frame}
\frametitle{Thesis methodology: the easy part}
\begin{itemize}
\item \emph{Wget} to spider the forum
\item Extract text from HTML with \emph{Beautiful Soup}
\item Spelling normalisation via \emph{PyEnchant}
\item Parse posts for constituency and dependency grammar with \emph{Stanford CoreNLP}
\item Create subcorpora based on post count
\item Build \texttt{corpkit}, some tools for searching parse trees, manipulating and plotting results: \texttt{pip install corpkit} (Alpha!)
\item Develop an \emph{IPython Notebook} interface for working with the corpus\slash toolkit
\item \url{https://github.com/interrogator/corpkit}, \url{https://github.com/interrogator/sfl_corpling}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Analysing 8m words: the hard part}
How do we actually make sense of this huge collection of data?
\end{frame}
\begin{frame}
\frametitle{ \frametitle{An example: \emph{Katlin09}}}
Katlin09's early posts look like this:
\centering \includegraphics[width=0.9\textwidth]{../images/kat1.png}
\end{frame}
\begin{frame}
\frametitle{Katlin09}
... and here's one of her later posts...
\centering \includegraphics[width=0.9\textwidth]{../images/kat2.png}
\end{frame}
\begin{frame}
\frametitle{What's happening with her language use?}
\begin{itemize}
\item Has her language use changed over time?
\item Does this same change happen to other members?
\item What \emph{causes} the change?
\item If many things cause the change, how can we distinguish what forces are acting and when?
\end{itemize}
To answer these kinds of questions, we need a \emph{theory of language}
\end{frame}
\begin{frame}
\frametitle{\emph{Systemic Functional Linguistics} (SFL)}
\citeA{halliday_introduction_2004} conceptualise language as:
\begin{enumerate}
\item Systemic: a sign-\emph{system}, from which users select realisations
\item Functional: structured to achieve meaningful social goals
\item Constitutive of context: context is mapped onto abstractions of grammatical systems (mood, transitivity and theme)
\begin{itemize}
\item \textbf{Context is in text.}
\end{itemize}
\end{enumerate}
\end{frame}
\begin{frame}
\frametitle{Overview of SFL}
\centering
\includegraphics[width=0.90\textwidth]{../images/egginsfixed.jpg}
\end{frame}
\begin{frame}
\frametitle{SFL: Introduction}
SFL argues that we can break communication into \emph{strata}
\begin{itemize}
\item Context:
\begin{itemize}
\item Genre
\item Register
\end{itemize}
\item Language:
\begin{itemize}
\item Discourse-semantic
\item Lexicogrammatical
\item Phonological/typographical
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{SFL: \emph{Metafunctions}}
In SFL, language/images are communicating \emph{up to} three different \emph{kinds} of meaning simultaneously:
\begin{itemize}
\item Interpersonal meaning: roles and relationships between people
\item Ideational meaning: what happens to whom, under what circumstances?
\item Textual meaning: the role that language is playing in the interaction
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Overview of SFL}
\centering
\includegraphics[width=0.90\textwidth]{../images/egginsfixed.jpg}
\end{frame}
\begin{frame}
\frametitle{Metafunctions in the lexicogrammar}
Each function is accomplished through different linguistic subsystems at the level of lexicogrammar.
\begin{itemize}
\item \textbf{Interpersonal meanings} are made by the \textbf{mood system}: \emph{imperative, interrogative, declarative, modality}
\item \textbf{Ideational meanings} are made by the \textbf{transitivity system}: \emph{predicates and their arguments}
\item \textbf{Textual meanings} are made by the \textbf{thematic system}: \emph{linking texts together with \emph{and}, \emph{but}, \emph{so} ... }
\end{itemize}
\end{frame}
\begin{frame}
\centering
\includegraphics[width=0.60\textwidth]{../images/system.png}
\end{frame}
\begin{frame}
\frametitle{Power and mood choice}
\begin{itemize}
\item When there's a power disparity, some interpersonal meanings are less available to the one with less power.
\item A good example is the mood system (Questions, statements, commands):
\begin{itemize}
\item Me: Would you tell me the answer? / I think you should tell me the answer. / Tell me the readings!
\item You: Can you speak slower? / We're having trouble understanding you / \underline{~~~~~~~~~~~} ?
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{SFL and multimodality}
\begin{itemize}
\item Multimodality: the (simultaneous) use of different channels/modes to communicate
\item Inherent to online communication (page layout, at the very least)
\item We can look at images as also accomplishing the three metafunctions...
\end{itemize}
\end{frame}
\begin{frame}
\centering
\includegraphics[width=0.50\textwidth]{../images/ikea.jpg}
\end{frame}
\begin{frame}
\frametitle{SFL and genre}
\begin{itemize}
\item In SFL, a genre is a staged, goal-oriented social process
\item Culturally recognised sets of role relationships, things being spoken about, and modes of communication
\item We can actually figure this stuff out from looking at the lexicogrammar
\item Example:
\end{itemize}
~~~~~~~~~~~~~~\emph{Submissions must contain 8--10 references.}
\end{frame}
\begin{frame}
\centering
\includegraphics[width=0.50\textwidth]{../images/ikea.jpg}
\end{frame}
\begin{frame}
\frametitle{IPython Notebook ...}
\end{frame}
\begin{frame}
\frametitle{Summary of findings}
\begin{itemize}
\item More imperatives
\item More \emph{I would}
\item More jargon
\item More `metadiscourse'
\item etc.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{What's causing the change?}
Two contradictory hypotheses:
\begin{enumerate}
\item \textbf{Socialisation:} new members learn from veterans and implement the linguistic repertoire they've learned
\item \textbf{Genre awareness:} new members know they are newcomers, and act like it
\end{enumerate}
... and what role does the technology itself play?
\end{frame}
\begin{frame}
\frametitle{Reasons for jargonisation?}
We can use SFL's idea of metafunctions as an explanation for why a certain kind of language change occurs.
\begin{itemize}
\item \textbf{Interpersonal change:} jargon demonstrates expertise, belonging
\item \textbf{Experiential change:} jargon distinguishes between hypertechnical things
\item \textbf{Textual change:} shorter words are easier to type
\end{itemize}
The important thing to remember is that different kinds of meaning are made \emph{simultaneously.}
\end{frame}
\begin{frame}
\frametitle{Brainstorming ...}
What \emph{interpersonal}, \emph{experiential} and \emph{textual} meanings can we make by:
\begin{itemize}
\item Using imperatives: \emph{do this}, \emph{go there}
\item Vague language: \emph{things will get better}, \emph{things are alright}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Where to next?}
\begin{itemize}
\item More awareness of multimodality, hardware influence, site architecture
\item Can we predict the influence of the three metafunctions?
\item Can we \emph{measure} the influence?
\item How does it play out in new technology? \emph{Reddit? iPhones?}
\item A framework for doing SFL with mediated communication?
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Help!}
~~~~~~~~~~~Thoughts?
\end{frame}
\begin{frame}[t,allowframebreaks]
\frametitle{References}
\bibliographystyle{apacite}
\bibliography{../references/libwin.bib}
\end{frame}
\end{document}