# 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
adopted
albeit
allocations
allowlist
allowlisting
alt
amortized
analyses
animal
anon
aoo
approval
approximation
arbitrarily
asdf
asserter
assure
auth
authority
autobianchi
automatic
b0x
b1x
b2x
ba
baba
backed
background
bail
bailout
bash
bat
bbb
bc
bench
besides
beta
bigger
bkonyi
blah
blindly
blocked
blorp
bold
boo
bootstrap
bots
boundarykey
bowtie
boz
bq
brand
brave
brown
builddir
bulk2
bulkcompile
c's
c59cdee365b94ce066344840f9e3412d642019b
ca
cafebabe
camel
capitalized
causal
cb
cc
ccc
cell
charset
checkme
checkout
cipd
circular
class1a
class1b
class2c
class2d
class2e
class2f
class3d
class5a
class5b
class5c
class5d
cloneable
cmp
cnn
coded
codepath
collisions
columns
commented
commit
companion
comparer
compilations
compiler's
complement
completers
confidence
confident
confirm
consecutive
considering
constrains
consts
contract
conversion
conversions
coo
corners
costly
cov
cp
csi
ctrl
cumulative
cursor
cx
dacoharkes
dadd
daemon
dartanalyzer
dartfile
dartfmt
dash
dashes
day
db
ddart
dds
debugger
decrease
decrements
dectcem
deduplication
defaulting
defintions
deleting
denylist
depended
depfile
desc
descriptors
detector
deviation
dfast
di
diagnosticable
dictionaries
dictionary
differences
differs
dijkstra
dijkstras
dillfile
dinteractive
dirname
disagree
disagreement
disallowed
disconnect
discovering
dispatcher
dispose
dist
divergent
doctype
doesnt
dog
doo
downstream
draw
dumping
dumps
dupe
durations
dw
dyn
e's
e2e
ease
ec
echo
edits
elapse
ell
entrypoint
entrypoints
eoo
epoch
erase
err
esc
everytime
evicting
exceed
excess
exe
execute
exercised
exercises
existence
exitcode
exiting
expanded
expansive
extern
fac
faking
falling
favors
fi
fibonacci
filesystem
filler
fisk
five
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
foreground
forrest
foundation
fox
fulfill
func
futures
fx
gallery
gamma
gave
gc
goo
google
graphic
greeting
gtgt
gulp
gunk
hackish
helper2
hest
heuristics
hi
hints
home
hoo
hosted
hosting
hot
hotreload
hunk
hurray
i'm
ia
idle
ikg
illustrate
image
images
implementor
inclosure
increased
incrementally
increments
indents
initializer2
insufficient
interactive
internet
interpolate
introducer
inv
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
italic
iter
jlcontreras
joo
jumped
kernels
kill
kitty
ko
koo
la
launching
le
legs
lengths
lightly
likewise
lily
linebreaks
lints
linux
listening
ln
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
mds
measured
metric
metrics
mf
micro
minimize
mintty
minutes
mismatched
misnamed
miss
misspelled
mistake
mistakes
mod
modelled
month
moo
mul
mx
mysdk
naturally
negatable
newworld
nil
ninja
nondefault
nonexisting
noo
numerator
observable
oh
okay
ooo
operate
ops
optimal
oracle
outbound
overlay
pack
paging
paint
party
pause
paused
pc
periodic
periodically
person
phrase
pink
placement
plug
pointed
policy
pooled
population
portions
pp
preliminary
prematurely
press
pretends
producer
profile
profiler
propagated
protected
proved
provider
pseudocode
pubspec
pv
px
py
python
quicker
quit
quot
quux
qux
r"
r"\s
r"k
r"tools
rd
reachability
reality
recompile
recompiles
redir
redirections
reducer
referring
reflectee
regenerate
regressions
reify
reload
remap
remaps
rendition
repaint
repro
response
result1
result2
retaining
retainingpath
retains
rev
risky
row
rows
runtimes
scans
scheduler
screen
scripts
sdkroot
sdks
secondary
segment
selection
sensitive
services
setups
severe
sheets
shipped
shortest
shot
sigint
signalled
sigwinch
slight
smoke
somehow
spans
spawn
spell
spellcheck
spelled
spelling
spent
splay
splitting
spurious
sqrt
squared
sssp
stacks
stashed
stat
stats
stay
std
strip
strongest
stub's
stupid
subcommand
subdir
subfolder
subtool
subtools
subtyping1a
subtyping1b
subtyping2a
subtyping2b
suite
summarization
summarized
supermixin
supplement
suspension
symbolic
t\b\f\u
t\u0008\f\u
tails
talk
templates
test3a
test3b
thereof
timed
timeout
timer
timings
tinv
tpt
transitively
translators
triangle
triggers
trimming
tripped
tripping
trivially
truncated
tt
ttest
txt
typeargs
typeparam
typeparambounds
u250c
ugly
unassignment
unawaited
unbreak
unconverted
underline
unpacked
unpaused
unregistered
untransformed
untrimmed
unusual
unversioned
upload
upward
uses8
uuid
v1
v2
val
vars
verbatim
versioned
vp
vt
vte
waited
waiting
waits
walt
warmup
week
wherever
whiskers
wins
workflow
worlds
wrongly
ws
x's
xlate
xrequired
xxx
xxxxxxxx
xxxxxxxxxxxx
y's
year
yxxx
