"""
Elements
========

Defines an :class:`.Atom` class for each element.

"""

from .atom import Atom


class H(Atom):
    _atomic_number = 1


class He(Atom):
    _atomic_number = 2


class Li(Atom):
    _atomic_number = 3


class Be(Atom):
    _atomic_number = 4


class B(Atom):
    _atomic_number = 5


class C(Atom):
    _atomic_number = 6


class N(Atom):
    _atomic_number = 7


# "O" is a valid elemental symbol.
class O(Atom):  # noqa
    _atomic_number = 8


class F(Atom):
    _atomic_number = 9


class Ne(Atom):
    _atomic_number = 10


class Na(Atom):
    _atomic_number = 11


class Mg(Atom):
    _atomic_number = 12


class Al(Atom):
    _atomic_number = 13


class Si(Atom):
    _atomic_number = 14


class P(Atom):
    _atomic_number = 15


class S(Atom):
    _atomic_number = 16


class Cl(Atom):
    _atomic_number = 17


class Ar(Atom):
    _atomic_number = 18


class K(Atom):
    _atomic_number = 19


class Ca(Atom):
    _atomic_number = 20


class Sc(Atom):
    _atomic_number = 21


class Ti(Atom):
    _atomic_number = 22


class V(Atom):
    _atomic_number = 23


class Cr(Atom):
    _atomic_number = 24


class Mn(Atom):
    _atomic_number = 25


class Fe(Atom):
    _atomic_number = 26


class Co(Atom):
    _atomic_number = 27


class Ni(Atom):
    _atomic_number = 28


class Cu(Atom):
    _atomic_number = 29


class Zn(Atom):
    _atomic_number = 30


class Ga(Atom):
    _atomic_number = 31


class Ge(Atom):
    _atomic_number = 32


class As(Atom):
    _atomic_number = 33


class Se(Atom):
    _atomic_number = 34


class Br(Atom):
    _atomic_number = 35


class Kr(Atom):
    _atomic_number = 36


class Rb(Atom):
    _atomic_number = 37


class Sr(Atom):
    _atomic_number = 38


class Y(Atom):
    _atomic_number = 39


class Zr(Atom):
    _atomic_number = 40


class Nb(Atom):
    _atomic_number = 41


class Mo(Atom):
    _atomic_number = 42


class Tc(Atom):
    _atomic_number = 43


class Ru(Atom):
    _atomic_number = 44


class Rh(Atom):
    _atomic_number = 45


class Pd(Atom):
    _atomic_number = 46


class Ag(Atom):
    _atomic_number = 47


class Cd(Atom):
    _atomic_number = 48


class In(Atom):
    _atomic_number = 49


class Sn(Atom):
    _atomic_number = 50


class Sb(Atom):
    _atomic_number = 51


class Te(Atom):
    _atomic_number = 52


# "I" is a valid elemental symbol.
class I(Atom):  # noqa
    _atomic_number = 53


class Xe(Atom):
    _atomic_number = 54


class Cs(Atom):
    _atomic_number = 55


class Ba(Atom):
    _atomic_number = 56


class La(Atom):
    _atomic_number = 57


class Ce(Atom):
    _atomic_number = 58


class Pr(Atom):
    _atomic_number = 59


class Nd(Atom):
    _atomic_number = 60


class Pm(Atom):
    _atomic_number = 61


class Sm(Atom):
    _atomic_number = 62


class Eu(Atom):
    _atomic_number = 63


class Gd(Atom):
    _atomic_number = 64


class Tb(Atom):
    _atomic_number = 65


class Dy(Atom):
    _atomic_number = 66


class Ho(Atom):
    _atomic_number = 67


class Er(Atom):
    _atomic_number = 68


class Tm(Atom):
    _atomic_number = 69


class Yb(Atom):
    _atomic_number = 70


class Lu(Atom):
    _atomic_number = 71


class Hf(Atom):
    _atomic_number = 72


class Ta(Atom):
    _atomic_number = 73


class W(Atom):
    _atomic_number = 74


class Re(Atom):
    _atomic_number = 75


class Os(Atom):
    _atomic_number = 76


class Ir(Atom):
    _atomic_number = 77


class Pt(Atom):
    _atomic_number = 78


class Au(Atom):
    _atomic_number = 79


class Hg(Atom):
    _atomic_number = 80


class Tl(Atom):
    _atomic_number = 81


class Pb(Atom):
    _atomic_number = 82


class Bi(Atom):
    _atomic_number = 83


class Po(Atom):
    _atomic_number = 84


class At(Atom):
    _atomic_number = 85


class Rn(Atom):
    _atomic_number = 86


class Fr(Atom):
    _atomic_number = 87


class Ra(Atom):
    _atomic_number = 88


class Ac(Atom):
    _atomic_number = 89


class Th(Atom):
    _atomic_number = 90


class Pa(Atom):
    _atomic_number = 91


class U(Atom):
    _atomic_number = 92


class Np(Atom):
    _atomic_number = 93


class Pu(Atom):
    _atomic_number = 94


class Am(Atom):
    _atomic_number = 95


class Cm(Atom):
    _atomic_number = 96


class Bk(Atom):
    _atomic_number = 97


class Cf(Atom):
    _atomic_number = 98


class Es(Atom):
    _atomic_number = 99


class Fm(Atom):
    _atomic_number = 100


class Md(Atom):
    _atomic_number = 101


class No(Atom):
    _atomic_number = 102


class Lr(Atom):
    _atomic_number = 103


class Rf(Atom):
    _atomic_number = 104


class Db(Atom):
    _atomic_number = 105


class Sg(Atom):
    _atomic_number = 106


class Bh(Atom):
    _atomic_number = 107


class Hs(Atom):
    _atomic_number = 108


class Mt(Atom):
    _atomic_number = 109


class Ds(Atom):
    _atomic_number = 110


class Rg(Atom):
    _atomic_number = 111


class Cn(Atom):
    _atomic_number = 112


class Nh(Atom):
    _atomic_number = 113


class Fl(Atom):
    _atomic_number = 114


class Mc(Atom):
    _atomic_number = 115


class Lv(Atom):
    _atomic_number = 116


class Ts(Atom):
    _atomic_number = 117


class Og(Atom):
    _atomic_number = 118
