Socket
Socket
Sign inDemoInstall

compromise

Package Overview
Dependencies
Maintainers
3
Versions
169
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

compromise - npm Package Compare versions

Comparing version 14.5.2 to 14.6.0

src/2-two/postTagger/model/verbs/passive.js

5

package.json

@@ -5,3 +5,3 @@ {

"description": "modest natural language processing",
"version": "14.5.2",
"version": "14.6.0",
"main": "./src/three.js",

@@ -99,3 +99,2 @@ "unpkg": "./builds/compromise.js",

"devDependencies": {
"@rollup/plugin-alias": "4.0.0",
"@rollup/plugin-node-resolve": "15.0.0",

@@ -106,3 +105,3 @@ "amble": "1.3.0",

"nlp-corpus": "4.4.0",
"rollup": "3.2.1",
"rollup": "3.2.3",
"rollup-plugin-filesize-check": "0.0.1",

@@ -109,0 +108,0 @@ "rollup-plugin-terser": "7.0.2",

2

src/_version.js

@@ -1,1 +0,1 @@

export default '14.5.2'
export default '14.6.0'

@@ -58,5 +58,6 @@ import pluckOutTerm from './lib/remove.js'

}
let isFull = !self.ptrs
// is it part of a contraction?
if (self.has('@hasContraction') && self.contractions) {
let more = self.grow('@hasContraction')
if (not.has('@hasContraction') && not.contractions) {
let more = not.grow('@hasContraction')
more.contractions().expand()

@@ -76,2 +77,6 @@ }

self.compute('index')
// if we started zoomed-out, try to end zoomed-out
if (isFull) {
self.ptrs = undefined
}
if (!reg) {

@@ -78,0 +83,0 @@ this.ptrs = []

@@ -83,4 +83,5 @@ const dollarStub = /\$[0-9a-z]+/g

}
this.soften()
return m.replaceWith(input, keep)
}
export default fns

@@ -10,3 +10,6 @@ const numUnit = /^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/ //(must be lowercase)

'pm',
'max'
'max',
'°',
's', // 1990s
'e' // 18e - french/spanish ordinal
])

@@ -13,0 +16,0 @@

@@ -0,31 +1,31 @@

// add all conjugations of this verb
const addVerbs = function (token, world) {
let { verbConjugate } = world.methods.two.transform
if (!verbConjugate) {
let { all } = world.methods.two.transform.verb || {}
let str = token.root
// if (toInfinitive) {
// str = toInfinitive(str, world.model)
// }
if (!all) {
return []
}
let res = verbConjugate(token.root, world.model)
delete res.FutureTense
return Object.values(res).filter(str => str)
return all(str, world.model)
}
// add all inflections of this noun
const addNoun = function (token, world) {
let { nounToPlural } = world.methods.two.transform
let res = [token.root]
if (!nounToPlural) {
return res
let { all } = world.methods.two.transform.noun || {}
if (!all) {
return [token.root]
}
res.push(nounToPlural(token.root, world.model))
return res
return all(token.root, world.model)
}
// add all inflections of this adjective
const addAdjective = function (token, world) {
let { adjToSuperlative, adjToComparative, adjToAdverb } = world.methods.two.transform
let res = [token.root]
if (!adjToSuperlative || !adjToComparative || !adjToAdverb) {
return res
let { all } = world.methods.two.transform.adjective || {}
if (!all) {
return [token.root]
}
res.push(adjToSuperlative(token.root, world.model))
res.push(adjToComparative(token.root, world.model))
res.push(adjToAdverb(token.root, world.model))
return res
return all(token.root, world.model)
}

@@ -40,12 +40,17 @@

// check if compromise/two is loaded
if (world.methods.two && world.methods.two.transform && world.methods.two.transform.verbConjugate) {
if (world.methods.two && world.methods.two.transform) {
let choices = []
if (!token.pos || token.pos === 'Verb') {
// have explicitly set from POS - '{sweet/adjective}'
if (token.pos) {
if (token.pos === 'Verb') {
choices = choices.concat(addVerbs(token, world))
} else if (token.pos === 'Noun') {
choices = choices.concat(addNoun(token, world))
} else if (token.pos === 'Adjective') {
choices = choices.concat(addAdjective(token, world))
}
} else {
// do verb/noun/adj by default
choices = choices.concat(addVerbs(token, world))
}
if (!token.pos || token.pos === 'Noun') {
choices = choices.concat(addNoun(token, world))
}
// don't run these by default
if (!token.pos || token.pos === 'Adjective') {
choices = choices.concat(addAdjective(token, world))

@@ -52,0 +57,0 @@ }

@@ -9,3 +9,3 @@ // these methods are called with '@hasComma' in the match syntax

const hasHyphen = /^[-–—]$/
const hasDash = / [-–—] /
const hasDash = / [-–—]{1,3} /

@@ -32,2 +32,4 @@ /** search the term's 'post' punctuation */

hasSemicolon: term => hasPost(term, ';'),
/** is there a colon after term word? */
hasColon: term => hasPost(term, ':'),
/** is there a slash '/' in term word? */

@@ -34,0 +36,0 @@ hasSlash: term => /\//.test(term.text),

@@ -18,3 +18,3 @@ import { textFromDoc } from './lib/_text.js'

} else if (fmt && isObject(fmt)) {
opts = Object.assign({}, fmt, opts)//todo: fixme
opts = Object.assign({}, opts, fmt)//todo: fixme
}

@@ -21,0 +21,0 @@ if (this.pointer) {

@@ -11,3 +11,3 @@ // filter-down list of maybe-matches

list = list.filter(obj => {
if (obj.ifNo !== undefined && obj.ifNo.some(no => docCache[n].has(no)) === true) {
if (obj.ifNo !== undefined && obj.ifNo.some(no => haves.has(no)) === true) {
return false

@@ -14,0 +14,0 @@ }

// finally,
// actually run these match-statements on the terms
const runMatch = function (maybeList, document, methods, opts) {
const runMatch = function (maybeList, document, docCache, methods, opts) {
let results = []

@@ -12,5 +12,19 @@ for (let n = 0; n < maybeList.length; n += 1) {

if (res.ptrs.length > 0) {
// let index=document[n][0].index
res.ptrs.forEach(ptr => {
ptr[0] = n // fix the sentence pointer
// check ifNo
// if (m.ifNo !== undefined) {
// let terms = document[n].slice(ptr[1], ptr[2])
// for (let k = 0; k < m.ifNo.length; k += 1) {
// const no = m.ifNo[k]
// // quick-check cache
// if (docCache[n].has(no)) {
// // console.log(no)
// if (terms.find(t => t.normal === no || t.tags.has(no))) {
// // console.log('+' + no)
// return
// }
// }
// }
// }
let todo = Object.assign({}, m, { pointer: ptr })

@@ -17,0 +31,0 @@ if (m.unTag !== undefined) {

@@ -23,3 +23,3 @@ import getHooks from './01-getHooks.js'

// ensure all defined needs are met for each match
maybeList = trimDown(maybeList, docCache)
maybeList = trimDown(maybeList, docCache, document)
// add unchacheable matches to each sentence's todo-list

@@ -32,12 +32,4 @@ if (net.always.length > 0) {

// maybeList.forEach((arr, i) => {
// let txt = document[i].map(t => t.text).join(' ')
// console.log(`==== ${txt} ====`)
// arr.forEach(m => {
// console.log(` - ${m.match}`)
// })
// })
// now actually run the matches
let results = runMatch(maybeList, document, methods, opts)
let results = runMatch(maybeList, document, docCache, methods, opts)
// console.dir(results, { depth: 5 })

@@ -44,0 +36,0 @@ return results

@@ -9,3 +9,3 @@ import { hasHyphen, splitHyphens } from './01-hyphens.js'

let notWord = ['.', '?', '!', ':', ';', '-', '–', '—', '--', '...', '(', ')', '[', ']', '"', "'", '`', '«', '»']
let notWord = ['.', '?', '!', ':', ';', '-', '–', '—', '--', '...', '(', ')', '[', ']', '"', "'", '`', '«', '»', '*']
notWord = notWord.reduce((h, c) => {

@@ -12,0 +12,0 @@ h[c] = true

@@ -5,3 +5,3 @@ const allowBefore = [

'_',//underscore
'\\-',//-4 (escape)
// '\\-',//-4 (escape)
'+',//+4

@@ -13,2 +13,3 @@ '.',//.4

'_',//underscore
'°',//degrees, italian ordinal
// '\'',// \u0027

@@ -15,0 +16,0 @@ ]

@@ -12,2 +12,3 @@ //all punctuation marks, from https://en.wikipedia.org/wiki/Punctuation

const shortYear = /^'[0-9]{2}/
const isNumber = /^-[0-9]/

@@ -31,2 +32,6 @@ const normalizePunctuation = function (str) {

}
// support prefix negative signs like '-45'
if (found === '-' && isNumber.test(str)) {
return found
}
pre = found //keep it

@@ -33,0 +38,0 @@ return ''

@@ -18,2 +18,6 @@ const lastNoun = function (terms, i) {

if (terms[i].normal === "ain't" || terms[i].normal === 'aint') {
// "ain't never" -> have never (?)
if (terms[i + 1] && terms[i + 1].normal === 'never') {
return ['have']
}
// we aint -> are not, she aint -> is not

@@ -26,2 +30,5 @@ let noun = lastNoun(terms, i)

}
if (noun.normal === 'i') {
return ['am', 'not']
}
// plural/singular tags

@@ -28,0 +35,0 @@ if (noun.tags && noun.tags.has('Plural')) {

@@ -31,3 +31,13 @@ // order matters

{ match: '(say|says|said) [sorry]', group: 0, tag: 'Expression', reason: 'say-sorry' },
// ok,
{ match: '^(ok|alright|well|shoot|hell|anyways)', tag: 'Expression', reason: 'ok-' },
// c'mon marge..
{ match: '^[come on] #Noun', group: 0, tag: 'Expression', reason: 'come-on' },
// say,
{ match: '^(say && @hasComma)', tag: 'Expression', reason: 'say-' },
{ match: '^(like && @hasComma)', tag: 'Expression', reason: 'like-' },
// right after
{ match: '[right] (before|after|in|into|to|toward)', group: 0, tag: '#Adverb', reason: 'right-into' },
// double-prepositions

@@ -46,5 +56,13 @@ // rush out of

{ match: '^[(dude|man|girl)] #Pronoun', group: 0, tag: 'Expression', reason: 'dude-i' },
// are welcome
// { match: '#Copula [#Expression]', group: 0, tag: 'Noun', reason: 'are-welcome' },
// 'there' as adjective
{ match: '(always|nearly|barely|practically) [there]', group: 0, tag: 'Adjective', reason: 'always-there' },
// existential 'there'
// there she is
{ match: '[there] (#Adverb|#Pronoun)? #Copula', group: 0, tag: 'There', reason: 'there-is' },
// is there food
{ match: '#Copula [there] .', group: 0, tag: 'There', reason: 'is-there' },
// should there
{ match: '#Modal #Adverb? [there]', group: 0, tag: 'There', reason: 'should-there' },
]
export default matches

@@ -16,2 +16,4 @@ export default [

{ match: `#Preposition (a|an) [#Adjective]$`, group: 0, tag: 'Noun', reason: 'an-instant' },
// brand new
{ match: `[brand #Gerund?] new`, tag: 'Adverb', group: 0, reason: 'brand-new' },
]

@@ -34,2 +34,4 @@ export default [

{ match: 'a (bit|little|tad) [#PastTense]', group: 0, tag: 'Adjective', reason: 'a-bit-confused' },
// do not be embarrassed
{ match: 'not be [%Adj|Past%]', group: 0, tag: 'Adjective', reason: 'do-not-be-confused' },
]

@@ -28,2 +28,3 @@ import adj from './adjective/adjective.js'

import adjGerund from './verbs/adj-gerund.js'
import passive from './verbs/passive.js'

@@ -37,2 +38,4 @@ import misc from './_misc.js'

let matches = [].concat(
// order matters top-matches can get overwritten
passive,
adj,

@@ -39,0 +42,0 @@ advAdj,

@@ -88,3 +88,3 @@ const infNouns =

// bride and groom
{ match: '#Noun and [%Noun|Verb%]', group: 0, tag: 'Singular', ifNo: ['#ProperNoun'], reason: 'bride-and-groom' },
// { match: '#Noun and [%Noun|Verb%]', group: 0, tag: 'Singular', ifNo: ['#ProperNoun'], reason: 'bride-and-groom' },
// peace and flowers and love

@@ -96,2 +96,6 @@ { match: '#Noun and [#Verb] and #Noun', group: 0, tag: 'Noun', reason: 'peace-and-flowers' },

{ match: '#Copula the [%Adj|Noun%] #Noun', group: 0, tag: 'Adjective', reason: 'the-premier-university' },
// scottish - i ate me sandwich
{ match: 'i #Verb [me] #Noun', group: 0, tag: 'Possessive', reason: 'scottish-me' },
]

@@ -6,3 +6,3 @@ export default [

//pope francis
{ match: '(sister|pope|father) #ProperNoun', tag: 'Person', reason: 'lady-titlecase', safe: true },
{ match: '(sister|pope|brother|father|aunt|uncle|grandpa|grandfather|grandma) #ProperNoun', tag: 'Person', reason: 'lady-titlecase', safe: true },

@@ -9,0 +9,0 @@ // ==== Nickname ====

@@ -40,2 +40,6 @@ // this is really hard to do

{ match: '^never [#Infinitive]', group: 0, tag: 'Imperative', reason: 'never-stop' },
// come have a drink
{ match: '^come #Infinitive', tag: 'Imperative', reason: 'come-have' },
// come and have a drink
{ match: '^come and? #Infinitive', tag: 'Imperative . Imperative', reason: 'come-and-have' },
// stay away

@@ -51,2 +55,8 @@ { match: '^stay (out|away|back)', tag: 'Imperative', reason: 'stay-away' },

{ match: '[#Infinitive] (yourself|yourselves)', group: 0, tag: 'Imperative', reason: 'allow-yourself' },
// continue playing
{ match: '^[#Infinitive] #Gerund', group: 0, tag: 'Imperative', reason: 'keep-playing' },
// go to it
{ match: '^[#Infinitive] (to|for|into|toward)', group: 0, tag: 'Imperative', reason: 'go-to' },
// relax and unwind
{ match: '^[#Infinitive] (and|or) #Infinitive', group: 0, tag: 'Imperative', reason: 'inf-and-inf' },
]

@@ -50,3 +50,3 @@ // rough connection between compromise tagset and Penn Treebank

// 'Noun':'EX', //'there'
'There': 'EX', //'there'
// 'Adverb':'WRB',

@@ -53,0 +53,0 @@ // 'Noun':'PDT', //predeterminer

@@ -11,3 +11,3 @@ const toRoot = {

let str = term.machine || term.normal || term.text
return world.methods.two.transform.nounToSingular(str, world.model)
return world.methods.two.transform.noun.toSingular(str, world.model)
},

@@ -21,3 +21,3 @@ // ''

let str = term.machine || term.normal || term.text
return world.methods.two.transform.verbToInfinitive(str, world.model, 'PastTense')
return world.methods.two.transform.verb.toInfinitive(str, world.model, 'PastTense')
},

@@ -27,3 +27,3 @@ // 'walking' -> 'walk'

let str = term.machine || term.normal || term.text
return world.methods.two.transform.verbToInfinitive(str, world.model, 'Gerund')
return world.methods.two.transform.verb.toInfinitive(str, world.model, 'Gerund')
},

@@ -36,3 +36,3 @@ // 'walks' -> 'walk'

}
return world.methods.two.transform.verbToInfinitive(str, world.model, 'PresentTense')
return world.methods.two.transform.verb.toInfinitive(str, world.model, 'PresentTense')
},

@@ -42,3 +42,3 @@ // 'quieter' -> 'quiet'

let str = term.machine || term.normal || term.text
return world.methods.two.transform.adjFromComparative(str, world.model)
return world.methods.two.transform.adjective.fromComparative(str, world.model)
},

@@ -48,9 +48,9 @@ // 'quietest' -> 'quiet'

let str = term.machine || term.normal || term.text
return world.methods.two.transform.adjFromSuperlative(str, world.model)
return world.methods.two.transform.adjective.fromSuperlative(str, world.model)
},
// 'suddenly' -> 'sudden'
'Adverb': (term, world) => {
const toAdj = world.methods.two.transform.advToAdjective
const { fromAdverb } = world.methods.two.transform.adjective
let str = term.machine || term.normal || term.text
return toAdj(str)
return fromAdverb(str)
},

@@ -57,0 +57,0 @@ }

@@ -6,3 +6,3 @@ // transformations to make on our lexicon

let already = model.one.lexicon
let plural = methods.two.transform.nounToPlural(word, model)
let plural = methods.two.transform.noun.toPlural(word, model)
if (!already[plural]) {

@@ -16,4 +16,5 @@ lex[plural] = lex[plural] || 'Plural'

let already = model.one.lexicon
let { toSuperlative, toComparative } = methods.two.transform.adjective
// fast -> fastest
let sup = methods.two.transform.adjToSuperlative(word, model)
let sup = toSuperlative(word, model)
if (!already[sup]) {

@@ -23,3 +24,3 @@ lex[sup] = lex[sup] || 'Superlative'

// fast -> faster
let comp = methods.two.transform.adjToComparative(word, model)
let comp = toComparative(word, model)
if (!already[comp]) {

@@ -34,3 +35,3 @@ lex[comp] = lex[comp] || 'Comparative'

Demonym: (word, lex, methods, model) => {
let plural = methods.two.transform.nounToPlural(word, model)
let plural = methods.two.transform.noun.toPlural(word, model)
lex[plural] = lex[plural] || ['Demonym', 'Plural']

@@ -42,3 +43,3 @@ },

let already = model.one.lexicon
let all = methods.two.transform.verbConjugate(word, model)
let all = methods.two.transform.verb.conjugate(word, model)
Object.entries(all).forEach(a => {

@@ -62,3 +63,3 @@ if (!already[a[1]] && !lex[a[1]]) {

// conjugate it
let all = methods.two.transform.verbConjugate(inf, model)
let all = methods.two.transform.verb.conjugate(inf, model)
Object.entries(all).forEach(a => {

@@ -65,0 +66,0 @@ // not 'walker up', or 'had taken up'

@@ -1,22 +0,20 @@

import { convert } from 'suffix-thumb'
import { toSuperlative, toComparative, fromSuperlative, fromComparative } from './inflect.js'
import fromAdverb from './adverbs/toAdjective.js'
import toAdverb from './adverbs/toAdverb.js'
import toNoun from './adverbs/toNoun.js'
const adjToSuperlative = function (adj, model) {
const mod = model.two.models.toSuperlative
return convert(adj, mod)
const all = function (str, model) {
let arr = [str]
arr.push(toSuperlative(str, model))
arr.push(toComparative(str, model))
arr.push(toAdverb(str))
arr = arr.filter(s => s)
arr = new Set(arr)
return Array.from(arr)
}
const adjToComparative = function (adj, model) {
const mod = model.two.models.toComparative
return convert(adj, mod)
}
const adjFromComparative = function (adj, model) {
const mod = model.two.models.fromComparative
return convert(adj, mod)
}
const adjFromSuperlative = function (adj, model) {
const mod = model.two.models.fromSuperlative
return convert(adj, mod)
}
export {
adjToSuperlative, adjToComparative, adjFromComparative, adjFromSuperlative
}
export default {
toSuperlative, toComparative, toAdverb, toNoun,
fromAdverb, fromSuperlative, fromComparative,
all,
}

@@ -1,22 +0,10 @@

import nounToPlural from './nouns/toPlural/index.js'
import nounToSingular from './nouns/toSingular/index.js'
import nouns from './nouns/index.js'
import verbs from './verbs/index.js'
import adjectives from './adjectives/index.js'
import verbToInfinitive from './verbs/toInfinitive/index.js'
import verbConjugate from './verbs/conjugate/index.js'
import getTense from './verbs/getTense/index.js'
import advToAdjective from './adverbs/toAdjective.js'
import adjToAdverb from './adverbs/toAdverb.js'
import adjToNoun from './adverbs/toNoun.js'
import { adjToSuperlative, adjToComparative, adjFromSuperlative, adjFromComparative } from './adjectives/index.js'
export default {
nounToPlural, nounToSingular,
verbToInfinitive, getTense,
verbConjugate,
noun: nouns,
verb: verbs,
adjective: adjectives
adjToSuperlative, adjToComparative, adjFromSuperlative, adjFromComparative,
advToAdjective, adjToAdverb, adjToNoun
}

@@ -48,2 +48,3 @@ // import { toPast, toPresent, toGerund, toParticiple } from '../../../../model/models/index.js'

export default conjugate

@@ -50,0 +51,0 @@

@@ -38,5 +38,2 @@ import { convert } from 'suffix-thumb'

const { fromPast, fromPresent, fromGerund, fromParticiple } = model.two.models
// if (str.length < 3) {
// return str
// }
let { prefix, verb, particle } = toParts(str, model)

@@ -43,0 +40,0 @@ let inf = ''

@@ -5,3 +5,3 @@ import methods from '../../methods/index.js'

import conjugate from '../../methods/transform/verbs/conjugate/index.js'
import { adjToSuperlative, adjToComparative } from '../../methods/transform/adjectives/index.js'
import { toSuperlative, toComparative } from '../../methods/transform/adjectives/inflect.js'
import toInfinitive from '../../methods/transform/verbs/toInfinitive/index.js'

@@ -75,5 +75,5 @@ import models from '../models/index.js'

const expandAdjective = function (str, words, model) {
let sup = adjToSuperlative(str, model)
let sup = toSuperlative(str, model)
words[sup] = words[sup] || 'Superlative'
let comp = adjToComparative(str, model)
let comp = toComparative(str, model)
words[comp] = words[comp] || 'Comparative'

@@ -80,0 +80,0 @@ }

@@ -53,2 +53,3 @@ const jj = 'Adjective'

me: jj,//called me swell
is: jj
},

@@ -55,0 +56,0 @@ afterWords: {

@@ -83,3 +83,4 @@ const n = 'Singular'

wanted: n,
is: n,
},
}

@@ -5,42 +5,45 @@ import adj from './_adj.js'

// boiled the water
let past = 'PastTense'
const past = {
const adjPast = {
beforeTags: {
Adverb: 'PastTense', //quickly detailed
Pronoun: 'PastTense', //he detailed
ProperNoun: 'PastTense', //toronto closed
Auxiliary: 'PastTense',
Noun: 'PastTense', //eye closed -- i guess.
Adverb: past, //quickly detailed
Pronoun: past, //he detailed
ProperNoun: past, //toronto closed
Auxiliary: past,
Noun: past, //eye closed -- i guess.
},
afterTags: {
Possessive: 'PastTense', //hooked him
Pronoun: 'PastTense', //hooked me
Determiner: 'PastTense', //hooked the
Adverb: 'PastTense', //cooked perfectly
Comparative: 'PastTense',//closed higher
Date: 'PastTense',// alleged thursday
Possessive: past, //hooked him
Pronoun: past, //hooked me
Determiner: past, //hooked the
Adverb: past, //cooked perfectly
Comparative: past,//closed higher
Date: past,// alleged thursday
},
beforeWords: {
be: 'PastTense',//be hooked
get: 'PastTense',//get charged
had: 'PastTense',
has: 'PastTense',
have: 'PastTense',
been: 'PastTense',
it: 'PastTense',//it intoxicated him
as: 'PastTense',//as requested
be: past,//be hooked vs be embarrassed
who: past,//who lost
get: 'Adjective',//get charged
had: past,
has: past,
have: past,
been: past,
it: past,//it intoxicated him
as: past,//as requested
for: 'Adjective',//for discounted items
},
afterWords: {
by: 'PastTense', //damaged by
back: 'PastTense', //charged back
out: 'PastTense', //charged out
in: 'PastTense', //crowded in
up: 'PastTense', //heated up
down: 'PastTense', //hammered down
for: 'PastTense', //settled for
the: 'PastTense', //settled the
with: 'PastTense', //obsessed with
as: 'PastTense', //known as
on: 'PastTense', //focused on
by: past, //damaged by
back: past, //charged back
out: past, //charged out
in: past, //crowded in
up: past, //heated up
down: past, //hammered down
for: past, //settled for
the: past, //settled the
with: past, //obsessed with
as: past, //known as
on: past, //focused on
at: past, //recorded at
},

@@ -50,6 +53,6 @@ }

export default {
beforeTags: Object.assign({}, adj.beforeTags, past.beforeTags),
afterTags: Object.assign({}, adj.afterTags, past.afterTags),
beforeWords: Object.assign({}, adj.beforeWords, past.beforeWords),
afterWords: Object.assign({}, adj.afterWords, past.afterWords),
beforeTags: Object.assign({}, adj.beforeTags, adjPast.beforeTags),
afterTags: Object.assign({}, adj.afterTags, adjPast.afterTags),
beforeWords: Object.assign({}, adj.beforeWords, adjPast.beforeWords),
afterWords: Object.assign({}, adj.afterWords, adjPast.afterWords),
}

@@ -39,3 +39,6 @@ import adjGerund from './adj-gerund.js'

clues['Plural|Verb'] = {
beforeWords: copy(clues['Noun|Verb'].beforeWords, {}),
beforeWords: copy(clues['Noun|Verb'].beforeWords, {
had: 'Plural', //had tears
have: 'Plural',
}),
afterWords: copy(clues['Noun|Verb'].afterWords, {

@@ -42,0 +45,0 @@ his: 'PresentTense', her: 'PresentTense', its: 'PresentTense',

@@ -32,3 +32,3 @@ import noun from './_noun.js'

}
// console.log(clue.afterWords.of)
export default clue
import person from './_person.js'
const p = 'Place'

@@ -6,25 +7,25 @@ // 'paris hilton' vs 'paris france'

beforeTags: {
Place: 'Place'
Place: p
},
afterTags: {
Place: 'Place',
Abbreviation: 'Place'
Place: p,
Abbreviation: p
},
beforeWords: {
in: 'Place',
by: 'Place',
near: 'Place',
from: 'Place',
to: 'Place',
in: p,
by: p,
near: p,
from: p,
to: p,
},
afterWords: {
in: 'Place',
by: 'Place',
near: 'Place',
from: 'Place',
to: 'Place',
government: 'Place',
council: 'Place',
region: 'Place',
city: 'Place',
in: p,
by: p,
near: p,
from: p,
to: p,
government: p,
council: p,
region: p,
city: p,
},

@@ -31,0 +32,0 @@ }

@@ -6,8 +6,9 @@ // generated in ./lib/lexicon

"PresentTense": "true¦sounds",
"Condition": "true¦lest,unless",
"Condition": "true¦unless",
"Conjunction": "true¦aXbTcuz,evenRhowPiHjust00lest,noEoCp8supposing,t5wh0yet;at,e2il1o0;evOse;e,st;nevMre0thM; if,vL;h0o;erefOo0;!uU;lus,rovide0; 1d0;! 0;th9;r0therwiJ;! not; mattBr,w0;! 0;since,th4w7;f4n0; 0asmuch;as mFcaCorder t0;h0o;at;! 0;only,t0w0;hen;!ev0;er;! 0;if,t8;e0ut,y the time;cau1f0;ore;se;lt3nd,s 0;far1if,m0soon1t2;uch0; as;hou0;gh",
"PastTense": "true¦be2came,d1had,lied,mea0sa1taken,we0;nt;id;en,gan",
"Gerund": "true¦accord0be0go0result0stain0;ing",
"Expression": "true¦a0Qb0Mco0Ld0He0Ffuck,g09hUjeez,lRmQnOoLpIshHtGuDvoi0Sw6y0;a4e3i1u0;ck,p;kYp0;ee,pee;ah,p,s;!a,h6y;ah5h2o1t0;af,f;rd up,w;e1o0;a,ops;e,w;oo;gh,h0;! 0h,m;huh,oh;sk,ut tut;eesh,hh,it;ff,h1l0ow,sst;ease,z;ew,ooey;h1i,o0uch,w,y;h,o,ps;!h;ah,o0;!pe;eh,mm;ah,m1ol0;!s;ao,fao;aBe9i7o2u0;h,mph,rra0zzB;h,y;ly1o0;r4y8;! 0;cow,moCsmok0;es;!p hip hoor0;ay;ck,e,ll0y;!o;ha1i,lleluj0;ah;!ha;ah,ee4o1r0;eat scott,r;l1od0sh; grief,bye;ly;! whiz;e0h,t cetera,ww;k,p;'oh,a0rat,uh;m0ng;mit,n0;!it;ngratulations,wabunga;a2oo1r0ye;avo,r;!ya;h,m; 1h0las,men,rgh;!a,em,oy;la",
"Expression": "true¦a0Qb0Mco0Ld0He0Ffuck,g09hUjeez,lRmQnOoLpIshHtGuDvoi0Sw6y0;a4e3i1u0;ck,p;kYp0;ee,pee;ah,p,s;!a,h6y;ah5h2o1t0;af,f;rd up,w;e1o0;a,ops;e,w;oo;gh,h0;! 0h,m;huh,oh;here nLsk,ut tut;eesh,hh,it,oo;ff,h1l0ow,sst;ease,z;ew,ooey;h1i,o0uch,w,y;h,o,ps;!h;ah,o0;!pe;eh,mm;ah,m1ol0;!s;ao,fao;aBeAi8o2u0;h,mph,rra0zzB;h,y;ly1o0;r5y8;! 0;c1moCsmok0;es;ow;!p hip hoor0;ay;ck,e,llo,y;ha1i,lleluj0;ah;!ha;ah,ee4o1r0;eat scott,r;l1od0sh; grief,bye;ly;! whiz;e0h,t cetera,ww;k,p;'oh,a0rat,uh;m0ng;mit,n0;!it;ngratulations,wabunga;a2oo1r0ye;avo,r;!ya;h,m; 1h0las,men,rgh,ye;!a,em,oy;la",
"Negative": "true¦n0;ever,o0;n,t",
"QuestionWord": "true¦how3wh0;at,e1ich,o0y;!m,se;n,re; come,'s",
"QuestionWord": "true¦how3wh0;e1ich,o0y;!m;n,re; come,'s",
"Reflexive": "true¦h4it5my5o1the0your2;ir1m1;ne3ur0;sel0;f,ves;er0im0;self",

@@ -18,3 +19,3 @@ "Plural": "true¦ones,records",

"Imperative": "true¦come here",
"PhrasalVerb": "true¦0:81;1:7Q;2:8E;3:84;4:7J;5:8H;6:7P;7:7E;8:7C;9:86;A:7Z;B:89;C:87;D:80;E:6L;F:6D;a8Kb73c66d61e60f4Yg4Gh3Viron0j3Rk3Ml33m2Pn2No2Lp22quietEr1Ns0GtWuUvacuum 1wJyammerAzG;ero Dip HonG;e0k0;by,up;aNeIhHiGor7Vrit37;mp0n34pe0r8s8;eel Dip 8P;aIiGn2S;gh Grd0;in,up;n Dr G;d2in,o4D;it 6Hk8lk Hrm 0Ysh Gt79v5F;aw3d2o5up;aw3in,o84;rgeAsG;e 1herF;aVeThRiNoMrIuGypL;ckFrn G;d2in,o45up;aHiGot0y 2O;ckleEp 8A;ckEdG;e 0N;neEp 2Zs4Z;ck IdHe Gghte5Yme0p o0Ire0;aw3ba4d2in,up;e 6Hy 1;by,oC;ink Grow 6U;ba4ov6up;aGe 6Fll5G;m 1r 53;ckAke Hlk G;ov6shit,u5H;aGba4d2in,o3Pup;ba4ft6p5Mw3;a0Lc0Ke0Eh0Ai07l03m02n01o00pVquar4XtMuKwG;earIiG;ngHtch G;aw3ba4o7O; by;ck Git 1m 1ss0;in,o7Bup;aMe10iLoJrHuG;c36d2O;aigh22iG;ke 6Wn3L;p Grm24;by,in,oC;n31r 1tc44;c30mp0nd Gr7Fve9y 1;ba4d2up;ar2YeJiIlHrGurA;ingAuc8;a3Rit 5R;l17n 1;e69ll0;ber 1rt0und like;ap 56ow D;ash 5Woke0;eep HiGow 7;c1Lp 1;in,oG;ff,v6;de12gn HngGt 5Rz8; al5Mle0;in,o5up;aIoGu5A;ot Gut0w 6U;aw3ba4f3SoC;c2GdeFk5Pve9;e Kll1Gnd Jrv8tG; Gtl4W;d2f5Bin,o5upG;!on;aw3ba4d2in,o2Nup;o6Dto;al5Iout0rap5I;il9v8;aTeQiPoLuG;b 5Ble0n Gstl8;aIba4d2inHoGt3Lu0X;ut,v6;!to;c2HrBw3;ll Iot HuG;g33nd9;a2Hf3Ao5;arBin,o5;ng 5Ip9;aGel9inFnt0;c5Rd G;o3Bup;c1Tt0;aUeTiRlPoNrKsyc2RuG;ll It G;aGba4d2in,o1Zt3Rup;p3Ww3;ap3Vd2in,o5t3Pup;attleAess HiJoG;p 1;ah1Zon;iGp 5Wr4CurEwer 5W;nt0;ay4SuG;gFmp 7;ck Gg0leAn 7p4P;o1Oup;el 4ZncilF;c4Hir 2Xn0ss ItHy G;ba4oC; d2c2E;aw3ba4in,o1J;pGw4C;e4Bt D;arrowEerd0oG;d9teE;aQeNiMoIuG;ddl8lG;l 3W;c12nkeyIp 7uth9ve G;aGd2in,o5up;l41w3; wi3Y;ss0x 1;asur8lHss G;a1Oup;t 7;ke Hn 7rGs1Xx0;k 7ry9;do,o4Vup;aWeRiMoGuck0;aKc3Ug JoGse0;k Gse3S;aft6ba4d2forw2Sin4Iov6uG;nd6p;in,o0V;d 7;e 04ghtJnIsHvG;e 3E;ten 4Y;e 1k 1; 1e3J;ave It HvelG; o4H;d2go,in,o5up;in,oG;pen,ut;c8p 1sh GtchAugh9y26;in43o5;eHick9nock G;d2o4Aup;eGyF;l 2Yp G;aw3ba4d2fYin,o0Dto,up;aIoHuG;ic8mpF;ke3BtE;c3Kzz 1;aVeQiNoKuG;nHrrGsh 7;y 1;kerEt G;arBd2;lGneFrse34;d Ge 1;ba4d2fast,o04up;de Ht G;ba4on,up;aw3o5;aGlp0;d Il 2Gr Gt 1;fGof;rom;in,oWu1K;cJm 1nHve Gz2B;it,to;d Gg 2MkerJ;d2in,o5;k 1;aUeOive Mloss 27oIrHunG; f0O;in3Now 2H; Gof 26;aHb1Fit,oGrBt0Qu1A;ff,n,v6;bo5ft6hMw3;aw3ba4d2in,oGrise,up,w3;ff,n,ut;ar 7ek0t G;aHb19d2in,oGrBup;ff,n,ut,v6;cHhGl23rBt,w3;ead;ross;d aHnG;g 1;bo5;a0Ae03iUlQoMrIuG;ck Ge28;arBup;eHighten GownAy 1;aw3oC;eGshe1U; 1z8;lIol G;aGwi1N;bo5rB;d 7low 1;aHeGip0;sh0;g 7ke0mGrGttenE;e 2Y;gNlLnJrHsGzzle0;h 2W;e Gm 1;aw3ba4up;d0isG;h 1;e Gl 1G;aw3fLin,o5;ht ba4ure0;eLnHsG;s 1;cId G;fGoC;or;e D;dYl 1;cKll Grm0t13;ap07bId2in,oHtG;hrough;ff,ut,v6;a4ehi27;e G;d2oCup;a0Ldge0nd 0Py8;oJrG;aHess 7op G;aw3bWin,o1U;gAwA; 0Iubl0Y;a00hXleaWoJrGut 16;ackAeep Goss D;by,d2in,oGup;n,ut;me JoHuntG; o1W;k 7l G;d2oC;aMbLforJin,oItHuG;nd6;ogeth6;n,ut,v6;th,wG;ard;a4y;pGrBw3;art;n 7;eGipF;ck Der G;on,up;lNncel0rKsItch HveF; in;o1Eup;h Dt G;doubt,oC;ry HvG;e 02;aw3o19;l HmE; d2;aGba4d2o16up;rBw3;a0Me0El07oYrLuG;bblIcklZil05lk 7ndlZrGst VtHy 16zz9;n 0AsG;t D;e G;ov6;anReaPiHush G;oCup;ghLng G;aIba4d2fGin,o5up;orG;th;bo5lGrBw3;ong;teG;n 1;k G;d2in,o5up;ch0;arNg 7iLn8oJssIttlHunce Gx D;aw3ba4;e 7; arB;k Dt 1;e 1;l 7;d2up;d 1;aLeed0oGurt0;cIw G;aw3ba4d2o5up;ck;k G;in,oX;ck0nk0st9; oLaJef 1nd G;d2ov6up;er;up;r0t G;d2in,oQup;ff,nG;to;ck Mil0nIrgHsG;h D;ainAe D;g DkA; on;in,o5; o5;aw3d2oGup;ff,ut;ay;cPdLsk Iuction9; oC;ff;arBo5;ouG;nd;d G;d2oGup;ff,n;own;t G;o5up;ut",
"PhrasalVerb": "true¦0:81;1:7Q;2:8E;3:84;4:7J;5:8H;6:7P;7:7E;8:7C;9:86;A:7Z;B:89;C:87;D:80;E:6L;F:6J;G:6C;a8Lb74c66d61e60f4Yg4Hh3Wiron0j3Sk3Nl34m2Qn2Oo2Mp23quietEr1Os0HtXuVvacuum 1wKyammerAzH;ero Dip IonH;e0k0;by,up;aOeJhIiHor7Writ38;mp0n35pe0r8s8;eel Dip 8Q;aJiHn2T;gh Hrd0;in,up;n Dr H;d2in,oF;it 6Hk8lk Irm 0Zsh Ht7Av5F;aw3d2o5up;aw3in,o85;rgeAsH;e 1herG;aWeUhSiOoNrJuHypM;ckGrn H;d2in,oFup;aIiHot0y 2P;ckleEp 8B;ckEdH;e 0O;neEp 30s4Z;ck JdIe Hghte5Yme0p o0Jre0;aw3ba4d2in,up;e 6Iy 1;by,oC;ink Hrow 6V;ba4ov6up;aHe 6Gll5G;m 1r 53;ckAke Ilk H;ov6shit,u5H;aHba4d2in,oFup;ba4ft6p5Mw3;a0Mc0Le0Fh0Bi08l04m03n02o01pWquar4XtNuLwH;earJiH;ngItch H;aw3ba4o7P; by;ck Hit 1m 1ss0;in,o7Cup;aNe11iMoKrIuH;c37d2P;aigh23iH;ke 6Xn3L;p Hrm25;by,in,oC;n32r 1tc44;c31mp0nd Hr7Gve9y 1;ba4d2up;ar2ZeKiJlIrHurA;ingAuc8;a3Rit 5S;l18n 1;e6All0;ber 1rt0und like;ap 56ow D;ash 5Xoke0;eep IiHow 7;c1Mp 1;in,oH;ff,v6;de13gn IngHt 5Sz8; al5Nle0;in,o5up;aJoHu5B;ot Hut0w 6V;aw3ba4f3SoC;c2HdeGk5Qve9;e Lll1Hnd Krv8tH; Htl4W;d2f5Cin,o5upH;!on;aw3ba4d2in,o2Nup;o6Eto;al5Jout0rap5J;il9v8;aUeRiQoMuH;b 5Cle0n Hstl8;aJba4d2inIoHt3Lu0Y;ut,v6;!to;c2HrBw3;ll Jot IuH;g33nd9;a2Hf3Ao5;arBin,o5;ng 5Jp9;aHel9inGnt0;c5Sd H;o3Bup;c1Ut0;aVeUiSlQoOrLsyc2RuH;ll Jt H;aHba4d2in,oFt3Rup;p3Ww3;ap3Vd2in,o5t3Pup;attleAess IiKoH;p 1;ah1Zon;iHp 5Xr4DurEwer 5X;nt0;ay4TuH;gGmp 7;ck Hg0leAn 7p4Q;oFup;el 50ncilG;c4Iir 2Xn0ss JtIy H;ba4oC; d2c2E;aw3ba4in,oF;pHw4D;e4Ct D;arrowEerd0oH;d9teE;aReOiNoJuH;ddl8lH;l 3X;c13nkeyJp 7uth9ve H;aHd2in,o5up;l42w3; wi3Z;ss0x 1;asur8lIss H;a1Oup;t 7;ke In 7rHs1Xx0;k 7ry9;do,o4Wup;aXeSiNoHuck0;aLc3Vg KoHse0;k Hse3T;aft6ba4d2forw2Sin4Jov6uH;nd6p;in,oF;d 7;e 05ghtKnJsIvH;e 3F;ten 4Z;e 1k 1; 1e3K;ave Jt IvelH; o4I;d2go,in,o5up;in,oH;pen,ut;c8p 1sh HtchAugh9y26;in44o5;eIick9nock H;d2o4Bup;eHyG;l 2Zp H;aw3ba4d2fZin,oFto,up;aJoIuH;ic8mpG;ke3CtE;c3Lzz 1;aWeRiOoLuH;nIrrHsh 7;y 1;kerEt H;arBd2;lHneGrse35;d He 1;ba4d2fast,o04up;de It H;ba4on,up;aw3o5;aHlp0;d Jl 2Hr Ht 1;fHof;rom;in,oWu1K;cKm 1nIve Hz2C;it,to;d Hg 2NkerK;d2in,o5;k 1;aUeOive Nloss 28oJrIunH; f0O;in3Oow 2I; Hof 27;aIb1Fit,oHrBt0Qu1A;ff,n,v6;bo5ft6hMw3;aw3ba4d2in,oFrise,up,w3;ar 7ek0t H;aIb1Ad2in,oHrBup;ff,n,ut,v6;cIhHl25rBt,w3;ead;ross;d aInH;g 1;bo5;a0Be04iVlRoNrJuH;ck He2A;arBup;eIighten HownAy 1;aw3oC;eHshe1W; 1z8;lJol H;aHwi1P;bo5rB;d 7low 1;aIeHip0;sh0;g 7ke0mHrHttenE;e 30;gOlMnKrIsHzzle0;h 2Y;e Hm 1;aw3ba4up;d0isH;h 1;e Hl 1I;aw3fMin,o5;ht ba4ure0;eMnIsH;s 1;cJd H;fHoC;or;e D;dZl 1;cLll Hrm0t15;ap08bJd2in,oItH;hrough;ff,ut,v6;a4ehi29;e H;d2oCup;a0Ndge0nd 0Ry8;oKrH;aIess 7op H;aw3bXin,o1W;gAwA; 0Kubl10;a01hYleaXoKrHut 18;ackAeep Hoss D;by,d2in,oHup;n,ut;me KoIuntH; o1Y;k 7l H;d2oC;aNbMforKin,oJtIuH;nd6;ogeth6;n,ut,v6;th,wH;ard;a4y;pHrBw3;art;n 7;eHipG;ck Der H;on,up;lPncel0rLsJtch IveG; in;o1Gup;h Dt H;doubt,oC;ry IvH;e 04;aw3oF;ff,n,ut;l ImE; d2;aHba4d2o17up;rBw3;a0Ne0Fl08oZrMuH;bblJckl00il06lk 7ndl00rHst WtIy 17zz9;n 0BsH;t D;e H;ov6;anSeaQiIush H;oCup;ghMng H;aJba4d2fHin,o5up;orH;th;bo5lHrBw3;ong;teH;n 1;k H;d2in,o5up;ch0;arOg 7iMn8oKssJttlIunce Hx D;aw3ba4;e 7; arB;k Dt 1;e 1;l 7;d2up;d 1;aMeed0oHurt0;cJw H;aw3ba4d2o5up;ck;k H;in,oY;ck0nk0st9; oMaKef 1nd H;d2ov6up;er;up;r0t H;d2in,oRup;ff,nH;to;ck Nil0nJrgIsH;h D;ainAe D;g DkA; on;in,o5; o5;aw3d2oHup;ff,ut;ay;cQdMsk Juction9; oC;ff;arBo5;ouH;nd;d H;d2oHup;ff,n;own;t H;o5up;ut",
"Verb": "true¦born,cannot,gonna,has,keep tabs,m0;ake sure,sg",

@@ -24,10 +25,10 @@ "Demonym": "true¦0:15;1:12;a0Vb0Oc0Dd0Ce08f07g04h02iYjVkTlPmLnIomHpEqatari,rCs7t5u4v3welAz2;am0Gimbabwe0;enezuel0ietnam0I;gAkrai1;aiwTex0hai,rinida0Ju2;ni0Prkmen;a5cotti4e3ingapoOlovak,oma0Spaniard,udRw2y0W;ede,iss;negal0Cr09;sh;mo0uT;o5us0Jw2;and0;a2eru0Fhilippi0Nortugu07uerto r0S;kist3lesti1na2raguay0;ma1;ani;ami00i2orweP;caragu0geri2;an,en;a3ex0Lo2;ngo0Drocc0;cedo1la2;gasy,y07;a4eb9i2;b2thua1;e0Cy0;o,t01;azakh,eny0o2uwaiI;re0;a2orda1;ma0Ap2;anO;celandic,nd4r2sraeli,ta01vo05;a2iB;ni0qi;i0oneU;aiAin2ondur0unO;di;amEe2hanai0reek,uatemal0;or2rm0;gi0;ilipino,ren8;cuadoVgyp4mira3ngli2sto1thiopi0urope0;shm0;ti;ti0;aPominUut3;a9h6o4roat3ub0ze2;ch;!i0;lom2ngol5;bi0;a6i2;le0n2;ese;lifor1m2na3;bo2eroo1;di0;angladeshi,el6o4r3ul2;gaE;azi9it;li2s1;vi0;aru2gi0;si0;fAl7merBngol0r5si0us2;sie,tr2;a2i0;li0;genti2me1;ne;ba1ge2;ri0;ni0;gh0r2;ic0;an",

"Possessive": "true¦any2its,my,no4o0somet3their1yo0;ur0;!s;o1t0;hing;ne",
"Noun|Verb": "true¦0:7R;1:6J;2:7N;3:7Y;4:7X;5:81;6:6W;7:7H;a7Hb6Sc5Rd55e4Xf4Ag40h3Si3Mj3Lk3Jl39m30n2Wo2Sp1Zques7Jr1Bs05tRuPvKwAy9z8;ip,o6A;awn,e1Uie4P;aFeaEhCiAo8re7J;nd0r8;k,ry;mp,n8pe,re,sh,tne81;!d,g;e6Ei8;p,st6;r,th0;it,r8s4t2ve,x;ehou1ra80;aBiAo8;i8lunte0te,w;ce,d;be,ew,s6V;cuum,l36;p8sh0;da4gra4Wlo4T;aJeIhrHiGoFrBu9wi8y4J;n,st;n8rn;e,n5Z;aAe9i8u7;bu4ck,gg0m,p;at,nd;ck,de,in,nsf0p,v5V;ll,ne,r3Oss,t73u2;ck,e,me,p,re;e4Iow,u7;ar,e,st;g,l8rg5Zs4;k,ly;a0Cc07e04hZiXkVlTmSnRou69pNtDu9w8;ear,it2;b1Vit,m,pp9r8spe5;ge,pri1vey;l8o58;e55y;aFeEiDoBr9u8y6;dy,ff,mb6;a69e8i4C;am,ss,t2;cking,p,r8;e,m;ck,t2;m,p;ck,in,ke,ll,mp,nd,r8te,y;!e,t;aAeed,i9la4Hons6Jr8y;ay,e3Xink6u3;n,r6Fte;n,rk;ee1Cow;e0Di6o3Z;eep,i8;ce,p,t;ateboa5Wi8;!p;de,gn8ze;!al;aBeAi9o8;ck,p,w;ft,p,v0;d,i2Y;pe,re;a9ed,n8rv13t;se,t1U;l,r2t;aBhedu6oAr8;at2e8;en,w;re,ut;le,n,r0G;crifi3il;aTeCiBoAu8;b,in,le,n,s8;h,t;a7ck,ll,ot;de,ng,p,s19;as5BcMdo,el,fKgJje5lImGnFo0SpDque7sAturn,v8wa59;e8i1F;al,r1;er5Go9t,u8;lt,me;l5Ert;air,ea8ly,o3V;l,t;dezvo22t;a8edy;ke,rk;ea1i3B;a4Xist0r4A;act5Borm,u8;nd,se;a8o4Uru4N;ll;ck,i1ke,l44n8tS;ge,k;aXeUhSiPlLoHr9u8;mp,n2rcha1sh;ai1eDiCo8u3H;be,ceAdu3gr8je5mi1te7;am8e5B;!me;ed,ss;ce,de;s8y;er4Rs;iAl8ol,p,re,s2Ow0;i8l;ce,sh;nt,s4F;a9e26u8;g,n3S;ce,n8y;!t;ck,l9n8pe,t,vot;!e;e,ot;a1o8;ne,tograph;ak,e9n,r8t;fu3Sm3V;!l;cka3Hi9n,rt8ss,t2u1;!y;nt,r;bAff0il,o9r8utli2Q;d0ie4Q;ze;je5;a3JeAo8;d,t8;e,i3;ed,gle5rd,t;aDeBiAo9u8;rd0;d2Rnit42p,ve;lk,n2Vrr41ss,x;asu0Yn3Mr8ss;ge,it;il,n9p,rk2Ws8t2;h,k;da4oeuv0U;aEeBiAo8ump;a8bby,ck,g,ok,ve;d,n;cen1ft,m36nCst;a9c0Av8;el,y;ch,d,p,se;b9c8nd,t2un2;e,k;el,o22;e2Ai8no3A;ck,ll,ss;am,o14ui3;mpCn9r35ss8;ue;cr17dex,flu9ha6k,se1Ttervi8voi3;ew;en3;a5le1O;aCeAi9o8u3R;ld,no1Rok,pe,r1st,u1;ghlight,ke,re,t;a8lp;d,t;nd9r8te;bo2Zm,ne3Gve7;!le;aGeek,lo3EoFrAu8;ar8e3Di0Ln;antee,d;aAi9o8umb6;om,u2A;nd,p;d8sp;e,ua4;of,ssip;in,me,ng,s,te,ze;aTePiKlHoErAu8;el,n8zz;c2Ed;a9o8y;st,wn;c8me;tuM;c9g,ol,r8;ce,e1Mm;us;a9e0Iip,o8y;at,od,w;g,re,sh,vo0Y;eBgAl9n8re,sh,t,x;an3i0E;e,m,t0;ht,uC;ld;a9e8n3;d,l;r,tu8;re;ce,il,ll,rm,vo21;cho,nEsCx8ye;cAerci1hib1Kp8tra5;eri8o0I;en3me2J;el,han15;ca8tima4;pe;count0d,gine0vy;aReLiFoDr9u8ye;b,mp,pli24;aAe9i8;ft,nk,ve;am,ss;ft,in;cu04d0Vubt,wnlo8;ad;p,sAv8;e,i8or3;de;char0Qli9p8;at2lay,u4;ke;al,ba4cBfeAl9ma0Vpos0Zsi8tail;gn,re;ay,ega4;at,ct;liVr8;ea1;ma0Hn3r8te;e,t;a05ent04hXlUoErAu8;be,r8t;e,l;aft,eAo9u8y;sh;p,ss,wd;d0Lep;de,in,lLmFnAok,py,re,st,u8v0;gh,n8p6;sTt;ceAdu5glomeBstru5t8veG;a5r8;a7ol;nt8rn;ra4;biCfoBmAp8;le8ou07romi1;me1B;a05e1Au4;rt;ne;lap1o8;r,ur;a9i8;ck,p;im,w;a9e8ip;at,ck,er;iBllenNmpi08n9r8uffe0E;ge,m,t;ge,n8;el;n,r;er,re;ke,ll,mp,p,r9sh,t2u1ve;se;d,e;aSePiOlLoHrBu8ypa0M;bb6ck6dg9ff0l8rn,st,zz;ly;et;anCeaBi9oad8;ca7;be,d8;ge;ch,k;ch,d;aAmb,ne,o9ss,tt6x,ycott;le;k,st,t;rd,st;a9e8itz,oN;nd;me;as,d,ke,te;a9nef8t;it;r,t;il,lan3nArga9s8;e,h;in;!d,g,k;cZdRffilQge,iPlt0nMppJrFssDttBuc9wa8;rd;ti8;on;a8empt;ck;i7ocK;st;ch9mo8;ur;!i8;ve;e9roa2;ch;al;ch8sw0;or;er;d,m,r;ia4;dCv8;an3o8;ca4;te;ce;i5re8;ss;ct;c8he,t;eAo8;rd,u8;nt;nt,ss",
"Noun|Verb": "true¦0:7R;1:6J;2:7N;3:7Y;4:7X;5:81;6:6W;7:7H;a7Hb6Sc5Rd55e4Xf4Ag40h3Si3Mj3Lk3Jl39m30n2Wo2Sp1Zques7Jr1Bs05tRuPvKwAy9z8;ip,o6A;awn,e1Uie4P;aFeaEhCiAo8re7J;nd0r8;k,ry;mp,n8pe,re,sh,tne81;!d,g;e6Ei8;p,st6;r,th0;it,r8s4t2ve,x;ehou1ra80;aBiAo8;i8lunte0te,w;ce,d;be,ew,s6V;cuum,l36;p8sh0;da4gra4Wlo4T;aJeIhrHiGoFrBu9wi8y4J;n,st;n8rn;e,n5Z;aAe9i8u7;bu4ck,gg0m,p;at,nd;ck,de,in,nsf0p,v5V;ll,ne,r3Oss,t73u2;ck,e,me,p,re;e4Iow,u7;ar,e,st;g,l8rg5Zs4x;k,ly;a0Cc07e04hZiXkVlTmSnRou69pNtDu9w8;ea6Dit2;b1Vit,m,pp9r8spe5;ge,pri1vey;l8o58;e55y;aFeEiDoBr9u8y6;dy,ff,mb6;a69e8i4C;am,ss,t2;cking,p,r8;e,m;ck,t2;m,p;ck,in,ke,ll,mp,nd,r8te,y;!e,t;aAeed,i9la4Hons6Jr8y;ay,e3Xink6u3;n,r6Fte;n,rk;ee1Cow;e0Di6o3Z;eep,i8;ce,p,t;ateboa5Wi8;!p;de,gn8ze;!al;aBeAi9o8;ck,p,w;ft,p,v0;d,i2Y;pe,re;a9ed,n8rv13t;se,t1U;l,r2t;aBhedu6oAr8;at2e8;en,w;re,ut;le,n,r0G;crifi3il;aTeCiBoAu8;b,in,le,n,s8;h,t;a7ck,ll,ot;de,ng,p,s19;as5BcMdo,el,fKgJje5lImGnFo0SpDque7sAturn,v8wa59;e8i1F;al,r1;er5Go9t,u8;lt,me;l5Ert;air,ea8ly,o3V;l,t;dezvo22t;a8edy;ke,rk;ea1i3B;a4Xist0r4A;act5Borm,u8;nd,se;a8o4Uru4N;ll;ck,i1ke,l44n8tS;ge,k;aXeUhSiPlLoHr9u8;mp,n2rcha1sh;ai1eDiCo8u3H;be,ceAdu3gr8je5mi1te7;am8e5B;!me;ed,ss;ce,de;s8y;er4Rs;iAl8ol,p,re,s2Ow0;i8l;ce,sh;nt,s4F;a9e26u8;g,n3S;ce,n8y;!t;ck,l9n8pe,t,vot;!e;e,ot;a1o8;ne,tograph;ak,e9n,r8t;fu3Sm3V;!l;cka3Hi9n,rt8ss,t2u1;!y;nt,r;bAff0il,o9r8utli2Q;d0ie4Q;ze;je5;a3JeAo8;d,t8;e,i3;ed,gle5rd,t;aDeBiAo9u8;rd0;d2Rnit42p,ve;lk,n2Vrr41ss,x;asu0Yn3Mr8ss;ge,it;il,n9p,rk2Ws8t2;h,k;da4oeuv0U;aEeBiAo8ump;a8bby,ck,g,ok,ve;d,n;cen1ft,m36nCst;a9c0Av8;el,y;ch,d,p,se;b9c8nd,t2un2;e,k;el,o22;e2Ai8no3A;ck,ll,ss;am,o14ui3;mpCn9r35ss8;ue;cr17dex,flu9ha6k,se1Ttervi8voi3;ew;en3;a5le1O;aCeAi9o8u3R;ld,no1Rok,pe,r1st,u1;ghlight,ke,re,t;a8lp;d,t;nd9r8te;bo2Zm,ne3Gve7;!le;aGeek,lo3EoFrAu8;ar8e3Di0Ln;antee,d;aAi9o8umb6;om,u2A;nd,p;d8sp;e,ua4;of,ssip;in,me,ng,s,te,ze;aTePiKlHoErAu8;el,n8zz;c2Ed;a9o8y;st,wn;c8me;tuM;c9g,ol,r8;ce,e1Mm;us;a9e0Iip,o8y;at,od,w;g,re,sh,vo0Y;eBgAl9n8re,sh,t,x;an3i0E;e,m,t0;ht,uC;ld;a9e8n3;d,l;r,tu8;re;ce,il,ll,rm,vo21;cho,nEsCx8ye;cAerci1hib1Kp8tra5;eri8o0I;en3me2J;el,han15;ca8tima4;pe;count0d,gine0vy;aReLiFoDr9u8ye;b,mp,pli24;aAe9i8;ft,nk,ve;am,ss;ft,in;cu04d0Vubt,wnlo8;ad;p,sAv8;e,i8or3;de;char0Qli9p8;at2lay,u4;ke;al,ba4cBfeAl9ma0Vpos0Zsi8tail;gn,re;ay,ega4;at,ct;liVr8;ea1;ma0Hn3r8te;e,t;a05ent04hXlUoErAu8;be,r8t;e,l;aft,eAo9u8y;sh;p,ss,wd;d0Lep;de,in,lLmFnAok,py,re,st,u8v0;gh,n8p6;sTt;ceAdu5glomeBstru5t8veG;a5r8;a7ol;nt8rn;ra4;biCfoBmAp8;le8ou07romi1;me1B;a05e1Au4;rt;ne;lap1o8;r,ur;a9i8;ck,p;im,w;a9e8ip;at,ck,er;iBllenNmpi08n9r8uffe0E;ge,m,t;ge,n8;el;n,r;er,re;ke,ll,mp,p,r9sh,t2u1ve;se;d,e;aSePiOlLoHrBu8ypa0M;bb6ck6dg9ff0l8rn,st,zz;ly;et;anCeaBi9oad8;ca7;be,d8;ge;ch,k;ch,d;aAmb,ne,o9ss,tt6x,ycott;le;k,st,t;rd,st;a9e8itz,oN;nd;me;as,d,ke,te;a9nef8t;it;r,t;il,lan3nArga9s8;e,h;in;!d,g,k;cZdRffilQge,iPlt0nMppJrFssDttBuc9wa8;rd;ti8;on;a8empt;ck;i7ocK;st;ch9mo8;ur;!i8;ve;e9roa2;ch;al;ch8sw0;or;er;d,m,r;ia4;dCv8;an3o8;ca4;te;ce;i5re8;ss;ct;c8he,t;eAo8;rd,u8;nt;nt,ss",
"Actor": "true¦aJbGcFdCfAgardenIh9instructPjournalLlawyIm8nurse,opeOp5r3s1t0;echnCherapK;ailNcientJoldiGu0;pervKrgeon;e0oofE;ceptionGsearC;hotographClumbColi1r0sychologF;actitionBogrammB;cem6t5;echanic,inist9us4;airdress8ousekeep8;arm7ire0;fight6m2;eputy,iet0;ici0;an;arpent2lerk;ricklay1ut0;ch0;er;ccoun6d2ge7r0ssis6ttenda7;chitect,t0;ist;minist1v0;is1;rat0;or;ta0;nt",
"Honorific|Noun": "true¦aRbNcGdFexcellency,field marEjudge,king,lCm9officOp5queen,r2s0taoiseach,vice4;e0ultJ;cretary,rgeaB;abbi,e0;ar0verend; adN;astGr0;eside6i0ofessF;me ministGnce0;!ss;a1is0;sus,tD;gistrate,r2yA;ady,ieutena0ord;nt;shE;oct6utcheA;aptain,hance4o0;lonel,mmand6n0rporBunci3;gress0stable;m0wom0;an;ll0;or;aron1rigadi0;er;!e0;ss;d0yatullah;mir0;al",
"Pronoun": "true¦'em,elle,h3i2me,she4th0us,we,you;e0ou;m,y;!l,t;e0im;!'s",
"Singular": "true¦0:4I;1:59;2:58;3:4V;4:4T;5:4O;6:4S;7:52;8:4J;a4Sb47c3Ad2Xe2Qf2Gg25h1Tin1Qjel3k1Ol1Lm1Bn18o14p0Nqu0Mr0DsUtJuGvCw9;a9ha3Com2C;f0i4Wt0Ey9;! arou4F;arn4GeAo9;cabu07l53;gKr9;di6t1K;nc35p2SrAs 9;do3Ss56;bani2in1; rex,aIeHhGiEoDrBuAv9;! show;m2Jn5rntJto16;agedy,ib9o45;e,u2P;p5rq3E;c,de,er,m9;etE;ere,i8;am,mp39;ct5le4x return;aQcOeNhMi2kKoJtEuBy9;ll9n27st4P;ab2P;bAnri1Aper bowl,r9;f0roga2;st3Dtot1;aCepBipe3Qo1BrAudent9;! lo1K;ang0i8;fa1Fmo1F;ff0t30;loi41meo16;elet13i9;er,ll,rm3L;ack,or48;ab0Ucurity gu2D;e4ho9;l2Zol;la32;av0WeChetor5iAo9;de4om;te,v9;erb0N;bCcBf9publ5r0Ospi2;er9orm0;e4r1;it1ord label;a2u41;estion mark,ot28;aMeKhJiHlFort1rAu9yram1C;ddi8ppy,rpo0J;eCie3Ho9;bl3Us9;pe6t9;a2itu2;diction,mi0Eroga7ss relea0E;a9ebisci2;q27te,y0;cn5e9g;!r;armaci38otocoH;dest1ncil,r9t1;cen3Gsp3H;nAr2Rte9;!nt;el2Rop3;bj3DcApia2rde1thers,ve9wn0;n,rview;cu9e0F;pi0;aAit24ot9umb0;a25hi8;n29rra7;aFeEiDoAu9é0G;m0Sr1;mAnopo3pQrni8sq1Pt9u13;h0i35;!my;li0Wn09;d5nu,t1;mm1nAte9yf3;ri1;!d10;aurea2iAu9;ddi2nch;ght bulb,p0C;ey9ittL;!no2;cAdices,itia7se6te4vert9;eb1L;en7ide4;aJeaFighDo9uman right,ygie10;le,meAsp1Jtb9;ed;! r9;un; scho12ri9;se;dAv9;en; start,pho9;ne;m,ndful,ze;aHeFirl1KlaQoErAu9;l3y;an9enadi0id;a16d9; slam,fa9mo9;th0;d,lf0;lat0Dntlem9;an;df3r9;l5n1D;aHeGiElDol3rAun9;er1;ee market,iAon9;ti0;e16ga2;ame,ow0u2;nan9ref3;ci0;lla,t14;br5mi3n0Uth0;conoEffDgg,lecto0MnCs1Xth5venBxAyel9;id;ampTempl0Ite4;i8t;er1K;e6i1J;my;adKeGiDoAr9u0P;agonf3i0;cAg1Fi3or,ssi0wn9;si0M;to0BumenB;ale6gniAnn0s9vide0O;conte4incen7tri6;ta0A;aBc1fAni1te9;c7rre4;ault 05err1;th;!dy;aXeVhOiNlLoDr9;edit cBit5uc9;ib9;le;ard;efficFke,lDmmuniqNnBpi0rr1t11u9yo2;ri0s9;in;ne6s9;ervatoVuI;ic,lQum9;ni0L;ie4;er9ie4;gy,ic;ty,vil wL;aDeqCocoBr9;istmas car9ysanthemum;ol;la2;ue;ndeli0racter9;ist5;ili8llDr9;e1tifica2;hi0naFpErCshi0t9ucus;erpi9hedr1;ll9;ar;bohyd9ri0;ra2;it1;ry;aPeOiMlemLoHrDu9;ddhiYnBr9tterf3;glar9i1;!y;ny;eakBiAo9;!th0;de;faRthroC;dy,g,roBwl,y9;!frie9;nd;ugh;ish;cyc9oH;liK;an,l3;nki8r9;!ri0;er;ng;cTdNllLnIppeti2rray,sFtBu9;nt,to9;psy;hAt5;ic;ie9le2;st;ce4pe6;ct;nt;ecAoma3tiA;ly;do2;er9y;gy; hominDjAvan9;tage;ec7;ti9;ve;em;cru1eAqui9;tt1;ta2;te;al",
"Preposition": "true¦'o,-,aLbIcHdGexcept,fFinEmid,notwithstandiRoCpSqua,sBt7u4v2w0;/o,hereNith0;!in,oR;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h0ill,owards;an,r0;ough0u;!oI;ans,ince,o that;',f0n1ut;!f;!to;or,rom;espite,own,u3;hez,irca;ar1e0oAy;sides,tween;ri6;',bo7cross,ft6lo5m3propos,round,s1t0;!op;! long 0;as;id0ong0;!st;ng;er;ut",
"Singular": "true¦0:4I;1:59;2:58;3:4V;4:4T;5:4O;6:4S;7:52;8:4J;a4Sb47c3Ad2Xe2Qf2Gg25h1Tin1Qjel3k1Ol1Km1An17o13p0Mqu0Lr0CsTtJuGvCw9;a9ha3Com2C;f0i4Wt0Dy9;! arou4F;arn4GeAo9;cabula41l53;gKr9;di6t1K;nc35p2SrAs 9;do3Ss56;bani2in1; rex,aHeGhi8iEoDrBuAv9;! show;m2Jn5rntIto15;agedy,ib9o45;e,u2P;p5rq3E;c,de,er,m9;etD;am,mp3A;ct5le4x return;aQcOeNhMi2kKoJtEuBy9;ll9n28st4Q;ab2Q;bAnri1Bper bowl,r9;f0roga2;st3Etot1;aCepBipe3Ro1CrAudent9;! lo1L;ang0i8;fa1Gmo1G;ff0t31;loi42meo17;elet14i9;er,ll,rm3M;ack,or49;ab0Vcurity gu2E;e4ho9;l30ol;la33ndwi0J;av0XeChetor5iAo9;de4om;te,v9;erb0O;bCcBf9publ5r0Pspi2;er9orm0;e4r1;it1ord label;a2u42;estion mark,ot29;aMeKhJiHlFort1rAu9yram1D;ddi8ppy,rpo0K;eCie3Io9;bl3Vs9;pe6t9;a2itu2;diction,mi0Froga7ss relea0F;a9ebisci2;q28te,y0;cn5e9g;!r;armaci39otocoH;dest1ncil,r9t1;cen3Hsp3I;nAr2Ste9;!nt;el2Sop3;bj3EcApia2rde1thers,ve9wn0;n,rview;cu9e0G;pi0;aAit25ot9umb0;a26hi8;n2Arra7;aFeEiDoAu9é0H;m0Tr1;mAnopo3pRrni8sq1Qt9u14;h0i36;!my;li0Xn0A;d5nu,t1;mm1nAte9yf3;ri1;!d11;aurea2iBu9;ddi2n9;ch;ght bulb,p0C;ey9ittL;!no2;cAdices,itia7se6te4vert9;eb1L;en7ide4;aJeaFighDo9uman right,ygie10;le,meAsp1Jtb9;ed;! r9;un; scho12ri9;se;dAv9;en; start,pho9;ne;m,ndful,ze;aHeFirl1KlaQoErAu9;l3y;an9enadi0id;a16d9; slam,fa9mo9;th0;d,lf0;lat0Dntlem9;an;df3r9;l5n1D;aHeGiElDol3rAun9;er1;ee market,iAon9;ti0;e16ga2;ame,ow0u2;nan9ref3;ci0;lla,t14;br5mi3n0Uth0;conoEffDgg,lecto0MnCs1Xth5venBxAyel9;id;ampTempl0Ite4;i8t;er1K;e6i1J;my;adKeGiDoAr9u0P;agonf3i0;cAg1Fi3or,ssi0wn9;si0M;to0BumenB;ale6gniAnn0s9vide0O;conte4incen7tri6;ta0A;aBc1fAni1te9;c7rre4;ault 05err1;th;!dy;aXeVhOiNlLoDr9;edit cBit5uc9;ib9;le;ard;efficFke,lDmmuniqNnBpi0rr1t11u9yo2;ri0s9;in;ne6s9;ervatoVuI;ic,lQum9;ni0L;ie4;er9ie4;gy,ic;ty,vil wL;aDeqCocoBr9;istmas car9ysanthemum;ol;la2;ue;ndeli0racter9;ist5;ili8llDr9;e1tifica2;hi0naFpErCshi0t9ucus;erpi9hedr1;ll9;ar;bohyd9ri0;ra2;it1;ry;aPeOiMlemLoHrDu9;ddhiYnBr9tterf3;glar9i1;!y;ny;eakBiAo9;!th0;de;faRthroC;dy,g,roBwl,y9;!frie9;nd;ugh;ish;cyc9oH;liK;an,l3;nki8r9;!ri0;er;ng;cTdNllLnIppeti2rray,sFtBu9;nt,to9;psy;hAt5;ic;ie9le2;st;ce4pe6;ct;nt;ecAoma3tiA;ly;do2;er9y;gy; hominDjAvan9;tage;ec7;ti9;ve;em;cru1eAqui9;tt1;ta2;te;al",
"Preposition": "true¦-,aMbJcIdHexcept,fFinEmid,notwithstandiSoCpTqua,sBt7u4v2w0;/o,hereOith0;! whEin,oS;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h0ill,owards;an,r0;ough0u;!oJ;ans,ince,o that,uch D;f0n1ut;!f;!to;or,r0;om;espite,own,u3;hez,irca;ar1e0oAy;sides,tween;ri6;bo7cross,ft6lo5m3propos,round,s1t0;!op;! long 0;as;id0ong0;!st;ng;er;ut",
"SportsTeam": "true¦0:1A;1:1H;2:1G;a1Eb16c0Td0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Bm01newToQpJqueens parkIreal salt lake,sAt5utah jazz,vancouver whitecaps,w3yW;ashington 3est ham0Rh10;natio1Oredski2wizar0W;ampa bay 6e5o3;ronto 3ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasC;buccanee0ra0K;a7eattle 5heffield0Kporting kansas0Wt3;. louis 3oke0V;c1Frams;marine0s3;eah15ounG;cramento Rn 3;antonio spu0diego 3francisco gJjose earthquak1;char08paA; ran07;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat1steele0;il3oenix su2;adelphia 3li1;eagl1philNunE;dr1;akland 3klahoma city thunder,rlando magic;athle0Mrai3;de0; 3castle01;england 7orleans 6york 3;city fc,g4je0FknXme0Fred bul0Yy3;anke1;ian0D;pelica2sain0C;patrio0Brevolut3;ion;anchester Be9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Fvi3;kings;imberwolv1wi2;rewe0uc0K;dolphi2heat,marli2;mphis grizz3ts;li1;cXu08;a4eicesterVos angeles 3;clippe0dodDla9; galaxy,ke0;ansas city 3nE;chiefs,roya0E; pace0polis colU;astr06dynamo,rockeTtexa2;olden state warrio0reen bay pac3;ke0;.c.Aallas 7e3i05od5;nver 5troit 3;lio2pisto2ti3;ge0;broncZnuggeM;cowbo4maver3;ic00;ys; uQ;arCelKh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki1;brow2cavalie0india2;bengaWre3;ds;arlotte horAicago 3;b4cubs,fire,wh3;iteB;ea0ulR;diff3olina panthe0; c3;ity;altimore 9lackburn rove0oston 5rooklyn 3uffalo bilN;ne3;ts;cel4red3; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 3;brav1falco2h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls",
"Uncountable": "true¦0:2S;1:1Z;2:27;a2Gb27c1Xd1Oe1Gf1Ag13h0Wi0Pj0Ok0Nl0Im08n06o05pZrUsIt9v7w3;a5i4oo3;d,l;ldlife,ne;rm8t2;ernacul1Ui3;neg1Tol0Otae;eAh9oothpas1Nr4un3yranny;a,gst1V;aff29ea18o4ue nor3;th;oZu3;ble3se1Ft;!shoot1X;ermod2Cund2;a,nnis;aCcene0JeBhAil9ki8o7p6t4u3weepstak1;g1Inshi12;ati02e3;am,el;ace24eci1;ap,cc2;n,ttl1;k,v2;eep,ingl1;na15ri1;d0Ofe1Wl3nd,t0C;m1Lt;a6e4ic3;e,ke0W;c3laxa0Tsearch;ogni0Srea0S;bi1in;aWe7hys0last1Lo5re3;amble,mis1s3ten1L;en1Ksu0D;l3rk;it0yC;a1Ptr07;bstetr0vercrowd17xyg10;a3ews;il polXtional securi1H;aAe8o5u3;m3s1B;ps;n3o1A;ey,o3;gamy;a3chan0rchandi17tallurgy;sl1t;chine3themat0; learn0Vry;aught2e6i5ogi4u3;ck,g0X;c,st0;ce,ghtn0Rngui1AteraSv2;ath2isuSss;ara09indergart0Inowled0U;azz,ewelD;ce,gnor8mp5n3;formaZter3;net,sta05;a3ort5;ti3;en0Z;an0Y;a6eIisto5o3;ckey,mework,ne3rserad7spitali0R;s0Qy;ry;ir,libYppiGs3;h3te;ish;ene6l5o4r3um,ymna0S;aDeed;lf,re;utZyce0D; 3t0;edit04po3;ol;aMicFlour,o5urni3;tu3;re;od,rgive3uri2wl;ne3;ss;conom0duca9lectr8n6quip7th0very4xper3;ti04;body,o3thU;ne;joy3tertain3;ment;ici02on0;tiR;e9i6o4raugh3ynas00;ts;pe,wnstai3;rs;abet1s3;honUrepu3;te;b3miQ;ut;aBelciAh7iv0l5o3urrency;al,ld w3nfusiGral,ttGusco9;ar;ass0oth1;es;aos,e4ick3;en;eHw8;us;d,rJ;a8eef,i6lood,read,u3;nt4tt2;er;ing;lliarEs3;on;g3ss;ga3;ge;cEdviDeroBirAm6ni5ppeal court,rithmet4spi3thlet0;rin;ic;se;en5n3;es3;ty;ds;craft;b0d3naut0;ynam0;ce;id,ou3;st0;ics",
"Uncountable": "true¦0:2T;1:20;a2Gb27c1Xd1Oe1Gf1Ag13h0Wi0Pj0Ok0Nl0Im08n06o05pZrUsIt8v6w2;a4i3oo2;d,l;ldlife,ne;rm7t25;ernacul1Ui2;neg1Tol0Otae;eAh8oothpas1Nr3un2yranny;a,gst1V;aff29ea18o3ue nor2;th;oZu2;ble2se1Ft;!shoot1X;er2und1V;e,mod2B;a,nnis;aBcene0IeAh9il8ki7o6p5t3u2weepstak1;g1Hnshi11;ati01e2;am,el;ace23eci1;ap,cc1N;n,ttl1;k,v1L;eep,ingl1;na14ri1;d0Nfe1Vl2nd,t0B;m1Kt;a5e3ic2;e,ke0V;c2laxa0Ssearch;ogni0Rrea0R;bi1in;aVe6hys0last1Ko4re2;amble,mis1s2ten1K;en1Jsu0C;l2rk;it0yB;a1Otr06;bstetr0vercrowd16xyg0Z;a2ews;il polWtional securi1G;a9e7o4u2;m2s1A;ps;n2o19;ey,o2;gamy;a2chan0rchandi16tallurgy;sl1t;chine2themat0; learn0Ury;aught0Se5i4ogi3u2;ck,g0W;c,st0;ce,ghtn0Qngui19teraRv0P;ath0OisuRss;ara08indergart0Hnowled0T;azz,ewelC;ce,gnor7mp4n2;formaYter2;net,sta04;a2ort4;ti2;en0Y;an0X;a5eHisto4o2;ckey,mework,ne2rserad6spitali0Q;s0Py;ry;ir,libXppiFs2;h2te;ish;ene5l4o3r2um,ymna0R;aCeed;lf,re;utYyce0C; 2t0;edit03po2;ol;aLicElour,o4urni2;tu2;re;od,rgive2uriXwl;ne2;ss;conom0duca8lectr7n5quip6th0very3xper2;ti03;body,o2thT;ne;joy2tertain2;ment;ici01on0;tiQ;e8i5o3raugh2ynasZ;ts;pe,wnstai2;rs;abet1s2;honTrepu2;te;b2miP;ut;aAelci9h6iv0l4o2urrency;al,ld w2nfusiFral,ttFusco8;ar;ass0oth1;es;aos,e3ick2;en;eGw7;us;d,rI;a7eef,i5lood,read,u2;nt3tt2;er;ing;lliarDs2;on;g2ss;ga2;ge;cDdviCeroAir9m5ni4ppeal court,rithmet3spi2thlet0;rin;ic;se;en4n2;es2;ty;ds;craft;b0d2naut0;ynam0;ce;id,ou2;st0;ics",
"Person|Noun": "true¦a04bYcVdOeMfLgJhGjCkitXlBm9olive,p6r3s2triniXv0wang;an,enus,iol0;a,et;ky,on5umm00;ay,e1o0uby;bin,d,se;ed,x;atNe0ol;aFn0;ny;a0eloQ;x,ya;a8eo,iD;a2e1o0;lDy;an,w3;de,smi4y;a0iKol8;ll,z0;el;ail,e0;ne;aith,ern,lo;a0dDmir,ula,ve;rl;a4e3i1ol0;ly;ck,x0;ie;an,ja;i0wn;sy;h0liff,rystal;ari0in,ristian;ty;ak4e3i2r0;an0ook;dy;ll;nedict,rg;er;l0rt;fredo,ma",

@@ -54,14 +55,13 @@ "Noun|Gerund": "true¦0:25;1:24;2:1V;3:1H;4:1X;5:1N;a24b1Nc1Bd16en14f0Yg0Wh0Ti0Rjog1Zk0Pl0Lm0In0Go0Cp05ques08rWsGtBunderAvolunt15w6yDzo2;a8ed5i3or7r6;ap1Nest1Bi1;ki0r1N;i1r2s1Ttc1T;st1Mta4;al4e9hin4i8ra6y1J;c4di0i2v6;el15;mi0p1G;a1Xs1;ai12cIeHhFin1OkatDlZmo4nowCpeBt9u7w6;ea3im1T;f02r6;fi0vi0J;a1Kretc1Iu6;d1AfJ;l0Wn5;b7i0;eb6i0;oar5;ip14o6;rte2u1;a1r0At1;h7o3re6;a1Ge2;edu0Noo0N;aDe9i5o7u6;li0n2;o6wi0;fi0;a8c7hear1Cnde3por1struct6;r1Au3;or5yc0G;di0so2;p0Qti0;aBeacekAla9o7r6ublis0X;a0Peten5in1oces16;iso2si6;tio2;n2yi0;ee0K;cka0Tin1rt0K;f8pe7rgani6vula1;si0zi0;ni0ra1;fe3;e6ur0W;gotia1twor4;a7e6i2onito3;e1ssa0L;nufactu3rke1;a8ea7i6od0Jyi0;cen0Qf1s1;r2si0;n5ug0E;i6n0J;c4lS;ci0magi2n6ro2;nova1terac1;andPea1i7o6un1;l5wO;ki0ri0;athe3rie6ui5;vi0;ar0CenHi8l7or6ros1un5;ecas1mat1;ir1oo5;l7n6;anDdi0;i0li0;di0gin6;ee3;a8eba1irec1oub1r6umO;awi0es05i6;n4vi0;n6ti0;ci0;aFelebra1hDlBo8r6ur7;aw6os00;li0;a7di0lo3mplai2n6o4pi0ve3;duc1sul1;cMti0;apDea3imIo6ubI;ni0tK;a6ee3;n1t1;m9s1te3;ri0;aJeGitElDoBr9u6;il5ll7r6;pi0;yi0;an5;di0;a1m6o4;bi0;esHoa1;c6i0;hi0;gin2lon6t1;gi0;ni0;bys7c4ki0;ki0;it1;c9dverti8gi0rg7ssu6;mi0;ui0;si0;coun1ti0;ti0;ng",

"Person": "true¦ashton kutchUbTcOdMeKgastPhIinez,jHkGleFmDnettLoCpAr5s4t2va1w0;arrDoode;lentino rossi,n go4;a0heresa may,iger woods,yra banks;tum,ylor;addam hussain,carlett johanssKlobodan milosevic;ay romano,e3o1ush limbau0;gh;d stewart,nald0;inho,o;ese witherspoFilly;a0ipJ;lmIris hiltD;prah winfrFra;essia0itt romnEubarek;en;bron james,e;anye west,endall,iefer sutherland,obe bryant;aime,effers7k rowling;a0itlBulk hogan;lle berry,rris5;ff0meril lagasse,zekiel;ie;a0enzel washingt2ick wolf;lt1nte;ar1lint0;on;dinal wols1son0;! palm2;ey;arack obama,rock;er",
"Adjective": "true¦0:97;1:83;2:80;3:8Y;4:8S;5:6G;6:84;7:88;8:8T;9:8F;A:5Y;a7Pb79c6Rd69e5Rf59g51h4Qi3Sjuni45k3Ql3Fm33n2To2Ep1Wquart65r1Ls0Rt0JuMvIwBye1J;ast55eFholeEiDoB;man5oBrthwhi6u0F;d7Kzy;despr8Hs6G;!sa6;ather13eBll o5Kste2Q;!k5;aDeCiBola5E;b97ce versa,gi2Q;ng4Wrsa5C;ca0lu55;lt06nHpDrCsBttermo8Z;ef78u4;b69ge0; Db2ApCsBti36;ca6et,ide dO;er,i4M;f3Uto da3;aWbecom2cVdPeOfNiMknLmKpJrGsCtoFus1wB;a06iel4F;e72i2FoDpCuB;pervis1spect2;e0ok70;ld;eBu5;cognQgul0LlBsolv1;at1ent2;a9recedeY;arri1et;own;que,vers4;air,orese6R;mploy1nd2xpect1;eBue;cid1rB;!a6UcovAly2sDwB;aBei2K;tAy;iz1to44;heck1onvinc2;ppeal2ssum2tteCuthorB;iz1;nd1;i3Hra;aGeDhough5Bip 1PoCrB;anspa71i3;gethAle85rp9;ena6ImpCrB;r3Gtia6S;e8o6Q;leBst3R;nt1;a03c01eZhYiWkiVmug,nobb40oPpMqueam40tGuBymb72;bDi generis,pBr5;erBre1O;! dupAb,viX;du1sBurb52;eq75tanda7R;atu6CeFi0UrByl3U;aBin4F;ightBy; fBfB;or60;adfa7Jri6;arCeBirit1lend9ot on;c2Ze35;k5se; caGlub6mbAphisticFrEuCvB;erei5Liet;ndBth0X;pro6H;d9ry;at1;ll1;g1XnB;ce5Ag6;am31eA;at1co1Iem5lf3BnBre7;so5Y;ath2holBient2L;ar5;cr1me,tisfac5P;aJeEheumato9iCoB;bu6Ztt5By4;ghtBv4;-w2f57;bYcEdu6QlDnown1sBtard1;is3EoB;lu3na0;e1Cuc3C;e0ondi3;b9ciB;al,st;aNeLicayu7laKopuli6PrCuB;bl5Xnjabi;eGiEoB;!b2RfCmi3DpBv4Yxi20;er,ort62;a7u65;maBor,sti7va3;!ry;ci62exist2mBpa9;a1Pi65;c9id;ac29rBti3;fe69ma34ti34v5X;i29rCsB;s5St;allCtB;-ti05i4;el;bMffKkJld InGrFthAutEverB;!aCni0Gseas,t,wB;ei0Frou0F;ll;do0Xer;d2Wg1N; bBbBgo2li7;oa62;fashion1school;!ay; gua5ZbBli7;eat;eCsB;ce7er0Do0S;dia0se;aJeIiHoBuanc1;nDrthBt1W;!eB;rn;chaCdescri5Nprof2AsB;top;la0;ght5;arby,cessa4Eighbor5xt;k1usiat2;aIeHinGoCuB;d15ltip6;deDl14nBot,st;ochroBth5;me;rn,st;dblSi;nac2re;cDgenta,in,j04keshift,mmCnBscu4G;da3Xy;ali2Koth;ab3Aho;aKeHiEoCuB;mber2sh;ngBut1A;stand2term;ghtweiCteraB;l,te;ght;ft-w2gBssAth4;al,eBi0B;nda3R;ngu9ps1st;aput,ind5nB;ow2;gno4Yll03mVnDpso 26rB;a3releB;va0; QaPcoMdJe2BfIhibi3EiWnHoGsDtBvalu0V;a4LeB;n49rdep1V;a7igColBuboD;ub6ve0;nifica0;rdi42;a3er;eriCluenOreq3Y;eCiEoB;or;fini3p1Mtermi3X;mpCnside8rB;re49;le3;ccu8deq3Yppr38;fBsitu,vitro;ro0;mFpB;arDeCl0SoBropA;li3r0P;nd2rfe41;ti4;aCeBi0U;d30n3N;tu24;egCiB;c0Lte8;al,iB;tiB;ma3;aIelHiFoCumB;a7dr3J;me ma2DnCrrBs04ur5;if31;e3Ro2K;ghfalut1MspB;an2Y;lUpf1Y;lCnBrdZtI;dy;f,low1;aiHener2Tiga27lob4oGraDuB;ilBng ho;ty;cCtB;ef1Qis;ef1P;od;nf1N;aPeMinLlJoErB;aCeBoz1N;q2Qtf1K;gi6nt2I;olErB; keeps,eBge0GmAtu2Pwa39;go2i1DseeB;ab6;ish;ag38uB;e0oresce0;al,i3;dCmini7rB;ti6; up;bl1i0l2Imiliar,r Bux;oBreach2;ff;aPfficie0lNmKnIqu4re2Qthere4veHxB;a2Pem2SplEquisi3traDuB;be2XlB;ta0;!va1I;icB;it;n,ryday; Bti0P;rou3sui3;erCiB;ne0;ge0;dBe19;er5;gAsB;t,ygo2;er;aQeHiCoBrea16ue;mina0ne,rma0ubK;dact1Jfficult,m,sCverB;ge0se;creCeJjoi0pa8tB;a0in23;et,te; IadpHceGfiFgene8liDpCreli21spe8voB;id,ut;ende0;ca3ghB;tf0B;a0ni3;as1;an;facto;i5ngeroY;ly;arRePivil,oErCuB;nn2stoma0N;aBu0Jystal0Y;v03z1;erKgniza0loJmInDrCveB;rt;po8ru1N;cEduHgr13jDsCtraB;dic0Ary;eq11ta0;oi0ug4;a0Vi14;mensu8pass0Z;ni4ss4;ci0S;leba3rtaB;in;diac,efN;aNeGizarFliLoDrBuck nak1;and new,isk,oB;kMn1E;gBldface,na fiT;us;re;autifGhiFloEnCsByoF;iPt;eUiBt;gn;v1w;nd;ul;ckCnkru0YrrB;en;!wards; priori,b0Pc0Md0Ff09g07h06l00mp6ntiquXpRrLsleep,ttracti08uHvEwB;aCkB;wa0W;ke,re;ant garCeraB;ge;de;diDtB;heBoimmu7;ntW;toG;bitEchiv4roDtiB;fiB;ci4;ga0;raB;ry;pBt;aEetiz2rB;oprB;ia3;ing;re0;at1e;ed;le;cohEiIkaCl,oBterO;of;li7;ne;olB;ic;ead;ainZed,gressiB;ve;fCra9;id;ectClB;ue0;ioB;na3; FeDvB;erB;se;pt,qB;ua3;hoc,infinitB;um;cu8tu4u3;al;ra3;erMlKoIrFsCuB;nda0;e0olu3traB;ct;te;eaCuB;pt;st;aBve;rd;aBe;ze;ra0;nt",
"Adjective": "true¦0:95;1:80;2:7X;3:8W;4:8Q;5:6E;6:81;7:86;8:8R;9:8D;A:5W;a7Mb77c6Pd67e5Qf58g50h4Pi3Rjuni44k3Pl3Fm33n2To2Ep1Wquart63r1Ls0Rt0JuMvIwBye1J;ast54eFholeEiDoB;man5oBrthwhi6u0F;d7Hzy;despr8Fs6E;!sa6;ather13eBll o5Jste2Q;!k5;aDeCiBola5D;b95ce versa,gi2Q;ng4Vrsa5B;ca0lu54;lt06nHpDrCsBttermo8X;ef75u4;b67ge0; Db2ApCsBti7Y;ca6et,ide dO;er,i4L;f3Tto da3;aWbecom2cVdPeOfNiMknLmKpJrGsCtoFus1wB;a06iel4E;e6Zi2FoDpCuB;pervis1spect2;e0ok6X;ld;eBu5;cognQgul0LlBsolv1;at1ent2;a9recedeY;arri1et;own;que,vers4;air,orese6O;mploy1nd2xpect1;eBue;cid1rB;!a6RcovAly2sDwB;aBei7C;tAy;iz1to43;heck1onvinc2;ppeal2ssum2tteCuthorB;iz1;nd1;i3Gra;aGeDhough59ip 1PoCrB;anspa6Yi3;gethAle83rp9;ena6FmpCrB;r3Ftia6P;e8o6N;leBst3Q;nt1;a03c01eZhYiWkiVmug,nobb3ZoPpMqueam3ZtGuBymb70;bDi generis,pBr5;erBre1O;! dupAb,viX;du1sBurb50;eq73tanda7P;atu69eFi0UrByl3T;aBin4D;ightBy; fBfB;or5X;adfa7Hri6;arCeBirit1lend9ot on;c2Ye34;k5se; caGlub6mbAphisticFrEuCvB;erei5Iiet;ndBth0X;pro6F;d9ry;at1;ll1;g1WnB;ce57g6;am30eA;at1co1Hem5lf3AnBre7;so5V;ath2holBient2K;ar5;cr1me,tisfac5M;aJeEheumato9iCoB;bu6Xtt58y4;ghtBv4;-w2f54;bYcEdu6OlDnown1sBtard1;is3DoB;lu3na0;e1Buc3B;e0ondi3;b9ciB;al,st;aNeLicayu7laKopuli6NrCuB;bl5Vnjabi;eGiEoB;!b2QfCmi3BpBv4Vxi1Z;er,ort60;a7u63;maBor,sti7va3;!ry;ci60exist2mBpa9;a1Oi63;c9id;ac28rBti3;fe67ma32ti32v5V;i28rCsB;s5Qt;allCtB;-ti05i4;el;bMffKkJld InGrFthAutEverB;!aCni58seas,t,wB;ei57rou57;ll;do0Wer;d2Ug1M; bBbBgo2li7;oa60;fashion1school;!ay; gua5XbBli7;eat;eCsB;ce7er0Co0R;dia0se;aJeIiHoBuanc1;nDrthBt1V;!eB;rn;chaCdescri5Lprof29sB;top;la0;ght5;arby,cessa4Bighbor5xt;k1usiat2;aIeHinGoCuB;d14ltip6;deDl13nBot,st;ochroBth5;me;rn,st;dblRi;nac2re;cDgenta,in,j03keshift,mmCnBscu4E;da3Uy;ali2Ioth;ab37ho;aJeGiEoCuB;mber2sh;ngBut19;stand2term;ghtwei44teraB;l,te;ft-w2gBssAth4;al,eBi0B;nda3P;ngu9ps1st;aput,ind5nB;ow2;gno4Xll03mVnDpso 25rB;a3releB;va0; QaPcoMdJe2AfIhibi3CiWnHoGsDtBvalu0V;a4KeB;n48rdep1U;a7igColBuboD;ub6ve0;nifica0;rdi41;a3er;eriCluenOreq3X;eCiEoB;or;fini3p1Ltermi3W;mpCnside8rB;re48;le3;ccu8deq3Xppr36;fBsitu,vitro;ro0;mFpB;arDeCl0SoBropA;li3r0P;nd2rfe40;ti4;aCeBi0T;d2Yn3M;tu22;egCiB;c0Lte8;al,iB;tiB;ma3;aIelHiFoCumB;a7dr3I;me ma2BnCrrBs04ur5;if30;e3Qo2I;ghfalut1LspB;an2X;lUpf1W;lCnBrdZtI;dy;f,low1;aiHener2Siga25lob4oGraDuB;ilBng ho;ty;cCtB;ef1Ois;ef1N;od;nf1L;aPeMinLlJoErB;aCeBoz1L;q2Ptf1I;gi6nt2H;olErB; keeps,eBge0FmAtu2Owa38;go2i1BseeB;ab6;ish;ag37uB;e0oresce0;al,i3;dCmini7rB;ti6; up;bl1i0l2Hmiliar,r Bux;oBreach2;ff;aOfficie0lMmJnHqu4re2Pthere4veryday,xB;a2Oem2RplEquisi3traDuB;be2WlB;ta0;!va1G;icB;it; Bti0O;rou3sui3;erCiB;ne0;ge0;dBe18;er5;gAsB;t,ygo2;er;aQeHiCoBrea15ue;mina0ne,rma0ubK;dact1Jfficult,m,sCverB;ge0se;creCeJjoi0pa8tB;a0in23;et,te; IadpHceGfiFgene8liDpCreli21spe8voB;id,ut;ende0;ca3ghB;tf0A;a0ni3;as1;an;facto;i5ngeroX;ly;arRePivil,oErCuB;nn2stoma0M;aBu0Iystal0Y;v02z1;erKgniza0loJmInDrCveB;rt;po8ru1N;cEduHgr13jDsCtraB;dic09ry;eq11ta0;oi0ug4;a0Vi14;mensu8pass0Z;ni4ss4;ci0S;leba3rtaB;in;diac,efM;aMeFizarEliKoCrBuck nak1;and new,isk,on1F;gBldface,na fiT;us;re;autifGhiFloEnCsByoF;iPt;eUiBt;gn;v1w;nd;ul;ckCnkru0ZrrB;en;!wards; priori,b0Qc0Nd0Gf0Ag08h07l00mp6ntiquXpRrLsleep,ttracti09uHvEwB;aCkB;wa0X;ke,re;ant garCeraB;ge;de;diDtB;heBoimmu7;ntX;toG;bitEchiv4roDtiB;fiB;ci4;ga0;raB;ry;pBt;aEetiz2rB;oprB;ia3;ing;re0;at1e;ed;le;cohFiJkaDl,oCriBterP;ght;of;li7;ne;olB;ic;ead;ainZed,gressiB;ve;fCra9;id;ectClB;ue0;ioB;na3; FeDvB;erB;se;pt,qB;ua3;hoc,infinitB;um;cu8tu4u3;al;ra3;erMlKoIrFsCuB;nda0;e0olu3traB;ct;te;eaCuB;pt;st;aBve;rd;aBe;ze;ra0;nt",
"Adj|Past": "true¦0:2V;1:2M;2:2P;a2Eb29c1Rd19e13f0Ygift0h0Vi0Oj0Nknown,l0Km0Fn0Do0Ap03qua02rTsDt9u7v5w3;arp0ea3or5;kHth2O;a3e0U;ri0;ni3pd1s0;fi0t0;ar5hreatCr3wi2N;a3ou18;ck0in0pp0;get0ni1L;aGcaFeEhDimCm00oak0pAt6u3;bsid24gge2Is3;pe3ta1P;ct0nd0;at0e5r3uU;ength3ip0;en0;am0reotyp0;eci3ik0ott0;al1Wfi0;pHul1;ar0ut;al0c1Gle2t1O;r0tt22;t3ut0;is1Hur1;aAe3;c7duc0f1Ag6l1new0qu5s3;pe2t3;or0ri2;e1Zir0;ist1Uul1;eiv0o3;mme09rd0v1S;lli0ti18;li17;arallel0l7o6r3ump0;e4o3;ce0Ilo0Hnou1Qpos0te2;fe0Koc8pY;i1Dli0Q;a3e16;nn0;c4rgan18verlo3;ok0;cupi0;e3ot0;ed0gle2;a5e4ix0o3;di0Tt0F;as0Olt0;n3rk0;ag0ufact0M;eft,i4o3;ad0st;cens0mit0st0;agg0us0L;mp8n3sol1;br0debt0f6t3volv0;e3ox0D;gr1n3re15;d0si0H;e2oW;li0oLrov0;amm0Xe1o3;ok0r3;ri0C;aNe6i5lavo07ocus0r3;a3i0;ct05g0Jm0;niWx0;ar0;duc1mbarraKn7quipp0stabliUx3;p3te5;a4e3;ct0rie0P;nd0;ha0NsX;aIeAi3;gniZminiNre2s3;a7c5grun02t3;o3reBurb0;rt0;iplQou3;nt0rD;bl0;cenTdMf7lay0pre6ra5t3velop0;a3ermM;il0;ng0;ss0;e4o3;rm0;rr0;m3t0;ag0;alcul1eGharg0lFo8r5u3;lt3stomQ;iv1;a4owd0u3;sh0;ck0mp0;d0lo8m5n3ok0vV;centr1s3troll0;idTolid1;b4pl3;ic1;in0;ur0;assi5os0;lebr1n5r3;ti3;fi0;tralA;a6i5o3roken,urn0;il0r0t3und;tl0;as0;k0laIs0;bandon0cJdGffe2lDnBpp9ss7u3ward0;g4thor3;iz0;me3;nt0;o5u3;m0r0;li0re3;ci1;im1ticip1;at0;leg0t3;er0;ct0;ju4o6va3;nc0;st0;ce3knowledg0;pt0;ed",
"Determiner": "true¦aBboth,d9e6few,l4mu8neiDplenty,s3th2various,wh0;at0ich0;evC;at,e4is,ose;everal,ome;a,e0;!ast,s;a1i6l0very;!se;ch;e0u;!s;!n0;!o0y;th0;er",
"Adverb": "true¦a09b05d01eXfRhPinOjustNkinda,likewi00mLnIoDpBquite,r8s4t1up0very,well; to,wards5;h1iny bit,o0wiO;o,t6w05;en,us;eldom,o0uch;!me1rt0; of;hZtimes,w0B;a1e0;alT;ndomSthN;ar excellDer0oint blank; Nhaps;f3n0;ce0ly;! 0;ag04moY; courIten;ewKo0; longEt 0;onIwithstanding;aybe,eanwhiAore0;!ovB;! aboW;deed,steX;en0;ce;or2u0;lArther0;!moL; 0ev3;examp0good,suJ;le;n1v0;er; mas0ough;se;e0irect1; 1finite0;ly;juAtrop;ackw2y 0;far,n0;ow;ard; DbroCd nauseam,gBl6ny3part,s2t 0w4;be6l0mo6wor6;arge,ea5; soon,ide;mo1w0;ay;re;l 1mo0one,ready,so,ways;st;b1t0;hat;ut;ain;ad;lot,posteriori",
"Conjunction": "true¦aDb9cuz,how7in caCno6o5p4supposing,t1wh0yet;eth7ile;h0o;eref8o0;!uB;lus,rovided that;r,therwi6; matt1r;!ev0;er;e0ut;cau1f0;ore;se;lthou1nd,s 0;far as,if;gh",
"Currency": "true¦$,aud,bQcOdJeurIfHgbp,hkd,iGjpy,kElDp8r7s3usd,x2y1z0¢,£,¥,ден,лв,руб,฿,₡,₨,€,₭,﷼;lotyQł;en,uanP;af,of;h0t5;e0il5;k0q0;elK;oubleJp,upeeJ;e2ound st0;er0;lingG;n0soF;ceEnies;empi7i7;n,r0wanzaCyatC;!onaBw;ls,nr;ori7ranc9;!os;en3i2kk,o0;b0ll2;ra5;me4n0rham4;ar3;e0ny;nt1;aht,itcoin0;!s",
"Adj|Present": "true¦a00bluZcRdMeKfHhollGidNlEmCnarrGoBp9qua8r7s4t2utt3w0;aIet,ound,ro0;ng,ug01;end0hin,op;er;e1l0mooth,our,pa8u8;i2ow;cu6daVlNpaJ;eplicaUigV;ck;aDr0;eseOime,ompt;bscu1pen,wn;atu0eLodeD;re;ay,eJi0;gNve;ow;i1r0;ee,inge;rm;l0mpty,xpress;abo4ic7;amp,e2i1oub0ry;le;ffu8r5;fu7libe0;raB;l4o0;mple9n2ol,rr1unterfe0;it;ect;juga6sum5;e1o0;se;an;nt;lig2pproxi0;ma0;te;ht",
"Comparable": "true¦0:3B;1:3Q;2:3F;3:2D;a3Ub3Cc30d2Qe2Jf27g1Vh1Li1Fj1Ek1Bl14m0Yn0To0Sp0Jqu0Hr08sJtEuDvBw5y4za0R;el11ou3A;a8e6hi1Hi4ry;ck0Dde,l4n1ry,se;d,y;a4i3T;k,ry;nti34ry;a4erda2ulgar;gue,in,st;g0pcomi31;a7en2Thi6i5ough,r4;anqu28en1ue;dy,g36me0ny,r03;ck,rs24;ll,me,rt,wd3I;aRcarQePhNiMkin0BlImGoEpDt7u5w4;eet,ift;b4dd0Vperfi1Wrre24;sta22t3;a8e7iff,r5u4;pUr1;a4ict,o2P;ig2Wn0N;a1ep,rn;le,rk;e1Oi2Wright0;ci1Vft,l4on,re;emn,id;a4el0;ll,rt;e6i4y;g2Nm4;!y;ek,nd2T;ck,l0mp3;a4iRort,rill,y;dy,l01rp;ve0Ixy;ce,y;d,fe,int0l1Ev0U;a9e7i6o4ude;mantic,o16sy,u4;gh,nd;ch,pe,tzy;a4d,mo0A;dy,l;gg5ndom,p4re,w;id;ed;ai2i4;ck,et;hoBi1ClAo9r6u4;ny,r4;e,p3;egna2ic5o4;fouSud;ey,k0;liXor;ain,easa2;ny;dd,i0ld,ranL;aive,e6i5o4;b3isy,rm0Vsy;ce,mb3;a4w;r,t;ad,e6ild,o5u4;nda0Yte;ist,o1;a5ek,l4;low;s0ty;a8ewd,i7o4ucky;f0Gn5o12u4ve0w0Wy0K;d,sy;e0g;ke0tt3ve0;me,r4te;ge;e5i4;nd;en;ol0ui1B;cy,ll,n4;secu7t4;e4ima5;llege2rmedia4;te;re;aBe8i7o6u4;ge,m4ng1E;b3id;me0t;gh,l0;a4fVsita2;dy,v4;en0y;nd15ppy,r4;d,sh;aEenDhBiAl9oofy,r4;a7e6is0o4ue12;o4ss;vy;at,en,y;nd,y;ad,ib,ooE;a2d1;a4o4;st0;t3uiS;u1y;aDeeb3i9lat,o7r6u4;ll,n4r0S;!ny;aDesh,iend0;a4rmEul;my;erce5nan4;ciB;! ;le;ir,ke,n08r,st,ul4;ty;a7erie,sse5v4xtre0G;il;nti4;al;r5s4;tern,y;ly,th0;aCe9i6ru5u4;ll,mb;nk;r5vi4;ne;e,ty;a4ep,nB;d4f,r;!ly;ppVrk;aDhAl8o6r5u4;dd0r0te;isp,uel;ar4ld,mmon,st0ward0zy;se;e4ou1;ar,vO;e4il0;ap,e4;sy;gey,lm,ri4;ng;aJiHlEoCr6u4;r0sy;ly;a8i5o4;ad,wn;g5llia2;nt;ht;sh,ve;ld,un4;cy;a5o4ue;nd,o1;ck,nd;g,tt4;er;d,ld,w1;dy;bsu7ng6we4;so4;me;ry;rd",
"Infinitive": "true¦0:8U;1:8F;2:9C;3:90;4:7Z;5:7M;6:98;7:81;8:9F;9:91;A:9G;B:8W;C:7T;D:7P;E:7J;F:86;a7Zb7Dc6Nd5Fe4Df43g3Zh3Vi3Bj38k35l2Wm2Qnou3Uo2Lp24qu23r19s08tWuRvPwG;aMeLiJrG;eHiG;ng,te;ak,st4;d5e7BthG;draw,er;a2d,ep;i2ke,nGrn;d0t;aGie;li9Bni8ry;nGplift;cov0dHear7GlGplug,tie,ve82;ea8o3J;erGo;go,sta9Dval93whelm;aPeNhKoJrG;aGemb4;ffi3Emp4nsG;aCpi7;pp4ugh5;aHiHrGwaD;eat5i2;nk;aGll,m8Z;ch,se;ck4ilor,keGmp0r7K;! paD;a0Fc0Ee0Ch08i06l04m03n02o00pVquUtNuIwG;all6Ye2DiG;m,ng;bIccumb,ffHggeBmm90p2ErG;mouFvi2;er,i3;li7Xmer9siGveD;de,st;aKe7QiIrG;ang4eGi2;ng1Zw;fGnW;f5le;gg0rG;t4ve;a3Qi8;awn,eJiIlHoGri69;il,of;ay,it;ll,t;ak,nd;lGot6Jw;icEve;eak,i0K;a8ugg4;aGiA;m,y;ft,nGt;g,k;aIi5DoHriGun;nk,v5P;ot,rt5;ke,rp5tt0ve;eGll,nd,que7Iv0w;!k,m;aven9ul7W;dd5tis16y;att4eHip5oG;am,ut;a05b03c01d00fXgroup,heaWiVlTmSnRpPq2ZsLtJvG;amp,eHiGo2O;sEve;l,rt;i7rG;ie2ofE;eFiItGurfa3;aDo1UrG;a5RiCuctu7;de,gn,st;el,hra1lGreseF;a3e64;d0ew,o02;a5Me2Uo2;a6eFiGoad,y;e2nq3Eve;mbur1nf2N;r1t;inHleCocus,re8uG;el,rbi8;an3e;aCu3;ei2k7Ela3HoGyc4;gni55nci4up,v0;oot,uG;ff;ct,d,liG;se,ze;a8en5Lit,o6;aUerSiRlumm0ToQrIuG;b3Ike,ni8rGt;poDs6S;eKoG;cId,fe32hibEnoHpo1sp0truAvG;e,iAo4Q;un3;la33u7;a5Cc1MdHf0ocSsup0DvG;a5HeF;etermi40iC;a59rt4R;er3npoiF;cei2fo3Ai8mea6plex,sGvaA;eve7iB;mp0n12rGtrol,ve,y;a5Nt5J;bser2cJpIutHverGwe;lap,s14tu65u1;gr4Knu1Vpa3;era6i3Qpo1;cupy;aKe07iHoGultiply;leBu60;micHnGspla3;ce,g4us;!k;im,ke,na9;aNeJiGo1u34;e,ke,ng0quGv5;eGi63;fy;aInG;d,gG;th5;rn,ve;ng20u19;eHnG;e3Low;ep;o42uG;gg4xtaG;po1;gno7mUnG;cSdQfPgeBhOitia6ju7q0YsMtIun5PvG;eGo0N;nt,st;erHimi5MoxiOrG;odu3uA;aCn,prGru5M;et;iBpi7tGu7;il,ruC;abEibE;eBo25u1;iGul9;ca6;i6luA;b58mer1pG;aDer43ly,oHrG;is5Jo2;rt,se,veG;ri8;aIear,iGoiBuD;de,jaGnd0;ck;mp0ng,pp5ve;ath0et,i2le1PoIrG;aGow;b,pp4ze;!ve4P;ast5er3Ii55lOorJrHuG;lf3Qr3M;ee2YolG;ic;b3BeIfeEgGs49;eGi2;!t;clo1go,sGwa4H;had2W;ee,i2L;a0FdEl0Dm08nQquip,rPsOt3BvMxG;cKeDha4iJpHtG;ing0Pol;eGi7loEo1un9;ct,di6;st,t;luA;alua6oG;ke,l2;chew,pou1tab11;a1u4G;aWcTdRfQgOhan3joy,lNqMrLsuKtIvG;e0TisG;a9i4L;er,i3rG;a2Ien2WuB;e,re;i2Uol;ui7;ar9iB;a9eGra2ulf;nd0;or3;ang0oGu7;r1w;lo1ou0ArHuG;mb0;oa2Ky3Z;b4ct;bHer9pG;hasi1Wow0;a0Sody,rG;a3oiG;d0l;ap1eCuG;ci3Pde;rGt;ma0Mn;a0Me01iIo,rGwind4;aw,ed9oG;p,wn;agno1e,ff0g,mi28sJvG;eGul9;rGst;ge,t;ab4bTcNlod9mant4pLru3HsKtG;iGoDu2X;lHngG;ui8;!l;ol2uaA;eGla3o1ro2;n1r1;a2Oe2XlJoHuG;ss;uGv0;ra9;aGo1;im;a38ur1;af5bXcRduCep5fPliOmLnJpIra1Tta1NvG;eGol2;lop;aDiCoD;oGy;te,un3;eHoG;li8;an;mEv0;a3i03oGraud,y;rm;ei2iKoIrG;ee,yG;!pt;de,mGup4;missi2Upo1;de,ma6ph0;aHrief,uG;g,nk;rk;mp5rk5uF;a03ea1h01i00lZoHrGurta17;a2ea6ipp4;ales3eWhabEinciAllVmTnGrroA;cQdNfLju7no6qu0sJtIvG;eGin3;ne,r9;a0Hin25ribu6;er2iGoli27pi7titu6ult;d0st;iGroFu1;de,gu7rm;eHoG;ne;mn,n1;eGluA;al,i2;buBe,men3pG;e6ly;eCiAuA;r3xiB;ean1iQ;rcumveFte;eGoo1;ri8w;ncGre5t0ulk;el;aYeSiRlOoNrJuG;iHrGy;st,y;ld;aIeHiGoad5;ng;astfeJed;ke;il,l12mba0XrrMth0;aHeGow;ed;ze;de,nd;!come,gKha2liJnd,queaIstHtGwild0;ray;ow;th;e2tt4;in;bysEckfi7ff4tG;he;it;b15c0Td0Kff0Igr0Hl0Dm09n03ppZrXsQttNuLvIwaG;it,k5;en;eDoG;id;rt;gGto06;meF;aHeBraC;ct;ch;pi7sHtoG;ni8;aIeGi03u7;mb4rt;le;il;re;g0Hi1ou1rG;an9i2;eaIly,oiFrG;ai1o2;nt;r,se;aKiOnHtG;icipa6;eHoGul;un3y;al;ly1;aHu1;se;lgaGze;ma6;iIlG;e9oGuA;t,w;gn;ee;ix,oG;rd;aZjLmiIoHsoG;rb;pt,rn;niGt;st0;er;ouHuB;st;rn;cJhie2knowled9quiGtiva6;es3re;ce;ge;eMomIrHusG;e,tom;ue;moHpG;any,li8;da6;te;pt;andMet,iAoIsG;coIol2;ve;li8rt,uG;nd;sh;de;on",
"Infinitive": "true¦0:8U;1:8F;2:9C;3:90;4:7Z;5:7M;6:98;7:81;8:9F;9:91;A:9G;B:8W;C:7T;D:7P;E:7J;F:86;a7Zb7Dc6Nd5Fe4Df43g3Zh3Vi3Bj38k36l2Xm2Rnou3Uo2Mp25qu24r1As08tWuRvPwG;aMeLiJrG;eHiG;ng,te;ak,st4;d5e7BthG;draw,er;a2d,ep;i2ke,nGrn;d0t;aGie;li9Bni8ry;nGplift;cov0dHear7GlGplug,tie,ve82;ea8o3J;erGo;go,sta9Dval93whelm;aPeNhKoJrG;aGemb4;ffi3Emp4nsG;aCpi7;pp4ugh5;aHiHrGwaD;eat5i2;nk;aGll,m8Z;ch,se;ck4ilor,keGmp0r7K;! paD;a0Gc0Fe0Dh09i07l05m04n03o01pWquVtOuJwG;all6YeeHiG;m,ng;p,t5;bIccumb,ffHggeBmm8Zp2DrG;mouFvi2;er,i3;li7Wmer9siGveD;de,st;aKe7PiIrG;ang4eGi2;ng1Zw;fGnW;f5le;gg0rG;t4ve;a3Pi8;awn,eJiIlHoGri68;il,of;ay,it;ll,t;ak,nd;lGot6Iw;icEve;eak,i0K;a8ugg4;aGiA;m,y;ft,nGt;g,k;aIi5CoHriGun;nk,v5O;ot,rt5;ke,rp5tt0ve;eGll,nd,que7Hv0w;!k,m;aven9ul7V;dd5tis16y;att4eHip5oG;am,ut;a05b03c01d00fXgroup,heaWiVlTmSnRpPq2YsLtJvG;amp,eHiGo2N;sEve;l,rt;i7rG;ie2ofE;eFiItGurfa3;aDo1TrG;a5QiCuctu7;de,gn,st;el,hra1lGreseF;a3e63;d0ew,o02;a5Le2To2;a6eFiGoad,y;e2nq3Dve;mbur1nf2M;r1t;inHleCocus,re8uG;el,rbi8;an3e;aCu3;ei2k7Dla3GoGyc4;gni54nci4up,v0;oot,uG;ff;ct,d,liG;se,ze;a8en5Kit,o6;aUerSiRlumm0SoQrIuG;b3Hke,ni8rGt;poDs6R;eKoG;cId,fe31hibEnoHpo1sp0truAvG;e,iAo4P;un3;la32u7;a5Bc1LdHf0ocSsup0CvG;a5GeF;etermi3ZiC;a58rt4Q;er3npoiF;cei2fo39i8mea6plex,sGvaA;eve7iB;mp0n11rGtrol,ve,y;a5Mt5I;bser2cJpIutHverGwe;lap,s13tu64u1;gr4Jnu1Upa3;era6i3Ppo1;cupy;aKe06iHoGultiply;leBu5Z;micHnGspla3;ce,g4us;!k;im,ke,na9;aNeJiGo1u33;e,ke,ng0quGv5;eGi62;fy;aInG;d,gG;th5;rn,ve;ng1Zu18;eep,nG;e3Kow;o42uG;gg4xtaG;po1;gno7mUnG;cSdQfPgeBhOitia6ju7q0YsMtIun5PvG;eGo0N;nt,st;erHimi5MoxiOrG;odu3uA;aCn,prGru5M;et;iBpi7tGu7;il,ruC;abEibE;eBo25u1;iGul9;ca6;i6luA;b58mer1pG;aDer43ly,oHrG;is5Jo2;rt,se,veG;ri8;aIear,iGoiBuD;de,jaGnd0;ck;mp0ng,pp5ve;ath0et,i2le1PoIrG;aGow;b,pp4ze;!ve4P;ast5er3Ii55lOorJrHuG;lf3Qr3M;ee2YolG;ic;b3BeIfeEgGs49;eGi2;!t;clo1go,sGwa4H;had2W;ee,i2L;a0FdEl0Dm08nQquip,rPsOt3BvMxG;cKeDha4iJpHtG;ing0Pol;eGi7loEo1un9;ct,di6;st,t;luA;alua6oG;ke,l2;chew,pou1tab11;a1u4G;aWcTdRfQgOhan3joy,lNqMrLsuKtIvG;e0TisG;a9i4L;er,i3rG;a2Ien2WuB;e,re;i2Uol;ui7;ar9iB;a9eGra2ulf;nd0;or3;ang0oGu7;r1w;lo1ou0ArHuG;mb0;oa2Ky3Z;b4ct;bHer9pG;hasi1Wow0;a0Sody,rG;a3oiG;d0l;ap1eCuG;ci3Pde;rGt;ma0Mn;a0Me01iIo,rGwind4;aw,ed9oG;p,wn;agno1e,ff0g,mi28sJvG;eGul9;rGst;ge,t;ab4bTcNlod9mant4pLru3HsKtG;iGoDu2X;lHngG;ui8;!l;ol2uaA;eGla3o1ro2;n1r1;a2Oe2XlJoHuG;ss;uGv0;ra9;aGo1;im;a38ur1;af5bXcRduCep5fPliOmLnJpIra1Tta1NvG;eGol2;lop;aDiCoD;oGy;te,un3;eHoG;li8;an;mEv0;a3i03oGraud,y;rm;ei2iKoIrG;ee,yG;!pt;de,mGup4;missi2Upo1;de,ma6ph0;aHrief,uG;g,nk;rk;mp5rk5uF;a03ea1h01i00lZoHrGurta17;a2ea6ipp4;ales3eWhabEinciAllVmTnGrroA;cQdNfLju7no6qu0sJtIvG;eGin3;ne,r9;a0Hin25ribu6;er2iGoli27pi7titu6ult;d0st;iGroFu1;de,gu7rm;eHoG;ne;mn,n1;eGluA;al,i2;buBe,men3pG;e6ly;eCiAuA;r3xiB;ean1iQ;rcumveFte;eGoo1;ri8w;ncGre5t0ulk;el;aYeSiRlOoNrJuG;iHrGy;st,y;ld;aIeHiGoad5;ng;astfeJed;ke;il,l12mba0XrrMth0;aHeGow;ed;ze;de,nd;!come,gKha2liJnd,queaIstHtGwild0;ray;ow;th;e2tt4;in;bysEckfi7ff4tG;he;it;b15c0Td0Kff0Igr0Hl0Dm09n03ppZrXsQttNuLvIwaG;it,k5;en;eDoG;id;rt;gGto06;meF;aHeBraC;ct;ch;pi7sHtoG;ni8;aIeGi03u7;mb4rt;le;il;re;g0Hi1ou1rG;an9i2;eaIly,oiFrG;ai1o2;nt;r,se;aKiOnHtG;icipa6;eHoGul;un3y;al;ly1;aHu1;se;lgaGze;ma6;iIlG;e9oGuA;t,w;gn;ee;ix,oG;rd;aZjLmiIoHsoG;rb;pt,rn;niGt;st0;er;ouHuB;st;rn;cJhie2knowled9quiGtiva6;es3re;ce;ge;eMomIrHusG;e,tom;ue;moHpG;any,li8;da6;te;pt;andMet,iAoIsG;coIol2;ve;li8rt,uG;nd;sh;de;on",
"Participle": "true¦f4g3h2less6s1w0;ors5ritt5;e4h5;ast3e2;iv2one;l2r0;ight0;en;own",
"Modal": "true¦c5lets,m4ought3sh1w0;ill,o5;a0o4;ll,nt;! to,a;ight,ust;an,o0;uld",
"Participle": "true¦f4g3h2less6s1w0;ors5ritt5;e4h5;ast3e2;iv2one;l2r0;ight0;en;own",
"Adj|Gerund": "true¦0:2C;1:2E;2:22;3:20;4:1X;5:24;a1Zb1Uc1Cd0Ze0Uf0Kg0Eh0Di07jud1Sl04m01oXpTrNsCt7up6veWw0Lyiel4;lif0sZ;aUe9hr7i3ouc22r6wis0;eZoub2us0yi1;ea0Ji6;l2vi1;l2mp0;atisf28creec1Xhoc0Bkyrocke0lo0ZoEpDt9u7we6;e0Yl2;pp1Gr6;gi1pri5roun4;a7ea1Zi6ri07un18;mula0r3;gge3r6;t2vi1;ark2ee4;a6ot1O;ki1ri1;aAe7ive0o6us1M;a3l2;defi0Zfres1Kig0ZlaCs0v6war4;ea2itali6ol0M;si1zi1;gi1ll1Smb2vi1;a1Rerple8ier19lun14r6un1F;e6o0X;ce4s5vai2;xi1;ffs8pKut7ver6wi1;arc1Blap0Dri4whel1H;goi1l1Lst0U;et0;eande3i7o0Bu6;mb2;s5tiga0;a7i6o08;fesa07mi0vi1;cHg0Rs0;mAn6rri08;c8s7te13vi6;go1Cti1;pi3ul0;orpo1Area5;po5;arrowi1ea2orrif17umilia0;lAr6;a0ipWo7uel6;i1li1;undbrea6wi1;ki1;a3ea0W;aEetc0Pit0lBo9r7ulf6;il2;ee0Vigh6ust0Z;te01;r6un4;ebo4th0E;a7o6;a0we3;mi1tte3;di1scina0;m9n7x6;ac0ci0is0plo4;ab2c6du3ga01sQ;han0oura00;barras5erZpowe3;aHeAi6;s6zz0K;appoin0gus0sen0t6;r6u0L;ac0es5;biliBcAfiKgra4m9pres5ser8v6;asAelo6;pi1;vi1;an4eaG;a0BliF;ta0;maMri1sYun0;aMhJlo5o6ripp2ut0;mCn6rrespon4;cerAf9spi3t6vinO;in7r6;as0ibu0ol2;ui1;lic0u5;ni1;fAm9p6;e7ro6;mi5;l2ti1;an4;or0;a6ea0il2;llen6rO;gi1;lMptiva0;e9in4lin4o7rui5u6;d4st2;i2oJri1un6;ci1;coH;bsoOcJgonHlarGmEppea2rCs6;pi3su3to6;n7un4;di1;is6;hi1;ri1;res0;li1;a9u5;si1;mi1;i6zi1;zi1;c6hi1;ele7ompan6;yi1;ra0;ti1;rbi1;ng",
"Adj|Past": "true¦0:2T;1:2K;2:2N;3:23;a2Db28c1Qd1Ae14f0Zgift0h0Wi0Pj0Oknown,l0Lm0Gn0Eo0Bp04qua03rUsEtAu8v6w4;arp0ea4or6;kIth2N;a4e0V;ri0;ni4pd1s0;fi0t0;ar6hreatDr4wi2M;a4ou18;ck0in0pp0;get0ni1K;aHcaGeFhEimDm01oak0pBt7u4;bsid23gge2Hs4;pe4ta1O;ct0nd0;at0e6r4uV;ength4ip0;en0;am0reotyp0;eci4ik0ott0;al1Vfi0;pIul1;ar0ut;al0c1Fle2t1N;r0tt21;t4ut0;is3ur1;aBe4;c8duc0f19g7l1new0qu6s4;pe2t4;or0ri2;e1Yir0;ist1Tul1;eiv0o4;mme0Ard0v1R;lli0ti3;li3;arallel0l8o7r4ump0;e5o4;c0Ilo0Hnou1Ppos0te2;fe0Koc9pZ;i1Cli0P;a4e15;nn0;c5rgan17verlo4;ok0;cupi0;e4ot0;ed0gle2;a6e5ix0o4;di3t0E;as0Nlt0;n4rk0;ag0ufact0L;eft,i5o4;ad0st;cens0mit0st0;agg0us0K;mp9n4sol1;br0debt0f7t4volv0;e4ox0C;gr1n4re14;d0si3;e2oW;li0oMrov0;amm0We1o4;ok0r4;ri3;aNe7i6lavo06ocus0r4;a4i0;ct04g0Im0;niVx0;ar0;duc1n8quipp0stabliTx4;p4te6;a5e4;ct0rie0O;nd0;ha0MsW;aIeAi4;gni3miniMre2s4;a7c6grun01t4;o4rBurb0;rt0;iplPou05;bl0;cenTdMf8lay0pr7ra6t4velop0;a4ermM;il0;ng0;ess0;e5o4;rm0;rr0;mag0t0;alcul1eHharg0lGo9r6u4;lt4stomR;iv1;a5owd0u4;sh0;ck0mp0;d0lo9m6n4ok0vW;centr1s4troll0;idUolid1;b5pl4;ic1;in0;ur0;assi3os0;lebr1n6r4;ti3;fi0;tralB;a7i6o4urn0;il0r0t4und;tl0;as0;laJs0;bandon0cKdHffe2lEnCppAss8u4ward0;g5thor4;iz0;me4;nt0;o6u4;m0r0;li0re4;ci1;im1ticip1;at0;leg0t4;er0;ct0;ju5o7va4;nc0;st0;ce4knowledg0;pt0;ed",
"Person|Verb": "true¦b2ch1drew,grant,ja3ma0ollie,pat,rob,sue,wade;ck,rk;ase,u1;ob,u0;ck",

@@ -68,0 +68,0 @@ "Person|Place": "true¦a5darw6h3jordan,k2orlando,s0victo7;a0ydney;lvador,mara,ntiago;ent,obe;amil0ous0;ton;lexand1ust0;in;ria",

@@ -61,2 +61,3 @@ //just some of the most common emoticons

'<\\3',
'=('
]

@@ -81,4 +81,11 @@ //words that can't be compressed, for whatever reason

no: ['Negative', 'Expression']
// support 'near', 'nears', 'nearing'
nears: 'PresentTense',
nearing: 'Gerund',
neared: 'PastTense',
no: ['Negative', 'Expression'],
// there: 'There'
}
export default misc

@@ -59,3 +59,3 @@ export default [

//number with unit
[/^[0-9.]+([a-z]{1,4})$/, 'Value', '9km'],
[/^[0-9.]+([a-z°]{1,4})$/, 'NumericValue', '9km'],
]

@@ -69,3 +69,7 @@ const anything = ['Noun', 'Verb', 'Adjective', 'Adverb', 'Value', 'QuestionWord']

not: ['Verb', 'Adjective', 'Noun', 'Value'],
},
// existential 'there'
There: {
not: ['Verb', 'Adjective', 'Noun', 'Value', 'Conjunction', 'Preposition'],
}
}

@@ -56,2 +56,6 @@ export default {

},
// 'walked by'
Passive: {
is: 'Verb',
},
}
const matchVerb = function (m, lemma) {
const conjugate = m.methods.two.transform.verbConjugate
const conjugate = m.methods.two.transform.verb.conjugate
let all = conjugate(lemma, m.model)

@@ -4,0 +4,0 @@ if (m.has('#Gerund')) {

@@ -6,3 +6,3 @@ import swapVerb from './swap-verb.js'

if (m.has('#Plural')) {
const toPlural = m.methods.two.transform.nounToPlural
const toPlural = m.methods.two.transform.noun.toPlural
str = toPlural(lemma, m.model)

@@ -14,3 +14,3 @@ }

const swapAdverb = function (m, lemma) {
const toAdverb = m.methods.two.transform.adjToAdverb
const { toAdverb } = m.methods.two.transform.adjective
let str = lemma

@@ -23,8 +23,8 @@ let adv = toAdverb(str)

const swapAdjective = function (m, lemma) {
const { adjToComparative, adjToSuperlative } = m.methods.two.transform
const { toComparative, toSuperlative } = m.methods.two.transform.adjective
let str = lemma
if (m.has('#Comparative')) {
str = adjToComparative(str, m.model)
str = toComparative(str, m.model)
} else if (m.has('#Superlative')) {
str = adjToSuperlative(str, m.model)
str = toSuperlative(str, m.model)
}

@@ -31,0 +31,0 @@ if (str) {

@@ -0,36 +1,97 @@

const byComma = function (doc) {
let commas = doc.match('@hasComma')
// remove any non-clause uses
commas = commas.filter(m => {
// don't split the first word
if (m.growLeft('.').wordCount() === 1) {
return false
}
// don't split the last word
if (m.growRight('. .').wordCount() === 1) {
return false
}
let more = m.grow(".") // grow by 1 word in either direction
more = more.ifNo('@hasComma @hasComma') //fun, cool...
more = more.ifNo('@hasComma (and|or) .') //cool, and fun
more = more.ifNo('(#City && @hasComma) #Country') //'toronto, canada'
more = more.ifNo('(#WeekDay && @hasComma) #Date') //'tuesday, march 2nd'
more = more.ifNo('(#Date+ && @hasComma) #Value') //'july 6, 1992'
// more = more.ifNo('@hasComma (too|also)$') //at end of sentence
return more.found
})
return doc.splitAfter(commas)
}
// should we split-out a clause (in brackets)?
const splitParentheses = function (doc) {
let matches = doc.parentheses()
matches = matches.filter(m => {
return m.wordCount() >= 3 && m.has('#Verb') && m.has('#Noun')
})
return doc.splitOn(matches)
}
// split-out a long quotion, but not 'inline quotes'.
const splitQuotes = function (doc) {
let matches = doc.quotations()
matches = matches.filter(m => {
return m.wordCount() >= 3 && m.has('#Verb') && m.has('#Noun')
})
return doc.splitOn(matches)
}
const clauses = function (n) {
// an awkward way to disambiguate a comma use
let commas = this.if('@hasComma')
.ifNo('@hasComma @hasComma') //fun, cool...
.ifNo('@hasComma (and|or) .') //cool, and fun
.ifNo('(#City && @hasComma) #Country') //'toronto, canada'
.ifNo('(#WeekDay && @hasComma) #Date') //'tuesday, march 2nd'
.ifNo('(#Date+ && @hasComma) #Value') //'july 6, 1992'
.ifNo('@hasComma (too|also)$') //at end of sentence
.match('@hasComma')
let found = this.splitAfter(commas)
let found = this
// let quotes = found.quotations()
// found = found.splitOn(quotes)
found = splitParentheses(found)
found = splitQuotes(found)
// let parentheses = found.parentheses()
// found = found.splitOn(parentheses)
found = byComma(found)
found = found.splitAfter('(@hasEllipses|@hasSemicolon|@hasDash|@hasColon)')
// i said
found = found.splitAfter('^#Pronoun (said|says)')
// ... said John.
found = found.splitBefore('(said|says) #ProperNoun$')
// ... if it was
found = found.splitBefore('. . if .{4}')
// various conjunctions
found = found.splitBefore('and while')
found = found.splitBefore('now that')
found = found.splitBefore('ever since')
found = found.splitBefore('(supposing|although)')
found = found.splitBefore('even (while|if|though)')
found = found.splitBefore('(whereas|whose)')
// found = found.splitBefore('as (far|long|much|soon) as')
found = found.splitBefore('as (though|if)')
found = found.splitBefore('(til|until)')
// it is cool and it is ..
let conjunctions = found.if('#Copula #Adjective #Conjunction (#Pronoun|#Determiner) #Verb').match('#Conjunction')
found = found.splitBefore(conjunctions)
// let conjunctions = found.if('#Copula #Adjective #Conjunction (#Pronoun|#Determiner) #Verb').match('#Conjunction')
// found = found.splitBefore(conjunctions)
// if it is this then that
let condition = found.if('if .{2,9} then .').match('then')
found = found.splitBefore(condition)
// // if it is this then that
// let condition = found.if('if .{2,9} then .').match('then')
// found = found.splitBefore(condition)
// misc clause partitions
found = found.splitBefore('as well as .')
found = found.splitBefore('such as .')
found = found.splitBefore('in addition to .')
// // misc clause partitions
// found = found.splitBefore('as well as .')
// found = found.splitBefore('such as .')
// found = found.splitBefore('in addition to .')
// semicolons, dashes
found = found.splitAfter('@hasSemicolon')
found = found.splitAfter('@hasDash')
// // semicolons, dashes
// found = found.splitAfter('@hasSemicolon')
// found = found.splitAfter('@hasDash')
// //
// found = found.splitBefore('which (were|are|will)')
// // he said [...]
// found = found.splitAfter('#Noun (said|say|says)')
// passive voice verb - '.. which was robbed is empty'

@@ -47,8 +108,10 @@ // let passive = found.match('#Noun (which|that) (was|is) #Adverb? #PastTense #Adverb?')

// does there appear to have relative/subordinate clause still?
let tooLong = found.filter(d => d.wordCount() > 5 && d.match('#Verb+').length >= 2)
if (tooLong.found) {
let m = tooLong.splitAfter('#Noun .* #Verb .* #Noun+')
found = found.splitOn(m.eq(0))
}
// let tooLong = found.filter(d => d.wordCount() > 5 && d.match('#Verb+').length >= 2)
// if (tooLong.found) {
// // and after the ..
// found = found.splitBefore('#Conjunction #Preposition')
// // let m = tooLong.splitAfter('#Noun .* #Verb .* #Noun+')
// // found = found.splitOn(m.eq(0))
// }
if (typeof n === 'number') {

@@ -55,0 +118,0 @@ found = found.get(n)

@@ -37,2 +37,4 @@ const rules = [

// { match: '#Negative #Adverb ', chunk: 'Verb' },
// come and have a drink
{ match: '#PresentTense and #PresentTense', chunk: 'Verb' },
// really not

@@ -39,0 +41,0 @@ { match: '#Adverb #Negative', chunk: 'Verb' },

@@ -6,9 +6,9 @@ // return the nth elem of a doc

const toRoot = function (adj) {
const { adjFromComparative, adjFromSuperlative } = adj.methods.two.transform
const { fromComparative, fromSuperlative } = adj.methods.two.transform.adjective
let str = adj.text('normal')
if (adj.has('#Comparative')) {
return adjFromComparative(str, adj.model)
return fromComparative(str, adj.model)
}
if (adj.has('#Superlative')) {
return adjFromSuperlative(str, adj.model)
return fromSuperlative(str, adj.model)
}

@@ -26,3 +26,3 @@ return str

json(opts = {}) {
const { adjToAdverb, adjToNoun, adjToSuperlative, adjToComparative } = this.methods.two.transform
const { toAdverb, toNoun, toSuperlative, toComparative } = this.methods.two.transform.adjective
opts.normal = true

@@ -33,6 +33,6 @@ return this.map(m => {

json.adjective = {
adverb: adjToAdverb(str),
noun: adjToNoun(str),
superlative: adjToSuperlative(str, this.model),
comparative: adjToComparative(str, this.model),
adverb: toAdverb(str),
noun: toNoun(str),
superlative: toSuperlative(str, this.model),
comparative: toComparative(str, this.model),
}

@@ -46,3 +46,3 @@ return json

conjugate(n) {
const { adjToComparative, adjToSuperlative, adjToNoun, adjToAdverb } = this.methods.two.transform
const { toComparative, toSuperlative, toNoun, toAdverb } = this.methods.two.transform.adjective
return getNth(this, n).map(adj => {

@@ -52,6 +52,6 @@ let root = toRoot(adj)

Adjective: root,
Comparative: adjToComparative(root, this.model),
Superlative: adjToSuperlative(root, this.model),
Noun: adjToNoun(root, this.model),
Adverb: adjToAdverb(root, this.model),
Comparative: toComparative(root, this.model),
Superlative: toSuperlative(root, this.model),
Noun: toNoun(root, this.model),
Adverb: toAdverb(root, this.model),
}

@@ -61,6 +61,6 @@ }, [])

toComparative(n) {
const { adjToComparative } = this.methods.two.transform
const { toComparative } = this.methods.two.transform.adjective
return getNth(this, n).map(adj => {
let root = toRoot(adj)
let str = adjToComparative(root, this.model)
let str = toComparative(root, this.model)
return adj.replaceWith(str)

@@ -70,6 +70,6 @@ })

toSuperlative(n) {
const { adjToSuperlative } = this.methods.two.transform
const { toSuperlative } = this.methods.two.transform.adjective
return getNth(this, n).map(adj => {
let root = toRoot(adj)
let str = adjToSuperlative(root, this.model)
let str = toSuperlative(root, this.model)
return adj.replaceWith(str)

@@ -79,6 +79,6 @@ })

toAdverb(n) {
const { adjToAdverb } = this.methods.two.transform
const { toAdverb } = this.methods.two.transform.adjective
return getNth(this, n).map(adj => {
let root = toRoot(adj)
let str = adjToAdverb(root, this.model)
let str = toAdverb(root, this.model)
return adj.replaceWith(str)

@@ -88,6 +88,6 @@ })

toNoun(n) {
const { adjToNoun } = this.methods.two.transform
const { toNoun } = this.methods.two.transform.adjective
return getNth(this, n).map(adj => {
let root = toRoot(adj)
let str = adjToNoun(root, this.model)
let str = toNoun(root, this.model)
return adj.replaceWith(str)

@@ -94,0 +94,0 @@ })

@@ -12,3 +12,3 @@ // return the nth elem of a doc

json(opts = {}) {
const toAdj = this.methods.two.transform.advToAdjective
const fromAdverb = this.methods.two.transform.adjective.fromAdverb
opts.normal = true

@@ -18,3 +18,3 @@ return this.map(m => {

json.adverb = {
adjective: toAdj(json.normal)
adjective: fromAdverb(json.normal)
}

@@ -21,0 +21,0 @@ return json

@@ -11,3 +11,3 @@ const keep = { tags: true }

const toPlural = function (m, parsed) {
const nounToPlural = function (m, parsed) {
// already plural?

@@ -22,6 +22,6 @@ if (parsed.isPlural === true) {

const { methods, model } = m.world
const { nounToPlural } = methods.two.transform
const { toPlural } = methods.two.transform.noun
// inflect the root noun
let str = parsed.root.text('normal')
let plural = nounToPlural(str, model)
let plural = toPlural(str, model)
m.match(parsed.root).replaceWith(plural, keep).tag('Plural', 'toPlural')

@@ -35,2 +35,2 @@ // should we change the determiner/article?

}
export default toPlural
export default nounToPlural
const keep = { tags: true }
const toSingular = function (m, parsed) {
const nounToSingular = function (m, parsed) {
// already singular?

@@ -9,6 +9,6 @@ if (parsed.isPlural === false) {

const { methods, model } = m.world
const { nounToSingular } = methods.two.transform
const { toSingular } = methods.two.transform.noun
// inflect the root noun
let str = parsed.root.text('normal')
let single = nounToSingular(str, model)
let single = toSingular(str, model)
m.replace(parsed.root, single, keep).tag('Singular', 'toPlural')

@@ -19,2 +19,2 @@ // should we change the determiner/article?

}
export default toSingular
export default nounToSingular

@@ -21,3 +21,3 @@ import isQuestion from './questions.js'

let json = m.toView().json(opts)[0] || {}
let { subj, verb, pred } = parse(m)
let { subj, verb, pred, grammar } = parse(m)
json.sentence = {

@@ -27,2 +27,3 @@ subject: subj.text('normal'),

predicate: pred.text('normal'),
grammar
}

@@ -29,0 +30,0 @@ return json

import findMain from './mainClause.js'
const grammar = function (vb) {
let tense = null
if (vb.has('#PastTense')) {
tense = 'PastTense'
} else if (vb.has('#FutureTense')) {
tense = 'FutureTense'
} else if (vb.has('#PresentTense')) {
tense = 'PresentTense'
}
return {
tense
}
}
const parse = function (s) {

@@ -30,5 +44,6 @@ let clauses = s.clauses()

verb,
pred
pred,
grammar: grammar(verb)
}
}
export default parse

@@ -5,3 +5,3 @@ import { noop, getTense } from '../lib.js'

const simple = (vb, parsed) => {
const { verbToInfinitive } = vb.methods.two.transform
const { toInfinitive } = vb.methods.two.transform.verb
const { root, auxiliary } = parsed

@@ -13,3 +13,3 @@ // 'i may'

let str = root.text('normal')
str = verbToInfinitive(str, vb.model, getTense(root))
str = toInfinitive(str, vb.model, getTense(root))
if (str) {

@@ -26,8 +26,8 @@ vb = vb.replace(root, str, keep)

const progressive = (vb, parsed) => {
const { verbConjugate, verbToInfinitive } = vb.methods.two.transform
const { conjugate, toInfinitive } = vb.methods.two.transform.verb
const { root, auxiliary } = parsed
let str = root.text('normal')
str = verbToInfinitive(str, vb.model, getTense(root))
str = toInfinitive(str, vb.model, getTense(root))
if (str) {
str = verbConjugate(str, vb.model).Gerund
str = conjugate(str, vb.model).Gerund
vb.replace(root, str, keep)

@@ -34,0 +34,0 @@ vb.not('#Particle').tag('PresentTense')

@@ -7,3 +7,3 @@ import { getTense, isAreAm } from '../lib.js'

// console.log(form)
const { verbToInfinitive, verbConjugate } = vb.methods.two.transform
const { toInfinitive, conjugate } = vb.methods.two.transform.verb
const { root, auxiliary } = parsed

@@ -16,9 +16,7 @@ if (vb.has('#Gerund')) {

let str = root.text('normal')
str = verbToInfinitive(str, vb.model, getTense(root))
let gerund = verbConjugate(str, vb.model).Gerund
str = toInfinitive(str, vb.model, getTense(root))
let gerund = conjugate(str, vb.model).Gerund
// 'are walking', 'is walking'
if (gerund) {
gerund = `${isAreAm(vb, parsed)} ${gerund}`
// console.log(root, gerund)
// vb.match(root).debug()
vb.replace(root, gerund, keep)

@@ -25,0 +23,0 @@ }

@@ -5,8 +5,8 @@ import { doDoes, getTense } from '../lib.js'

// all verb forms are the same
const toInfinitive = function (vb, parsed) {
const { verbToInfinitive } = vb.methods.two.transform
const toInf = function (vb, parsed) {
const { toInfinitive } = vb.methods.two.transform.verb
const { root, auxiliary } = parsed
let aux = auxiliary.terms().harden()
let str = root.text('normal')
str = verbToInfinitive(str, vb.model, getTense(root))
str = toInfinitive(str, vb.model, getTense(root))
if (str) {

@@ -31,2 +31,2 @@ vb.replace(root, str, keep).tag('Verb').firstTerm().tag('Infinitive')

}
export default toInfinitive
export default toInf

@@ -15,3 +15,3 @@ import { noop, getTense, wasWere, noWill } from '../lib.js'

simple: (vb, parsed) => {
const { verbConjugate, verbToInfinitive } = vb.methods.two.transform
const { conjugate, toInfinitive } = vb.methods.two.transform.verb
const root = parsed.root

@@ -23,4 +23,4 @@ // 'i may'

let str = root.text({ keepPunct: false })
str = verbToInfinitive(str, vb.model, getTense(root))
let all = verbConjugate(str, vb.model)
str = toInfinitive(str, vb.model, getTense(root))
let all = conjugate(str, vb.model)
// 'driven' || 'drove'

@@ -60,7 +60,7 @@ str = all.PastTense

hasParticiple: (vb, parsed) => {
const { verbConjugate, verbToInfinitive } = vb.methods.two.transform
const { conjugate, toInfinitive } = vb.methods.two.transform.verb
const root = parsed.root
let str = root.text('normal')
str = verbToInfinitive(str, vb.model, getTense(root))
return verbConjugate(str, vb.model).Participle
str = toInfinitive(str, vb.model, getTense(root))
return conjugate(str, vb.model).Participle
},

@@ -67,0 +67,0 @@

@@ -6,9 +6,9 @@ import { noop, isPlural, isAreAm, doDoes, getSubject, toInf, getTense } from '../lib.js'

const simple = (vb, parsed) => {
const { verbConjugate, verbToInfinitive } = vb.methods.two.transform
const { conjugate, toInfinitive } = vb.methods.two.transform.verb
const root = parsed.root
let str = root.text('normal')
str = verbToInfinitive(str, vb.model, getTense(root))
str = toInfinitive(str, vb.model, getTense(root))
// 'i walk' vs 'he walks'
if (isPlural(vb, parsed) === false) {
str = verbConjugate(str, vb.model).PresentTense
str = conjugate(str, vb.model).PresentTense
}

@@ -28,9 +28,9 @@ // handle copula

const toGerund = (vb, parsed) => {
const { verbConjugate, verbToInfinitive } = vb.methods.two.transform
const { conjugate, toInfinitive } = vb.methods.two.transform.verb
const root = parsed.root
let str = root.text('normal')
str = verbToInfinitive(str, vb.model, getTense(root))
str = toInfinitive(str, vb.model, getTense(root))
// 'i walk' vs 'he walks'
if (isPlural(vb, parsed) === false) {
str = verbConjugate(str, vb.model).Gerund
str = conjugate(str, vb.model).Gerund
}

@@ -44,7 +44,7 @@ if (str) {

const toInfinitive = (vb, parsed) => {
const { verbToInfinitive } = vb.methods.two.transform
const vbToInf = (vb, parsed) => {
const { toInfinitive } = vb.methods.two.transform.verb
const root = parsed.root
let str = parsed.root.text('normal')
str = verbToInfinitive(str, vb.model, getTense(root))
str = toInfinitive(str, vb.model, getTense(root))
if (str) {

@@ -63,3 +63,3 @@ vb = vb.replace(parsed.root, str, keep)

'simple-present': (vb, parsed) => {
const { verbConjugate } = vb.methods.two.transform
const { conjugate } = vb.methods.two.transform.verb
let { root } = parsed

@@ -75,3 +75,3 @@ // is it *only* a infinitive? - 'we buy' etc

let str = root.text('normal')
let pres = verbConjugate(str, vb.model).PresentTense
let pres = conjugate(str, vb.model).PresentTense
if (str !== pres) {

@@ -207,3 +207,3 @@ vb.replace(root, pres, keep)

'modal-past': (vb, parsed) => {
toInfinitive(vb, parsed)
vbToInf(vb, parsed)
return vb.remove('have')

@@ -210,0 +210,0 @@ },

@@ -73,5 +73,5 @@ import getSubject from './parse/getSubject.js'

const toInf = function (vb, parsed) {
const { verbToInfinitive } = vb.methods.two.transform
const { toInfinitive } = vb.methods.two.transform.verb
let str = parsed.root.text({ keepPunct: false })
str = verbToInfinitive(str, vb.model, getTense(vb))
str = toInfinitive(str, vb.model, getTense(vb))
if (str) {

@@ -78,0 +78,0 @@ vb.replace(parsed.root, str)

@@ -109,21 +109,21 @@ const present = { tense: 'PresentTense' }

// got walked, was walked, were walked
['(got|were|was) (#PastTense|#Participle)', [past, passive]],
['(got|were|was) #Passive', [past, passive]],
// was being walked
['^(was|were) being (#PastTense|#Participle)', [past, passive]],
['^(was|were) being #Passive', [past, passive]],
// had been walked, have been eaten
['^(had|have) been (#PastTense|#Participle)', [past, passive]],
['^(had|have) been #Passive', [past, passive]],
],
'passive-present': [
// is walked, are stolen
['^(is|are|am) (#PastTense|#Participle)', [present, passive]],
['^(is|are|am) #Passive', [present, passive]],
// is being walked
['^(is|are|am) being (#PastTense|#Participle)', [present, passive]],
['^(is|are|am) being #Passive', [present, passive]],
// has been cleaned
['^has been (#PastTense|#Participle)', [present, passive]],
['^has been #Passive', [present, passive]],
],
'passive-future': [
// will have been walked
['will have been (#PastTense|#Participle)', [future, passive, conditional]],
['will have been #Passive', [future, passive, conditional]],
// will be cleaned
['will be being? (#PastTense|#Participle)', [future, passive, conditional]],
['will be being? #Passive', [future, passive, conditional]],
],

@@ -130,0 +130,0 @@

@@ -20,6 +20,6 @@ import parseVerb from './parse/index.js'

const toInfinitive = function (root) {
const { verbToInfinitive } = root.methods.two.transform
const toInf = function (root) {
const { toInfinitive } = root.methods.two.transform.verb
let str = root.text('normal')
return verbToInfinitive(str, root.model, getTense(root))
return toInfinitive(str, root.model, getTense(root))
}

@@ -38,3 +38,3 @@

prefix: toText(parsed.prefix),
infinitive: toInfinitive(parsed.root),
infinitive: toInf(parsed.root),
grammar: info,

@@ -41,0 +41,0 @@ }

const findVerbs = function (doc) {
let m = doc.match('<Verb>')
// want to see
m = m.not('(#Conjunction && !to)')
// by walking
m = m.not('#Preposition')
m = m.splitAfter('@hasComma')

@@ -26,9 +31,5 @@

// professes love
let toVerbs = m.match('(#PresentTense|#PastTense) #Infinitive')
if (toVerbs.found && !toVerbs.has('^go')) {
m = m.splitBefore('(#PresentTense|#PastTense) [#Infinitive]', 0)
}
// 'allow yourself'
m = m.not('#Reflexive$')
//ensure there's actually a verb

@@ -38,4 +39,9 @@ m = m.if('#Verb')

// ensure it's not two verbs
// held annually is called
if (m.has('(#Verb && !#Auxiliary) #Adverb+? #Copula')) {
m = m.splitBefore('#Copula')
}
return m
}
export default findVerbs

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc