from enum import StrEnum


class Element(StrEnum):
    """
    Class that stores a list of all elements.
    When an element is required as an input, it is to be selected from this class to avoid user error
    """

    # /// HYDROGEN
    HYDROGEN = "H"
    H = "H"
    # /// HELIUM
    HELIUM = "He"
    HE = "He"
    # /// LITHIUM
    LITHIUM = "Li"
    LI = "Li"
    # /// BERYLLIUM
    BERYLLIUM = "Be"
    BE = "Be"
    # /// BORON
    BORON = "B"
    B = "B"
    # /// CARBON
    CARBON = "C"
    C = "C"
    # /// NITROGEN
    NITROGEN = "N"
    N = "N"
    # /// OXYGEN
    OXYGEN = "O"
    O = "O"  # noqa: E741
    # /// FLUORINE
    FLUORINE = "F"
    F = "F"
    # /// NEON
    NEON = "Ne"
    NE = "Ne"
    # /// SODIUM
    SODIUM = "Na"
    NA = "Na"
    # /// MAGNESIUM
    MAGNESIUM = "Mg"
    MG = "Mg"
    # /// ALUMINUM
    ALUMINUM = "Al"
    AL = "Al"
    # /// SILICON
    SILICON = "Si"
    SI = "Si"
    # /// PHOSPHORUS
    PHOSPHORUS = "P"
    P = "P"
    # /// SULFUR
    SULFUR = "S"
    S = "S"
    # /// CHLORINE
    CHLORINE = "Cl"
    CL = "Cl"
    # /// ARGON
    ARGON = "Ar"
    AR = "Ar"
    # /// POTASSIUM
    POTASSIUM = "K"
    K = "K"
    # /// CALCIUM
    CALCIUM = "Ca"
    CA = "Ca"
    # /// SCANDIUM
    SCANDIUM = "Sc"
    SC = "Sc"
    # /// TITANIUM
    TITANIUM = "Ti"
    TI = "Ti"
    # /// VANADIUM
    VANADIUM = "V"
    V = "V"
    # /// CHROMIUM
    CHROMIUM = "Cr"
    CR = "Cr"
    # /// MANGANESE
    MANGANESE = "Mn"
    MN = "Mn"
    # /// IRON
    IRON = "Fe"
    FE = "Fe"
    # /// COBALT
    COBALT = "Co"
    CO = "Co"
    # /// NICKEL
    NICKEL = "Ni"
    NI = "Ni"
    # /// COPPER
    COPPER = "Cu"
    CU = "Cu"
    # /// ZINC
    ZINC = "Zn"
    ZN = "Zn"
    # /// GALLIUM
    GALLIUM = "Ga"
    GA = "Ga"
    # /// GERMANIUM
    GERMANIUM = "Ge"
    GE = "Ge"
    # /// ARSENIC
    ARSENIC = "As"
    AS = "As"
    # /// SELENIUM
    SELENIUM = "Se"
    SE = "Se"
    # /// BROMINE
    BROMINE = "Br"
    BR = "Br"
    # /// KRYPTON
    KRYPTON = "Kr"
    KR = "Kr"
    # /// RUBIDIUM
    RUBIDIUM = "Rb"
    RB = "Rb"
    # /// STRONTIUM
    STRONTIUM = "Sr"
    SR = "Sr"
    # /// YTTRIUM
    YTTRIUM = "Y"
    Y = "Y"
    # /// ZIRCONIUM
    ZIRCONIUM = "Zr"
    ZR = "Zr"
    # /// NIOBIUM
    NIOBIUM = "Nb"
    NB = "Nb"
    # /// MOLYBDENUM
    MOLYBDENUM = "Mo"
    MO = "Mo"
    # /// TECHNETIUM
    TECHNETIUM = "Tc"
    TC = "Tc"
    # /// RUTHENIUM
    RUTHENIUM = "Ru"
    RU = "Ru"
    # /// RHODIUM
    RHODIUM = "Rh"
    RH = "Rh"
    # /// PALLADIUM
    PALLADIUM = "Pd"
    PD = "Pd"
    # /// SILVER
    SILVER = "Ag"
    AG = "Ag"
    # /// CADMIUM
    CADMIUM = "Cd"
    CD = "Cd"
    # /// INDIUM
    INDIUM = "In"
    IN = "In"
    # /// TIN
    TIN = "Sn"
    SN = "Sn"
    # /// ANTIMONY
    ANTIMONY = "Sb"
    SB = "Sb"
    # /// TELLURIUM
    TELLURIUM = "Te"
    TE = "Te"
    # /// IODINE
    IODINE = "I"
    I = "I"  # noqa: E741
    # /// XENON
    XENON = "Xe"
    XE = "Xe"
    # /// CESIUM
    CESIUM = "Cs"
    CS = "Cs"
    # /// BARIUM
    BARIUM = "Ba"
    BA = "Ba"
    # /// LANTHANUM
    LANTHANUM = "La"
    LA = "La"
    # /// CERIUM
    CERIUM = "Ce"
    CE = "Ce"
    # /// PRASEODYMIUM
    PRASEODYMIUM = "Pr"
    PR = "Pr"
    # /// NEODYMIUM
    NEODYMIUM = "Nd"
    ND = "Nd"
    # /// PROMETHIUM
    PROMETHIUM = "Pm"
    PM = "Pm"
    # /// SAMARIUM
    SAMARIUM = "Sm"
    SM = "Sm"
    # /// EUROPIUM
    EUROPIUM = "Eu"
    EU = "Eu"
    # /// GADOLINIUM
    GADOLINIUM = "Gd"
    GD = "Gd"
    # /// TERBIUM
    TERBIUM = "Tb"
    TB = "Tb"
    # /// DYSPROSIUM
    DYSPROSIUM = "Dy"
    DY = "Dy"
    # /// HOLMIUM
    HOLMIUM = "Ho"
    HO = "Ho"
    # /// ERBIUM
    ERBIUM = "Er"
    ER = "Er"
    # /// THULIUM
    THULIUM = "Tm"
    TM = "Tm"
    # /// YTTERBIUM
    YTTERBIUM = "Yb"
    YB = "Yb"
    # /// LUTETIUM
    LUTETIUM = "Lu"
    LU = "Lu"
    # /// HAFNIUM
    HAFNIUM = "Hf"
    HF = "Hf"
    # /// TANTALUM
    TANTALUM = "Ta"
    TA = "Ta"
    # /// WOLFRAM
    WOLFRAM = "W"
    W = "W"
    # /// RHENIUM
    RHENIUM = "Re"
    RE = "Re"
    # /// OSMIUM
    OSMIUM = "Os"
    OS = "Os"
    # /// IRIDIUM
    IRIDIUM = "Ir"
    IR = "Ir"
    # /// PLATINUM
    PLATINUM = "Pt"
    PT = "Pt"
    # /// GOLD
    GOLD = "Au"
    AU = "Au"
    # /// MERCURY
    MERCURY = "Hg"
    HG = "Hg"
    # /// THALLIUM
    THALLIUM = "Tl"
    TL = "Tl"
    # /// LEAD
    LEAD = "Pb"
    PB = "Pb"
    # /// BISMUTH
    BISMUTH = "Bi"
    BI = "Bi"
    # /// POLONIUM
    POLONIUM = "Po"
    PO = "Po"
    # /// ASTATINE
    ASTATINE = "At"
    AT = "At"
    # /// RADON
    RADON = "Rn"
    RN = "Rn"
    # /// FRANCIUM
    FRANCIUM = "Fr"
    FR = "Fr"
    # /// RADIUM
    RADIUM = "Ra"
    RA = "Ra"
    # /// ACTINIUM
    ACTINIUM = "Ac"
    AC = "Ac"
    # /// THORIUM
    THORIUM = "Th"
    TH = "Th"
    # /// PROTACTINIUM
    PROTACTINIUM = "Pa"
    PA = "Pa"
    # /// URANIUM
    URANIUM = "U"
    U = "U"
    # /// NEPTUNIUM
    NEPTUNIUM = "Np"
    NP = "Np"
    # /// PLUTONIUM
    PLUTONIUM = "Pu"
    PU = "Pu"
    # /// AMERICIUM
    AMERICIUM = "Am"
    AM = "Am"
    # /// CURIUM
    CURIUM = "Cm"
    CM = "Cm"
    # /// BERKELIUM
    BERKELIUM = "Bk"
    BK = "Bk"
    # /// CALIFORNIUM
    CALIFORNIUM = "Cf"
    CF = "Cf"
    # /// EINSTEINIUM
    EINSTEINIUM = "Es"
    ES = "Es"
    # /// FERMIUM
    FERMIUM = "Fm"
    FM = "Fm"
    # /// MENDELEVIUM
    MENDELEVIUM = "Md"
    MD = "Md"
    # /// NOBELIUM
    NOBELIUM = "No"
    NO = "No"
    # /// LAWRENCIUM
    LAWRENCIUM = "Lr"
    LR = "Lr"
    # /// RUTHERFORDIUM
    RUTHERFORDIUM = "Rf"
    RF = "Rf"
    # /// DUBNIUM
    DUBNIUM = "Db"
    DB = "Db"
    # /// SEABORGIUM
    SEABORGIUM = "Sg"
    SG = "Sg"
    # /// BOHRIUM
    BOHRIUM = "Bh"
    BH = "Bh"
    # /// HASSIUM
    HASSIUM = "Hs"
    HS = "Hs"
    # /// MEITNERIUM
    MEITNERIUM = "Mt"
    MT = "Mt"
    # /// DARMSTADTIUM
    DARMSTADTIUM = "Ds"
    DS = "Ds"
    # /// ROENTGENIUM
    ROENTGENIUM = "Rg"
    RG = "Rg"
    # /// COPERNICIUM
    COPERNICIUM = "Cn"
    CN = "Cn"
    # /// NIHONIUM
    NIHONIUM = "Nh"
    NH = "Nh"
    # /// FLEROVIUM
    FLEROVIUM = "Fl"
    FL = "Fl"
    # /// MOSCOVIUM
    MOSCOVIUM = "Mc"
    MC = "Mc"
    # /// LIVERMORIUM
    LIVERMORIUM = "Lv"
    LV = "Lv"
    # /// TENNESSINE
    TENNESSINE = "Ts"
    TS = "Ts"
    # /// OGANESSON
    OGANESSON = "Og"
    OG = "Og"
