# Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

# Blank lines and comments are ignored.
# Comments can also be inline like 'correct # this is ok'.
# Note that at least one space before the hash is required.

# Comments on a line by itself will be considered a header of the file and
# automatic tools might move it to the top of the file.

a0x
a1x
a2x
aa
aaa
abc
abcompile
actions
adopted
affected
albeit
allocations
alt
amortized
analyses
anon
aoo
approval
approximation
arbitrarily
asdf
asserter
assure
auth
authority
auto
autobianchi
automatic
b0x
b1x
b2x
ba
baba
backed
bail
bailout
bash
bat
bbb
bc
bench
benchmark
besides
beta
bigger
denylist
blah
blindly
blocked
blorp
boo
bootstrap
bots
bowtie
boz
bq
brand
brave
brown
builddir
bulk2
bulkcompile
c's
cafebabe
callable
camel
capitalized
casing
cc
ccc
charcode
charset
checkout
cipd
circular
cli
cloneable
cmp
cnn
coded
codepath
collisions
commented
commit
companion
comparator
comparer
comparisons
compilations
compiler's
complement
completers
confidence
confident
confirm
consecutive
considering
consolidated
constrains
consts
contract
conversion
conversions
coo
cov
crashes
cumulative
dacoharkes
dadd
daemon
dartanalyzer
dartfile
dartfmt
dash
dashes
day
db
debugger
decrease
decrements
def
deleting
depended
depfile
desc
descriptors
detector
deviation
dfast
di
dictionaries
dictionary
differences
differs
dijkstra
dijkstras
dillfile
dills
dinteractive
dirname
disagree
disagreement
disallowed
disconnect
discovering
dispatcher
dispose
dist
doctype
doesnt
dog
doo
downstream
dumping
dupe
durations
dw
dyn
e's
e2e
ease
ec
edits
elapse
ell
entrypoint
entrypoints
eoo
epoch
err
everytime
evicting
exceed
excess
exe
execute
exercised
exercises
exitcode
exiting
exits
expanded
expands
expansion
expansive
explain
extern
fac
faking
falling
favors
fetched
fibonacci
filesystem
filler
finder
fisk
five
flagged
floor
fluctuate
foo"bar"baz
foo'bar'baz
foo1
foo10
foo12
foo13
foo14
foo15
foo2
foo4
foo5
foo6
foo7
foo8
foo9
foo\"bar'baz
foo\"bar\"baz
foo\"bar\'baz
foos
forbidden
forces
foreign
forrest
fox
fulfill
func
futures
gallery
gamma
gave
gc
gen
generators
git
goo
google
greeting
gtgt
gulp
gunk
hackish
harness
helper2
hest
heuristics
hi
hints
home
hoo
hosting
hot
hotreload
hunk
hurray
i'm
ia
ikg
illustrate
implementor
inclosure
increased
incrementally
increments
infinity
inspect
insufficient
intact
interactive
internet
interpolate
inv
invalidating
invocation1a
invocation1b
invocation2a
invocation2b
invocation3a
invocation3b
invocation4a
invocation4b
invocation5a
invocation5b
invocation6a
invocation6b
invocation7a
invocation7b
invocation7c
invocation7d
invocation7e
ioo
isolate
isolates
issue41210b
issue41436c
issue41496b
issue41498b
issue41499b
it'll
iter
joo
jumped
kernels
kill
ko
koo
la
launching
lc
ld
le
lengths
lightly
likewise
lily
linebreaks
lints
linux
listening
ll
local1a
local1b
local1c
local1d
local1e
local1f
local1g
local1h
local1i
local2a
local2b
local2c
local2d
local2e
local2f
local2g
local2h
local3a
local3b
local3c
local3d
local3e
local3f
local3g
local3h
logd
logs
loo
loopback
mac
maker
matters
mc
mds
measured
met
metric
metrics
mf
micro
minimize
minutes
mismatched
misnamed
miss
misspelled
mistake
mistakes
modelled
month
moo
mx
mysdk
naturally
negatable
newest
newworld
nil
ninja
nondefault
nonexisting
noo
numerator
observable
observatory
oh
okay
ooo
operate
ops
optimal
oracle
outbound
overlay
party
pause
paused
pc
periodic
periodically
person
phrase
pink
places
plug
pointed
policy
pooled
population
portions
pp
preliminary
prematurely
pretends
producer
profile
profiler
promotes
propagated
protected
proved
provider
pseudocode
pubspec
pv
px
py
python
quot
r"
r"\s
r"k
r"tools
rd
reachability
reality
recompile
recompiles
redir
redirections
reducer
referring
reflectee
reflective
regenerate
regressions
reify
reload
remap
remaps
repeating
repro
resource
respected
response
retaining
retainingpath
retains
rev
risky
runtimes
say
scans
screen
scripts
sdkroot
sdks
secondary
segment
sensitive
severe
sheets
shipped
shortest
shot
signalled
slight
smoke
somehow
spans
spell
spellcheck
spelled
spelling
spent
splay
splitting
spurious
sqrt
squared
sssp
stashed
stat
stats
std
stdio
strip
strongest
stub's
stupid
subcommand
subdir
subtool
subtools
subtyping1a
subtyping1b
subtyping2a
subtyping2b
suite
summarization
summarized
superinterface
supermixin
supplement
suspension
t\b\f\u
t\u0008\f\u
tails
talk
templates
thereof
thing
threw
timeout
timer
timing
timings
tinv
title
tpt
transitively
translators
triangle
trigger
triggers
trimming
tripped
tripping
trivially
truncated
tt
ttest
txt
typeargs
typeparam
typeparambounds
ugly
unassignment
unawaited
unbreak
unpacked
unregistered
untransformed
untrimmed
unusual
upload
uppercase
upward
uses8
usual
val
vars
verbatim
versioning
waiting
walt
warmup
wherever
allowlist
allowlisting
wins
workflow
worlds
wrongly
ws
x's
xlate
xrequired
xxx
y's
year
