{"version":3,"file":"expand-chemical-groups.umd.min.js","sources":["../lib/utils/attachmentPoints.js","../node_modules/chemical-groups/lib/src/groupsObject.js","../node_modules/chemical-groups/lib/src/groupsToSequence.js","../lib/utils/getFragment.js","../lib/utils/placeFragment.js","../lib/utils/buildStrand.js","../node_modules/atom-sorter/lib/src/index.js","../node_modules/chemical-elements/lib/src/elementsAndIsotopes.js","../node_modules/chemical-elements/lib/src/elements.js","../node_modules/chemical-elements/lib/src/elementsAndIsotopesObject.js","../node_modules/chemical-elements/lib/src/elementsAndStableIsotopes.js","../node_modules/chemical-elements/lib/src/elementsAndStableIsotopesObject.js","../node_modules/chemical-elements/lib/src/elementsObject.js","../node_modules/chemical-elements/lib/src/isotopesObject.js","../node_modules/chemical-elements/lib/src/stableIsotopesObject.js","../node_modules/chemical-elements/lib/src/unsaturationsObject.js","../node_modules/mf-parser/lib/src/Kind.js","../node_modules/mf-parser/lib/src/util/parseCharge.js","../node_modules/mf-parser/lib/src/parse.js","../node_modules/mf-parser/lib/src/util/subSuperscript.js","../node_modules/mf-parser/lib/src/Format.js","../node_modules/mf-parser/lib/src/util/formatCharge.js","../node_modules/mf-parser/lib/src/util/improveLinesForDisplay.js","../node_modules/mf-parser/lib/src/util/toDisplay.js","../node_modules/mf-parser/lib/src/util/isMF.js","../node_modules/mf-parser/lib/src/Style.js","../node_modules/mf-parser/lib/src/util/toHtml.js","../node_modules/mf-parser/lib/src/ensureCase.js","../node_modules/mf-parser/lib/src/util/flatten.js","../node_modules/mf-parser/lib/src/util/getIsotopeRatioInfo.js","../node_modules/mf-parser/lib/src/util/getEA.js","../node_modules/mf-parser/lib/src/util/getElements.js","../node_modules/mf-parser/lib/src/util/getNumberOfIsotopologues.js","../node_modules/mf-parser/lib/src/util/partToAtoms.js","../node_modules/mf-parser/lib/src/util/partToMF.js","../node_modules/mf-parser/lib/src/util/getInfoInternal.js","../node_modules/mf-parser/lib/src/util/getIsotopesInfo.js","../node_modules/mf-parser/lib/src/util/partsToDisplay.js","../node_modules/mf-parser/lib/src/util/partsToMF.js","../node_modules/mf-parser/lib/src/util/toParts.js","../node_modules/mf-parser/lib/src/util/toText.js","../node_modules/mf-parser/lib/src/MFInternal.js","../node_modules/mf-parser/lib/src/MF.js","../node_modules/mf-parser/lib/src/parseToHtml.js","../lib/utils/parseGroupNotation.js","../lib/expandChemicalGroups.js"],"sourcesContent":["/** Highest R group `chemical-groups` structures can carry. */\nconst LAST_R_GROUP = 16;\n// Built on first use rather than at import: openchemlib is injected, so it is\n// not there yet when this module is evaluated.\nlet numbered;\nlet everyAtomicNumber;\n/**\n * Whether an atom is an attachment point rather than a real atom.\n * @param ocl - openchemlib.\n * @param atomicNo - atomic number of the atom.\n * @returns `true` for `R` and for `R1` … `R16`.\n */\nexport function isAttachmentPoint(ocl, atomicNo) {\n    everyAtomicNumber ??= buildAttachmentAtomicNumbers(ocl);\n    return everyAtomicNumber.has(atomicNo);\n}\n/**\n * Atomic numbers openchemlib uses for the `R1`, `R2`, `R3` and `R` pseudo atoms.\n * @param ocl - openchemlib.\n * @returns the four atomic numbers.\n */\nexport function getAttachmentAtomicNumbers(ocl) {\n    numbered ??= {\n        r1: attachmentAtomicNo(ocl, 'R1'),\n        r2: attachmentAtomicNo(ocl, 'R2'),\n        r3: attachmentAtomicNo(ocl, 'R3'),\n        r: attachmentAtomicNo(ocl, 'R'),\n    };\n    return numbered;\n}\n/**\n * Every attachment point a molecule still carries.\n * @param molecule - the molecule to scan.\n * @returns the atom indices carrying an `R`, in atom order.\n */\nexport function listAttachmentPoints(molecule) {\n    const ocl = molecule.getOCL();\n    const points = [];\n    for (let atom = 0; atom < molecule.getAllAtoms(); atom++) {\n        if (isAttachmentPoint(ocl, molecule.getAtomicNo(atom)))\n            points.push(atom);\n    }\n    return points;\n}\n/**\n * Reject a strand that still holds a pseudo atom once every deletion is done.\n * @param molecule - the finished strand.\n */\nexport function assertNoAttachmentLeft(molecule) {\n    const [atom] = listAttachmentPoints(molecule);\n    if (atom !== undefined) {\n        throw new Error(`an attachment point ${molecule.getAtomLabel(atom)} survived the condensation`);\n    }\n}\n/**\n * Every atomic number that stands for an attachment point.\n * @param ocl - openchemlib.\n * @returns the atomic numbers of `R` and of `R1` … `R16`.\n */\nfunction buildAttachmentAtomicNumbers(ocl) {\n    const numbers = new Set([getAttachmentAtomicNumbers(ocl).r]);\n    for (let index = 1; index <= LAST_R_GROUP; index++) {\n        numbers.add(attachmentAtomicNo(ocl, `R${index}`));\n    }\n    return numbers;\n}\n/**\n * The atomic number openchemlib gives one pseudo atom label.\n * @param ocl - openchemlib.\n * @param label - `R`, or `R1` … `R16`.\n * @returns its atomic number.\n */\nfunction attachmentAtomicNo(ocl, label) {\n    const { Molecule } = ocl;\n    return label === 'R'\n        ? Molecule.getAtomicNoFromLabel('R', Molecule.cPseudoAtomR)\n        : Molecule.getAtomicNoFromLabel(label, Molecule.cPseudoAtomsRGroups);\n}\n//# sourceMappingURL=attachmentPoints.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.groupsObject = void 0;\nconst groups_js_1 = require(\"./groups.js\");\n/**\n * The groups indexed by their symbol. Symbols are unique, which is asserted by\n * the tests of this package and by the groups editor.\n */\nexports.groupsObject = {};\nfor (const group of groups_js_1.groups) {\n    exports.groupsObject[group.symbol] = group;\n}\n//# sourceMappingURL=groupsObject.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.groupsToSequence = groupsToSequence;\nconst groupsObject_js_1 = require(\"./groupsObject.js\");\n/**\n * Rebuild the one letter sequence of a molecular formula made of groups, like\n * `HOAlaGlyOH` giving `AG`. A group without a one letter code becomes `?`.\n * @param mf - Molecular formula containing group symbols.\n * @returns The one letter sequence.\n */\nfunction groupsToSequence(mf) {\n    const withoutComments = mf.replaceAll(/\\([^(]*\\)/g, '');\n    const parts = withoutComments.split(/(?=[ A-Z])/);\n    const usefulParts = [];\n    for (const part of parts) {\n        if (part === ' ') {\n            usefulParts.push(' ');\n            continue;\n        }\n        if (!/^[A-Z][a-z]{2,6}/.test(part))\n            continue;\n        const oneLetter = groupsObject_js_1.groupsObject[part]?.oneLetter;\n        usefulParts.push(oneLetter ?? '?');\n    }\n    return usefulParts.join('').replaceAll(/ +/g, ' ').trim();\n}\n//# sourceMappingURL=groupsToSequence.js.map","import { groupsObject } from 'chemical-groups';\nimport { getAttachmentAtomicNumbers } from \"./attachmentPoints.js\";\n/**\n * The structure one symbol of the notation stands for.\n *\n * Everything the notation writes is a structure carrying attachment points, so\n * there is no second kind of token to tell apart: `chemical-groups` answers for\n * `Ala`, `Damp` and `D`, and a plain chemical element is answered with the same\n * shape — one atom carrying one attachment point per bond it can make, so `H`\n * is `H-R` and `O` is `R1-O-R2`. A new building block is a new entry, in\n * `chemical-groups` or here; nothing about the chain has to know.\n * @param ocl - openchemlib.\n * @param symbol - symbol of the group or of the element.\n * @returns the structure, as a fresh molecule.\n */\nexport function getFragment(ocl, symbol) {\n    const { Molecule } = ocl;\n    const group = groupsObject[symbol];\n    if (group?.ocl) {\n        const fragment = Molecule.fromIDCode(group.ocl.value, group.ocl.coordinates);\n        if (fragment.getAllAtoms() === 0) {\n            throw new Error(`the structure of group ${symbol} is empty`);\n        }\n        return fragment;\n    }\n    const element = elementFragment(ocl, symbol);\n    if (element === undefined) {\n        throw new Error(`unknown group in sequence: ${symbol}`);\n    }\n    return element;\n}\n/**\n * Whether the notation can write a symbol at all.\n * @param ocl - openchemlib.\n * @param symbol - the symbol to look up.\n * @returns `true` when a structure is known for it.\n */\nexport function isFragment(ocl, symbol) {\n    return (Boolean(groupsObject[symbol]?.ocl) ||\n        elementFragment(ocl, symbol) !== undefined);\n}\n/**\n * Whether a symbol's structure carries the `R3` a side chain is bonded to.\n *\n * This is what tells a parenthesis holding a side chain from one merely\n * grouping a block of the chain: `Cysp(Ph)` fills the residue's `R3`, while\n * `H(Ala)` writes an alanine in the chain because `H` has no site to fill.\n * @param ocl - openchemlib.\n * @param symbol - the symbol the parenthesis follows.\n * @returns `true` when the parenthesis after it names a side chain.\n */\nexport function hasSideChainSite(ocl, symbol) {\n    let fragment;\n    try {\n        fragment = getFragment(ocl, symbol);\n    }\n    catch {\n        return false;\n    }\n    const { r3 } = getAttachmentAtomicNumbers(ocl);\n    for (let atom = 0; atom < fragment.getAllAtoms(); atom++) {\n        if (fragment.getAtomicNo(atom) === r3)\n            return true;\n    }\n    return false;\n}\n/**\n * One atom of an element, carrying one attachment point per bond it can make.\n * @param ocl - openchemlib.\n * @param symbol - symbol of the element.\n * @returns the fragment, `undefined` when openchemlib knows no such element.\n */\nfunction elementFragment(ocl, symbol) {\n    const { Molecule } = ocl;\n    const atomicNo = Molecule.getAtomicNoFromLabel(symbol);\n    const bonds = Molecule.cAtomValence[atomicNo]?.[0];\n    if (!atomicNo || bonds === undefined)\n        return undefined;\n    const attachments = getAttachmentAtomicNumbers(ocl);\n    const fragment = new Molecule(1 + bonds, bonds);\n    const center = fragment.addAtom(atomicNo);\n    for (let bond = 0; bond < bonds; bond++) {\n        fragment.addBond(center, fragment.addAtom(attachments.r));\n    }\n    return fragment;\n}\n//# sourceMappingURL=getFragment.js.map","import { getAttachmentAtomicNumbers, isAttachmentPoint, } from \"./attachmentPoints.js\";\n/**\n * Add a fragment to a strand and report the attachment points it brings.\n *\n * The anchors are read inside the fragment, before it is added: openchemlib\n * moves explicit hydrogens to the end of the atom list whenever it recomputes\n * its helper arrays, so a strand holding an `H` renumbers under any index taken\n * from it. Reading them here leaves the strand's helper arrays untouched until\n * every bond is drawn.\n * @param molecule - the strand being built.\n * @param fragment - the structure to add.\n * @returns the points, the one facing the previous fragment first and the side\n * chain `R3` last.\n */\nexport function placeFragment(molecule, fragment) {\n    // The strand knows which openchemlib built it, so the library never has to\n    // be handed to a function that already holds a molecule.\n    const ocl = molecule.getOCL();\n    const { Molecule } = ocl;\n    fragment.ensureHelperArrays(Molecule.cHelperNeighbours);\n    const local = [];\n    for (let atom = 0; atom < fragment.getAllAtoms(); atom++) {\n        if (!isAttachmentPoint(ocl, fragment.getAtomicNo(atom)))\n            continue;\n        const atomicNo = fragment.getAtomicNo(atom);\n        local.push({\n            point: atom,\n            anchor: fragment.getConnAtom(atom, 0),\n            sideChain: atomicNo === getAttachmentAtomicNumbers(ocl).r3,\n            rank: rankOf(ocl, atomicNo),\n        });\n    }\n    const map = molecule.addMolecule(fragment);\n    return local\n        .toSorted((first, second) => first.rank - second.rank)\n        .map(({ point, anchor, sideChain }) => ({\n        point: map[point],\n        anchor: map[anchor],\n        sideChain,\n    }));\n}\n/**\n * The order the chain consumes attachment points in.\n *\n * `R1` faces the previous fragment and `R2` the next one, so they lead. A\n * generic `R` comes next, which is what keeps a protecting group's site from\n * ever carrying the backbone. `R3` is last: it is the side chain, and the\n * parentheses that fill it are read after the chain is bonded.\n * @param ocl - openchemlib.\n * @param atomicNo - atomic number of the pseudo atom.\n * @returns its rank, lowest first.\n */\nfunction rankOf(ocl, atomicNo) {\n    const attachments = getAttachmentAtomicNumbers(ocl);\n    if (atomicNo === attachments.r1)\n        return 0;\n    if (atomicNo === attachments.r2)\n        return 1;\n    if (atomicNo === attachments.r3)\n        return 3;\n    return 2;\n}\n//# sourceMappingURL=placeFragment.js.map","import { assertNoAttachmentLeft } from \"./attachmentPoints.js\";\nimport { getFragment } from \"./getFragment.js\";\nimport { placeFragment } from \"./placeFragment.js\";\n/**\n * Build one strand from its tokens, condensing each fragment onto the last.\n *\n * Every token of the notation is a structure carrying attachment points, the\n * elements included — `H` is `H-R` and `O` is `R1-O-R2` — so the whole strand\n * is one operation repeated: drop the two attachment points that face each\n * other and bond the atoms they sat on. A point nothing is condensed onto is\n * removed, which leaves its atom the hydrogen it was drawn without, so\n * `HAlaGlyOH` and `AlaGlyO` build the same dipeptide. A triradical residue such\n * as `Cysp` carries an `R3` that the parentheses after it fill.\n * @param ocl - openchemlib.\n * @param tokens - the tokens of a single strand.\n * @returns the molecule of the strand.\n */\nexport function buildStrand(ocl, tokens) {\n    const { Molecule } = ocl;\n    const molecule = new Molecule(0, 0);\n    const spent = [];\n    let free = [];\n    let previous = '';\n    for (const token of tokens) {\n        const points = placeFragment(molecule, getFragment(ocl, token.symbol));\n        const incoming = points.shift();\n        if (incoming === undefined) {\n            throw new Error(`the group ${token.symbol} has no attachment point in chemical-groups`);\n        }\n        const open = free.shift();\n        if (open === undefined) {\n            if (previous !== '') {\n                throw new Error(`the group ${token.symbol} cannot be bonded to ${previous}`);\n            }\n            // The first fragment has no neighbour on its left, so the `R1` facing\n            // that side is the dangling end of the strand and the next fragment\n            // condenses onto the `R2` behind it. A fragment carrying a single point\n            // faces right with it instead, which is what a leading `H` does.\n            if (points.length === 0)\n                points.push(incoming);\n            else\n                spent.push(incoming.point);\n        }\n        else {\n            molecule.addBond(open.anchor, incoming.anchor);\n            spent.push(open.point, incoming.point);\n        }\n        if (token.sideChain !== undefined) {\n            bondSideChain(ocl, molecule, points, token, spent);\n        }\n        free = [...free, ...points];\n        previous = token.symbol;\n    }\n    for (const point of free)\n        spent.push(point.point);\n    molecule.deleteAtoms(spent);\n    assertNoAttachmentLeft(molecule);\n    return molecule;\n}\n/**\n * Fill the `R3` of a triradical residue with the group written in parentheses.\n * @param ocl - openchemlib.\n * @param molecule - the strand being built.\n * @param points - the points the residue has left, its `R3` last.\n * @param token - the token of the residue.\n * @param spent - points to remove once the strand is complete.\n */\nfunction bondSideChain(ocl, molecule, points, token, spent) {\n    const index = points.findIndex((point) => point.sideChain);\n    const site = points[index];\n    if (site === undefined) {\n        throw new Error(`the group ${token.symbol} has no side chain to bond ${token.sideChain} to`);\n    }\n    points.splice(index, 1);\n    const sideChain = placeFragment(molecule, getFragment(ocl, token.sideChain));\n    const attachment = sideChain[0];\n    if (sideChain.length !== 1 || attachment === undefined) {\n        throw new Error(`the side chain of ${token.symbol} cannot be built: the group ${token.sideChain} has ${sideChain.length} attachment points`);\n    }\n    molecule.addBond(site.anchor, attachment.anchor);\n    spent.push(site.point, attachment.point);\n}\n//# sourceMappingURL=buildStrand.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.atomSorter = atomSorter;\n/**\n * Implementation of the Hill system for sorting atoms\n * https://en.wikipedia.org/wiki/Chemical_formula#Hill_system\n * @param a - first atom to compare\n * @param b - second atom to compare\n * @returns A value suitable for use in Array.prototype.sort.\n */\nfunction atomSorter(a, b) {\n    if (a === b)\n        return 0;\n    if (a === 'C')\n        return -1;\n    if (b === 'C')\n        return 1;\n    if (a === 'H')\n        return -1;\n    if (b === 'H')\n        return 1;\n    if (a < b)\n        return -1;\n    return 1;\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.elementsAndIsotopes = void 0;\nexports.elementsAndIsotopes = [\n    {\n        number: 1,\n        isotopes: [\n            { nominal: 1, mass: 1.00782503223, abundance: 0.999885 },\n            { nominal: 2, mass: 2.01410177812, abundance: 0.000115 },\n            { nominal: 3, mass: 3.0160492779 },\n            { nominal: 4, mass: 4.02643 },\n            { nominal: 5, mass: 5.035311 },\n            { nominal: 6, mass: 6.04496 },\n            { nominal: 7, mass: 7.0527 },\n        ],\n        symbol: 'H',\n        mass: 1.0079407540557772,\n        name: 'Hydrogen',\n        monoisotopicMass: 1.00782503223,\n    },\n    {\n        number: 2,\n        isotopes: [\n            { nominal: 3, mass: 3.0160293201, abundance: 0.00000134 },\n            { nominal: 4, mass: 4.00260325413, abundance: 0.99999866 },\n            { nominal: 5, mass: 5.012057 },\n            { nominal: 6, mass: 6.018885891 },\n            { nominal: 7, mass: 7.0279907 },\n            { nominal: 8, mass: 8.03393439 },\n            { nominal: 9, mass: 9.043946 },\n            { nominal: 10, mass: 10.05279 },\n        ],\n        symbol: 'He',\n        mass: 4.002601932120929,\n        name: 'Helium',\n        monoisotopicMass: 4.00260325413,\n    },\n    {\n        number: 3,\n        isotopes: [\n            { nominal: 3, mass: 3.0308 },\n            { nominal: 4, mass: 4.02719 },\n            { nominal: 5, mass: 5.012538 },\n            { nominal: 6, mass: 6.0151228874, abundance: 0.0759 },\n            { nominal: 7, mass: 7.0160034366, abundance: 0.9241 },\n            { nominal: 8, mass: 8.022486246 },\n            { nominal: 9, mass: 9.02679019 },\n            { nominal: 10, mass: 10.035483 },\n            { nominal: 11, mass: 11.04372358 },\n            { nominal: 12, mass: 12.052517 },\n            { nominal: 13, mass: 13.06263 },\n        ],\n        symbol: 'Li',\n        mass: 6.94003660291572,\n        name: 'Lithium',\n        monoisotopicMass: 7.0160034366,\n    },\n    {\n        number: 4,\n        isotopes: [\n            { nominal: 5, mass: 5.0399 },\n            { nominal: 6, mass: 6.0197264 },\n            { nominal: 7, mass: 7.016928717 },\n            { nominal: 8, mass: 8.005305102 },\n            { nominal: 9, mass: 9.012183065, abundance: 1 },\n            { nominal: 10, mass: 10.013534695 },\n            { nominal: 11, mass: 11.02166108 },\n            { nominal: 12, mass: 12.0269221 },\n            { nominal: 13, mass: 13.036135 },\n            { nominal: 14, mass: 14.04289 },\n            { nominal: 15, mass: 15.05342 },\n            { nominal: 16, mass: 16.06167 },\n        ],\n        symbol: 'Be',\n        mass: 9.012183065,\n        name: 'Beryllium',\n        monoisotopicMass: 9.012183065,\n    },\n    {\n        number: 5,\n        isotopes: [\n            { nominal: 6, mass: 6.0508 },\n            { nominal: 7, mass: 7.029712 },\n            { nominal: 8, mass: 8.0246073 },\n            { nominal: 9, mass: 9.01332965 },\n            { nominal: 10, mass: 10.01293695, abundance: 0.199 },\n            { nominal: 11, mass: 11.00930536, abundance: 0.801 },\n            { nominal: 12, mass: 12.0143527 },\n            { nominal: 13, mass: 13.0177802 },\n            { nominal: 14, mass: 14.025404 },\n            { nominal: 15, mass: 15.031088 },\n            { nominal: 16, mass: 16.039842 },\n            { nominal: 17, mass: 17.04699 },\n            { nominal: 18, mass: 18.05566 },\n            { nominal: 19, mass: 19.0631 },\n            { nominal: 20, mass: 20.07207 },\n            { nominal: 21, mass: 21.08129 },\n        ],\n        symbol: 'B',\n        mass: 10.811028046410001,\n        name: 'Boron',\n        monoisotopicMass: 11.00930536,\n    },\n    {\n        number: 6,\n        isotopes: [\n            { nominal: 8, mass: 8.037643 },\n            { nominal: 9, mass: 9.0310372 },\n            { nominal: 10, mass: 10.01685331 },\n            { nominal: 11, mass: 11.0114336 },\n            { nominal: 12, mass: 12, abundance: 0.9893 },\n            { nominal: 13, mass: 13.00335483507, abundance: 0.0107 },\n            { nominal: 14, mass: 14.0032419884 },\n            { nominal: 15, mass: 15.01059926 },\n            { nominal: 16, mass: 16.0147013 },\n            { nominal: 17, mass: 17.022577 },\n            { nominal: 18, mass: 18.026751 },\n            { nominal: 19, mass: 19.0348 },\n            { nominal: 20, mass: 20.04032 },\n            { nominal: 21, mass: 21.049 },\n            { nominal: 22, mass: 22.05753 },\n            { nominal: 23, mass: 23.0689 },\n        ],\n        symbol: 'C',\n        mass: 12.010735896735248,\n        name: 'Carbon',\n        monoisotopicMass: 12,\n    },\n    {\n        number: 7,\n        isotopes: [\n            { nominal: 10, mass: 10.04165 },\n            { nominal: 11, mass: 11.026091 },\n            { nominal: 12, mass: 12.0186132 },\n            { nominal: 13, mass: 13.00573861 },\n            { nominal: 14, mass: 14.00307400443, abundance: 0.99636 },\n            { nominal: 15, mass: 15.00010889888, abundance: 0.00364 },\n            { nominal: 16, mass: 16.0061019 },\n            { nominal: 17, mass: 17.008449 },\n            { nominal: 18, mass: 18.014078 },\n            { nominal: 19, mass: 19.017022 },\n            { nominal: 20, mass: 20.023366 },\n            { nominal: 21, mass: 21.02711 },\n            { nominal: 22, mass: 22.03439 },\n            { nominal: 23, mass: 23.04114 },\n            { nominal: 24, mass: 24.05039 },\n            { nominal: 25, mass: 25.0601 },\n        ],\n        symbol: 'N',\n        mass: 14.006703211445798,\n        name: 'Nitrogen',\n        monoisotopicMass: 14.00307400443,\n    },\n    {\n        number: 8,\n        isotopes: [\n            { nominal: 12, mass: 12.034262 },\n            { nominal: 13, mass: 13.024815 },\n            { nominal: 14, mass: 14.00859636 },\n            { nominal: 15, mass: 15.00306562 },\n            { nominal: 16, mass: 15.99491461957, abundance: 0.99757 },\n            { nominal: 17, mass: 16.9991317565, abundance: 0.00038 },\n            { nominal: 18, mass: 17.99915961286, abundance: 0.00205 },\n            { nominal: 19, mass: 19.003578 },\n            { nominal: 20, mass: 20.00407535 },\n            { nominal: 21, mass: 21.008655 },\n            { nominal: 22, mass: 22.009966 },\n            { nominal: 23, mass: 23.015696 },\n            { nominal: 24, mass: 24.01986 },\n            { nominal: 25, mass: 25.02936 },\n            { nominal: 26, mass: 26.03729 },\n            { nominal: 27, mass: 27.04772 },\n            { nominal: 28, mass: 28.05591 },\n        ],\n        symbol: 'O',\n        mass: 15.999404924318277,\n        name: 'Oxygen',\n        monoisotopicMass: 15.99491461957,\n    },\n    {\n        number: 9,\n        isotopes: [\n            { nominal: 14, mass: 14.034315 },\n            { nominal: 15, mass: 15.018043 },\n            { nominal: 16, mass: 16.0114657 },\n            { nominal: 17, mass: 17.00209524 },\n            { nominal: 18, mass: 18.00093733 },\n            { nominal: 19, mass: 18.99840316273, abundance: 1 },\n            { nominal: 20, mass: 19.999981252 },\n            { nominal: 21, mass: 20.9999489 },\n            { nominal: 22, mass: 22.002999 },\n            { nominal: 23, mass: 23.003557 },\n            { nominal: 24, mass: 24.008115 },\n            { nominal: 25, mass: 25.012199 },\n            { nominal: 26, mass: 26.020038 },\n            { nominal: 27, mass: 27.02644 },\n            { nominal: 28, mass: 28.03534 },\n            { nominal: 29, mass: 29.04254 },\n            { nominal: 30, mass: 30.05165 },\n            { nominal: 31, mass: 31.05971 },\n        ],\n        symbol: 'F',\n        mass: 18.99840316273,\n        name: 'Fluorine',\n        monoisotopicMass: 18.99840316273,\n    },\n    {\n        number: 10,\n        isotopes: [\n            { nominal: 16, mass: 16.02575 },\n            { nominal: 17, mass: 17.01771396 },\n            { nominal: 18, mass: 18.0057087 },\n            { nominal: 19, mass: 19.00188091 },\n            { nominal: 20, mass: 19.9924401762, abundance: 0.9048 },\n            { nominal: 21, mass: 20.993846685, abundance: 0.0027 },\n            { nominal: 22, mass: 21.991385114, abundance: 0.0925 },\n            { nominal: 23, mass: 22.99446691 },\n            { nominal: 24, mass: 23.99361065 },\n            { nominal: 25, mass: 24.997789 },\n            { nominal: 26, mass: 26.000515 },\n            { nominal: 27, mass: 27.007553 },\n            { nominal: 28, mass: 28.01212 },\n            { nominal: 29, mass: 29.01975 },\n            { nominal: 30, mass: 30.02473 },\n            { nominal: 31, mass: 31.0331 },\n            { nominal: 32, mass: 32.03972 },\n            { nominal: 33, mass: 33.04938 },\n            { nominal: 34, mass: 34.05673 },\n        ],\n        symbol: 'Ne',\n        mass: 20.18004638052026,\n        name: 'Neon',\n        monoisotopicMass: 19.9924401762,\n    },\n    {\n        number: 11,\n        isotopes: [\n            { nominal: 18, mass: 18.02688 },\n            { nominal: 19, mass: 19.01388 },\n            { nominal: 20, mass: 20.0073544 },\n            { nominal: 21, mass: 20.99765469 },\n            { nominal: 22, mass: 21.99443741 },\n            { nominal: 23, mass: 22.989769282, abundance: 1 },\n            { nominal: 24, mass: 23.99096295 },\n            { nominal: 25, mass: 24.989954 },\n            { nominal: 26, mass: 25.9926346 },\n            { nominal: 27, mass: 26.9940765 },\n            { nominal: 28, mass: 27.998939 },\n            { nominal: 29, mass: 29.0028771 },\n            { nominal: 30, mass: 30.0090979 },\n            { nominal: 31, mass: 31.013163 },\n            { nominal: 32, mass: 32.02019 },\n            { nominal: 33, mass: 33.02573 },\n            { nominal: 34, mass: 34.03359 },\n            { nominal: 35, mass: 35.04062 },\n            { nominal: 36, mass: 36.04929 },\n            { nominal: 37, mass: 37.05705 },\n        ],\n        symbol: 'Na',\n        mass: 22.989769282,\n        name: 'Sodium',\n        monoisotopicMass: 22.989769282,\n    },\n    {\n        number: 12,\n        isotopes: [\n            { nominal: 19, mass: 19.034169 },\n            { nominal: 20, mass: 20.01885 },\n            { nominal: 21, mass: 21.011716 },\n            { nominal: 22, mass: 21.99957065 },\n            { nominal: 23, mass: 22.99412421 },\n            { nominal: 24, mass: 23.985041697, abundance: 0.7899 },\n            { nominal: 25, mass: 24.985836976, abundance: 0.1 },\n            { nominal: 26, mass: 25.982592968, abundance: 0.1101 },\n            { nominal: 27, mass: 26.984340624 },\n            { nominal: 28, mass: 27.9838767 },\n            { nominal: 29, mass: 28.988617 },\n            { nominal: 30, mass: 29.9904629 },\n            { nominal: 31, mass: 30.996648 },\n            { nominal: 32, mass: 31.9991102 },\n            { nominal: 33, mass: 33.0053271 },\n            { nominal: 34, mass: 34.008935 },\n            { nominal: 35, mass: 35.01679 },\n            { nominal: 36, mass: 36.02188 },\n            { nominal: 37, mass: 37.03037 },\n            { nominal: 38, mass: 38.03658 },\n            { nominal: 39, mass: 39.04538 },\n            { nominal: 40, mass: 40.05218 },\n        ],\n        symbol: 'Mg',\n        mass: 24.3050516198371,\n        name: 'Magnesium',\n        monoisotopicMass: 23.985041697,\n    },\n    {\n        number: 13,\n        isotopes: [\n            { nominal: 21, mass: 21.02897 },\n            { nominal: 22, mass: 22.01954 },\n            { nominal: 23, mass: 23.00724435 },\n            { nominal: 24, mass: 23.9999489 },\n            { nominal: 25, mass: 24.9904281 },\n            { nominal: 26, mass: 25.986891904 },\n            { nominal: 27, mass: 26.98153853, abundance: 1 },\n            { nominal: 28, mass: 27.98191021 },\n            { nominal: 29, mass: 28.9804565 },\n            { nominal: 30, mass: 29.98296 },\n            { nominal: 31, mass: 30.983945 },\n            { nominal: 32, mass: 31.988085 },\n            { nominal: 33, mass: 32.990909 },\n            { nominal: 34, mass: 33.996705 },\n            { nominal: 35, mass: 34.999764 },\n            { nominal: 36, mass: 36.00639 },\n            { nominal: 37, mass: 37.01053 },\n            { nominal: 38, mass: 38.0174 },\n            { nominal: 39, mass: 39.02254 },\n            { nominal: 40, mass: 40.03003 },\n            { nominal: 41, mass: 41.03638 },\n            { nominal: 42, mass: 42.04384 },\n            { nominal: 43, mass: 43.05147 },\n        ],\n        symbol: 'Al',\n        mass: 26.98153853,\n        name: 'Aluminium',\n        monoisotopicMass: 26.98153853,\n    },\n    {\n        number: 14,\n        isotopes: [\n            { nominal: 22, mass: 22.03579 },\n            { nominal: 23, mass: 23.02544 },\n            { nominal: 24, mass: 24.011535 },\n            { nominal: 25, mass: 25.004109 },\n            { nominal: 26, mass: 25.99233384 },\n            { nominal: 27, mass: 26.98670481 },\n            { nominal: 28, mass: 27.97692653465, abundance: 0.92223 },\n            { nominal: 29, mass: 28.9764946649, abundance: 0.04685 },\n            { nominal: 30, mass: 29.973770136, abundance: 0.03092 },\n            { nominal: 31, mass: 30.975363194 },\n            { nominal: 32, mass: 31.97415154 },\n            { nominal: 33, mass: 32.97797696 },\n            { nominal: 34, mass: 33.978576 },\n            { nominal: 35, mass: 34.984583 },\n            { nominal: 36, mass: 35.986695 },\n            { nominal: 37, mass: 36.992921 },\n            { nominal: 38, mass: 37.995523 },\n            { nominal: 39, mass: 39.002491 },\n            { nominal: 40, mass: 40.00583 },\n            { nominal: 41, mass: 41.01301 },\n            { nominal: 42, mass: 42.01778 },\n            { nominal: 43, mass: 43.0248 },\n            { nominal: 44, mass: 44.03061 },\n            { nominal: 45, mass: 45.03995 },\n        ],\n        symbol: 'Si',\n        mass: 28.085498705705955,\n        name: 'Silicon',\n        monoisotopicMass: 27.97692653465,\n    },\n    {\n        number: 15,\n        isotopes: [\n            { nominal: 24, mass: 24.03577 },\n            { nominal: 25, mass: 25.02119 },\n            { nominal: 26, mass: 26.01178 },\n            { nominal: 27, mass: 26.999224 },\n            { nominal: 28, mass: 27.9923266 },\n            { nominal: 29, mass: 28.98180079 },\n            { nominal: 30, mass: 29.97831375 },\n            { nominal: 31, mass: 30.97376199842, abundance: 1 },\n            { nominal: 32, mass: 31.973907643 },\n            { nominal: 33, mass: 32.9717257 },\n            { nominal: 34, mass: 33.97364589 },\n            { nominal: 35, mass: 34.9733141 },\n            { nominal: 36, mass: 35.97826 },\n            { nominal: 37, mass: 36.979607 },\n            { nominal: 38, mass: 37.984252 },\n            { nominal: 39, mass: 38.986227 },\n            { nominal: 40, mass: 39.99133 },\n            { nominal: 41, mass: 40.994654 },\n            { nominal: 42, mass: 42.00108 },\n            { nominal: 43, mass: 43.00502 },\n            { nominal: 44, mass: 44.01121 },\n            { nominal: 45, mass: 45.01645 },\n            { nominal: 46, mass: 46.02446 },\n            { nominal: 47, mass: 47.03139 },\n        ],\n        symbol: 'P',\n        mass: 30.97376199842,\n        name: 'Phosphorus',\n        monoisotopicMass: 30.97376199842,\n    },\n    {\n        number: 16,\n        isotopes: [\n            { nominal: 26, mass: 26.02907 },\n            { nominal: 27, mass: 27.01828 },\n            { nominal: 28, mass: 28.00437 },\n            { nominal: 29, mass: 28.996611 },\n            { nominal: 30, mass: 29.98490703 },\n            { nominal: 31, mass: 30.97955701 },\n            { nominal: 32, mass: 31.9720711744, abundance: 0.9499 },\n            { nominal: 33, mass: 32.9714589098, abundance: 0.0075 },\n            { nominal: 34, mass: 33.967867004, abundance: 0.0425 },\n            { nominal: 35, mass: 34.96903231 },\n            { nominal: 36, mass: 35.96708071, abundance: 0.0001 },\n            { nominal: 37, mass: 36.97112551 },\n            { nominal: 38, mass: 37.9711633 },\n            { nominal: 39, mass: 38.975134 },\n            { nominal: 40, mass: 39.9754826 },\n            { nominal: 41, mass: 40.9795935 },\n            { nominal: 42, mass: 41.9810651 },\n            { nominal: 43, mass: 42.9869076 },\n            { nominal: 44, mass: 43.9901188 },\n            { nominal: 45, mass: 44.99572 },\n            { nominal: 46, mass: 46.00004 },\n            { nominal: 47, mass: 47.00795 },\n            { nominal: 48, mass: 48.0137 },\n            { nominal: 49, mass: 49.02276 },\n        ],\n        symbol: 'S',\n        mass: 32.06478740612706,\n        name: 'Sulfur',\n        monoisotopicMass: 31.9720711744,\n    },\n    {\n        number: 17,\n        isotopes: [\n            { nominal: 28, mass: 28.02954 },\n            { nominal: 29, mass: 29.01478 },\n            { nominal: 30, mass: 30.00477 },\n            { nominal: 31, mass: 30.992414 },\n            { nominal: 32, mass: 31.98568464 },\n            { nominal: 33, mass: 32.97745199 },\n            { nominal: 34, mass: 33.973762485 },\n            { nominal: 35, mass: 34.968852682, abundance: 0.7576 },\n            { nominal: 36, mass: 35.968306809 },\n            { nominal: 37, mass: 36.965902602, abundance: 0.2424 },\n            { nominal: 38, mass: 37.96801044 },\n            { nominal: 39, mass: 38.9680082 },\n            { nominal: 40, mass: 39.970415 },\n            { nominal: 41, mass: 40.970685 },\n            { nominal: 42, mass: 41.97325 },\n            { nominal: 43, mass: 42.97389 },\n            { nominal: 44, mass: 43.97787 },\n            { nominal: 45, mass: 44.98029 },\n            { nominal: 46, mass: 45.98517 },\n            { nominal: 47, mass: 46.98916 },\n            { nominal: 48, mass: 47.99564 },\n            { nominal: 49, mass: 49.00123 },\n            { nominal: 50, mass: 50.00905 },\n            { nominal: 51, mass: 51.01554 },\n        ],\n        symbol: 'Cl',\n        mass: 35.452937582608,\n        name: 'Chlorine',\n        monoisotopicMass: 34.968852682,\n    },\n    {\n        number: 18,\n        isotopes: [\n            { nominal: 30, mass: 30.02307 },\n            { nominal: 31, mass: 31.01212 },\n            { nominal: 32, mass: 31.9976378 },\n            { nominal: 33, mass: 32.98992555 },\n            { nominal: 34, mass: 33.98027009 },\n            { nominal: 35, mass: 34.97525759 },\n            { nominal: 36, mass: 35.967545105, abundance: 0.003336 },\n            { nominal: 37, mass: 36.96677633 },\n            { nominal: 38, mass: 37.96273211, abundance: 0.000629 },\n            { nominal: 39, mass: 38.964313 },\n            { nominal: 40, mass: 39.9623831237, abundance: 0.996035 },\n            { nominal: 41, mass: 40.96450057 },\n            { nominal: 42, mass: 41.9630457 },\n            { nominal: 43, mass: 42.9656361 },\n            { nominal: 44, mass: 43.9649238 },\n            { nominal: 45, mass: 44.96803973 },\n            { nominal: 46, mass: 45.968083 },\n            { nominal: 47, mass: 46.972935 },\n            { nominal: 48, mass: 47.97591 },\n            { nominal: 49, mass: 48.9819 },\n            { nominal: 50, mass: 49.98613 },\n            { nominal: 51, mass: 50.9937 },\n            { nominal: 52, mass: 51.99896 },\n            { nominal: 53, mass: 53.00729 },\n        ],\n        symbol: 'Ar',\n        mass: 39.947798563582005,\n        name: 'Argon',\n        monoisotopicMass: 39.9623831237,\n    },\n    {\n        number: 19,\n        isotopes: [\n            { nominal: 32, mass: 32.02265 },\n            { nominal: 33, mass: 33.00756 },\n            { nominal: 34, mass: 33.99869 },\n            { nominal: 35, mass: 34.98800541 },\n            { nominal: 36, mass: 35.98130201 },\n            { nominal: 37, mass: 36.97337589 },\n            { nominal: 38, mass: 37.96908112 },\n            { nominal: 39, mass: 38.9637064864, abundance: 0.932581 },\n            { nominal: 40, mass: 39.963998166, abundance: 0.000117 },\n            { nominal: 41, mass: 40.9618252579, abundance: 0.067302 },\n            { nominal: 42, mass: 41.96240231 },\n            { nominal: 43, mass: 42.9607347 },\n            { nominal: 44, mass: 43.96158699 },\n            { nominal: 45, mass: 44.96069149 },\n            { nominal: 46, mass: 45.96198159 },\n            { nominal: 47, mass: 46.9616616 },\n            { nominal: 48, mass: 47.96534119 },\n            { nominal: 49, mass: 48.96821075 },\n            { nominal: 50, mass: 49.97238 },\n            { nominal: 51, mass: 50.975828 },\n            { nominal: 52, mass: 51.98224 },\n            { nominal: 53, mass: 52.98746 },\n            { nominal: 54, mass: 53.99463 },\n            { nominal: 55, mass: 55.00076 },\n            { nominal: 56, mass: 56.00851 },\n        ],\n        symbol: 'K',\n        mass: 39.098300910086,\n        name: 'Potassium',\n        monoisotopicMass: 38.9637064864,\n    },\n    {\n        number: 20,\n        isotopes: [\n            { nominal: 34, mass: 34.01487 },\n            { nominal: 35, mass: 35.00514 },\n            { nominal: 36, mass: 35.993074 },\n            { nominal: 37, mass: 36.98589785 },\n            { nominal: 38, mass: 37.97631922 },\n            { nominal: 39, mass: 38.97071081 },\n            { nominal: 40, mass: 39.962590863, abundance: 0.96941 },\n            { nominal: 41, mass: 40.96227792 },\n            { nominal: 42, mass: 41.95861783, abundance: 0.00647 },\n            { nominal: 43, mass: 42.95876644, abundance: 0.00135 },\n            { nominal: 44, mass: 43.95548156, abundance: 0.02086 },\n            { nominal: 45, mass: 44.95618635 },\n            { nominal: 46, mass: 45.953689, abundance: 0.00004 },\n            { nominal: 47, mass: 46.9545424 },\n            { nominal: 48, mass: 47.95252276, abundance: 0.00187 },\n            { nominal: 49, mass: 48.95566274 },\n            { nominal: 50, mass: 49.9574992 },\n            { nominal: 51, mass: 50.960989 },\n            { nominal: 52, mass: 51.963217 },\n            { nominal: 53, mass: 52.96945 },\n            { nominal: 54, mass: 53.9734 },\n            { nominal: 55, mass: 54.9803 },\n            { nominal: 56, mass: 55.98508 },\n            { nominal: 57, mass: 56.99262 },\n            { nominal: 58, mass: 57.99794 },\n        ],\n        symbol: 'Ca',\n        mass: 40.078022511017735,\n        name: 'Calcium',\n        monoisotopicMass: 39.962590863,\n    },\n    {\n        number: 21,\n        isotopes: [\n            { nominal: 36, mass: 36.01648 },\n            { nominal: 37, mass: 37.00374 },\n            { nominal: 38, mass: 37.99512 },\n            { nominal: 39, mass: 38.984785 },\n            { nominal: 40, mass: 39.9779673 },\n            { nominal: 41, mass: 40.969251105 },\n            { nominal: 42, mass: 41.96551653 },\n            { nominal: 43, mass: 42.9611505 },\n            { nominal: 44, mass: 43.9594029 },\n            { nominal: 45, mass: 44.95590828, abundance: 1 },\n            { nominal: 46, mass: 45.95516826 },\n            { nominal: 47, mass: 46.9524037 },\n            { nominal: 48, mass: 47.9522236 },\n            { nominal: 49, mass: 48.9500146 },\n            { nominal: 50, mass: 49.952176 },\n            { nominal: 51, mass: 50.953592 },\n            { nominal: 52, mass: 51.95688 },\n            { nominal: 53, mass: 52.95909 },\n            { nominal: 54, mass: 53.96393 },\n            { nominal: 55, mass: 54.96782 },\n            { nominal: 56, mass: 55.97345 },\n            { nominal: 57, mass: 56.97777 },\n            { nominal: 58, mass: 57.98403 },\n            { nominal: 59, mass: 58.98894 },\n            { nominal: 60, mass: 59.99565 },\n            { nominal: 61, mass: 61.001 },\n        ],\n        symbol: 'Sc',\n        mass: 44.95590828,\n        name: 'Scandium',\n        monoisotopicMass: 44.95590828,\n    },\n    {\n        number: 22,\n        isotopes: [\n            { nominal: 38, mass: 38.01145 },\n            { nominal: 39, mass: 39.00236 },\n            { nominal: 40, mass: 39.9905 },\n            { nominal: 41, mass: 40.983148 },\n            { nominal: 42, mass: 41.97304903 },\n            { nominal: 43, mass: 42.9685225 },\n            { nominal: 44, mass: 43.95968995 },\n            { nominal: 45, mass: 44.95812198 },\n            { nominal: 46, mass: 45.95262772, abundance: 0.0825 },\n            { nominal: 47, mass: 46.95175879, abundance: 0.0744 },\n            { nominal: 48, mass: 47.94794198, abundance: 0.7372 },\n            { nominal: 49, mass: 48.94786568, abundance: 0.0541 },\n            { nominal: 50, mass: 49.94478689, abundance: 0.0518 },\n            { nominal: 51, mass: 50.94661065 },\n            { nominal: 52, mass: 51.946893 },\n            { nominal: 53, mass: 52.94973 },\n            { nominal: 54, mass: 53.95105 },\n            { nominal: 55, mass: 54.95527 },\n            { nominal: 56, mass: 55.95791 },\n            { nominal: 57, mass: 56.96364 },\n            { nominal: 58, mass: 57.9666 },\n            { nominal: 59, mass: 58.97247 },\n            { nominal: 60, mass: 59.97603 },\n            { nominal: 61, mass: 60.98245 },\n            { nominal: 62, mass: 61.98651 },\n            { nominal: 63, mass: 62.99375 },\n        ],\n        symbol: 'Ti',\n        mass: 47.866744962721995,\n        name: 'Titanium',\n        monoisotopicMass: 47.94794198,\n    },\n    {\n        number: 23,\n        isotopes: [\n            { nominal: 40, mass: 40.01276 },\n            { nominal: 41, mass: 41.00021 },\n            { nominal: 42, mass: 41.99182 },\n            { nominal: 43, mass: 42.980766 },\n            { nominal: 44, mass: 43.97411 },\n            { nominal: 45, mass: 44.9657748 },\n            { nominal: 46, mass: 45.96019878 },\n            { nominal: 47, mass: 46.95490491 },\n            { nominal: 48, mass: 47.9522522 },\n            { nominal: 49, mass: 48.9485118 },\n            { nominal: 50, mass: 49.94715601, abundance: 0.0025 },\n            { nominal: 51, mass: 50.94395704, abundance: 0.9975 },\n            { nominal: 52, mass: 51.94477301 },\n            { nominal: 53, mass: 52.9443367 },\n            { nominal: 54, mass: 53.946439 },\n            { nominal: 55, mass: 54.94724 },\n            { nominal: 56, mass: 55.95048 },\n            { nominal: 57, mass: 56.95252 },\n            { nominal: 58, mass: 57.95672 },\n            { nominal: 59, mass: 58.95939 },\n            { nominal: 60, mass: 59.96431 },\n            { nominal: 61, mass: 60.96725 },\n            { nominal: 62, mass: 61.97265 },\n            { nominal: 63, mass: 62.97639 },\n            { nominal: 64, mass: 63.98264 },\n            { nominal: 65, mass: 64.9875 },\n            { nominal: 66, mass: 65.99398 },\n        ],\n        symbol: 'V',\n        mass: 50.941465037425004,\n        name: 'Vanadium',\n        monoisotopicMass: 50.94395704,\n    },\n    {\n        number: 24,\n        isotopes: [\n            { nominal: 42, mass: 42.0067 },\n            { nominal: 43, mass: 42.99753 },\n            { nominal: 44, mass: 43.98536 },\n            { nominal: 45, mass: 44.97905 },\n            { nominal: 46, mass: 45.968359 },\n            { nominal: 47, mass: 46.9628974 },\n            { nominal: 48, mass: 47.9540291 },\n            { nominal: 49, mass: 48.9513333 },\n            { nominal: 50, mass: 49.94604183, abundance: 0.04345 },\n            { nominal: 51, mass: 50.94476502 },\n            { nominal: 52, mass: 51.94050623, abundance: 0.83789 },\n            { nominal: 53, mass: 52.94064815, abundance: 0.09501 },\n            { nominal: 54, mass: 53.93887916, abundance: 0.02365 },\n            { nominal: 55, mass: 54.94083843 },\n            { nominal: 56, mass: 55.9406531 },\n            { nominal: 57, mass: 56.943613 },\n            { nominal: 58, mass: 57.94435 },\n            { nominal: 59, mass: 58.94859 },\n            { nominal: 60, mass: 59.95008 },\n            { nominal: 61, mass: 60.95442 },\n            { nominal: 62, mass: 61.9561 },\n            { nominal: 63, mass: 62.96165 },\n            { nominal: 64, mass: 63.96408 },\n            { nominal: 65, mass: 64.96996 },\n            { nominal: 66, mass: 65.97366 },\n            { nominal: 67, mass: 66.98016 },\n            { nominal: 68, mass: 67.98403 },\n        ],\n        symbol: 'Cr',\n        mass: 51.9961317554337,\n        name: 'Chromium',\n        monoisotopicMass: 51.94050623,\n    },\n    {\n        number: 25,\n        isotopes: [\n            { nominal: 44, mass: 44.00715 },\n            { nominal: 45, mass: 44.99449 },\n            { nominal: 46, mass: 45.98609 },\n            { nominal: 47, mass: 46.975775 },\n            { nominal: 48, mass: 47.96852 },\n            { nominal: 49, mass: 48.959595 },\n            { nominal: 50, mass: 49.95423778 },\n            { nominal: 51, mass: 50.94820847 },\n            { nominal: 52, mass: 51.9455639 },\n            { nominal: 53, mass: 52.94128889 },\n            { nominal: 54, mass: 53.9403576 },\n            { nominal: 55, mass: 54.93804391, abundance: 1 },\n            { nominal: 56, mass: 55.93890369 },\n            { nominal: 57, mass: 56.9382861 },\n            { nominal: 58, mass: 57.9400666 },\n            { nominal: 59, mass: 58.9403911 },\n            { nominal: 60, mass: 59.9431366 },\n            { nominal: 61, mass: 60.9444525 },\n            { nominal: 62, mass: 61.94795 },\n            { nominal: 63, mass: 62.9496647 },\n            { nominal: 64, mass: 63.9538494 },\n            { nominal: 65, mass: 64.9560198 },\n            { nominal: 66, mass: 65.960547 },\n            { nominal: 67, mass: 66.96424 },\n            { nominal: 68, mass: 67.96962 },\n            { nominal: 69, mass: 68.97366 },\n            { nominal: 70, mass: 69.97937 },\n            { nominal: 71, mass: 70.98368 },\n        ],\n        symbol: 'Mn',\n        mass: 54.93804391,\n        name: 'Manganese',\n        monoisotopicMass: 54.93804391,\n    },\n    {\n        number: 26,\n        isotopes: [\n            { nominal: 45, mass: 45.01442 },\n            { nominal: 46, mass: 46.00063 },\n            { nominal: 47, mass: 46.99185 },\n            { nominal: 48, mass: 47.98023 },\n            { nominal: 49, mass: 48.973429 },\n            { nominal: 50, mass: 49.962975 },\n            { nominal: 51, mass: 50.956841 },\n            { nominal: 52, mass: 51.9481131 },\n            { nominal: 53, mass: 52.9453064 },\n            { nominal: 54, mass: 53.93960899, abundance: 0.05845 },\n            { nominal: 55, mass: 54.93829199 },\n            { nominal: 56, mass: 55.93493633, abundance: 0.91754 },\n            { nominal: 57, mass: 56.93539284, abundance: 0.02119 },\n            { nominal: 58, mass: 57.93327443, abundance: 0.00282 },\n            { nominal: 59, mass: 58.93487434 },\n            { nominal: 60, mass: 59.9340711 },\n            { nominal: 61, mass: 60.9367462 },\n            { nominal: 62, mass: 61.9367918 },\n            { nominal: 63, mass: 62.9402727 },\n            { nominal: 64, mass: 63.9409878 },\n            { nominal: 65, mass: 64.9450115 },\n            { nominal: 66, mass: 65.94625 },\n            { nominal: 67, mass: 66.95054 },\n            { nominal: 68, mass: 67.95295 },\n            { nominal: 69, mass: 68.95807 },\n            { nominal: 70, mass: 69.96102 },\n            { nominal: 71, mass: 70.96672 },\n            { nominal: 72, mass: 71.96983 },\n            { nominal: 73, mass: 72.97572 },\n            { nominal: 74, mass: 73.97935 },\n        ],\n        symbol: 'Fe',\n        mass: 55.845144433865904,\n        name: 'Iron',\n        monoisotopicMass: 55.93493633,\n    },\n    {\n        number: 27,\n        isotopes: [\n            { nominal: 47, mass: 47.01057 },\n            { nominal: 48, mass: 48.00093 },\n            { nominal: 49, mass: 48.98891 },\n            { nominal: 50, mass: 49.98091 },\n            { nominal: 51, mass: 50.970647 },\n            { nominal: 52, mass: 51.96351 },\n            { nominal: 53, mass: 52.9542041 },\n            { nominal: 54, mass: 53.94845987 },\n            { nominal: 55, mass: 54.9419972 },\n            { nominal: 56, mass: 55.9398388 },\n            { nominal: 57, mass: 56.93629057 },\n            { nominal: 58, mass: 57.9357521 },\n            { nominal: 59, mass: 58.93319429, abundance: 1 },\n            { nominal: 60, mass: 59.9338163 },\n            { nominal: 61, mass: 60.93247662 },\n            { nominal: 62, mass: 61.934059 },\n            { nominal: 63, mass: 62.9336 },\n            { nominal: 64, mass: 63.935811 },\n            { nominal: 65, mass: 64.9364621 },\n            { nominal: 66, mass: 65.939443 },\n            { nominal: 67, mass: 66.9406096 },\n            { nominal: 68, mass: 67.94426 },\n            { nominal: 69, mass: 68.94614 },\n            { nominal: 70, mass: 69.94963 },\n            { nominal: 71, mass: 70.95237 },\n            { nominal: 72, mass: 71.95729 },\n            { nominal: 73, mass: 72.96039 },\n            { nominal: 74, mass: 73.96515 },\n            { nominal: 75, mass: 74.96876 },\n            { nominal: 76, mass: 75.97413 },\n        ],\n        symbol: 'Co',\n        mass: 58.93319429,\n        name: 'Cobalt',\n        monoisotopicMass: 58.93319429,\n    },\n    {\n        number: 28,\n        isotopes: [\n            { nominal: 48, mass: 48.01769 },\n            { nominal: 49, mass: 49.0077 },\n            { nominal: 50, mass: 49.99474 },\n            { nominal: 51, mass: 50.98611 },\n            { nominal: 52, mass: 51.9748 },\n            { nominal: 53, mass: 52.96819 },\n            { nominal: 54, mass: 53.957892 },\n            { nominal: 55, mass: 54.95133063 },\n            { nominal: 56, mass: 55.94212855 },\n            { nominal: 57, mass: 56.93979218 },\n            { nominal: 58, mass: 57.93534241, abundance: 0.68077 },\n            { nominal: 59, mass: 58.9343462 },\n            { nominal: 60, mass: 59.93078588, abundance: 0.26223 },\n            { nominal: 61, mass: 60.93105557, abundance: 0.011399 },\n            { nominal: 62, mass: 61.92834537, abundance: 0.036346 },\n            { nominal: 63, mass: 62.92966963 },\n            { nominal: 64, mass: 63.92796682, abundance: 0.009255 },\n            { nominal: 65, mass: 64.93008517 },\n            { nominal: 66, mass: 65.9291393 },\n            { nominal: 67, mass: 66.9315694 },\n            { nominal: 68, mass: 67.9318688 },\n            { nominal: 69, mass: 68.9356103 },\n            { nominal: 70, mass: 69.9364313 },\n            { nominal: 71, mass: 70.940519 },\n            { nominal: 72, mass: 71.9417859 },\n            { nominal: 73, mass: 72.9462067 },\n            { nominal: 74, mass: 73.94798 },\n            { nominal: 75, mass: 74.9525 },\n            { nominal: 76, mass: 75.95533 },\n            { nominal: 77, mass: 76.96055 },\n            { nominal: 78, mass: 77.96336 },\n            { nominal: 79, mass: 78.97025 },\n        ],\n        symbol: 'Ni',\n        mass: 58.69334710994765,\n        name: 'Nickel',\n        monoisotopicMass: 57.93534241,\n    },\n    {\n        number: 29,\n        isotopes: [\n            { nominal: 52, mass: 51.99671 },\n            { nominal: 53, mass: 52.98459 },\n            { nominal: 54, mass: 53.97666 },\n            { nominal: 55, mass: 54.96604 },\n            { nominal: 56, mass: 55.95895 },\n            { nominal: 57, mass: 56.9492125 },\n            { nominal: 58, mass: 57.94453305 },\n            { nominal: 59, mass: 58.93949748 },\n            { nominal: 60, mass: 59.9373645 },\n            { nominal: 61, mass: 60.9334576 },\n            { nominal: 62, mass: 61.93259541 },\n            { nominal: 63, mass: 62.92959772, abundance: 0.6915 },\n            { nominal: 64, mass: 63.92976434 },\n            { nominal: 65, mass: 64.9277897, abundance: 0.3085 },\n            { nominal: 66, mass: 65.92886903 },\n            { nominal: 67, mass: 66.9277303 },\n            { nominal: 68, mass: 67.9296109 },\n            { nominal: 69, mass: 68.9294293 },\n            { nominal: 70, mass: 69.9323921 },\n            { nominal: 71, mass: 70.9326768 },\n            { nominal: 72, mass: 71.9358203 },\n            { nominal: 73, mass: 72.9366744 },\n            { nominal: 74, mass: 73.9398749 },\n            { nominal: 75, mass: 74.9415226 },\n            { nominal: 76, mass: 75.945275 },\n            { nominal: 77, mass: 76.94792 },\n            { nominal: 78, mass: 77.95223 },\n            { nominal: 79, mass: 78.95502 },\n            { nominal: 80, mass: 79.96089 },\n            { nominal: 81, mass: 80.96587 },\n            { nominal: 82, mass: 81.97244 },\n        ],\n        symbol: 'Cu',\n        mass: 63.54603994583,\n        name: 'Copper',\n        monoisotopicMass: 62.92959772,\n    },\n    {\n        number: 30,\n        isotopes: [\n            { nominal: 54, mass: 53.99204 },\n            { nominal: 55, mass: 54.98398 },\n            { nominal: 56, mass: 55.97254 },\n            { nominal: 57, mass: 56.96506 },\n            { nominal: 58, mass: 57.954591 },\n            { nominal: 59, mass: 58.94931266 },\n            { nominal: 60, mass: 59.9418421 },\n            { nominal: 61, mass: 60.939507 },\n            { nominal: 62, mass: 61.93433397 },\n            { nominal: 63, mass: 62.9332115 },\n            { nominal: 64, mass: 63.92914201, abundance: 0.4917 },\n            { nominal: 65, mass: 64.92924077 },\n            { nominal: 66, mass: 65.92603381, abundance: 0.2773 },\n            { nominal: 67, mass: 66.92712775, abundance: 0.0404 },\n            { nominal: 68, mass: 67.92484455, abundance: 0.1845 },\n            { nominal: 69, mass: 68.9265507 },\n            { nominal: 70, mass: 69.9253192, abundance: 0.0061 },\n            { nominal: 71, mass: 70.9277196 },\n            { nominal: 72, mass: 71.9268428 },\n            { nominal: 73, mass: 72.9295826 },\n            { nominal: 74, mass: 73.9294073 },\n            { nominal: 75, mass: 74.9328402 },\n            { nominal: 76, mass: 75.933115 },\n            { nominal: 77, mass: 76.9368872 },\n            { nominal: 78, mass: 77.9382892 },\n            { nominal: 79, mass: 78.9426381 },\n            { nominal: 80, mass: 79.9445529 },\n            { nominal: 81, mass: 80.9504026 },\n            { nominal: 82, mass: 81.95426 },\n            { nominal: 83, mass: 82.96056 },\n            { nominal: 84, mass: 83.96521 },\n            { nominal: 85, mass: 84.97226 },\n        ],\n        symbol: 'Zn',\n        mass: 65.37778252952499,\n        name: 'Zinc',\n        monoisotopicMass: 63.92914201,\n    },\n    {\n        number: 31,\n        isotopes: [\n            { nominal: 56, mass: 55.99536 },\n            { nominal: 57, mass: 56.9832 },\n            { nominal: 58, mass: 57.97478 },\n            { nominal: 59, mass: 58.96353 },\n            { nominal: 60, mass: 59.95729 },\n            { nominal: 61, mass: 60.949399 },\n            { nominal: 62, mass: 61.94419025 },\n            { nominal: 63, mass: 62.9392942 },\n            { nominal: 64, mass: 63.9368404 },\n            { nominal: 65, mass: 64.93273459 },\n            { nominal: 66, mass: 65.9315894 },\n            { nominal: 67, mass: 66.9282025 },\n            { nominal: 68, mass: 67.9279805 },\n            { nominal: 69, mass: 68.9255735, abundance: 0.60108 },\n            { nominal: 70, mass: 69.9260219 },\n            { nominal: 71, mass: 70.92470258, abundance: 0.39892 },\n            { nominal: 72, mass: 71.92636747 },\n            { nominal: 73, mass: 72.9251747 },\n            { nominal: 74, mass: 73.9269457 },\n            { nominal: 75, mass: 74.9265002 },\n            { nominal: 76, mass: 75.9288276 },\n            { nominal: 77, mass: 76.9291543 },\n            { nominal: 78, mass: 77.9316088 },\n            { nominal: 79, mass: 78.9328523 },\n            { nominal: 80, mass: 79.9364208 },\n            { nominal: 81, mass: 80.9381338 },\n            { nominal: 82, mass: 81.9431765 },\n            { nominal: 83, mass: 82.9471203 },\n            { nominal: 84, mass: 83.95246 },\n            { nominal: 85, mass: 84.95699 },\n            { nominal: 86, mass: 85.96301 },\n            { nominal: 87, mass: 86.96824 },\n        ],\n        symbol: 'Ga',\n        mass: 69.7230660725936,\n        name: 'Gallium',\n        monoisotopicMass: 68.9255735,\n    },\n    {\n        number: 32,\n        isotopes: [\n            { nominal: 58, mass: 57.99172 },\n            { nominal: 59, mass: 58.98249 },\n            { nominal: 60, mass: 59.97036 },\n            { nominal: 61, mass: 60.96379 },\n            { nominal: 62, mass: 61.95502 },\n            { nominal: 63, mass: 62.949628 },\n            { nominal: 64, mass: 63.9416899 },\n            { nominal: 65, mass: 64.9393681 },\n            { nominal: 66, mass: 65.9338621 },\n            { nominal: 67, mass: 66.9327339 },\n            { nominal: 68, mass: 67.9280953 },\n            { nominal: 69, mass: 68.9279645 },\n            { nominal: 70, mass: 69.92424875, abundance: 0.2057 },\n            { nominal: 71, mass: 70.92495233 },\n            { nominal: 72, mass: 71.922075826, abundance: 0.2745 },\n            { nominal: 73, mass: 72.923458956, abundance: 0.0775 },\n            { nominal: 74, mass: 73.921177761, abundance: 0.365 },\n            { nominal: 75, mass: 74.92285837 },\n            { nominal: 76, mass: 75.921402726, abundance: 0.0773 },\n            { nominal: 77, mass: 76.923549843 },\n            { nominal: 78, mass: 77.9228529 },\n            { nominal: 79, mass: 78.92536 },\n            { nominal: 80, mass: 79.9253508 },\n            { nominal: 81, mass: 80.9288329 },\n            { nominal: 82, mass: 81.929774 },\n            { nominal: 83, mass: 82.9345391 },\n            { nominal: 84, mass: 83.9375751 },\n            { nominal: 85, mass: 84.9429697 },\n            { nominal: 86, mass: 85.94658 },\n            { nominal: 87, mass: 86.95268 },\n            { nominal: 88, mass: 87.95691 },\n            { nominal: 89, mass: 88.96379 },\n            { nominal: 90, mass: 89.96863 },\n        ],\n        symbol: 'Ge',\n        mass: 72.6275501646868,\n        name: 'Germanium',\n        monoisotopicMass: 73.921177761,\n    },\n    {\n        number: 33,\n        isotopes: [\n            { nominal: 60, mass: 59.99388 },\n            { nominal: 61, mass: 60.98112 },\n            { nominal: 62, mass: 61.97361 },\n            { nominal: 63, mass: 62.9639 },\n            { nominal: 64, mass: 63.95743 },\n            { nominal: 65, mass: 64.949611 },\n            { nominal: 66, mass: 65.9441488 },\n            { nominal: 67, mass: 66.93925111 },\n            { nominal: 68, mass: 67.9367741 },\n            { nominal: 69, mass: 68.932246 },\n            { nominal: 70, mass: 69.930926 },\n            { nominal: 71, mass: 70.9271138 },\n            { nominal: 72, mass: 71.9267523 },\n            { nominal: 73, mass: 72.9238291 },\n            { nominal: 74, mass: 73.9239286 },\n            { nominal: 75, mass: 74.92159457, abundance: 1 },\n            { nominal: 76, mass: 75.92239202 },\n            { nominal: 77, mass: 76.9206476 },\n            { nominal: 78, mass: 77.921828 },\n            { nominal: 79, mass: 78.9209484 },\n            { nominal: 80, mass: 79.9224746 },\n            { nominal: 81, mass: 80.9221323 },\n            { nominal: 82, mass: 81.9247412 },\n            { nominal: 83, mass: 82.9252069 },\n            { nominal: 84, mass: 83.9293033 },\n            { nominal: 85, mass: 84.9321637 },\n            { nominal: 86, mass: 85.9367015 },\n            { nominal: 87, mass: 86.9402917 },\n            { nominal: 88, mass: 87.94555 },\n            { nominal: 89, mass: 88.94976 },\n            { nominal: 90, mass: 89.95563 },\n            { nominal: 91, mass: 90.96039 },\n            { nominal: 92, mass: 91.96674 },\n        ],\n        symbol: 'As',\n        mass: 74.92159457,\n        name: 'Arsenic',\n        monoisotopicMass: 74.92159457,\n    },\n    {\n        number: 34,\n        isotopes: [\n            { nominal: 64, mass: 63.97109 },\n            { nominal: 65, mass: 64.9644 },\n            { nominal: 66, mass: 65.95559 },\n            { nominal: 67, mass: 66.949994 },\n            { nominal: 68, mass: 67.94182524 },\n            { nominal: 69, mass: 68.9394148 },\n            { nominal: 70, mass: 69.9335155 },\n            { nominal: 71, mass: 70.9322094 },\n            { nominal: 72, mass: 71.9271405 },\n            { nominal: 73, mass: 72.9267549 },\n            { nominal: 74, mass: 73.922475934, abundance: 0.0089 },\n            { nominal: 75, mass: 74.92252287 },\n            { nominal: 76, mass: 75.919213704, abundance: 0.0937 },\n            { nominal: 77, mass: 76.919914154, abundance: 0.0763 },\n            { nominal: 78, mass: 77.91730928, abundance: 0.2377 },\n            { nominal: 79, mass: 78.91849929 },\n            { nominal: 80, mass: 79.9165218, abundance: 0.4961 },\n            { nominal: 81, mass: 80.917993 },\n            { nominal: 82, mass: 81.9166995, abundance: 0.0873 },\n            { nominal: 83, mass: 82.9191186 },\n            { nominal: 84, mass: 83.9184668 },\n            { nominal: 85, mass: 84.9222608 },\n            { nominal: 86, mass: 85.9243117 },\n            { nominal: 87, mass: 86.9286886 },\n            { nominal: 88, mass: 87.9314175 },\n            { nominal: 89, mass: 88.9366691 },\n            { nominal: 90, mass: 89.9401 },\n            { nominal: 91, mass: 90.94596 },\n            { nominal: 92, mass: 91.94984 },\n            { nominal: 93, mass: 92.95629 },\n            { nominal: 94, mass: 93.96049 },\n            { nominal: 95, mass: 94.9673 },\n        ],\n        symbol: 'Se',\n        mass: 78.95938855701361,\n        name: 'Selenium',\n        monoisotopicMass: 79.9165218,\n    },\n    {\n        number: 35,\n        isotopes: [\n            { nominal: 67, mass: 66.96465 },\n            { nominal: 68, mass: 67.95873 },\n            { nominal: 69, mass: 68.950497 },\n            { nominal: 70, mass: 69.944792 },\n            { nominal: 71, mass: 70.9393422 },\n            { nominal: 72, mass: 71.9365886 },\n            { nominal: 73, mass: 72.9316715 },\n            { nominal: 74, mass: 73.9299102 },\n            { nominal: 75, mass: 74.9258105 },\n            { nominal: 76, mass: 75.924542 },\n            { nominal: 77, mass: 76.9213792 },\n            { nominal: 78, mass: 77.9211459 },\n            { nominal: 79, mass: 78.9183376, abundance: 0.5069 },\n            { nominal: 80, mass: 79.9185298 },\n            { nominal: 81, mass: 80.9162897, abundance: 0.4931 },\n            { nominal: 82, mass: 81.9168032 },\n            { nominal: 83, mass: 82.9151756 },\n            { nominal: 84, mass: 83.916496 },\n            { nominal: 85, mass: 84.9156458 },\n            { nominal: 86, mass: 85.9188054 },\n            { nominal: 87, mass: 86.920674 },\n            { nominal: 88, mass: 87.9240833 },\n            { nominal: 89, mass: 88.9267046 },\n            { nominal: 90, mass: 89.9312928 },\n            { nominal: 91, mass: 90.9343986 },\n            { nominal: 92, mass: 91.9396316 },\n            { nominal: 93, mass: 92.94313 },\n            { nominal: 94, mass: 93.9489 },\n            { nominal: 95, mass: 94.95301 },\n            { nominal: 96, mass: 95.95903 },\n            { nominal: 97, mass: 96.96344 },\n            { nominal: 98, mass: 97.96946 },\n        ],\n        symbol: 'Br',\n        mass: 79.90352778050999,\n        name: 'Bromine',\n        monoisotopicMass: 78.9183376,\n    },\n    {\n        number: 36,\n        isotopes: [\n            { nominal: 69, mass: 68.96518 },\n            { nominal: 70, mass: 69.95604 },\n            { nominal: 71, mass: 70.95027 },\n            { nominal: 72, mass: 71.9420924 },\n            { nominal: 73, mass: 72.9392892 },\n            { nominal: 74, mass: 73.933084 },\n            { nominal: 75, mass: 74.9309457 },\n            { nominal: 76, mass: 75.9259103 },\n            { nominal: 77, mass: 76.92467 },\n            { nominal: 78, mass: 77.92036494, abundance: 0.00355 },\n            { nominal: 79, mass: 78.9200829 },\n            { nominal: 80, mass: 79.91637808, abundance: 0.02286 },\n            { nominal: 81, mass: 80.9165912 },\n            { nominal: 82, mass: 81.91348273, abundance: 0.11593 },\n            { nominal: 83, mass: 82.91412716, abundance: 0.115 },\n            { nominal: 84, mass: 83.9114977282, abundance: 0.56987 },\n            { nominal: 85, mass: 84.9125273 },\n            { nominal: 86, mass: 85.9106106269, abundance: 0.17279 },\n            { nominal: 87, mass: 86.91335476 },\n            { nominal: 88, mass: 87.9144479 },\n            { nominal: 89, mass: 88.9178355 },\n            { nominal: 90, mass: 89.9195279 },\n            { nominal: 91, mass: 90.9238063 },\n            { nominal: 92, mass: 91.9261731 },\n            { nominal: 93, mass: 92.9311472 },\n            { nominal: 94, mass: 93.93414 },\n            { nominal: 95, mass: 94.939711 },\n            { nominal: 96, mass: 95.943017 },\n            { nominal: 97, mass: 96.94909 },\n            { nominal: 98, mass: 97.95243 },\n            { nominal: 99, mass: 98.95839 },\n            { nominal: 100, mass: 99.96237 },\n            { nominal: 101, mass: 100.96873 },\n        ],\n        symbol: 'Kr',\n        mass: 83.7979999953261,\n        name: 'Krypton',\n        monoisotopicMass: 83.9114977282,\n    },\n    {\n        number: 37,\n        isotopes: [\n            { nominal: 71, mass: 70.96532 },\n            { nominal: 72, mass: 71.95908 },\n            { nominal: 73, mass: 72.95053 },\n            { nominal: 74, mass: 73.9442659 },\n            { nominal: 75, mass: 74.9385732 },\n            { nominal: 76, mass: 75.935073 },\n            { nominal: 77, mass: 76.9304016 },\n            { nominal: 78, mass: 77.9281419 },\n            { nominal: 79, mass: 78.9239899 },\n            { nominal: 80, mass: 79.9225164 },\n            { nominal: 81, mass: 80.9189939 },\n            { nominal: 82, mass: 81.918209 },\n            { nominal: 83, mass: 82.9151142 },\n            { nominal: 84, mass: 83.9143752 },\n            { nominal: 85, mass: 84.9117897379, abundance: 0.7217 },\n            { nominal: 86, mass: 85.91116743 },\n            { nominal: 87, mass: 86.909180531, abundance: 0.2783 },\n            { nominal: 88, mass: 87.91131559 },\n            { nominal: 89, mass: 88.9122783 },\n            { nominal: 90, mass: 89.9147985 },\n            { nominal: 91, mass: 90.9165372 },\n            { nominal: 92, mass: 91.9197284 },\n            { nominal: 93, mass: 92.9220393 },\n            { nominal: 94, mass: 93.9263948 },\n            { nominal: 95, mass: 94.92926 },\n            { nominal: 96, mass: 95.9341334 },\n            { nominal: 97, mass: 96.9371771 },\n            { nominal: 98, mass: 97.9416869 },\n            { nominal: 99, mass: 98.94503 },\n            { nominal: 100, mass: 99.95003 },\n            { nominal: 101, mass: 100.95404 },\n            { nominal: 102, mass: 101.95952 },\n            { nominal: 103, mass: 102.96392 },\n        ],\n        symbol: 'Rb',\n        mass: 85.46766359561973,\n        name: 'Rubidium',\n        monoisotopicMass: 84.9117897379,\n    },\n    {\n        number: 38,\n        isotopes: [\n            { nominal: 73, mass: 72.9657 },\n            { nominal: 74, mass: 73.95617 },\n            { nominal: 75, mass: 74.94995 },\n            { nominal: 76, mass: 75.941763 },\n            { nominal: 77, mass: 76.9379455 },\n            { nominal: 78, mass: 77.93218 },\n            { nominal: 79, mass: 78.9297077 },\n            { nominal: 80, mass: 79.9245175 },\n            { nominal: 81, mass: 80.9232114 },\n            { nominal: 82, mass: 81.9183999 },\n            { nominal: 83, mass: 82.9175544 },\n            { nominal: 84, mass: 83.9134191, abundance: 0.0056 },\n            { nominal: 85, mass: 84.912932 },\n            { nominal: 86, mass: 85.9092606, abundance: 0.0986 },\n            { nominal: 87, mass: 86.9088775, abundance: 0.07 },\n            { nominal: 88, mass: 87.9056125, abundance: 0.8258 },\n            { nominal: 89, mass: 88.9074511 },\n            { nominal: 90, mass: 89.90773 },\n            { nominal: 91, mass: 90.9101954 },\n            { nominal: 92, mass: 91.9110382 },\n            { nominal: 93, mass: 92.9140242 },\n            { nominal: 94, mass: 93.9153556 },\n            { nominal: 95, mass: 94.9193529 },\n            { nominal: 96, mass: 95.9217066 },\n            { nominal: 97, mass: 96.926374 },\n            { nominal: 98, mass: 97.9286888 },\n            { nominal: 99, mass: 98.9328907 },\n            { nominal: 100, mass: 99.93577 },\n            { nominal: 101, mass: 100.940352 },\n            { nominal: 102, mass: 101.943791 },\n            { nominal: 103, mass: 102.94909 },\n            { nominal: 104, mass: 103.95265 },\n            { nominal: 105, mass: 104.95855 },\n            { nominal: 106, mass: 105.96265 },\n            { nominal: 107, mass: 106.96897 },\n        ],\n        symbol: 'Sr',\n        mass: 87.61664446962,\n        name: 'Strontium',\n        monoisotopicMass: 87.9056125,\n    },\n    {\n        number: 39,\n        isotopes: [\n            { nominal: 76, mass: 75.95856 },\n            { nominal: 77, mass: 76.949781 },\n            { nominal: 78, mass: 77.94361 },\n            { nominal: 79, mass: 78.93735 },\n            { nominal: 80, mass: 79.9343561 },\n            { nominal: 81, mass: 80.9294556 },\n            { nominal: 82, mass: 81.9269314 },\n            { nominal: 83, mass: 82.922485 },\n            { nominal: 84, mass: 83.9206721 },\n            { nominal: 85, mass: 84.916433 },\n            { nominal: 86, mass: 85.914886 },\n            { nominal: 87, mass: 86.9108761 },\n            { nominal: 88, mass: 87.9095016 },\n            { nominal: 89, mass: 88.9058403, abundance: 1 },\n            { nominal: 90, mass: 89.9071439 },\n            { nominal: 91, mass: 90.9072974 },\n            { nominal: 92, mass: 91.9089451 },\n            { nominal: 93, mass: 92.909578 },\n            { nominal: 94, mass: 93.9115906 },\n            { nominal: 95, mass: 94.9128161 },\n            { nominal: 96, mass: 95.9158968 },\n            { nominal: 97, mass: 96.9182741 },\n            { nominal: 98, mass: 97.9223821 },\n            { nominal: 99, mass: 98.924148 },\n            { nominal: 100, mass: 99.927715 },\n            { nominal: 101, mass: 100.9301477 },\n            { nominal: 102, mass: 101.9343277 },\n            { nominal: 103, mass: 102.937243 },\n            { nominal: 104, mass: 103.94196 },\n            { nominal: 105, mass: 104.94544 },\n            { nominal: 106, mass: 105.95056 },\n            { nominal: 107, mass: 106.95452 },\n            { nominal: 108, mass: 107.95996 },\n            { nominal: 109, mass: 108.96436 },\n        ],\n        symbol: 'Y',\n        mass: 88.9058403,\n        name: 'Yttrium',\n        monoisotopicMass: 88.9058403,\n    },\n    {\n        number: 40,\n        isotopes: [\n            { nominal: 78, mass: 77.95566 },\n            { nominal: 79, mass: 78.94948 },\n            { nominal: 80, mass: 79.9404 },\n            { nominal: 81, mass: 80.93731 },\n            { nominal: 82, mass: 81.93135 },\n            { nominal: 83, mass: 82.9292421 },\n            { nominal: 84, mass: 83.9233269 },\n            { nominal: 85, mass: 84.9214444 },\n            { nominal: 86, mass: 85.9162972 },\n            { nominal: 87, mass: 86.914818 },\n            { nominal: 88, mass: 87.9102213 },\n            { nominal: 89, mass: 88.9088814 },\n            { nominal: 90, mass: 89.9046977, abundance: 0.5145 },\n            { nominal: 91, mass: 90.9056396, abundance: 0.1122 },\n            { nominal: 92, mass: 91.9050347, abundance: 0.1715 },\n            { nominal: 93, mass: 92.9064699 },\n            { nominal: 94, mass: 93.9063108, abundance: 0.1738 },\n            { nominal: 95, mass: 94.9080385 },\n            { nominal: 96, mass: 95.9082714, abundance: 0.028 },\n            { nominal: 97, mass: 96.9109512 },\n            { nominal: 98, mass: 97.9127289 },\n            { nominal: 99, mass: 98.916667 },\n            { nominal: 100, mass: 99.9180006 },\n            { nominal: 101, mass: 100.921448 },\n            { nominal: 102, mass: 101.9231409 },\n            { nominal: 103, mass: 102.927191 },\n            { nominal: 104, mass: 103.929436 },\n            { nominal: 105, mass: 104.934008 },\n            { nominal: 106, mass: 105.93676 },\n            { nominal: 107, mass: 106.94174 },\n            { nominal: 108, mass: 107.94487 },\n            { nominal: 109, mass: 108.95041 },\n            { nominal: 110, mass: 109.95396 },\n            { nominal: 111, mass: 110.95968 },\n            { nominal: 112, mass: 111.9637 },\n        ],\n        symbol: 'Zr',\n        mass: 91.22364159706,\n        name: 'Zirconium',\n        monoisotopicMass: 89.9046977,\n    },\n    {\n        number: 41,\n        isotopes: [\n            { nominal: 81, mass: 80.9496 },\n            { nominal: 82, mass: 81.94396 },\n            { nominal: 83, mass: 82.93729 },\n            { nominal: 84, mass: 83.93449 },\n            { nominal: 85, mass: 84.9288458 },\n            { nominal: 86, mass: 85.9257828 },\n            { nominal: 87, mass: 86.9206937 },\n            { nominal: 88, mass: 87.918222 },\n            { nominal: 89, mass: 88.913445 },\n            { nominal: 90, mass: 89.9112584 },\n            { nominal: 91, mass: 90.9069897 },\n            { nominal: 92, mass: 91.9071881 },\n            { nominal: 93, mass: 92.906373, abundance: 1 },\n            { nominal: 94, mass: 93.9072788 },\n            { nominal: 95, mass: 94.9068324 },\n            { nominal: 96, mass: 95.9080973 },\n            { nominal: 97, mass: 96.9080959 },\n            { nominal: 98, mass: 97.9103265 },\n            { nominal: 99, mass: 98.911613 },\n            { nominal: 100, mass: 99.9143276 },\n            { nominal: 101, mass: 100.9153103 },\n            { nominal: 102, mass: 101.9180772 },\n            { nominal: 103, mass: 102.9194572 },\n            { nominal: 104, mass: 103.9228925 },\n            { nominal: 105, mass: 104.9249465 },\n            { nominal: 106, mass: 105.9289317 },\n            { nominal: 107, mass: 106.9315937 },\n            { nominal: 108, mass: 107.9360748 },\n            { nominal: 109, mass: 108.93922 },\n            { nominal: 110, mass: 109.94403 },\n            { nominal: 111, mass: 110.94753 },\n            { nominal: 112, mass: 111.95247 },\n            { nominal: 113, mass: 112.95651 },\n            { nominal: 114, mass: 113.96201 },\n            { nominal: 115, mass: 114.96634 },\n        ],\n        symbol: 'Nb',\n        mass: 92.906373,\n        name: 'Niobium',\n        monoisotopicMass: 92.906373,\n    },\n    {\n        number: 42,\n        isotopes: [\n            { nominal: 83, mass: 82.94988 },\n            { nominal: 84, mass: 83.94149 },\n            { nominal: 85, mass: 84.938261 },\n            { nominal: 86, mass: 85.9311748 },\n            { nominal: 87, mass: 86.9281962 },\n            { nominal: 88, mass: 87.9219678 },\n            { nominal: 89, mass: 88.9194682 },\n            { nominal: 90, mass: 89.9139309 },\n            { nominal: 91, mass: 90.9117453 },\n            { nominal: 92, mass: 91.90680796, abundance: 0.1453 },\n            { nominal: 93, mass: 92.90680958 },\n            { nominal: 94, mass: 93.9050849, abundance: 0.0915 },\n            { nominal: 95, mass: 94.90583877, abundance: 0.1584 },\n            { nominal: 96, mass: 95.90467612, abundance: 0.1667 },\n            { nominal: 97, mass: 96.90601812, abundance: 0.096 },\n            { nominal: 98, mass: 97.90540482, abundance: 0.2439 },\n            { nominal: 99, mass: 98.90770851 },\n            { nominal: 100, mass: 99.9074718, abundance: 0.0982 },\n            { nominal: 101, mass: 100.9103414 },\n            { nominal: 102, mass: 101.9102834 },\n            { nominal: 103, mass: 102.913079 },\n            { nominal: 104, mass: 103.9137344 },\n            { nominal: 105, mass: 104.916969 },\n            { nominal: 106, mass: 105.918259 },\n            { nominal: 107, mass: 106.922106 },\n            { nominal: 108, mass: 107.924033 },\n            { nominal: 109, mass: 108.928424 },\n            { nominal: 110, mass: 109.930704 },\n            { nominal: 111, mass: 110.935654 },\n            { nominal: 112, mass: 111.93831 },\n            { nominal: 113, mass: 112.94335 },\n            { nominal: 114, mass: 113.94653 },\n            { nominal: 115, mass: 114.95196 },\n            { nominal: 116, mass: 115.95545 },\n            { nominal: 117, mass: 116.96117 },\n        ],\n        symbol: 'Mo',\n        mass: 95.959788541188,\n        name: 'Molybdenum',\n        monoisotopicMass: 97.90540482,\n    },\n    {\n        number: 43,\n        isotopes: [\n            { nominal: 85, mass: 84.95058 },\n            { nominal: 86, mass: 85.94493 },\n            { nominal: 87, mass: 86.9380672 },\n            { nominal: 88, mass: 87.93378 },\n            { nominal: 89, mass: 88.9276487 },\n            { nominal: 90, mass: 89.9240739 },\n            { nominal: 91, mass: 90.9184254 },\n            { nominal: 92, mass: 91.9152698 },\n            { nominal: 93, mass: 92.910246 },\n            { nominal: 94, mass: 93.9096536 },\n            { nominal: 95, mass: 94.9076536 },\n            { nominal: 96, mass: 95.907868 },\n            { nominal: 97, mass: 96.9063667 },\n            { nominal: 98, mass: 97.9072124 },\n            { nominal: 99, mass: 98.9062508 },\n            { nominal: 100, mass: 99.9076539 },\n            { nominal: 101, mass: 100.907309 },\n            { nominal: 102, mass: 101.9092097 },\n            { nominal: 103, mass: 102.909176 },\n            { nominal: 104, mass: 103.911425 },\n            { nominal: 105, mass: 104.911655 },\n            { nominal: 106, mass: 105.914358 },\n            { nominal: 107, mass: 106.9154606 },\n            { nominal: 108, mass: 107.9184957 },\n            { nominal: 109, mass: 108.920256 },\n            { nominal: 110, mass: 109.923744 },\n            { nominal: 111, mass: 110.925901 },\n            { nominal: 112, mass: 111.9299458 },\n            { nominal: 113, mass: 112.932569 },\n            { nominal: 114, mass: 113.93691 },\n            { nominal: 115, mass: 114.93998 },\n            { nominal: 116, mass: 115.94476 },\n            { nominal: 117, mass: 116.94806 },\n            { nominal: 118, mass: 117.95299 },\n            { nominal: 119, mass: 118.95666 },\n            { nominal: 120, mass: 119.96187 },\n        ],\n        symbol: 'Tc',\n        mass: null,\n        name: 'Technetium',\n    },\n    {\n        number: 44,\n        isotopes: [\n            { nominal: 87, mass: 86.95069 },\n            { nominal: 88, mass: 87.9416 },\n            { nominal: 89, mass: 88.93762 },\n            { nominal: 90, mass: 89.9303444 },\n            { nominal: 91, mass: 90.9267419 },\n            { nominal: 92, mass: 91.9202344 },\n            { nominal: 93, mass: 92.9171044 },\n            { nominal: 94, mass: 93.9113429 },\n            { nominal: 95, mass: 94.910406 },\n            { nominal: 96, mass: 95.90759025, abundance: 0.0554 },\n            { nominal: 97, mass: 96.9075471 },\n            { nominal: 98, mass: 97.9052868, abundance: 0.0187 },\n            { nominal: 99, mass: 98.9059341, abundance: 0.1276 },\n            { nominal: 100, mass: 99.9042143, abundance: 0.126 },\n            { nominal: 101, mass: 100.9055769, abundance: 0.1706 },\n            { nominal: 102, mass: 101.9043441, abundance: 0.3155 },\n            { nominal: 103, mass: 102.9063186 },\n            { nominal: 104, mass: 103.9054275, abundance: 0.1862 },\n            { nominal: 105, mass: 104.9077476 },\n            { nominal: 106, mass: 105.9073291 },\n            { nominal: 107, mass: 106.909972 },\n            { nominal: 108, mass: 107.910188 },\n            { nominal: 109, mass: 108.913326 },\n            { nominal: 110, mass: 109.9140407 },\n            { nominal: 111, mass: 110.91757 },\n            { nominal: 112, mass: 111.918809 },\n            { nominal: 113, mass: 112.922844 },\n            { nominal: 114, mass: 113.9246136 },\n            { nominal: 115, mass: 114.92882 },\n            { nominal: 116, mass: 115.9312192 },\n            { nominal: 117, mass: 116.9361 },\n            { nominal: 118, mass: 117.93853 },\n            { nominal: 119, mass: 118.94357 },\n            { nominal: 120, mass: 119.94631 },\n            { nominal: 121, mass: 120.95164 },\n            { nominal: 122, mass: 121.95447 },\n            { nominal: 123, mass: 122.95989 },\n            { nominal: 124, mass: 123.96305 },\n        ],\n        symbol: 'Ru',\n        mass: 101.06494013916,\n        name: 'Ruthenium',\n        monoisotopicMass: 101.9043441,\n    },\n    {\n        number: 45,\n        isotopes: [\n            { nominal: 89, mass: 88.95058 },\n            { nominal: 90, mass: 89.94422 },\n            { nominal: 91, mass: 90.93688 },\n            { nominal: 92, mass: 91.9323677 },\n            { nominal: 93, mass: 92.9259128 },\n            { nominal: 94, mass: 93.9217305 },\n            { nominal: 95, mass: 94.9158979 },\n            { nominal: 96, mass: 95.914453 },\n            { nominal: 97, mass: 96.911329 },\n            { nominal: 98, mass: 97.910708 },\n            { nominal: 99, mass: 98.9081282 },\n            { nominal: 100, mass: 99.908117 },\n            { nominal: 101, mass: 100.9061606 },\n            { nominal: 102, mass: 101.9068374 },\n            { nominal: 103, mass: 102.905498, abundance: 1 },\n            { nominal: 104, mass: 103.9066492 },\n            { nominal: 105, mass: 104.9056885 },\n            { nominal: 106, mass: 105.9072868 },\n            { nominal: 107, mass: 106.906748 },\n            { nominal: 108, mass: 107.908714 },\n            { nominal: 109, mass: 108.9087488 },\n            { nominal: 110, mass: 109.911079 },\n            { nominal: 111, mass: 110.9116423 },\n            { nominal: 112, mass: 111.914403 },\n            { nominal: 113, mass: 112.9154393 },\n            { nominal: 114, mass: 113.918718 },\n            { nominal: 115, mass: 114.9203116 },\n            { nominal: 116, mass: 115.924059 },\n            { nominal: 117, mass: 116.9260354 },\n            { nominal: 118, mass: 117.93034 },\n            { nominal: 119, mass: 118.932557 },\n            { nominal: 120, mass: 119.93686 },\n            { nominal: 121, mass: 120.93942 },\n            { nominal: 122, mass: 121.94399 },\n            { nominal: 123, mass: 122.94685 },\n            { nominal: 124, mass: 123.95151 },\n            { nominal: 125, mass: 124.95469 },\n            { nominal: 126, mass: 125.95946 },\n        ],\n        symbol: 'Rh',\n        mass: 102.905498,\n        name: 'Rhodium',\n        monoisotopicMass: 102.905498,\n    },\n    {\n        number: 46,\n        isotopes: [\n            { nominal: 91, mass: 90.95032 },\n            { nominal: 92, mass: 91.94088 },\n            { nominal: 93, mass: 92.93651 },\n            { nominal: 94, mass: 93.9290376 },\n            { nominal: 95, mass: 94.9248898 },\n            { nominal: 96, mass: 95.9182151 },\n            { nominal: 97, mass: 96.916472 },\n            { nominal: 98, mass: 97.9126983 },\n            { nominal: 99, mass: 98.9117748 },\n            { nominal: 100, mass: 99.908505 },\n            { nominal: 101, mass: 100.9082864 },\n            { nominal: 102, mass: 101.9056022, abundance: 0.0102 },\n            { nominal: 103, mass: 102.9060809 },\n            { nominal: 104, mass: 103.9040305, abundance: 0.1114 },\n            { nominal: 105, mass: 104.9050796, abundance: 0.2233 },\n            { nominal: 106, mass: 105.9034804, abundance: 0.2733 },\n            { nominal: 107, mass: 106.9051282 },\n            { nominal: 108, mass: 107.9038916, abundance: 0.2646 },\n            { nominal: 109, mass: 108.9059504 },\n            { nominal: 110, mass: 109.9051722, abundance: 0.1172 },\n            { nominal: 111, mass: 110.90768968 },\n            { nominal: 112, mass: 111.9073297 },\n            { nominal: 113, mass: 112.910261 },\n            { nominal: 114, mass: 113.9103686 },\n            { nominal: 115, mass: 114.913659 },\n            { nominal: 116, mass: 115.914297 },\n            { nominal: 117, mass: 116.9179547 },\n            { nominal: 118, mass: 117.9190667 },\n            { nominal: 119, mass: 118.9233402 },\n            { nominal: 120, mass: 119.9245511 },\n            { nominal: 121, mass: 120.9289503 },\n            { nominal: 122, mass: 121.930632 },\n            { nominal: 123, mass: 122.93514 },\n            { nominal: 124, mass: 123.93714 },\n            { nominal: 125, mass: 124.94179 },\n            { nominal: 126, mass: 125.94416 },\n            { nominal: 127, mass: 126.94907 },\n            { nominal: 128, mass: 127.95183 },\n        ],\n        symbol: 'Pd',\n        mass: 106.41532750734,\n        name: 'Palladium',\n        monoisotopicMass: 105.9034804,\n    },\n    {\n        number: 47,\n        isotopes: [\n            { nominal: 93, mass: 92.95033 },\n            { nominal: 94, mass: 93.94373 },\n            { nominal: 95, mass: 94.93602 },\n            { nominal: 96, mass: 95.930744 },\n            { nominal: 97, mass: 96.92397 },\n            { nominal: 98, mass: 97.92156 },\n            { nominal: 99, mass: 98.9176458 },\n            { nominal: 100, mass: 99.9161154 },\n            { nominal: 101, mass: 100.912684 },\n            { nominal: 102, mass: 101.9117047 },\n            { nominal: 103, mass: 102.9089631 },\n            { nominal: 104, mass: 103.9086239 },\n            { nominal: 105, mass: 104.9065256 },\n            { nominal: 106, mass: 105.9066636 },\n            { nominal: 107, mass: 106.9050916, abundance: 0.51839 },\n            { nominal: 108, mass: 107.9059503 },\n            { nominal: 109, mass: 108.9047553, abundance: 0.48161 },\n            { nominal: 110, mass: 109.9061102 },\n            { nominal: 111, mass: 110.9052959 },\n            { nominal: 112, mass: 111.9070486 },\n            { nominal: 113, mass: 112.906573 },\n            { nominal: 114, mass: 113.908823 },\n            { nominal: 115, mass: 114.908767 },\n            { nominal: 116, mass: 115.9113868 },\n            { nominal: 117, mass: 116.911774 },\n            { nominal: 118, mass: 117.9145955 },\n            { nominal: 119, mass: 118.91557 },\n            { nominal: 120, mass: 119.9187848 },\n            { nominal: 121, mass: 120.920125 },\n            { nominal: 122, mass: 121.923664 },\n            { nominal: 123, mass: 122.925337 },\n            { nominal: 124, mass: 123.92893 },\n            { nominal: 125, mass: 124.93105 },\n            { nominal: 126, mass: 125.93475 },\n            { nominal: 127, mass: 126.93711 },\n            { nominal: 128, mass: 127.94106 },\n            { nominal: 129, mass: 128.94395 },\n            { nominal: 130, mass: 129.9507 },\n        ],\n        symbol: 'Ag',\n        mass: 107.868149634557,\n        name: 'Silver',\n        monoisotopicMass: 106.9050916,\n    },\n    {\n        number: 48,\n        isotopes: [\n            { nominal: 95, mass: 94.94994 },\n            { nominal: 96, mass: 95.94034 },\n            { nominal: 97, mass: 96.9351 },\n            { nominal: 98, mass: 97.927389 },\n            { nominal: 99, mass: 98.9249258 },\n            { nominal: 100, mass: 99.9203488 },\n            { nominal: 101, mass: 100.9185862 },\n            { nominal: 102, mass: 101.914482 },\n            { nominal: 103, mass: 102.9134165 },\n            { nominal: 104, mass: 103.9098564 },\n            { nominal: 105, mass: 104.9094639 },\n            { nominal: 106, mass: 105.9064599, abundance: 0.0125 },\n            { nominal: 107, mass: 106.9066121 },\n            { nominal: 108, mass: 107.9041834, abundance: 0.0089 },\n            { nominal: 109, mass: 108.9049867 },\n            { nominal: 110, mass: 109.90300661, abundance: 0.1249 },\n            { nominal: 111, mass: 110.90418287, abundance: 0.128 },\n            { nominal: 112, mass: 111.90276287, abundance: 0.2413 },\n            { nominal: 113, mass: 112.90440813, abundance: 0.1222 },\n            { nominal: 114, mass: 113.90336509, abundance: 0.2873 },\n            { nominal: 115, mass: 114.90543751 },\n            { nominal: 116, mass: 115.90476315, abundance: 0.0749 },\n            { nominal: 117, mass: 116.907226 },\n            { nominal: 118, mass: 117.906922 },\n            { nominal: 119, mass: 118.909847 },\n            { nominal: 120, mass: 119.9098681 },\n            { nominal: 121, mass: 120.9129637 },\n            { nominal: 122, mass: 121.9134591 },\n            { nominal: 123, mass: 122.9168925 },\n            { nominal: 124, mass: 123.9176574 },\n            { nominal: 125, mass: 124.9212576 },\n            { nominal: 126, mass: 125.9224291 },\n            { nominal: 127, mass: 126.926472 },\n            { nominal: 128, mass: 127.9278129 },\n            { nominal: 129, mass: 128.93182 },\n            { nominal: 130, mass: 129.93394 },\n            { nominal: 131, mass: 130.9406 },\n            { nominal: 132, mass: 131.94604 },\n            { nominal: 133, mass: 132.95285 },\n        ],\n        symbol: 'Cd',\n        mass: 112.411557818268,\n        name: 'Cadmium',\n        monoisotopicMass: 113.90336509,\n    },\n    {\n        number: 49,\n        isotopes: [\n            { nominal: 97, mass: 96.94934 },\n            { nominal: 98, mass: 97.94214 },\n            { nominal: 99, mass: 98.93411 },\n            { nominal: 100, mass: 99.93096 },\n            { nominal: 101, mass: 100.92634 },\n            { nominal: 102, mass: 101.9241071 },\n            { nominal: 103, mass: 102.9198819 },\n            { nominal: 104, mass: 103.9182145 },\n            { nominal: 105, mass: 104.914502 },\n            { nominal: 106, mass: 105.913464 },\n            { nominal: 107, mass: 106.91029 },\n            { nominal: 108, mass: 107.9096935 },\n            { nominal: 109, mass: 108.9071514 },\n            { nominal: 110, mass: 109.90717 },\n            { nominal: 111, mass: 110.9051085 },\n            { nominal: 112, mass: 111.9055377 },\n            { nominal: 113, mass: 112.90406184, abundance: 0.0429 },\n            { nominal: 114, mass: 113.90491791 },\n            { nominal: 115, mass: 114.903878776, abundance: 0.9571 },\n            { nominal: 116, mass: 115.90525999 },\n            { nominal: 117, mass: 116.9045157 },\n            { nominal: 118, mass: 117.9063566 },\n            { nominal: 119, mass: 118.9058507 },\n            { nominal: 120, mass: 119.907967 },\n            { nominal: 121, mass: 120.907851 },\n            { nominal: 122, mass: 121.910281 },\n            { nominal: 123, mass: 122.910434 },\n            { nominal: 124, mass: 123.913182 },\n            { nominal: 125, mass: 124.913605 },\n            { nominal: 126, mass: 125.916507 },\n            { nominal: 127, mass: 126.917446 },\n            { nominal: 128, mass: 127.9204 },\n            { nominal: 129, mass: 128.9218053 },\n            { nominal: 130, mass: 129.924977 },\n            { nominal: 131, mass: 130.9269715 },\n            { nominal: 132, mass: 131.933001 },\n            { nominal: 133, mass: 132.93831 },\n            { nominal: 134, mass: 133.94454 },\n            { nominal: 135, mass: 134.95005 },\n        ],\n        symbol: 'In',\n        mass: 114.81808662944559,\n        name: 'Indium',\n        monoisotopicMass: 114.903878776,\n    },\n    {\n        number: 50,\n        isotopes: [\n            { nominal: 99, mass: 98.94853 },\n            { nominal: 100, mass: 99.9385 },\n            { nominal: 101, mass: 100.93526 },\n            { nominal: 102, mass: 101.93029 },\n            { nominal: 103, mass: 102.928105 },\n            { nominal: 104, mass: 103.9231052 },\n            { nominal: 105, mass: 104.9212684 },\n            { nominal: 106, mass: 105.9169574 },\n            { nominal: 107, mass: 106.9157137 },\n            { nominal: 108, mass: 107.9118943 },\n            { nominal: 109, mass: 108.9112921 },\n            { nominal: 110, mass: 109.907845 },\n            { nominal: 111, mass: 110.9077401 },\n            { nominal: 112, mass: 111.90482387, abundance: 0.0097 },\n            { nominal: 113, mass: 112.9051757 },\n            { nominal: 114, mass: 113.9027827, abundance: 0.0066 },\n            { nominal: 115, mass: 114.903344699, abundance: 0.0034 },\n            { nominal: 116, mass: 115.9017428, abundance: 0.1454 },\n            { nominal: 117, mass: 116.90295398, abundance: 0.0768 },\n            { nominal: 118, mass: 117.90160657, abundance: 0.2422 },\n            { nominal: 119, mass: 118.90331117, abundance: 0.0859 },\n            { nominal: 120, mass: 119.90220163, abundance: 0.3258 },\n            { nominal: 121, mass: 120.9042426 },\n            { nominal: 122, mass: 121.9034438, abundance: 0.0463 },\n            { nominal: 123, mass: 122.9057252 },\n            { nominal: 124, mass: 123.9052766, abundance: 0.0579 },\n            { nominal: 125, mass: 124.9077864 },\n            { nominal: 126, mass: 125.907659 },\n            { nominal: 127, mass: 126.91039 },\n            { nominal: 128, mass: 127.910507 },\n            { nominal: 129, mass: 128.913465 },\n            { nominal: 130, mass: 129.9139738 },\n            { nominal: 131, mass: 130.917045 },\n            { nominal: 132, mass: 131.9178267 },\n            { nominal: 133, mass: 132.9239134 },\n            { nominal: 134, mass: 133.9286821 },\n            { nominal: 135, mass: 134.9349086 },\n            { nominal: 136, mass: 135.93999 },\n            { nominal: 137, mass: 136.94655 },\n            { nominal: 138, mass: 137.95184 },\n        ],\n        symbol: 'Sn',\n        mass: 118.71011259301059,\n        name: 'Tin',\n        monoisotopicMass: 119.90220163,\n    },\n    {\n        number: 51,\n        isotopes: [\n            { nominal: 103, mass: 102.93969 },\n            { nominal: 104, mass: 103.93648 },\n            { nominal: 105, mass: 104.931276 },\n            { nominal: 106, mass: 105.928638 },\n            { nominal: 107, mass: 106.9241506 },\n            { nominal: 108, mass: 107.9222267 },\n            { nominal: 109, mass: 108.9181411 },\n            { nominal: 110, mass: 109.9168543 },\n            { nominal: 111, mass: 110.9132182 },\n            { nominal: 112, mass: 111.9124 },\n            { nominal: 113, mass: 112.909375 },\n            { nominal: 114, mass: 113.90929 },\n            { nominal: 115, mass: 114.906598 },\n            { nominal: 116, mass: 115.9067931 },\n            { nominal: 117, mass: 116.9048415 },\n            { nominal: 118, mass: 117.9055321 },\n            { nominal: 119, mass: 118.9039455 },\n            { nominal: 120, mass: 119.9050794 },\n            { nominal: 121, mass: 120.903812, abundance: 0.5721 },\n            { nominal: 122, mass: 121.9051699 },\n            { nominal: 123, mass: 122.9042132, abundance: 0.4279 },\n            { nominal: 124, mass: 123.905935 },\n            { nominal: 125, mass: 124.905253 },\n            { nominal: 126, mass: 125.907253 },\n            { nominal: 127, mass: 126.9069243 },\n            { nominal: 128, mass: 127.909146 },\n            { nominal: 129, mass: 128.909147 },\n            { nominal: 130, mass: 129.911662 },\n            { nominal: 131, mass: 130.9119888 },\n            { nominal: 132, mass: 131.9145077 },\n            { nominal: 133, mass: 132.9152732 },\n            { nominal: 134, mass: 133.9205357 },\n            { nominal: 135, mass: 134.9251851 },\n            { nominal: 136, mass: 135.9307459 },\n            { nominal: 137, mass: 136.93555 },\n            { nominal: 138, mass: 137.94145 },\n            { nominal: 139, mass: 138.94655 },\n            { nominal: 140, mass: 139.95283 },\n        ],\n        symbol: 'Sb',\n        mass: 121.75978367348,\n        name: 'Antimony',\n        monoisotopicMass: 120.903812,\n    },\n    {\n        number: 52,\n        isotopes: [\n            { nominal: 105, mass: 104.9433 },\n            { nominal: 106, mass: 105.9375 },\n            { nominal: 107, mass: 106.935012 },\n            { nominal: 108, mass: 107.9293805 },\n            { nominal: 109, mass: 108.9273045 },\n            { nominal: 110, mass: 109.9224581 },\n            { nominal: 111, mass: 110.9210006 },\n            { nominal: 112, mass: 111.9167279 },\n            { nominal: 113, mass: 112.915891 },\n            { nominal: 114, mass: 113.912089 },\n            { nominal: 115, mass: 114.911902 },\n            { nominal: 116, mass: 115.90846 },\n            { nominal: 117, mass: 116.908646 },\n            { nominal: 118, mass: 117.905854 },\n            { nominal: 119, mass: 118.9064071 },\n            { nominal: 120, mass: 119.9040593, abundance: 0.0009 },\n            { nominal: 121, mass: 120.904944 },\n            { nominal: 122, mass: 121.9030435, abundance: 0.0255 },\n            { nominal: 123, mass: 122.9042698, abundance: 0.0089 },\n            { nominal: 124, mass: 123.9028171, abundance: 0.0474 },\n            { nominal: 125, mass: 124.9044299, abundance: 0.0707 },\n            { nominal: 126, mass: 125.9033109, abundance: 0.1884 },\n            { nominal: 127, mass: 126.9052257 },\n            { nominal: 128, mass: 127.90446128, abundance: 0.3174 },\n            { nominal: 129, mass: 128.90659646 },\n            { nominal: 130, mass: 129.906222748, abundance: 0.3408 },\n            { nominal: 131, mass: 130.908522213 },\n            { nominal: 132, mass: 131.9085467 },\n            { nominal: 133, mass: 132.9109688 },\n            { nominal: 134, mass: 133.911394 },\n            { nominal: 135, mass: 134.9165557 },\n            { nominal: 136, mass: 135.9201006 },\n            { nominal: 137, mass: 136.9255989 },\n            { nominal: 138, mass: 137.9294722 },\n            { nominal: 139, mass: 138.9353672 },\n            { nominal: 140, mass: 139.939499 },\n            { nominal: 141, mass: 140.9458 },\n            { nominal: 142, mass: 141.95022 },\n            { nominal: 143, mass: 142.95676 },\n        ],\n        symbol: 'Te',\n        mass: 127.6031264846604,\n        name: 'Tellurium',\n        monoisotopicMass: 129.906222748,\n    },\n    {\n        number: 53,\n        isotopes: [\n            { nominal: 107, mass: 106.94678 },\n            { nominal: 108, mass: 107.94348 },\n            { nominal: 109, mass: 108.9380853 },\n            { nominal: 110, mass: 109.935089 },\n            { nominal: 111, mass: 110.9302692 },\n            { nominal: 112, mass: 111.928005 },\n            { nominal: 113, mass: 112.9236501 },\n            { nominal: 114, mass: 113.92185 },\n            { nominal: 115, mass: 114.918048 },\n            { nominal: 116, mass: 115.91681 },\n            { nominal: 117, mass: 116.913648 },\n            { nominal: 118, mass: 117.913074 },\n            { nominal: 119, mass: 118.910074 },\n            { nominal: 120, mass: 119.910087 },\n            { nominal: 121, mass: 120.9074051 },\n            { nominal: 122, mass: 121.9075888 },\n            { nominal: 123, mass: 122.9055885 },\n            { nominal: 124, mass: 123.906209 },\n            { nominal: 125, mass: 124.9046294 },\n            { nominal: 126, mass: 125.9056233 },\n            { nominal: 127, mass: 126.9044719, abundance: 1 },\n            { nominal: 128, mass: 127.9058086 },\n            { nominal: 129, mass: 128.9049837 },\n            { nominal: 130, mass: 129.9066702 },\n            { nominal: 131, mass: 130.9061263 },\n            { nominal: 132, mass: 131.9079935 },\n            { nominal: 133, mass: 132.907797 },\n            { nominal: 134, mass: 133.9097588 },\n            { nominal: 135, mass: 134.9100488 },\n            { nominal: 136, mass: 135.914604 },\n            { nominal: 137, mass: 136.9180282 },\n            { nominal: 138, mass: 137.9227264 },\n            { nominal: 139, mass: 138.926506 },\n            { nominal: 140, mass: 139.93173 },\n            { nominal: 141, mass: 140.93569 },\n            { nominal: 142, mass: 141.9412 },\n            { nominal: 143, mass: 142.94565 },\n            { nominal: 144, mass: 143.95139 },\n            { nominal: 145, mass: 144.95605 },\n        ],\n        symbol: 'I',\n        mass: 126.9044719,\n        name: 'Iodine',\n        monoisotopicMass: 126.9044719,\n    },\n    {\n        number: 54,\n        isotopes: [\n            { nominal: 109, mass: 108.95043 },\n            { nominal: 110, mass: 109.94426 },\n            { nominal: 111, mass: 110.941607 },\n            { nominal: 112, mass: 111.935559 },\n            { nominal: 113, mass: 112.9332217 },\n            { nominal: 114, mass: 113.92798 },\n            { nominal: 115, mass: 114.926294 },\n            { nominal: 116, mass: 115.921581 },\n            { nominal: 117, mass: 116.920359 },\n            { nominal: 118, mass: 117.916179 },\n            { nominal: 119, mass: 118.915411 },\n            { nominal: 120, mass: 119.911784 },\n            { nominal: 121, mass: 120.911453 },\n            { nominal: 122, mass: 121.908368 },\n            { nominal: 123, mass: 122.908482 },\n            { nominal: 124, mass: 123.905892, abundance: 0.000952 },\n            { nominal: 125, mass: 124.9063944 },\n            { nominal: 126, mass: 125.9042983, abundance: 0.00089 },\n            { nominal: 127, mass: 126.9051829 },\n            { nominal: 128, mass: 127.903531, abundance: 0.019102 },\n            { nominal: 129, mass: 128.9047808611, abundance: 0.264006 },\n            { nominal: 130, mass: 129.903509349, abundance: 0.04071 },\n            { nominal: 131, mass: 130.90508406, abundance: 0.212324 },\n            { nominal: 132, mass: 131.9041550856, abundance: 0.269086 },\n            { nominal: 133, mass: 132.9059108 },\n            { nominal: 134, mass: 133.90539466, abundance: 0.104357 },\n            { nominal: 135, mass: 134.9072278 },\n            { nominal: 136, mass: 135.907214484, abundance: 0.088573 },\n            { nominal: 137, mass: 136.91155778 },\n            { nominal: 138, mass: 137.9141463 },\n            { nominal: 139, mass: 138.9187922 },\n            { nominal: 140, mass: 139.9216458 },\n            { nominal: 141, mass: 140.9267872 },\n            { nominal: 142, mass: 141.9299731 },\n            { nominal: 143, mass: 142.9353696 },\n            { nominal: 144, mass: 143.9389451 },\n            { nominal: 145, mass: 144.94472 },\n            { nominal: 146, mass: 145.948518 },\n            { nominal: 147, mass: 146.95426 },\n            { nominal: 148, mass: 147.95813 },\n        ],\n        symbol: 'Xe',\n        mass: 131.29276144779053,\n        name: 'Xenon',\n        monoisotopicMass: 131.9041550856,\n    },\n    {\n        number: 55,\n        isotopes: [\n            { nominal: 112, mass: 111.950309 },\n            { nominal: 113, mass: 112.9444291 },\n            { nominal: 114, mass: 113.941296 },\n            { nominal: 115, mass: 114.93591 },\n            { nominal: 116, mass: 115.93337 },\n            { nominal: 117, mass: 116.928617 },\n            { nominal: 118, mass: 117.92656 },\n            { nominal: 119, mass: 118.922377 },\n            { nominal: 120, mass: 119.920677 },\n            { nominal: 121, mass: 120.917227 },\n            { nominal: 122, mass: 121.916108 },\n            { nominal: 123, mass: 122.912996 },\n            { nominal: 124, mass: 123.9122578 },\n            { nominal: 125, mass: 124.909728 },\n            { nominal: 126, mass: 125.909446 },\n            { nominal: 127, mass: 126.9074174 },\n            { nominal: 128, mass: 127.9077487 },\n            { nominal: 129, mass: 128.9060657 },\n            { nominal: 130, mass: 129.9067093 },\n            { nominal: 131, mass: 130.9054649 },\n            { nominal: 132, mass: 131.9064339 },\n            { nominal: 133, mass: 132.905451961, abundance: 1 },\n            { nominal: 134, mass: 133.906718503 },\n            { nominal: 135, mass: 134.905977 },\n            { nominal: 136, mass: 135.9073114 },\n            { nominal: 137, mass: 136.90708923 },\n            { nominal: 138, mass: 137.9110171 },\n            { nominal: 139, mass: 138.9133638 },\n            { nominal: 140, mass: 139.9172831 },\n            { nominal: 141, mass: 140.9200455 },\n            { nominal: 142, mass: 141.924296 },\n            { nominal: 143, mass: 142.927349 },\n            { nominal: 144, mass: 143.932076 },\n            { nominal: 145, mass: 144.935527 },\n            { nominal: 146, mass: 145.940344 },\n            { nominal: 147, mass: 146.944156 },\n            { nominal: 148, mass: 147.94923 },\n            { nominal: 149, mass: 148.95302 },\n            { nominal: 150, mass: 149.95833 },\n            { nominal: 151, mass: 150.96258 },\n        ],\n        symbol: 'Cs',\n        mass: 132.905451961,\n        name: 'Caesium',\n        monoisotopicMass: 132.905451961,\n    },\n    {\n        number: 56,\n        isotopes: [\n            { nominal: 114, mass: 113.95066 },\n            { nominal: 115, mass: 114.94737 },\n            { nominal: 116, mass: 115.94128 },\n            { nominal: 117, mass: 116.93814 },\n            { nominal: 118, mass: 117.93306 },\n            { nominal: 119, mass: 118.93066 },\n            { nominal: 120, mass: 119.92605 },\n            { nominal: 121, mass: 120.92405 },\n            { nominal: 122, mass: 121.919904 },\n            { nominal: 123, mass: 122.918781 },\n            { nominal: 124, mass: 123.915094 },\n            { nominal: 125, mass: 124.914472 },\n            { nominal: 126, mass: 125.91125 },\n            { nominal: 127, mass: 126.911091 },\n            { nominal: 128, mass: 127.908342 },\n            { nominal: 129, mass: 128.908681 },\n            { nominal: 130, mass: 129.9063207, abundance: 0.00106 },\n            { nominal: 131, mass: 130.906941 },\n            { nominal: 132, mass: 131.9050611, abundance: 0.00101 },\n            { nominal: 133, mass: 132.9060074 },\n            { nominal: 134, mass: 133.90450818, abundance: 0.02417 },\n            { nominal: 135, mass: 134.90568838, abundance: 0.06592 },\n            { nominal: 136, mass: 135.90457573, abundance: 0.07854 },\n            { nominal: 137, mass: 136.90582714, abundance: 0.11232 },\n            { nominal: 138, mass: 137.905247, abundance: 0.71698 },\n            { nominal: 139, mass: 138.9088411 },\n            { nominal: 140, mass: 139.9106057 },\n            { nominal: 141, mass: 140.9144033 },\n            { nominal: 142, mass: 141.9164324 },\n            { nominal: 143, mass: 142.9206253 },\n            { nominal: 144, mass: 143.9229549 },\n            { nominal: 145, mass: 144.9275184 },\n            { nominal: 146, mass: 145.930284 },\n            { nominal: 147, mass: 146.935304 },\n            { nominal: 148, mass: 147.938171 },\n            { nominal: 149, mass: 148.94308 },\n            { nominal: 150, mass: 149.94605 },\n            { nominal: 151, mass: 150.95127 },\n            { nominal: 152, mass: 151.95481 },\n            { nominal: 153, mass: 152.96036 },\n        ],\n        symbol: 'Ba',\n        mass: 137.3268916286322,\n        name: 'Barium',\n        monoisotopicMass: 137.905247,\n    },\n    {\n        number: 57,\n        isotopes: [\n            { nominal: 116, mass: 115.9563 },\n            { nominal: 117, mass: 116.94999 },\n            { nominal: 118, mass: 117.94673 },\n            { nominal: 119, mass: 118.94099 },\n            { nominal: 120, mass: 119.93807 },\n            { nominal: 121, mass: 120.93315 },\n            { nominal: 122, mass: 121.93071 },\n            { nominal: 123, mass: 122.9263 },\n            { nominal: 124, mass: 123.924574 },\n            { nominal: 125, mass: 124.920816 },\n            { nominal: 126, mass: 125.919513 },\n            { nominal: 127, mass: 126.916375 },\n            { nominal: 128, mass: 127.915592 },\n            { nominal: 129, mass: 128.912694 },\n            { nominal: 130, mass: 129.912369 },\n            { nominal: 131, mass: 130.91007 },\n            { nominal: 132, mass: 131.910119 },\n            { nominal: 133, mass: 132.908218 },\n            { nominal: 134, mass: 133.908514 },\n            { nominal: 135, mass: 134.906984 },\n            { nominal: 136, mass: 135.907635 },\n            { nominal: 137, mass: 136.9064504 },\n            { nominal: 138, mass: 137.9071149, abundance: 0.0008881 },\n            { nominal: 139, mass: 138.9063563, abundance: 0.9991119 },\n            { nominal: 140, mass: 139.9094806 },\n            { nominal: 141, mass: 140.910966 },\n            { nominal: 142, mass: 141.9140909 },\n            { nominal: 143, mass: 142.9160795 },\n            { nominal: 144, mass: 143.919646 },\n            { nominal: 145, mass: 144.921808 },\n            { nominal: 146, mass: 145.925875 },\n            { nominal: 147, mass: 146.928418 },\n            { nominal: 148, mass: 147.932679 },\n            { nominal: 149, mass: 148.93535 },\n            { nominal: 150, mass: 149.93947 },\n            { nominal: 151, mass: 150.94232 },\n            { nominal: 152, mass: 151.94682 },\n            { nominal: 153, mass: 152.95036 },\n            { nominal: 154, mass: 153.95517 },\n            { nominal: 155, mass: 154.95901 },\n        ],\n        symbol: 'La',\n        mass: 138.90546887371266,\n        name: 'Lanthanum',\n        monoisotopicMass: 138.9063563,\n    },\n    {\n        number: 58,\n        isotopes: [\n            { nominal: 119, mass: 118.95271 },\n            { nominal: 120, mass: 119.94654 },\n            { nominal: 121, mass: 120.94335 },\n            { nominal: 122, mass: 121.93787 },\n            { nominal: 123, mass: 122.93528 },\n            { nominal: 124, mass: 123.93031 },\n            { nominal: 125, mass: 124.92844 },\n            { nominal: 126, mass: 125.923971 },\n            { nominal: 127, mass: 126.922727 },\n            { nominal: 128, mass: 127.918911 },\n            { nominal: 129, mass: 128.918102 },\n            { nominal: 130, mass: 129.914736 },\n            { nominal: 131, mass: 130.914429 },\n            { nominal: 132, mass: 131.911464 },\n            { nominal: 133, mass: 132.91152 },\n            { nominal: 134, mass: 133.908928 },\n            { nominal: 135, mass: 134.909161 },\n            { nominal: 136, mass: 135.90712921, abundance: 0.00185 },\n            { nominal: 137, mass: 136.90776236 },\n            { nominal: 138, mass: 137.905991, abundance: 0.00251 },\n            { nominal: 139, mass: 138.9066551 },\n            { nominal: 140, mass: 139.9054431, abundance: 0.8845 },\n            { nominal: 141, mass: 140.9082807 },\n            { nominal: 142, mass: 141.9092504, abundance: 0.11114 },\n            { nominal: 143, mass: 142.9123921 },\n            { nominal: 144, mass: 143.9136529 },\n            { nominal: 145, mass: 144.917265 },\n            { nominal: 146, mass: 145.918802 },\n            { nominal: 147, mass: 146.9226899 },\n            { nominal: 148, mass: 147.924424 },\n            { nominal: 149, mass: 148.928427 },\n            { nominal: 150, mass: 149.930384 },\n            { nominal: 151, mass: 150.934272 },\n            { nominal: 152, mass: 151.9366 },\n            { nominal: 153, mass: 152.94093 },\n            { nominal: 154, mass: 153.9438 },\n            { nominal: 155, mass: 154.94855 },\n            { nominal: 156, mass: 155.95183 },\n            { nominal: 157, mass: 156.95705 },\n        ],\n        symbol: 'Ce',\n        mass: 140.1157307378545,\n        name: 'Cerium',\n        monoisotopicMass: 139.9054431,\n    },\n    {\n        number: 59,\n        isotopes: [\n            { nominal: 121, mass: 120.95532 },\n            { nominal: 122, mass: 121.95175 },\n            { nominal: 123, mass: 122.94596 },\n            { nominal: 124, mass: 123.94294 },\n            { nominal: 125, mass: 124.9377 },\n            { nominal: 126, mass: 125.93524 },\n            { nominal: 127, mass: 126.93071 },\n            { nominal: 128, mass: 127.928791 },\n            { nominal: 129, mass: 128.925095 },\n            { nominal: 130, mass: 129.92359 },\n            { nominal: 131, mass: 130.920235 },\n            { nominal: 132, mass: 131.919255 },\n            { nominal: 133, mass: 132.916331 },\n            { nominal: 134, mass: 133.915697 },\n            { nominal: 135, mass: 134.913112 },\n            { nominal: 136, mass: 135.912677 },\n            { nominal: 137, mass: 136.9106792 },\n            { nominal: 138, mass: 137.910754 },\n            { nominal: 139, mass: 138.9089408 },\n            { nominal: 140, mass: 139.9090803 },\n            { nominal: 141, mass: 140.9076576, abundance: 1 },\n            { nominal: 142, mass: 141.9100496 },\n            { nominal: 143, mass: 142.9108228 },\n            { nominal: 144, mass: 143.9133109 },\n            { nominal: 145, mass: 144.9145182 },\n            { nominal: 146, mass: 145.91768 },\n            { nominal: 147, mass: 146.919008 },\n            { nominal: 148, mass: 147.92213 },\n            { nominal: 149, mass: 148.923736 },\n            { nominal: 150, mass: 149.9266765 },\n            { nominal: 151, mass: 150.928309 },\n            { nominal: 152, mass: 151.931553 },\n            { nominal: 153, mass: 152.933904 },\n            { nominal: 154, mass: 153.93753 },\n            { nominal: 155, mass: 154.940509 },\n            { nominal: 156, mass: 155.94464 },\n            { nominal: 157, mass: 156.94789 },\n            { nominal: 158, mass: 157.95241 },\n            { nominal: 159, mass: 158.95589 },\n        ],\n        symbol: 'Pr',\n        mass: 140.9076576,\n        name: 'Praseodymium',\n        monoisotopicMass: 140.9076576,\n    },\n    {\n        number: 60,\n        isotopes: [\n            { nominal: 124, mass: 123.9522 },\n            { nominal: 125, mass: 124.9489 },\n            { nominal: 126, mass: 125.94311 },\n            { nominal: 127, mass: 126.94038 },\n            { nominal: 128, mass: 127.93525 },\n            { nominal: 129, mass: 128.9331 },\n            { nominal: 130, mass: 129.928506 },\n            { nominal: 131, mass: 130.927248 },\n            { nominal: 132, mass: 131.923321 },\n            { nominal: 133, mass: 132.922348 },\n            { nominal: 134, mass: 133.91879 },\n            { nominal: 135, mass: 134.918181 },\n            { nominal: 136, mass: 135.914976 },\n            { nominal: 137, mass: 136.914562 },\n            { nominal: 138, mass: 137.91195 },\n            { nominal: 139, mass: 138.911954 },\n            { nominal: 140, mass: 139.90955 },\n            { nominal: 141, mass: 140.9096147 },\n            { nominal: 142, mass: 141.907729, abundance: 0.27152 },\n            { nominal: 143, mass: 142.90982, abundance: 0.12174 },\n            { nominal: 144, mass: 143.910093, abundance: 0.23798 },\n            { nominal: 145, mass: 144.9125793, abundance: 0.08293 },\n            { nominal: 146, mass: 145.9131226, abundance: 0.17189 },\n            { nominal: 147, mass: 146.9161061 },\n            { nominal: 148, mass: 147.9168993, abundance: 0.05756 },\n            { nominal: 149, mass: 148.9201548 },\n            { nominal: 150, mass: 149.9209022, abundance: 0.05638 },\n            { nominal: 151, mass: 150.9238403 },\n            { nominal: 152, mass: 151.924692 },\n            { nominal: 153, mass: 152.927718 },\n            { nominal: 154, mass: 153.92948 },\n            { nominal: 155, mass: 154.9331357 },\n            { nominal: 156, mass: 155.93508 },\n            { nominal: 157, mass: 156.939386 },\n            { nominal: 158, mass: 157.94197 },\n            { nominal: 159, mass: 158.94653 },\n            { nominal: 160, mass: 159.9494 },\n            { nominal: 161, mass: 160.95428 },\n        ],\n        symbol: 'Nd',\n        mass: 144.241596031827,\n        name: 'Neodymium',\n        monoisotopicMass: 141.907729,\n    },\n    {\n        number: 61,\n        isotopes: [\n            { nominal: 126, mass: 125.95792 },\n            { nominal: 127, mass: 126.95192 },\n            { nominal: 128, mass: 127.9487 },\n            { nominal: 129, mass: 128.94323 },\n            { nominal: 130, mass: 129.94053 },\n            { nominal: 131, mass: 130.93567 },\n            { nominal: 132, mass: 131.93384 },\n            { nominal: 133, mass: 132.929782 },\n            { nominal: 134, mass: 133.928353 },\n            { nominal: 135, mass: 134.924823 },\n            { nominal: 136, mass: 135.923585 },\n            { nominal: 137, mass: 136.92048 },\n            { nominal: 138, mass: 137.919548 },\n            { nominal: 139, mass: 138.9168 },\n            { nominal: 140, mass: 139.91604 },\n            { nominal: 141, mass: 140.913555 },\n            { nominal: 142, mass: 141.91289 },\n            { nominal: 143, mass: 142.9109383 },\n            { nominal: 144, mass: 143.9125964 },\n            { nominal: 145, mass: 144.9127559 },\n            { nominal: 146, mass: 145.9147024 },\n            { nominal: 147, mass: 146.915145 },\n            { nominal: 148, mass: 147.9174819 },\n            { nominal: 149, mass: 148.9183423 },\n            { nominal: 150, mass: 149.920991 },\n            { nominal: 151, mass: 150.9212175 },\n            { nominal: 152, mass: 151.923506 },\n            { nominal: 153, mass: 152.9241567 },\n            { nominal: 154, mass: 153.926472 },\n            { nominal: 155, mass: 154.928137 },\n            { nominal: 156, mass: 155.9311175 },\n            { nominal: 157, mass: 156.9331214 },\n            { nominal: 158, mass: 157.936565 },\n            { nominal: 159, mass: 158.939287 },\n            { nominal: 160, mass: 159.9431 },\n            { nominal: 161, mass: 160.94607 },\n            { nominal: 162, mass: 161.95022 },\n            { nominal: 163, mass: 162.95357 },\n        ],\n        symbol: 'Pm',\n        mass: null,\n        name: 'Promethium',\n    },\n    {\n        number: 62,\n        isotopes: [\n            { nominal: 128, mass: 127.95842 },\n            { nominal: 129, mass: 128.95476 },\n            { nominal: 130, mass: 129.949 },\n            { nominal: 131, mass: 130.94618 },\n            { nominal: 132, mass: 131.94087 },\n            { nominal: 133, mass: 132.93856 },\n            { nominal: 134, mass: 133.93411 },\n            { nominal: 135, mass: 134.93252 },\n            { nominal: 136, mass: 135.928276 },\n            { nominal: 137, mass: 136.926971 },\n            { nominal: 138, mass: 137.923244 },\n            { nominal: 139, mass: 138.922297 },\n            { nominal: 140, mass: 139.918995 },\n            { nominal: 141, mass: 140.9184816 },\n            { nominal: 142, mass: 141.9152044 },\n            { nominal: 143, mass: 142.9146353 },\n            { nominal: 144, mass: 143.9120065, abundance: 0.0307 },\n            { nominal: 145, mass: 144.9134173 },\n            { nominal: 146, mass: 145.913047 },\n            { nominal: 147, mass: 146.9149044, abundance: 0.1499 },\n            { nominal: 148, mass: 147.9148292, abundance: 0.1124 },\n            { nominal: 149, mass: 148.9171921, abundance: 0.1382 },\n            { nominal: 150, mass: 149.9172829, abundance: 0.0738 },\n            { nominal: 151, mass: 150.9199398 },\n            { nominal: 152, mass: 151.9197397, abundance: 0.2675 },\n            { nominal: 153, mass: 152.9221047 },\n            { nominal: 154, mass: 153.9222169, abundance: 0.2275 },\n            { nominal: 155, mass: 154.9246477 },\n            { nominal: 156, mass: 155.925536 },\n            { nominal: 157, mass: 156.9284187 },\n            { nominal: 158, mass: 157.929951 },\n            { nominal: 159, mass: 158.9332172 },\n            { nominal: 160, mass: 159.9353353 },\n            { nominal: 161, mass: 160.9391602 },\n            { nominal: 162, mass: 161.94146 },\n            { nominal: 163, mass: 162.94555 },\n            { nominal: 164, mass: 163.94836 },\n            { nominal: 165, mass: 164.95297 },\n        ],\n        symbol: 'Sm',\n        mass: 150.36635571193,\n        name: 'Samarium',\n        monoisotopicMass: 151.9197397,\n    },\n    {\n        number: 63,\n        isotopes: [\n            { nominal: 130, mass: 129.96369 },\n            { nominal: 131, mass: 130.95784 },\n            { nominal: 132, mass: 131.95467 },\n            { nominal: 133, mass: 132.94929 },\n            { nominal: 134, mass: 133.9464 },\n            { nominal: 135, mass: 134.94187 },\n            { nominal: 136, mass: 135.93962 },\n            { nominal: 137, mass: 136.93546 },\n            { nominal: 138, mass: 137.933709 },\n            { nominal: 139, mass: 138.929792 },\n            { nominal: 140, mass: 139.928088 },\n            { nominal: 141, mass: 140.924932 },\n            { nominal: 142, mass: 141.923442 },\n            { nominal: 143, mass: 142.920299 },\n            { nominal: 144, mass: 143.91882 },\n            { nominal: 145, mass: 144.9162726 },\n            { nominal: 146, mass: 145.917211 },\n            { nominal: 147, mass: 146.9167527 },\n            { nominal: 148, mass: 147.918089 },\n            { nominal: 149, mass: 148.9179378 },\n            { nominal: 150, mass: 149.9197077 },\n            { nominal: 151, mass: 150.9198578, abundance: 0.4781 },\n            { nominal: 152, mass: 151.9217522 },\n            { nominal: 153, mass: 152.921238, abundance: 0.5219 },\n            { nominal: 154, mass: 153.922987 },\n            { nominal: 155, mass: 154.9229011 },\n            { nominal: 156, mass: 155.9247605 },\n            { nominal: 157, mass: 156.9254334 },\n            { nominal: 158, mass: 157.927799 },\n            { nominal: 159, mass: 158.9291001 },\n            { nominal: 160, mass: 159.931851 },\n            { nominal: 161, mass: 160.933664 },\n            { nominal: 162, mass: 161.936989 },\n            { nominal: 163, mass: 162.939196 },\n            { nominal: 164, mass: 163.94274 },\n            { nominal: 165, mass: 164.94559 },\n            { nominal: 166, mass: 165.94962 },\n            { nominal: 167, mass: 166.95289 },\n        ],\n        symbol: 'Eu',\n        mass: 151.96437812637998,\n        name: 'Europium',\n        monoisotopicMass: 152.921238,\n    },\n    {\n        number: 64,\n        isotopes: [\n            { nominal: 133, mass: 132.96133 },\n            { nominal: 134, mass: 133.95566 },\n            { nominal: 135, mass: 134.95245 },\n            { nominal: 136, mass: 135.9473 },\n            { nominal: 137, mass: 136.94502 },\n            { nominal: 138, mass: 137.94025 },\n            { nominal: 139, mass: 138.93813 },\n            { nominal: 140, mass: 139.933674 },\n            { nominal: 141, mass: 140.932126 },\n            { nominal: 142, mass: 141.928116 },\n            { nominal: 143, mass: 142.92675 },\n            { nominal: 144, mass: 143.922963 },\n            { nominal: 145, mass: 144.921713 },\n            { nominal: 146, mass: 145.9183188 },\n            { nominal: 147, mass: 146.9191014 },\n            { nominal: 148, mass: 147.9181215 },\n            { nominal: 149, mass: 148.9193481 },\n            { nominal: 150, mass: 149.9186644 },\n            { nominal: 151, mass: 150.920356 },\n            { nominal: 152, mass: 151.9197995, abundance: 0.002 },\n            { nominal: 153, mass: 152.921758 },\n            { nominal: 154, mass: 153.9208741, abundance: 0.0218 },\n            { nominal: 155, mass: 154.9226305, abundance: 0.148 },\n            { nominal: 156, mass: 155.9221312, abundance: 0.2047 },\n            { nominal: 157, mass: 156.9239686, abundance: 0.1565 },\n            { nominal: 158, mass: 157.9241123, abundance: 0.2484 },\n            { nominal: 159, mass: 158.926397 },\n            { nominal: 160, mass: 159.9270624, abundance: 0.2186 },\n            { nominal: 161, mass: 160.9296775 },\n            { nominal: 162, mass: 161.930993 },\n            { nominal: 163, mass: 162.9341769 },\n            { nominal: 164, mass: 163.93583 },\n            { nominal: 165, mass: 164.93936 },\n            { nominal: 166, mass: 165.94146 },\n            { nominal: 167, mass: 166.94545 },\n            { nominal: 168, mass: 167.94808 },\n            { nominal: 169, mass: 168.9526 },\n        ],\n        symbol: 'Gd',\n        mass: 157.25213064687998,\n        name: 'Gadolinium',\n        monoisotopicMass: 157.9241123,\n    },\n    {\n        number: 65,\n        isotopes: [\n            { nominal: 135, mass: 134.96476 },\n            { nominal: 136, mass: 135.96129 },\n            { nominal: 137, mass: 136.95602 },\n            { nominal: 138, mass: 137.95312 },\n            { nominal: 139, mass: 138.94833 },\n            { nominal: 140, mass: 139.94581 },\n            { nominal: 141, mass: 140.94145 },\n            { nominal: 142, mass: 141.93928 },\n            { nominal: 143, mass: 142.935137 },\n            { nominal: 144, mass: 143.933045 },\n            { nominal: 145, mass: 144.92882 },\n            { nominal: 146, mass: 145.927253 },\n            { nominal: 147, mass: 146.9240548 },\n            { nominal: 148, mass: 147.924282 },\n            { nominal: 149, mass: 148.9232535 },\n            { nominal: 150, mass: 149.9236649 },\n            { nominal: 151, mass: 150.9231096 },\n            { nominal: 152, mass: 151.924083 },\n            { nominal: 153, mass: 152.9234424 },\n            { nominal: 154, mass: 153.924685 },\n            { nominal: 155, mass: 154.923511 },\n            { nominal: 156, mass: 155.9247552 },\n            { nominal: 157, mass: 156.924033 },\n            { nominal: 158, mass: 157.9254209 },\n            { nominal: 159, mass: 158.9253547, abundance: 1 },\n            { nominal: 160, mass: 159.9271756 },\n            { nominal: 161, mass: 160.9275778 },\n            { nominal: 162, mass: 161.929495 },\n            { nominal: 163, mass: 162.9306547 },\n            { nominal: 164, mass: 163.93336 },\n            { nominal: 165, mass: 164.93498 },\n            { nominal: 166, mass: 165.93786 },\n            { nominal: 167, mass: 166.93996 },\n            { nominal: 168, mass: 167.9434 },\n            { nominal: 169, mass: 168.94597 },\n            { nominal: 170, mass: 169.94984 },\n            { nominal: 171, mass: 170.95273 },\n        ],\n        symbol: 'Tb',\n        mass: 158.9253547,\n        name: 'Terbium',\n        monoisotopicMass: 158.9253547,\n    },\n    {\n        number: 66,\n        isotopes: [\n            { nominal: 138, mass: 137.9625 },\n            { nominal: 139, mass: 138.95959 },\n            { nominal: 140, mass: 139.95402 },\n            { nominal: 141, mass: 140.95128 },\n            { nominal: 142, mass: 141.94619 },\n            { nominal: 143, mass: 142.943994 },\n            { nominal: 144, mass: 143.9392695 },\n            { nominal: 145, mass: 144.937474 },\n            { nominal: 146, mass: 145.9328445 },\n            { nominal: 147, mass: 146.9310827 },\n            { nominal: 148, mass: 147.927157 },\n            { nominal: 149, mass: 148.927322 },\n            { nominal: 150, mass: 149.9255933 },\n            { nominal: 151, mass: 150.9261916 },\n            { nominal: 152, mass: 151.9247253 },\n            { nominal: 153, mass: 152.9257724 },\n            { nominal: 154, mass: 153.9244293 },\n            { nominal: 155, mass: 154.925759 },\n            { nominal: 156, mass: 155.9242847, abundance: 0.00056 },\n            { nominal: 157, mass: 156.9254707 },\n            { nominal: 158, mass: 157.9244159, abundance: 0.00095 },\n            { nominal: 159, mass: 158.925747 },\n            { nominal: 160, mass: 159.9252046, abundance: 0.02329 },\n            { nominal: 161, mass: 160.9269405, abundance: 0.18889 },\n            { nominal: 162, mass: 161.9268056, abundance: 0.25475 },\n            { nominal: 163, mass: 162.9287383, abundance: 0.24896 },\n            { nominal: 164, mass: 163.9291819, abundance: 0.2826 },\n            { nominal: 165, mass: 164.9317105 },\n            { nominal: 166, mass: 165.9328139 },\n            { nominal: 167, mass: 166.935661 },\n            { nominal: 168, mass: 167.93713 },\n            { nominal: 169, mass: 168.94031 },\n            { nominal: 170, mass: 169.94239 },\n            { nominal: 171, mass: 170.94612 },\n            { nominal: 172, mass: 171.94846 },\n            { nominal: 173, mass: 172.95283 },\n        ],\n        symbol: 'Dy',\n        mass: 162.499472819424,\n        name: 'Dysprosium',\n        monoisotopicMass: 163.9291819,\n    },\n    {\n        number: 67,\n        isotopes: [\n            { nominal: 140, mass: 139.96859 },\n            { nominal: 141, mass: 140.96311 },\n            { nominal: 142, mass: 141.96001 },\n            { nominal: 143, mass: 142.95486 },\n            { nominal: 144, mass: 143.9521097 },\n            { nominal: 145, mass: 144.9472674 },\n            { nominal: 146, mass: 145.9449935 },\n            { nominal: 147, mass: 146.9401423 },\n            { nominal: 148, mass: 147.937744 },\n            { nominal: 149, mass: 148.933803 },\n            { nominal: 150, mass: 149.933498 },\n            { nominal: 151, mass: 150.9316983 },\n            { nominal: 152, mass: 151.931724 },\n            { nominal: 153, mass: 152.9302064 },\n            { nominal: 154, mass: 153.9306068 },\n            { nominal: 155, mass: 154.929104 },\n            { nominal: 156, mass: 155.929706 },\n            { nominal: 157, mass: 156.928254 },\n            { nominal: 158, mass: 157.928946 },\n            { nominal: 159, mass: 158.9277197 },\n            { nominal: 160, mass: 159.928737 },\n            { nominal: 161, mass: 160.9278615 },\n            { nominal: 162, mass: 161.9291023 },\n            { nominal: 163, mass: 162.928741 },\n            { nominal: 164, mass: 163.9302403 },\n            { nominal: 165, mass: 164.9303288, abundance: 1 },\n            { nominal: 166, mass: 165.9322909 },\n            { nominal: 167, mass: 166.9331385 },\n            { nominal: 168, mass: 167.935522 },\n            { nominal: 169, mass: 168.936878 },\n            { nominal: 170, mass: 169.939625 },\n            { nominal: 171, mass: 170.94147 },\n            { nominal: 172, mass: 171.94473 },\n            { nominal: 173, mass: 172.94702 },\n            { nominal: 174, mass: 173.95095 },\n            { nominal: 175, mass: 174.95362 },\n        ],\n        symbol: 'Ho',\n        mass: 164.9303288,\n        name: 'Holmium',\n        monoisotopicMass: 164.9303288,\n    },\n    {\n        number: 68,\n        isotopes: [\n            { nominal: 142, mass: 141.9701 },\n            { nominal: 143, mass: 142.96662 },\n            { nominal: 144, mass: 143.9607 },\n            { nominal: 145, mass: 144.95805 },\n            { nominal: 146, mass: 145.9524184 },\n            { nominal: 147, mass: 146.949964 },\n            { nominal: 148, mass: 147.944735 },\n            { nominal: 149, mass: 148.942306 },\n            { nominal: 150, mass: 149.937916 },\n            { nominal: 151, mass: 150.937449 },\n            { nominal: 152, mass: 151.935057 },\n            { nominal: 153, mass: 152.93508 },\n            { nominal: 154, mass: 153.9327908 },\n            { nominal: 155, mass: 154.9332159 },\n            { nominal: 156, mass: 155.931067 },\n            { nominal: 157, mass: 156.931949 },\n            { nominal: 158, mass: 157.929893 },\n            { nominal: 159, mass: 158.9306918 },\n            { nominal: 160, mass: 159.929077 },\n            { nominal: 161, mass: 160.9300046 },\n            { nominal: 162, mass: 161.9287884, abundance: 0.00139 },\n            { nominal: 163, mass: 162.9300408 },\n            { nominal: 164, mass: 163.9292088, abundance: 0.01601 },\n            { nominal: 165, mass: 164.9307345 },\n            { nominal: 166, mass: 165.9302995, abundance: 0.33503 },\n            { nominal: 167, mass: 166.9320546, abundance: 0.22869 },\n            { nominal: 168, mass: 167.9323767, abundance: 0.26978 },\n            { nominal: 169, mass: 168.9345968 },\n            { nominal: 170, mass: 169.9354702, abundance: 0.1491 },\n            { nominal: 171, mass: 170.9380357 },\n            { nominal: 172, mass: 171.9393619 },\n            { nominal: 173, mass: 172.9424 },\n            { nominal: 174, mass: 173.94423 },\n            { nominal: 175, mass: 174.94777 },\n            { nominal: 176, mass: 175.94994 },\n            { nominal: 177, mass: 176.95399 },\n        ],\n        symbol: 'Er',\n        mass: 167.259082649669,\n        name: 'Erbium',\n        monoisotopicMass: 165.9302995,\n    },\n    {\n        number: 69,\n        isotopes: [\n            { nominal: 144, mass: 143.97628 },\n            { nominal: 145, mass: 144.97039 },\n            { nominal: 146, mass: 145.96684 },\n            { nominal: 147, mass: 146.9613799 },\n            { nominal: 148, mass: 147.958384 },\n            { nominal: 149, mass: 148.95289 },\n            { nominal: 150, mass: 149.95009 },\n            { nominal: 151, mass: 150.945488 },\n            { nominal: 152, mass: 151.944422 },\n            { nominal: 153, mass: 152.94204 },\n            { nominal: 154, mass: 153.94157 },\n            { nominal: 155, mass: 154.93921 },\n            { nominal: 156, mass: 155.938992 },\n            { nominal: 157, mass: 156.936944 },\n            { nominal: 158, mass: 157.93698 },\n            { nominal: 159, mass: 158.934975 },\n            { nominal: 160, mass: 159.935263 },\n            { nominal: 161, mass: 160.933549 },\n            { nominal: 162, mass: 161.934002 },\n            { nominal: 163, mass: 162.9326592 },\n            { nominal: 164, mass: 163.933544 },\n            { nominal: 165, mass: 164.9324431 },\n            { nominal: 166, mass: 165.933561 },\n            { nominal: 167, mass: 166.9328562 },\n            { nominal: 168, mass: 167.9341774 },\n            { nominal: 169, mass: 168.9342179, abundance: 1 },\n            { nominal: 170, mass: 169.935806 },\n            { nominal: 171, mass: 170.9364339 },\n            { nominal: 172, mass: 171.9384055 },\n            { nominal: 173, mass: 172.9396084 },\n            { nominal: 174, mass: 173.942173 },\n            { nominal: 175, mass: 174.943841 },\n            { nominal: 176, mass: 175.947 },\n            { nominal: 177, mass: 176.94904 },\n            { nominal: 178, mass: 177.95264 },\n            { nominal: 179, mass: 178.95534 },\n        ],\n        symbol: 'Tm',\n        mass: 168.9342179,\n        name: 'Thulium',\n        monoisotopicMass: 168.9342179,\n    },\n    {\n        number: 70,\n        isotopes: [\n            { nominal: 148, mass: 147.96758 },\n            { nominal: 149, mass: 148.96436 },\n            { nominal: 150, mass: 149.95852 },\n            { nominal: 151, mass: 150.9554 },\n            { nominal: 152, mass: 151.95027 },\n            { nominal: 153, mass: 152.94932 },\n            { nominal: 154, mass: 153.946396 },\n            { nominal: 155, mass: 154.945783 },\n            { nominal: 156, mass: 155.942825 },\n            { nominal: 157, mass: 156.942645 },\n            { nominal: 158, mass: 157.9398705 },\n            { nominal: 159, mass: 158.940055 },\n            { nominal: 160, mass: 159.937557 },\n            { nominal: 161, mass: 160.937907 },\n            { nominal: 162, mass: 161.935774 },\n            { nominal: 163, mass: 162.93634 },\n            { nominal: 164, mass: 163.934495 },\n            { nominal: 165, mass: 164.93527 },\n            { nominal: 166, mass: 165.9338747 },\n            { nominal: 167, mass: 166.934953 },\n            { nominal: 168, mass: 167.9338896, abundance: 0.00123 },\n            { nominal: 169, mass: 168.9351825 },\n            { nominal: 170, mass: 169.9347664, abundance: 0.02982 },\n            { nominal: 171, mass: 170.9363302, abundance: 0.1409 },\n            { nominal: 172, mass: 171.9363859, abundance: 0.2168 },\n            { nominal: 173, mass: 172.9382151, abundance: 0.16103 },\n            { nominal: 174, mass: 173.9388664, abundance: 0.32026 },\n            { nominal: 175, mass: 174.9412808 },\n            { nominal: 176, mass: 175.9425764, abundance: 0.12996 },\n            { nominal: 177, mass: 176.9452656 },\n            { nominal: 178, mass: 177.946651 },\n            { nominal: 179, mass: 178.95004 },\n            { nominal: 180, mass: 179.95212 },\n            { nominal: 181, mass: 180.95589 },\n        ],\n        symbol: 'Yb',\n        mass: 173.05415016631702,\n        name: 'Ytterbium',\n        monoisotopicMass: 173.9388664,\n    },\n    {\n        number: 71,\n        isotopes: [\n            { nominal: 150, mass: 149.97355 },\n            { nominal: 151, mass: 150.96768 },\n            { nominal: 152, mass: 151.96412 },\n            { nominal: 153, mass: 152.95875 },\n            { nominal: 154, mass: 153.95736 },\n            { nominal: 155, mass: 154.954321 },\n            { nominal: 156, mass: 155.953033 },\n            { nominal: 157, mass: 156.950127 },\n            { nominal: 158, mass: 157.949316 },\n            { nominal: 159, mass: 158.946636 },\n            { nominal: 160, mass: 159.946033 },\n            { nominal: 161, mass: 160.943572 },\n            { nominal: 162, mass: 161.943283 },\n            { nominal: 163, mass: 162.941179 },\n            { nominal: 164, mass: 163.941339 },\n            { nominal: 165, mass: 164.939407 },\n            { nominal: 166, mass: 165.939859 },\n            { nominal: 167, mass: 166.93827 },\n            { nominal: 168, mass: 167.938736 },\n            { nominal: 169, mass: 168.9376441 },\n            { nominal: 170, mass: 169.938478 },\n            { nominal: 171, mass: 170.937917 },\n            { nominal: 172, mass: 171.9390891 },\n            { nominal: 173, mass: 172.938934 },\n            { nominal: 174, mass: 173.9403409 },\n            { nominal: 175, mass: 174.9407752, abundance: 0.97401 },\n            { nominal: 176, mass: 175.9426897, abundance: 0.02599 },\n            { nominal: 177, mass: 176.9437615 },\n            { nominal: 178, mass: 177.945958 },\n            { nominal: 179, mass: 178.9473309 },\n            { nominal: 180, mass: 179.949888 },\n            { nominal: 181, mass: 180.95191 },\n            { nominal: 182, mass: 181.95504 },\n            { nominal: 183, mass: 182.957363 },\n            { nominal: 184, mass: 183.96091 },\n            { nominal: 185, mass: 184.96362 },\n        ],\n        symbol: 'Lu',\n        mass: 174.96681495785498,\n        name: 'Lutetium',\n        monoisotopicMass: 174.9407752,\n    },\n    {\n        number: 72,\n        isotopes: [\n            { nominal: 153, mass: 152.97069 },\n            { nominal: 154, mass: 153.96486 },\n            { nominal: 155, mass: 154.96311 },\n            { nominal: 156, mass: 155.95935 },\n            { nominal: 157, mass: 156.95824 },\n            { nominal: 158, mass: 157.954801 },\n            { nominal: 159, mass: 158.953996 },\n            { nominal: 160, mass: 159.950691 },\n            { nominal: 161, mass: 160.950278 },\n            { nominal: 162, mass: 161.9472148 },\n            { nominal: 163, mass: 162.947113 },\n            { nominal: 164, mass: 163.944371 },\n            { nominal: 165, mass: 164.944567 },\n            { nominal: 166, mass: 165.94218 },\n            { nominal: 167, mass: 166.9426 },\n            { nominal: 168, mass: 167.940568 },\n            { nominal: 169, mass: 168.941259 },\n            { nominal: 170, mass: 169.939609 },\n            { nominal: 171, mass: 170.940492 },\n            { nominal: 172, mass: 171.93945 },\n            { nominal: 173, mass: 172.940513 },\n            { nominal: 174, mass: 173.9400461, abundance: 0.0016 },\n            { nominal: 175, mass: 174.9415092 },\n            { nominal: 176, mass: 175.9414076, abundance: 0.0526 },\n            { nominal: 177, mass: 176.9432277, abundance: 0.186 },\n            { nominal: 178, mass: 177.9437058, abundance: 0.2728 },\n            { nominal: 179, mass: 178.9458232, abundance: 0.1362 },\n            { nominal: 180, mass: 179.946557, abundance: 0.3508 },\n            { nominal: 181, mass: 180.9491083 },\n            { nominal: 182, mass: 181.9505612 },\n            { nominal: 183, mass: 182.95353 },\n            { nominal: 184, mass: 183.955446 },\n            { nominal: 185, mass: 184.958862 },\n            { nominal: 186, mass: 185.960897 },\n            { nominal: 187, mass: 186.96477 },\n            { nominal: 188, mass: 187.96685 },\n            { nominal: 189, mass: 188.97084 },\n        ],\n        symbol: 'Hf',\n        mass: 178.4849787234,\n        name: 'Hafnium',\n        monoisotopicMass: 179.946557,\n    },\n    {\n        number: 73,\n        isotopes: [\n            { nominal: 155, mass: 154.97424 },\n            { nominal: 156, mass: 155.97203 },\n            { nominal: 157, mass: 156.96818 },\n            { nominal: 158, mass: 157.96654 },\n            { nominal: 159, mass: 158.963023 },\n            { nominal: 160, mass: 159.961488 },\n            { nominal: 161, mass: 160.958452 },\n            { nominal: 162, mass: 161.957294 },\n            { nominal: 163, mass: 162.954337 },\n            { nominal: 164, mass: 163.953534 },\n            { nominal: 165, mass: 164.950781 },\n            { nominal: 166, mass: 165.950512 },\n            { nominal: 167, mass: 166.948093 },\n            { nominal: 168, mass: 167.948047 },\n            { nominal: 169, mass: 168.946011 },\n            { nominal: 170, mass: 169.946175 },\n            { nominal: 171, mass: 170.944476 },\n            { nominal: 172, mass: 171.944895 },\n            { nominal: 173, mass: 172.94375 },\n            { nominal: 174, mass: 173.944454 },\n            { nominal: 175, mass: 174.943737 },\n            { nominal: 176, mass: 175.944857 },\n            { nominal: 177, mass: 176.9444795 },\n            { nominal: 178, mass: 177.945678 },\n            { nominal: 179, mass: 178.9459366 },\n            { nominal: 180, mass: 179.9474648, abundance: 0.0001201 },\n            { nominal: 181, mass: 180.9479958, abundance: 0.9998799 },\n            { nominal: 182, mass: 181.9501519 },\n            { nominal: 183, mass: 182.9513726 },\n            { nominal: 184, mass: 183.954008 },\n            { nominal: 185, mass: 184.955559 },\n            { nominal: 186, mass: 185.958551 },\n            { nominal: 187, mass: 186.960386 },\n            { nominal: 188, mass: 187.963916 },\n            { nominal: 189, mass: 188.96583 },\n            { nominal: 190, mass: 189.96939 },\n            { nominal: 191, mass: 190.97156 },\n            { nominal: 192, mass: 191.97514 },\n        ],\n        symbol: 'Ta',\n        mass: 180.9478756362269,\n        name: 'Tantalum',\n        monoisotopicMass: 180.9479958,\n    },\n    {\n        number: 74,\n        isotopes: [\n            { nominal: 157, mass: 156.97884 },\n            { nominal: 158, mass: 157.97456 },\n            { nominal: 159, mass: 158.97264 },\n            { nominal: 160, mass: 159.96846 },\n            { nominal: 161, mass: 160.9672 },\n            { nominal: 162, mass: 161.963499 },\n            { nominal: 163, mass: 162.962524 },\n            { nominal: 164, mass: 163.958961 },\n            { nominal: 165, mass: 164.958281 },\n            { nominal: 166, mass: 165.955031 },\n            { nominal: 167, mass: 166.954805 },\n            { nominal: 168, mass: 167.951806 },\n            { nominal: 169, mass: 168.951779 },\n            { nominal: 170, mass: 169.949232 },\n            { nominal: 171, mass: 170.949451 },\n            { nominal: 172, mass: 171.947292 },\n            { nominal: 173, mass: 172.947689 },\n            { nominal: 174, mass: 173.946079 },\n            { nominal: 175, mass: 174.946717 },\n            { nominal: 176, mass: 175.945634 },\n            { nominal: 177, mass: 176.946643 },\n            { nominal: 178, mass: 177.945883 },\n            { nominal: 179, mass: 178.947077 },\n            { nominal: 180, mass: 179.9467108, abundance: 0.0012 },\n            { nominal: 181, mass: 180.9481978 },\n            { nominal: 182, mass: 181.94820394, abundance: 0.265 },\n            { nominal: 183, mass: 182.95022275, abundance: 0.1431 },\n            { nominal: 184, mass: 183.95093092, abundance: 0.3064 },\n            { nominal: 185, mass: 184.95341897 },\n            { nominal: 186, mass: 185.9543628, abundance: 0.2843 },\n            { nominal: 187, mass: 186.9571588 },\n            { nominal: 188, mass: 187.9584862 },\n            { nominal: 189, mass: 188.961763 },\n            { nominal: 190, mass: 189.963091 },\n            { nominal: 191, mass: 190.966531 },\n            { nominal: 192, mass: 191.96817 },\n            { nominal: 193, mass: 192.97178 },\n            { nominal: 194, mass: 193.97367 },\n        ],\n        symbol: 'W',\n        mass: 183.841777550513,\n        name: 'Tungsten',\n        monoisotopicMass: 183.95093092,\n    },\n    {\n        number: 75,\n        isotopes: [\n            { nominal: 159, mass: 158.98418 },\n            { nominal: 160, mass: 159.98182 },\n            { nominal: 161, mass: 160.97757 },\n            { nominal: 162, mass: 161.97584 },\n            { nominal: 163, mass: 162.97208 },\n            { nominal: 164, mass: 163.970453 },\n            { nominal: 165, mass: 164.967103 },\n            { nominal: 166, mass: 165.965761 },\n            { nominal: 167, mass: 166.962595 },\n            { nominal: 168, mass: 167.961573 },\n            { nominal: 169, mass: 168.958766 },\n            { nominal: 170, mass: 169.95822 },\n            { nominal: 171, mass: 170.955716 },\n            { nominal: 172, mass: 171.95542 },\n            { nominal: 173, mass: 172.953243 },\n            { nominal: 174, mass: 173.953115 },\n            { nominal: 175, mass: 174.951381 },\n            { nominal: 176, mass: 175.951623 },\n            { nominal: 177, mass: 176.950328 },\n            { nominal: 178, mass: 177.950989 },\n            { nominal: 179, mass: 178.949989 },\n            { nominal: 180, mass: 179.950792 },\n            { nominal: 181, mass: 180.950058 },\n            { nominal: 182, mass: 181.95121 },\n            { nominal: 183, mass: 182.9508196 },\n            { nominal: 184, mass: 183.9525228 },\n            { nominal: 185, mass: 184.9529545, abundance: 0.374 },\n            { nominal: 186, mass: 185.9549856 },\n            { nominal: 187, mass: 186.9557501, abundance: 0.626 },\n            { nominal: 188, mass: 187.9581115 },\n            { nominal: 189, mass: 188.959226 },\n            { nominal: 190, mass: 189.961744 },\n            { nominal: 191, mass: 190.963122 },\n            { nominal: 192, mass: 191.966088 },\n            { nominal: 193, mass: 192.967541 },\n            { nominal: 194, mass: 193.97076 },\n            { nominal: 195, mass: 194.97254 },\n            { nominal: 196, mass: 195.9758 },\n            { nominal: 197, mass: 196.97799 },\n            { nominal: 198, mass: 197.9816 },\n        ],\n        symbol: 'Re',\n        mass: 186.20670454560002,\n        name: 'Rhenium',\n        monoisotopicMass: 186.9557501,\n    },\n    {\n        number: 76,\n        isotopes: [\n            { nominal: 161, mass: 160.98903 },\n            { nominal: 162, mass: 161.98443 },\n            { nominal: 163, mass: 162.98241 },\n            { nominal: 164, mass: 163.97802 },\n            { nominal: 165, mass: 164.9766 },\n            { nominal: 166, mass: 165.972692 },\n            { nominal: 167, mass: 166.971549 },\n            { nominal: 168, mass: 167.967808 },\n            { nominal: 169, mass: 168.967018 },\n            { nominal: 170, mass: 169.963578 },\n            { nominal: 171, mass: 170.963174 },\n            { nominal: 172, mass: 171.960017 },\n            { nominal: 173, mass: 172.959808 },\n            { nominal: 174, mass: 173.957064 },\n            { nominal: 175, mass: 174.956945 },\n            { nominal: 176, mass: 175.954806 },\n            { nominal: 177, mass: 176.954966 },\n            { nominal: 178, mass: 177.953254 },\n            { nominal: 179, mass: 178.953817 },\n            { nominal: 180, mass: 179.952375 },\n            { nominal: 181, mass: 180.953247 },\n            { nominal: 182, mass: 181.95211 },\n            { nominal: 183, mass: 182.953125 },\n            { nominal: 184, mass: 183.9524885, abundance: 0.0002 },\n            { nominal: 185, mass: 184.9540417 },\n            { nominal: 186, mass: 185.953835, abundance: 0.0159 },\n            { nominal: 187, mass: 186.9557474, abundance: 0.0196 },\n            { nominal: 188, mass: 187.9558352, abundance: 0.1324 },\n            { nominal: 189, mass: 188.9581442, abundance: 0.1615 },\n            { nominal: 190, mass: 189.9584437, abundance: 0.2626 },\n            { nominal: 191, mass: 190.9609264 },\n            { nominal: 192, mass: 191.961477, abundance: 0.4078 },\n            { nominal: 193, mass: 192.9641479 },\n            { nominal: 194, mass: 193.9651772 },\n            { nominal: 195, mass: 194.968318 },\n            { nominal: 196, mass: 195.969641 },\n            { nominal: 197, mass: 196.97283 },\n            { nominal: 198, mass: 197.97441 },\n            { nominal: 199, mass: 198.97801 },\n            { nominal: 200, mass: 199.97984 },\n            { nominal: 201, mass: 200.98364 },\n            { nominal: 202, mass: 201.98595 },\n        ],\n        symbol: 'Os',\n        mass: 190.22485962823998,\n        name: 'Osmium',\n        monoisotopicMass: 191.961477,\n    },\n    {\n        number: 77,\n        isotopes: [\n            { nominal: 164, mass: 163.99191 },\n            { nominal: 165, mass: 164.9875 },\n            { nominal: 166, mass: 165.98566 },\n            { nominal: 167, mass: 166.981666 },\n            { nominal: 168, mass: 167.979907 },\n            { nominal: 169, mass: 168.976298 },\n            { nominal: 170, mass: 169.974922 },\n            { nominal: 171, mass: 170.97164 },\n            { nominal: 172, mass: 171.970607 },\n            { nominal: 173, mass: 172.967506 },\n            { nominal: 174, mass: 173.966861 },\n            { nominal: 175, mass: 174.96415 },\n            { nominal: 176, mass: 175.96365 },\n            { nominal: 177, mass: 176.961301 },\n            { nominal: 178, mass: 177.961082 },\n            { nominal: 179, mass: 178.95912 },\n            { nominal: 180, mass: 179.959229 },\n            { nominal: 181, mass: 180.957625 },\n            { nominal: 182, mass: 181.958076 },\n            { nominal: 183, mass: 182.95684 },\n            { nominal: 184, mass: 183.957476 },\n            { nominal: 185, mass: 184.956698 },\n            { nominal: 186, mass: 185.957944 },\n            { nominal: 187, mass: 186.957542 },\n            { nominal: 188, mass: 187.958828 },\n            { nominal: 189, mass: 188.958715 },\n            { nominal: 190, mass: 189.9605412 },\n            { nominal: 191, mass: 190.9605893, abundance: 0.373 },\n            { nominal: 192, mass: 191.9626002 },\n            { nominal: 193, mass: 192.9629216, abundance: 0.627 },\n            { nominal: 194, mass: 193.9650735 },\n            { nominal: 195, mass: 194.9659747 },\n            { nominal: 196, mass: 195.968397 },\n            { nominal: 197, mass: 196.969655 },\n            { nominal: 198, mass: 197.97228 },\n            { nominal: 199, mass: 198.973805 },\n            { nominal: 200, mass: 199.9768 },\n            { nominal: 201, mass: 200.97864 },\n            { nominal: 202, mass: 201.98199 },\n            { nominal: 203, mass: 202.98423 },\n            { nominal: 204, mass: 203.9896 },\n        ],\n        symbol: 'Ir',\n        mass: 192.2160516521,\n        name: 'Iridium',\n        monoisotopicMass: 192.9629216,\n    },\n    {\n        number: 78,\n        isotopes: [\n            { nominal: 166, mass: 165.99486 },\n            { nominal: 167, mass: 166.99269 },\n            { nominal: 168, mass: 167.98813 },\n            { nominal: 169, mass: 168.98657 },\n            { nominal: 170, mass: 169.982496 },\n            { nominal: 171, mass: 170.981245 },\n            { nominal: 172, mass: 171.977351 },\n            { nominal: 173, mass: 172.976443 },\n            { nominal: 174, mass: 173.97282 },\n            { nominal: 175, mass: 174.97241 },\n            { nominal: 176, mass: 175.968938 },\n            { nominal: 177, mass: 176.96847 },\n            { nominal: 178, mass: 177.96565 },\n            { nominal: 179, mass: 178.965359 },\n            { nominal: 180, mass: 179.963032 },\n            { nominal: 181, mass: 180.963098 },\n            { nominal: 182, mass: 181.961172 },\n            { nominal: 183, mass: 182.961597 },\n            { nominal: 184, mass: 183.959915 },\n            { nominal: 185, mass: 184.960614 },\n            { nominal: 186, mass: 185.959351 },\n            { nominal: 187, mass: 186.960617 },\n            { nominal: 188, mass: 187.9593889 },\n            { nominal: 189, mass: 188.960831 },\n            { nominal: 190, mass: 189.9599297, abundance: 0.00012 },\n            { nominal: 191, mass: 190.9616729 },\n            { nominal: 192, mass: 191.9610387, abundance: 0.00782 },\n            { nominal: 193, mass: 192.9629824 },\n            { nominal: 194, mass: 193.9626809, abundance: 0.3286 },\n            { nominal: 195, mass: 194.9647917, abundance: 0.3378 },\n            { nominal: 196, mass: 195.96495209, abundance: 0.2521 },\n            { nominal: 197, mass: 196.96734069 },\n            { nominal: 198, mass: 197.9678949, abundance: 0.07356 },\n            { nominal: 199, mass: 198.9705952 },\n            { nominal: 200, mass: 199.971443 },\n            { nominal: 201, mass: 200.974513 },\n            { nominal: 202, mass: 201.975639 },\n            { nominal: 203, mass: 202.97893 },\n            { nominal: 204, mass: 203.98076 },\n            { nominal: 205, mass: 204.98608 },\n            { nominal: 206, mass: 205.98966 },\n        ],\n        symbol: 'Pt',\n        mass: 195.084456864931,\n        name: 'Platinum',\n        monoisotopicMass: 194.9647917,\n    },\n    {\n        number: 79,\n        isotopes: [\n            { nominal: 169, mass: 168.99808 },\n            { nominal: 170, mass: 169.99597 },\n            { nominal: 171, mass: 170.991876 },\n            { nominal: 172, mass: 171.989942 },\n            { nominal: 173, mass: 172.986241 },\n            { nominal: 174, mass: 173.984717 },\n            { nominal: 175, mass: 174.981304 },\n            { nominal: 176, mass: 175.98025 },\n            { nominal: 177, mass: 176.97687 },\n            { nominal: 178, mass: 177.976032 },\n            { nominal: 179, mass: 178.973174 },\n            { nominal: 180, mass: 179.972523 },\n            { nominal: 181, mass: 180.970079 },\n            { nominal: 182, mass: 181.969618 },\n            { nominal: 183, mass: 182.967591 },\n            { nominal: 184, mass: 183.967452 },\n            { nominal: 185, mass: 184.96579 },\n            { nominal: 186, mass: 185.965953 },\n            { nominal: 187, mass: 186.964543 },\n            { nominal: 188, mass: 187.965349 },\n            { nominal: 189, mass: 188.963948 },\n            { nominal: 190, mass: 189.964698 },\n            { nominal: 191, mass: 190.963702 },\n            { nominal: 192, mass: 191.964814 },\n            { nominal: 193, mass: 192.9641373 },\n            { nominal: 194, mass: 193.9654178 },\n            { nominal: 195, mass: 194.9650352 },\n            { nominal: 196, mass: 195.9665699 },\n            { nominal: 197, mass: 196.96656879, abundance: 1 },\n            { nominal: 198, mass: 197.96824242 },\n            { nominal: 199, mass: 198.96876528 },\n            { nominal: 200, mass: 199.970756 },\n            { nominal: 201, mass: 200.9716575 },\n            { nominal: 202, mass: 201.973856 },\n            { nominal: 203, mass: 202.9751544 },\n            { nominal: 204, mass: 203.97783 },\n            { nominal: 205, mass: 204.97985 },\n            { nominal: 206, mass: 205.98474 },\n            { nominal: 207, mass: 206.9884 },\n            { nominal: 208, mass: 207.99345 },\n            { nominal: 209, mass: 208.99735 },\n            { nominal: 210, mass: 210.0025 },\n        ],\n        symbol: 'Au',\n        mass: 196.96656879,\n        name: 'Gold',\n        monoisotopicMass: 196.96656879,\n    },\n    {\n        number: 80,\n        isotopes: [\n            { nominal: 171, mass: 171.00353 },\n            { nominal: 172, mass: 171.99881 },\n            { nominal: 173, mass: 172.99709 },\n            { nominal: 174, mass: 173.992865 },\n            { nominal: 175, mass: 174.991441 },\n            { nominal: 176, mass: 175.987361 },\n            { nominal: 177, mass: 176.986277 },\n            { nominal: 178, mass: 177.982484 },\n            { nominal: 179, mass: 178.981831 },\n            { nominal: 180, mass: 179.97826 },\n            { nominal: 181, mass: 180.977819 },\n            { nominal: 182, mass: 181.974689 },\n            { nominal: 183, mass: 182.9744448 },\n            { nominal: 184, mass: 183.971714 },\n            { nominal: 185, mass: 184.971899 },\n            { nominal: 186, mass: 185.969362 },\n            { nominal: 187, mass: 186.969814 },\n            { nominal: 188, mass: 187.967567 },\n            { nominal: 189, mass: 188.968195 },\n            { nominal: 190, mass: 189.966323 },\n            { nominal: 191, mass: 190.967157 },\n            { nominal: 192, mass: 191.965635 },\n            { nominal: 193, mass: 192.966653 },\n            { nominal: 194, mass: 193.9654491 },\n            { nominal: 195, mass: 194.966721 },\n            { nominal: 196, mass: 195.9658326, abundance: 0.0015 },\n            { nominal: 197, mass: 196.9672128 },\n            { nominal: 198, mass: 197.9667686, abundance: 0.0997 },\n            { nominal: 199, mass: 198.96828064, abundance: 0.1687 },\n            { nominal: 200, mass: 199.96832659, abundance: 0.231 },\n            { nominal: 201, mass: 200.97030284, abundance: 0.1318 },\n            { nominal: 202, mass: 201.9706434, abundance: 0.2986 },\n            { nominal: 203, mass: 202.9728728 },\n            { nominal: 204, mass: 203.97349398, abundance: 0.0687 },\n            { nominal: 205, mass: 204.9760734 },\n            { nominal: 206, mass: 205.977514 },\n            { nominal: 207, mass: 206.9823 },\n            { nominal: 208, mass: 207.985759 },\n            { nominal: 209, mass: 208.99072 },\n            { nominal: 210, mass: 209.99424 },\n            { nominal: 211, mass: 210.99933 },\n            { nominal: 212, mass: 212.00296 },\n            { nominal: 213, mass: 213.00823 },\n            { nominal: 214, mass: 214.012 },\n            { nominal: 215, mass: 215.0174 },\n            { nominal: 216, mass: 216.02132 },\n        ],\n        symbol: 'Hg',\n        mass: 200.59916703455602,\n        name: 'Mercury',\n        monoisotopicMass: 201.9706434,\n    },\n    {\n        number: 81,\n        isotopes: [\n            { nominal: 176, mass: 176.000624 },\n            { nominal: 177, mass: 176.996431 },\n            { nominal: 178, mass: 177.99485 },\n            { nominal: 179, mass: 178.991111 },\n            { nominal: 180, mass: 179.990057 },\n            { nominal: 181, mass: 180.98626 },\n            { nominal: 182, mass: 181.985713 },\n            { nominal: 183, mass: 182.982193 },\n            { nominal: 184, mass: 183.981886 },\n            { nominal: 185, mass: 184.978789 },\n            { nominal: 186, mass: 185.978651 },\n            { nominal: 187, mass: 186.9759063 },\n            { nominal: 188, mass: 187.976021 },\n            { nominal: 189, mass: 188.973588 },\n            { nominal: 190, mass: 189.973828 },\n            { nominal: 191, mass: 190.9717842 },\n            { nominal: 192, mass: 191.972225 },\n            { nominal: 193, mass: 192.970502 },\n            { nominal: 194, mass: 193.971081 },\n            { nominal: 195, mass: 194.969774 },\n            { nominal: 196, mass: 195.970481 },\n            { nominal: 197, mass: 196.969576 },\n            { nominal: 198, mass: 197.970483 },\n            { nominal: 199, mass: 198.969877 },\n            { nominal: 200, mass: 199.9709633 },\n            { nominal: 201, mass: 200.970822 },\n            { nominal: 202, mass: 201.972102 },\n            { nominal: 203, mass: 202.9723446, abundance: 0.2952 },\n            { nominal: 204, mass: 203.9738639 },\n            { nominal: 205, mass: 204.9744278, abundance: 0.7048 },\n            { nominal: 206, mass: 205.9761106 },\n            { nominal: 207, mass: 206.9774197 },\n            { nominal: 208, mass: 207.982019 },\n            { nominal: 209, mass: 208.9853594 },\n            { nominal: 210, mass: 209.990074 },\n            { nominal: 211, mass: 210.993475 },\n            { nominal: 212, mass: 211.99834 },\n            { nominal: 213, mass: 213.001915 },\n            { nominal: 214, mass: 214.00694 },\n            { nominal: 215, mass: 215.01064 },\n            { nominal: 216, mass: 216.0158 },\n            { nominal: 217, mass: 217.01966 },\n            { nominal: 218, mass: 218.02479 },\n        ],\n        symbol: 'Tl',\n        mass: 204.38341283936,\n        name: 'Thallium',\n        monoisotopicMass: 204.9744278,\n    },\n    {\n        number: 82,\n        isotopes: [\n            { nominal: 178, mass: 178.003831 },\n            { nominal: 179, mass: 179.002201 },\n            { nominal: 180, mass: 179.997928 },\n            { nominal: 181, mass: 180.996653 },\n            { nominal: 182, mass: 181.992672 },\n            { nominal: 183, mass: 182.991872 },\n            { nominal: 184, mass: 183.988136 },\n            { nominal: 185, mass: 184.98761 },\n            { nominal: 186, mass: 185.984238 },\n            { nominal: 187, mass: 186.9839109 },\n            { nominal: 188, mass: 187.980875 },\n            { nominal: 189, mass: 188.980807 },\n            { nominal: 190, mass: 189.978082 },\n            { nominal: 191, mass: 190.978276 },\n            { nominal: 192, mass: 191.975775 },\n            { nominal: 193, mass: 192.976173 },\n            { nominal: 194, mass: 193.974012 },\n            { nominal: 195, mass: 194.974543 },\n            { nominal: 196, mass: 195.972774 },\n            { nominal: 197, mass: 196.9734312 },\n            { nominal: 198, mass: 197.972034 },\n            { nominal: 199, mass: 198.972913 },\n            { nominal: 200, mass: 199.971819 },\n            { nominal: 201, mass: 200.972883 },\n            { nominal: 202, mass: 201.972152 },\n            { nominal: 203, mass: 202.9733911 },\n            { nominal: 204, mass: 203.973044, abundance: 0.014 },\n            { nominal: 205, mass: 204.9744822 },\n            { nominal: 206, mass: 205.9744657, abundance: 0.241 },\n            { nominal: 207, mass: 206.9758973, abundance: 0.221 },\n            { nominal: 208, mass: 207.9766525, abundance: 0.524 },\n            { nominal: 209, mass: 208.9810905 },\n            { nominal: 210, mass: 209.9841889 },\n            { nominal: 211, mass: 210.9887371 },\n            { nominal: 212, mass: 211.9918977 },\n            { nominal: 213, mass: 212.9965629 },\n            { nominal: 214, mass: 213.9998059 },\n            { nominal: 215, mass: 215.00474 },\n            { nominal: 216, mass: 216.00803 },\n            { nominal: 217, mass: 217.01314 },\n            { nominal: 218, mass: 218.01659 },\n            { nominal: 219, mass: 219.02177 },\n            { nominal: 220, mass: 220.02541 },\n        ],\n        symbol: 'Pb',\n        mass: 207.216908063,\n        name: 'Lead',\n        monoisotopicMass: 207.9766525,\n    },\n    {\n        number: 83,\n        isotopes: [\n            { nominal: 184, mass: 184.001275 },\n            { nominal: 185, mass: 184.9976 },\n            { nominal: 186, mass: 185.996644 },\n            { nominal: 187, mass: 186.993147 },\n            { nominal: 188, mass: 187.992287 },\n            { nominal: 189, mass: 188.989195 },\n            { nominal: 190, mass: 189.988622 },\n            { nominal: 191, mass: 190.9857866 },\n            { nominal: 192, mass: 191.985469 },\n            { nominal: 193, mass: 192.98296 },\n            { nominal: 194, mass: 193.982785 },\n            { nominal: 195, mass: 194.9806488 },\n            { nominal: 196, mass: 195.980667 },\n            { nominal: 197, mass: 196.9788651 },\n            { nominal: 198, mass: 197.979206 },\n            { nominal: 199, mass: 198.977673 },\n            { nominal: 200, mass: 199.978131 },\n            { nominal: 201, mass: 200.97701 },\n            { nominal: 202, mass: 201.977734 },\n            { nominal: 203, mass: 202.976893 },\n            { nominal: 204, mass: 203.9778361 },\n            { nominal: 205, mass: 204.9773867 },\n            { nominal: 206, mass: 205.9784993 },\n            { nominal: 207, mass: 206.978471 },\n            { nominal: 208, mass: 207.9797425 },\n            { nominal: 209, mass: 208.9803991, abundance: 1 },\n            { nominal: 210, mass: 209.9841207 },\n            { nominal: 211, mass: 210.9872697 },\n            { nominal: 212, mass: 211.991286 },\n            { nominal: 213, mass: 212.9943851 },\n            { nominal: 214, mass: 213.998712 },\n            { nominal: 215, mass: 215.00177 },\n            { nominal: 216, mass: 216.006306 },\n            { nominal: 217, mass: 217.009372 },\n            { nominal: 218, mass: 218.014188 },\n            { nominal: 219, mass: 219.01748 },\n            { nominal: 220, mass: 220.02235 },\n            { nominal: 221, mass: 221.02587 },\n            { nominal: 222, mass: 222.03078 },\n            { nominal: 223, mass: 223.0345 },\n            { nominal: 224, mass: 224.03947 },\n        ],\n        symbol: 'Bi',\n        mass: 208.9803991,\n        name: 'Bismuth',\n        monoisotopicMass: 208.9803991,\n    },\n    {\n        number: 84,\n        isotopes: [\n            { nominal: 186, mass: 186.004393 },\n            { nominal: 187, mass: 187.003041 },\n            { nominal: 188, mass: 187.999416 },\n            { nominal: 189, mass: 188.998473 },\n            { nominal: 190, mass: 189.995101 },\n            { nominal: 191, mass: 190.9945585 },\n            { nominal: 192, mass: 191.991336 },\n            { nominal: 193, mass: 192.991026 },\n            { nominal: 194, mass: 193.988186 },\n            { nominal: 195, mass: 194.988126 },\n            { nominal: 196, mass: 195.985526 },\n            { nominal: 197, mass: 196.98566 },\n            { nominal: 198, mass: 197.983389 },\n            { nominal: 199, mass: 198.983667 },\n            { nominal: 200, mass: 199.981799 },\n            { nominal: 201, mass: 200.9822598 },\n            { nominal: 202, mass: 201.980758 },\n            { nominal: 203, mass: 202.9814161 },\n            { nominal: 204, mass: 203.98031 },\n            { nominal: 205, mass: 204.981203 },\n            { nominal: 206, mass: 205.980474 },\n            { nominal: 207, mass: 206.9815938 },\n            { nominal: 208, mass: 207.9812461 },\n            { nominal: 209, mass: 208.9824308 },\n            { nominal: 210, mass: 209.9828741 },\n            { nominal: 211, mass: 210.9866536 },\n            { nominal: 212, mass: 211.9888684 },\n            { nominal: 213, mass: 212.9928576 },\n            { nominal: 214, mass: 213.9952017 },\n            { nominal: 215, mass: 214.9994201 },\n            { nominal: 216, mass: 216.0019152 },\n            { nominal: 217, mass: 217.0063182 },\n            { nominal: 218, mass: 218.0089735 },\n            { nominal: 219, mass: 219.013614 },\n            { nominal: 220, mass: 220.016386 },\n            { nominal: 221, mass: 221.021228 },\n            { nominal: 222, mass: 222.02414 },\n            { nominal: 223, mass: 223.02907 },\n            { nominal: 224, mass: 224.03211 },\n            { nominal: 225, mass: 225.03707 },\n            { nominal: 226, mass: 226.04031 },\n            { nominal: 227, mass: 227.04539 },\n        ],\n        symbol: 'Po',\n        mass: null,\n        name: 'Polonium',\n    },\n    {\n        number: 85,\n        isotopes: [\n            { nominal: 191, mass: 191.004148 },\n            { nominal: 192, mass: 192.003152 },\n            { nominal: 193, mass: 192.999927 },\n            { nominal: 194, mass: 193.999236 },\n            { nominal: 195, mass: 194.9962685 },\n            { nominal: 196, mass: 195.9958 },\n            { nominal: 197, mass: 196.993189 },\n            { nominal: 198, mass: 197.992784 },\n            { nominal: 199, mass: 198.9905277 },\n            { nominal: 200, mass: 199.990351 },\n            { nominal: 201, mass: 200.9884171 },\n            { nominal: 202, mass: 201.98863 },\n            { nominal: 203, mass: 202.986943 },\n            { nominal: 204, mass: 203.987251 },\n            { nominal: 205, mass: 204.986076 },\n            { nominal: 206, mass: 205.986657 },\n            { nominal: 207, mass: 206.9858 },\n            { nominal: 208, mass: 207.9866133 },\n            { nominal: 209, mass: 208.9861702 },\n            { nominal: 210, mass: 209.9871479 },\n            { nominal: 211, mass: 210.9874966 },\n            { nominal: 212, mass: 211.9907377 },\n            { nominal: 213, mass: 212.992937 },\n            { nominal: 214, mass: 213.9963721 },\n            { nominal: 215, mass: 214.9986528 },\n            { nominal: 216, mass: 216.0024236 },\n            { nominal: 217, mass: 217.0047192 },\n            { nominal: 218, mass: 218.008695 },\n            { nominal: 219, mass: 219.0111618 },\n            { nominal: 220, mass: 220.015433 },\n            { nominal: 221, mass: 221.018017 },\n            { nominal: 222, mass: 222.022494 },\n            { nominal: 223, mass: 223.025151 },\n            { nominal: 224, mass: 224.029749 },\n            { nominal: 225, mass: 225.03263 },\n            { nominal: 226, mass: 226.03716 },\n            { nominal: 227, mass: 227.04024 },\n            { nominal: 228, mass: 228.04475 },\n            { nominal: 229, mass: 229.04812 },\n        ],\n        symbol: 'At',\n        mass: null,\n        name: 'Astatine',\n    },\n    {\n        number: 86,\n        isotopes: [\n            { nominal: 193, mass: 193.009708 },\n            { nominal: 194, mass: 194.006144 },\n            { nominal: 195, mass: 195.005422 },\n            { nominal: 196, mass: 196.002116 },\n            { nominal: 197, mass: 197.001585 },\n            { nominal: 198, mass: 197.998679 },\n            { nominal: 199, mass: 198.99839 },\n            { nominal: 200, mass: 199.99569 },\n            { nominal: 201, mass: 200.995628 },\n            { nominal: 202, mass: 201.993264 },\n            { nominal: 203, mass: 202.993388 },\n            { nominal: 204, mass: 203.99143 },\n            { nominal: 205, mass: 204.991719 },\n            { nominal: 206, mass: 205.990214 },\n            { nominal: 207, mass: 206.9907303 },\n            { nominal: 208, mass: 207.989635 },\n            { nominal: 209, mass: 208.990415 },\n            { nominal: 210, mass: 209.9896891 },\n            { nominal: 211, mass: 210.9906011 },\n            { nominal: 212, mass: 211.9907039 },\n            { nominal: 213, mass: 212.9938831 },\n            { nominal: 214, mass: 213.995363 },\n            { nominal: 215, mass: 214.9987459 },\n            { nominal: 216, mass: 216.0002719 },\n            { nominal: 217, mass: 217.003928 },\n            { nominal: 218, mass: 218.0056016 },\n            { nominal: 219, mass: 219.0094804 },\n            { nominal: 220, mass: 220.0113941 },\n            { nominal: 221, mass: 221.0155371 },\n            { nominal: 222, mass: 222.0175782 },\n            { nominal: 223, mass: 223.0218893 },\n            { nominal: 224, mass: 224.024096 },\n            { nominal: 225, mass: 225.028486 },\n            { nominal: 226, mass: 226.030861 },\n            { nominal: 227, mass: 227.035304 },\n            { nominal: 228, mass: 228.037835 },\n            { nominal: 229, mass: 229.042257 },\n            { nominal: 230, mass: 230.04514 },\n            { nominal: 231, mass: 231.04987 },\n        ],\n        symbol: 'Rn',\n        mass: null,\n        name: 'Radon',\n    },\n    {\n        number: 87,\n        isotopes: [\n            { nominal: 199, mass: 199.007259 },\n            { nominal: 200, mass: 200.006586 },\n            { nominal: 201, mass: 201.003867 },\n            { nominal: 202, mass: 202.00332 },\n            { nominal: 203, mass: 203.0009407 },\n            { nominal: 204, mass: 204.000652 },\n            { nominal: 205, mass: 204.9985939 },\n            { nominal: 206, mass: 205.998666 },\n            { nominal: 207, mass: 206.996946 },\n            { nominal: 208, mass: 207.997138 },\n            { nominal: 209, mass: 208.995955 },\n            { nominal: 210, mass: 209.996422 },\n            { nominal: 211, mass: 210.995556 },\n            { nominal: 212, mass: 211.9962257 },\n            { nominal: 213, mass: 212.996186 },\n            { nominal: 214, mass: 213.9989713 },\n            { nominal: 215, mass: 215.0003418 },\n            { nominal: 216, mass: 216.0031899 },\n            { nominal: 217, mass: 217.0046323 },\n            { nominal: 218, mass: 218.0075787 },\n            { nominal: 219, mass: 219.0092524 },\n            { nominal: 220, mass: 220.0123277 },\n            { nominal: 221, mass: 221.0142552 },\n            { nominal: 222, mass: 222.017552 },\n            { nominal: 223, mass: 223.019736 },\n            { nominal: 224, mass: 224.023398 },\n            { nominal: 225, mass: 225.025573 },\n            { nominal: 226, mass: 226.029566 },\n            { nominal: 227, mass: 227.031869 },\n            { nominal: 228, mass: 228.035823 },\n            { nominal: 229, mass: 229.038298 },\n            { nominal: 230, mass: 230.042416 },\n            { nominal: 231, mass: 231.045158 },\n            { nominal: 232, mass: 232.04937 },\n            { nominal: 233, mass: 233.05264 },\n        ],\n        symbol: 'Fr',\n        mass: null,\n        name: 'Francium',\n    },\n    {\n        number: 88,\n        isotopes: [\n            { nominal: 201, mass: 201.01271 },\n            { nominal: 202, mass: 202.00976 },\n            { nominal: 203, mass: 203.009304 },\n            { nominal: 204, mass: 204.006492 },\n            { nominal: 205, mass: 205.006268 },\n            { nominal: 206, mass: 206.003828 },\n            { nominal: 207, mass: 207.003799 },\n            { nominal: 208, mass: 208.001841 },\n            { nominal: 209, mass: 209.00199 },\n            { nominal: 210, mass: 210.000494 },\n            { nominal: 211, mass: 211.0008932 },\n            { nominal: 212, mass: 211.999787 },\n            { nominal: 213, mass: 213.000384 },\n            { nominal: 214, mass: 214.0000997 },\n            { nominal: 215, mass: 215.0027204 },\n            { nominal: 216, mass: 216.0035334 },\n            { nominal: 217, mass: 217.0063207 },\n            { nominal: 218, mass: 218.007141 },\n            { nominal: 219, mass: 219.0100855 },\n            { nominal: 220, mass: 220.0110259 },\n            { nominal: 221, mass: 221.0139177 },\n            { nominal: 222, mass: 222.0153748 },\n            { nominal: 223, mass: 223.0185023 },\n            { nominal: 224, mass: 224.020212 },\n            { nominal: 225, mass: 225.0236119 },\n            { nominal: 226, mass: 226.0254103 },\n            { nominal: 227, mass: 227.0291783 },\n            { nominal: 228, mass: 228.0310707 },\n            { nominal: 229, mass: 229.034942 },\n            { nominal: 230, mass: 230.037055 },\n            { nominal: 231, mass: 231.041027 },\n            { nominal: 232, mass: 232.0434753 },\n            { nominal: 233, mass: 233.047582 },\n            { nominal: 234, mass: 234.050342 },\n            { nominal: 235, mass: 235.05497 },\n        ],\n        symbol: 'Ra',\n        mass: null,\n        name: 'Radium',\n    },\n    {\n        number: 89,\n        isotopes: [\n            { nominal: 206, mass: 206.014452 },\n            { nominal: 207, mass: 207.011966 },\n            { nominal: 208, mass: 208.01155 },\n            { nominal: 209, mass: 209.009495 },\n            { nominal: 210, mass: 210.009436 },\n            { nominal: 211, mass: 211.007732 },\n            { nominal: 212, mass: 212.007813 },\n            { nominal: 213, mass: 213.006609 },\n            { nominal: 214, mass: 214.006918 },\n            { nominal: 215, mass: 215.006475 },\n            { nominal: 216, mass: 216.008743 },\n            { nominal: 217, mass: 217.009344 },\n            { nominal: 218, mass: 218.011642 },\n            { nominal: 219, mass: 219.012421 },\n            { nominal: 220, mass: 220.0147549 },\n            { nominal: 221, mass: 221.015592 },\n            { nominal: 222, mass: 222.0178442 },\n            { nominal: 223, mass: 223.0191377 },\n            { nominal: 224, mass: 224.0217232 },\n            { nominal: 225, mass: 225.02323 },\n            { nominal: 226, mass: 226.0260984 },\n            { nominal: 227, mass: 227.0277523 },\n            { nominal: 228, mass: 228.0310215 },\n            { nominal: 229, mass: 229.032956 },\n            { nominal: 230, mass: 230.036327 },\n            { nominal: 231, mass: 231.038393 },\n            { nominal: 232, mass: 232.042034 },\n            { nominal: 233, mass: 233.044346 },\n            { nominal: 234, mass: 234.048139 },\n            { nominal: 235, mass: 235.05084 },\n            { nominal: 236, mass: 236.054988 },\n            { nominal: 237, mass: 237.05827 },\n        ],\n        symbol: 'Ac',\n        mass: null,\n        name: 'Actinium',\n    },\n    {\n        number: 90,\n        isotopes: [\n            { nominal: 208, mass: 208.0179 },\n            { nominal: 209, mass: 209.017753 },\n            { nominal: 210, mass: 210.015094 },\n            { nominal: 211, mass: 211.014929 },\n            { nominal: 212, mass: 212.012988 },\n            { nominal: 213, mass: 213.013009 },\n            { nominal: 214, mass: 214.0115 },\n            { nominal: 215, mass: 215.0117248 },\n            { nominal: 216, mass: 216.011056 },\n            { nominal: 217, mass: 217.013117 },\n            { nominal: 218, mass: 218.013276 },\n            { nominal: 219, mass: 219.015537 },\n            { nominal: 220, mass: 220.015748 },\n            { nominal: 221, mass: 221.018184 },\n            { nominal: 222, mass: 222.018469 },\n            { nominal: 223, mass: 223.0208119 },\n            { nominal: 224, mass: 224.021464 },\n            { nominal: 225, mass: 225.0239514 },\n            { nominal: 226, mass: 226.0249034 },\n            { nominal: 227, mass: 227.0277042 },\n            { nominal: 228, mass: 228.0287413 },\n            { nominal: 229, mass: 229.0317627 },\n            { nominal: 230, mass: 230.0331341 },\n            { nominal: 231, mass: 231.0363046 },\n            { nominal: 232, mass: 232.0380558, abundance: 1 },\n            { nominal: 233, mass: 233.0415823 },\n            { nominal: 234, mass: 234.0436014 },\n            { nominal: 235, mass: 235.047255 },\n            { nominal: 236, mass: 236.049657 },\n            { nominal: 237, mass: 237.053629 },\n            { nominal: 238, mass: 238.0565 },\n            { nominal: 239, mass: 239.06077 },\n        ],\n        symbol: 'Th',\n        mass: 232.0380558,\n        name: 'Thorium',\n        monoisotopicMass: 232.0380558,\n    },\n    {\n        number: 91,\n        isotopes: [\n            { nominal: 212, mass: 212.023203 },\n            { nominal: 213, mass: 213.021109 },\n            { nominal: 214, mass: 214.020918 },\n            { nominal: 215, mass: 215.019183 },\n            { nominal: 216, mass: 216.019109 },\n            { nominal: 217, mass: 217.018325 },\n            { nominal: 218, mass: 218.020059 },\n            { nominal: 219, mass: 219.019904 },\n            { nominal: 220, mass: 220.021705 },\n            { nominal: 221, mass: 221.021875 },\n            { nominal: 222, mass: 222.023784 },\n            { nominal: 223, mass: 223.023963 },\n            { nominal: 224, mass: 224.0256176 },\n            { nominal: 225, mass: 225.026131 },\n            { nominal: 226, mass: 226.027948 },\n            { nominal: 227, mass: 227.0288054 },\n            { nominal: 228, mass: 228.0310517 },\n            { nominal: 229, mass: 229.0320972 },\n            { nominal: 230, mass: 230.034541 },\n            { nominal: 231, mass: 231.0358842, abundance: 1 },\n            { nominal: 232, mass: 232.0385917 },\n            { nominal: 233, mass: 233.0402472 },\n            { nominal: 234, mass: 234.0433072 },\n            { nominal: 235, mass: 235.045399 },\n            { nominal: 236, mass: 236.048668 },\n            { nominal: 237, mass: 237.051023 },\n            { nominal: 238, mass: 238.054637 },\n            { nominal: 239, mass: 239.05726 },\n            { nominal: 240, mass: 240.06098 },\n            { nominal: 241, mass: 241.06408 },\n        ],\n        symbol: 'Pa',\n        mass: 231.0358842,\n        name: 'Protactinium',\n        monoisotopicMass: 231.0358842,\n    },\n    {\n        number: 92,\n        isotopes: [\n            { nominal: 217, mass: 217.02466 },\n            { nominal: 218, mass: 218.023523 },\n            { nominal: 219, mass: 219.024999 },\n            { nominal: 220, mass: 220.02462 },\n            { nominal: 221, mass: 221.02628 },\n            { nominal: 222, mass: 222.026 },\n            { nominal: 223, mass: 223.027739 },\n            { nominal: 224, mass: 224.027605 },\n            { nominal: 225, mass: 225.029391 },\n            { nominal: 226, mass: 226.029339 },\n            { nominal: 227, mass: 227.031157 },\n            { nominal: 228, mass: 228.031371 },\n            { nominal: 229, mass: 229.0335063 },\n            { nominal: 230, mass: 230.0339401 },\n            { nominal: 231, mass: 231.0362939 },\n            { nominal: 232, mass: 232.0371563 },\n            { nominal: 233, mass: 233.0396355 },\n            { nominal: 234, mass: 234.0409523, abundance: 0.000054 },\n            { nominal: 235, mass: 235.0439301, abundance: 0.007204 },\n            { nominal: 236, mass: 236.0455682 },\n            { nominal: 237, mass: 237.0487304 },\n            { nominal: 238, mass: 238.0507884, abundance: 0.992742 },\n            { nominal: 239, mass: 239.0542935 },\n            { nominal: 240, mass: 240.0565934 },\n            { nominal: 241, mass: 241.06033 },\n            { nominal: 242, mass: 242.06293 },\n            { nominal: 243, mass: 243.06699 },\n        ],\n        symbol: 'U',\n        mass: 238.0289104616574,\n        name: 'Uranium',\n        monoisotopicMass: 238.0507884,\n    },\n    {\n        number: 93,\n        isotopes: [\n            { nominal: 219, mass: 219.03143 },\n            { nominal: 220, mass: 220.03254 },\n            { nominal: 221, mass: 221.03204 },\n            { nominal: 222, mass: 222.0333 },\n            { nominal: 223, mass: 223.03285 },\n            { nominal: 224, mass: 224.03422 },\n            { nominal: 225, mass: 225.033911 },\n            { nominal: 226, mass: 226.035188 },\n            { nominal: 227, mass: 227.034957 },\n            { nominal: 228, mass: 228.036067 },\n            { nominal: 229, mass: 229.036264 },\n            { nominal: 230, mass: 230.037828 },\n            { nominal: 231, mass: 231.038245 },\n            { nominal: 232, mass: 232.04011 },\n            { nominal: 233, mass: 233.040741 },\n            { nominal: 234, mass: 234.0428953 },\n            { nominal: 235, mass: 235.0440635 },\n            { nominal: 236, mass: 236.04657 },\n            { nominal: 237, mass: 237.0481736 },\n            { nominal: 238, mass: 238.0509466 },\n            { nominal: 239, mass: 239.0529392 },\n            { nominal: 240, mass: 240.056165 },\n            { nominal: 241, mass: 241.058253 },\n            { nominal: 242, mass: 242.06164 },\n            { nominal: 243, mass: 243.06428 },\n            { nominal: 244, mass: 244.06785 },\n            { nominal: 245, mass: 245.0708 },\n        ],\n        symbol: 'Np',\n        mass: null,\n        name: 'Neptunium',\n    },\n    {\n        number: 94,\n        isotopes: [\n            { nominal: 228, mass: 228.038732 },\n            { nominal: 229, mass: 229.040144 },\n            { nominal: 230, mass: 230.03965 },\n            { nominal: 231, mass: 231.041102 },\n            { nominal: 232, mass: 232.041185 },\n            { nominal: 233, mass: 233.042998 },\n            { nominal: 234, mass: 234.0433174 },\n            { nominal: 235, mass: 235.045286 },\n            { nominal: 236, mass: 236.0460581 },\n            { nominal: 237, mass: 237.0484098 },\n            { nominal: 238, mass: 238.0495601 },\n            { nominal: 239, mass: 239.0521636 },\n            { nominal: 240, mass: 240.0538138 },\n            { nominal: 241, mass: 241.0568517 },\n            { nominal: 242, mass: 242.0587428 },\n            { nominal: 243, mass: 243.0620036 },\n            { nominal: 244, mass: 244.0642053 },\n            { nominal: 245, mass: 245.067826 },\n            { nominal: 246, mass: 246.070205 },\n            { nominal: 247, mass: 247.07419 },\n        ],\n        symbol: 'Pu',\n        mass: null,\n        name: 'Plutonium',\n    },\n    {\n        number: 95,\n        isotopes: [\n            { nominal: 230, mass: 230.04609 },\n            { nominal: 231, mass: 231.04556 },\n            { nominal: 232, mass: 232.04645 },\n            { nominal: 233, mass: 233.04644 },\n            { nominal: 234, mass: 234.04773 },\n            { nominal: 235, mass: 235.047908 },\n            { nominal: 236, mass: 236.04943 },\n            { nominal: 237, mass: 237.049996 },\n            { nominal: 238, mass: 238.051985 },\n            { nominal: 239, mass: 239.0530247 },\n            { nominal: 240, mass: 240.0553 },\n            { nominal: 241, mass: 241.0568293 },\n            { nominal: 242, mass: 242.0595494 },\n            { nominal: 243, mass: 243.0613813 },\n            { nominal: 244, mass: 244.0642851 },\n            { nominal: 245, mass: 245.0664548 },\n            { nominal: 246, mass: 246.069775 },\n            { nominal: 247, mass: 247.07209 },\n            { nominal: 248, mass: 248.07575 },\n            { nominal: 249, mass: 249.07848 },\n        ],\n        symbol: 'Am',\n        name: 'Americium',\n        mass: null,\n    },\n    {\n        number: 96,\n        isotopes: [\n            { nominal: 232, mass: 232.04982 },\n            { nominal: 233, mass: 233.05077 },\n            { nominal: 234, mass: 234.05016 },\n            { nominal: 235, mass: 235.05154 },\n            { nominal: 236, mass: 236.051374 },\n            { nominal: 237, mass: 237.052869 },\n            { nominal: 238, mass: 238.053081 },\n            { nominal: 239, mass: 239.05491 },\n            { nominal: 240, mass: 240.0555297 },\n            { nominal: 241, mass: 241.0576532 },\n            { nominal: 242, mass: 242.058836 },\n            { nominal: 243, mass: 243.0613893 },\n            { nominal: 244, mass: 244.0627528 },\n            { nominal: 245, mass: 245.0654915 },\n            { nominal: 246, mass: 246.0672238 },\n            { nominal: 247, mass: 247.0703541 },\n            { nominal: 248, mass: 248.0723499 },\n            { nominal: 249, mass: 249.0759548 },\n            { nominal: 250, mass: 250.078358 },\n            { nominal: 251, mass: 251.082286 },\n            { nominal: 252, mass: 252.08487 },\n        ],\n        symbol: 'Cm',\n        name: 'Curium',\n        mass: null,\n    },\n    {\n        number: 97,\n        isotopes: [\n            { nominal: 234, mass: 234.05727 },\n            { nominal: 235, mass: 235.05658 },\n            { nominal: 236, mass: 236.05748 },\n            { nominal: 237, mass: 237.0571 },\n            { nominal: 238, mass: 238.0582 },\n            { nominal: 239, mass: 239.05824 },\n            { nominal: 240, mass: 240.05976 },\n            { nominal: 241, mass: 241.06016 },\n            { nominal: 242, mass: 242.06198 },\n            { nominal: 243, mass: 243.0630078 },\n            { nominal: 244, mass: 244.065181 },\n            { nominal: 245, mass: 245.0663618 },\n            { nominal: 246, mass: 246.068673 },\n            { nominal: 247, mass: 247.0703073 },\n            { nominal: 248, mass: 248.073088 },\n            { nominal: 249, mass: 249.0749877 },\n            { nominal: 250, mass: 250.0783167 },\n            { nominal: 251, mass: 251.080762 },\n            { nominal: 252, mass: 252.08431 },\n            { nominal: 253, mass: 253.08688 },\n            { nominal: 254, mass: 254.0906 },\n        ],\n        symbol: 'Bk',\n        name: 'Berkelium',\n        mass: null,\n    },\n    {\n        number: 98,\n        isotopes: [\n            { nominal: 237, mass: 237.062198 },\n            { nominal: 238, mass: 238.06149 },\n            { nominal: 239, mass: 239.06253 },\n            { nominal: 240, mass: 240.062256 },\n            { nominal: 241, mass: 241.06369 },\n            { nominal: 242, mass: 242.063754 },\n            { nominal: 243, mass: 243.06548 },\n            { nominal: 244, mass: 244.0660008 },\n            { nominal: 245, mass: 245.0680487 },\n            { nominal: 246, mass: 246.0688055 },\n            { nominal: 247, mass: 247.070965 },\n            { nominal: 248, mass: 248.0721851 },\n            { nominal: 249, mass: 249.0748539 },\n            { nominal: 250, mass: 250.0764062 },\n            { nominal: 251, mass: 251.0795886 },\n            { nominal: 252, mass: 252.0816272 },\n            { nominal: 253, mass: 253.0851345 },\n            { nominal: 254, mass: 254.087324 },\n            { nominal: 255, mass: 255.09105 },\n            { nominal: 256, mass: 256.09344 },\n        ],\n        symbol: 'Cf',\n        name: 'Californium',\n        mass: null,\n    },\n    {\n        number: 99,\n        isotopes: [\n            { nominal: 239, mass: 239.06823 },\n            { nominal: 240, mass: 240.06892 },\n            { nominal: 241, mass: 241.06856 },\n            { nominal: 242, mass: 242.06957 },\n            { nominal: 243, mass: 243.06951 },\n            { nominal: 244, mass: 244.07088 },\n            { nominal: 245, mass: 245.07125 },\n            { nominal: 246, mass: 246.0729 },\n            { nominal: 247, mass: 247.073622 },\n            { nominal: 248, mass: 248.075471 },\n            { nominal: 249, mass: 249.076411 },\n            { nominal: 250, mass: 250.07861 },\n            { nominal: 251, mass: 251.0799936 },\n            { nominal: 252, mass: 252.08298 },\n            { nominal: 253, mass: 253.0848257 },\n            { nominal: 254, mass: 254.0880222 },\n            { nominal: 255, mass: 255.090275 },\n            { nominal: 256, mass: 256.0936 },\n            { nominal: 257, mass: 257.09598 },\n            { nominal: 258, mass: 258.09952 },\n        ],\n        symbol: 'Es',\n        name: 'Einsteinium',\n        mass: null,\n    },\n    {\n        number: 100,\n        isotopes: [\n            { nominal: 241, mass: 241.07421 },\n            { nominal: 242, mass: 242.07343 },\n            { nominal: 243, mass: 243.07446 },\n            { nominal: 244, mass: 244.07404 },\n            { nominal: 245, mass: 245.07535 },\n            { nominal: 246, mass: 246.07535 },\n            { nominal: 247, mass: 247.07694 },\n            { nominal: 248, mass: 248.0771865 },\n            { nominal: 249, mass: 249.0789275 },\n            { nominal: 250, mass: 250.079521 },\n            { nominal: 251, mass: 251.08154 },\n            { nominal: 252, mass: 252.0824671 },\n            { nominal: 253, mass: 253.0851846 },\n            { nominal: 254, mass: 254.0868544 },\n            { nominal: 255, mass: 255.089964 },\n            { nominal: 256, mass: 256.0917745 },\n            { nominal: 257, mass: 257.0951061 },\n            { nominal: 258, mass: 258.09708 },\n            { nominal: 259, mass: 259.1006 },\n            { nominal: 260, mass: 260.10281 },\n        ],\n        symbol: 'Fm',\n        name: 'Fermium',\n        mass: null,\n    },\n    {\n        number: 101,\n        isotopes: [\n            { nominal: 245, mass: 245.08081 },\n            { nominal: 246, mass: 246.08171 },\n            { nominal: 247, mass: 247.08152 },\n            { nominal: 248, mass: 248.08282 },\n            { nominal: 249, mass: 249.08291 },\n            { nominal: 250, mass: 250.08441 },\n            { nominal: 251, mass: 251.084774 },\n            { nominal: 252, mass: 252.08643 },\n            { nominal: 253, mass: 253.087144 },\n            { nominal: 254, mass: 254.08959 },\n            { nominal: 255, mass: 255.0910841 },\n            { nominal: 256, mass: 256.09389 },\n            { nominal: 257, mass: 257.0955424 },\n            { nominal: 258, mass: 258.0984315 },\n            { nominal: 259, mass: 259.10051 },\n            { nominal: 260, mass: 260.10365 },\n            { nominal: 261, mass: 261.10583 },\n            { nominal: 262, mass: 262.1091 },\n        ],\n        symbol: 'Md',\n        name: 'Mendelevium',\n        mass: null,\n    },\n    {\n        number: 102,\n        isotopes: [\n            { nominal: 248, mass: 248.08655 },\n            { nominal: 249, mass: 249.0878 },\n            { nominal: 250, mass: 250.08756 },\n            { nominal: 251, mass: 251.08894 },\n            { nominal: 252, mass: 252.088967 },\n            { nominal: 253, mass: 253.0905641 },\n            { nominal: 254, mass: 254.090956 },\n            { nominal: 255, mass: 255.093191 },\n            { nominal: 256, mass: 256.0942829 },\n            { nominal: 257, mass: 257.0968878 },\n            { nominal: 258, mass: 258.09821 },\n            { nominal: 259, mass: 259.10103 },\n            { nominal: 260, mass: 260.10264 },\n            { nominal: 261, mass: 261.1057 },\n            { nominal: 262, mass: 262.10746 },\n            { nominal: 263, mass: 263.11071 },\n            { nominal: 264, mass: 264.11273 },\n        ],\n        symbol: 'No',\n        name: 'Nobelium',\n        mass: null,\n    },\n    {\n        number: 103,\n        isotopes: [\n            { nominal: 251, mass: 251.09418 },\n            { nominal: 252, mass: 252.09526 },\n            { nominal: 253, mass: 253.09509 },\n            { nominal: 254, mass: 254.09648 },\n            { nominal: 255, mass: 255.096562 },\n            { nominal: 256, mass: 256.098494 },\n            { nominal: 257, mass: 257.099418 },\n            { nominal: 258, mass: 258.10176 },\n            { nominal: 259, mass: 259.102902 },\n            { nominal: 260, mass: 260.1055 },\n            { nominal: 261, mass: 261.10688 },\n            { nominal: 262, mass: 262.10961 },\n            { nominal: 263, mass: 263.11136 },\n            { nominal: 264, mass: 264.1142 },\n            { nominal: 265, mass: 265.11619 },\n            { nominal: 266, mass: 266.11983 },\n        ],\n        symbol: 'Lr',\n        name: 'Lawrencium',\n        mass: null,\n    },\n    {\n        number: 104,\n        isotopes: [\n            { nominal: 253, mass: 253.10044 },\n            { nominal: 254, mass: 254.10005 },\n            { nominal: 255, mass: 255.10127 },\n            { nominal: 256, mass: 256.101152 },\n            { nominal: 257, mass: 257.102918 },\n            { nominal: 258, mass: 258.103428 },\n            { nominal: 259, mass: 259.105596 },\n            { nominal: 260, mass: 260.10644 },\n            { nominal: 261, mass: 261.108773 },\n            { nominal: 262, mass: 262.10992 },\n            { nominal: 263, mass: 263.11249 },\n            { nominal: 264, mass: 264.11388 },\n            { nominal: 265, mass: 265.11668 },\n            { nominal: 266, mass: 266.11817 },\n            { nominal: 267, mass: 267.12179 },\n            { nominal: 268, mass: 268.12397 },\n        ],\n        symbol: 'Rf',\n        name: 'Rutherfordium',\n        mass: null,\n    },\n    {\n        number: 105,\n        isotopes: [\n            { nominal: 255, mass: 255.10707 },\n            { nominal: 256, mass: 256.10789 },\n            { nominal: 257, mass: 257.10758 },\n            { nominal: 258, mass: 258.10928 },\n            { nominal: 259, mass: 259.109492 },\n            { nominal: 260, mass: 260.1113 },\n            { nominal: 261, mass: 261.11192 },\n            { nominal: 262, mass: 262.11407 },\n            { nominal: 263, mass: 263.11499 },\n            { nominal: 264, mass: 264.11741 },\n            { nominal: 265, mass: 265.11861 },\n            { nominal: 266, mass: 266.12103 },\n            { nominal: 267, mass: 267.12247 },\n            { nominal: 268, mass: 268.12567 },\n            { nominal: 269, mass: 269.12791 },\n            { nominal: 270, mass: 270.13136 },\n        ],\n        symbol: 'Db',\n        name: 'Dubnium',\n        mass: null,\n    },\n    {\n        number: 106,\n        isotopes: [\n            { nominal: 258, mass: 258.11298 },\n            { nominal: 259, mass: 259.1144 },\n            { nominal: 260, mass: 260.114384 },\n            { nominal: 261, mass: 261.115949 },\n            { nominal: 262, mass: 262.116337 },\n            { nominal: 263, mass: 263.11829 },\n            { nominal: 264, mass: 264.11893 },\n            { nominal: 265, mass: 265.12109 },\n            { nominal: 266, mass: 266.12198 },\n            { nominal: 267, mass: 267.12436 },\n            { nominal: 268, mass: 268.12539 },\n            { nominal: 269, mass: 269.12863 },\n            { nominal: 270, mass: 270.13043 },\n            { nominal: 271, mass: 271.13393 },\n            { nominal: 272, mass: 272.13589 },\n            { nominal: 273, mass: 273.13958 },\n        ],\n        symbol: 'Sg',\n        name: 'Seaborgium',\n        mass: null,\n    },\n    {\n        number: 107,\n        isotopes: [\n            { nominal: 260, mass: 260.12166 },\n            { nominal: 261, mass: 261.12145 },\n            { nominal: 262, mass: 262.12297 },\n            { nominal: 263, mass: 263.12292 },\n            { nominal: 264, mass: 264.12459 },\n            { nominal: 265, mass: 265.12491 },\n            { nominal: 266, mass: 266.12679 },\n            { nominal: 267, mass: 267.1275 },\n            { nominal: 268, mass: 268.12969 },\n            { nominal: 269, mass: 269.13042 },\n            { nominal: 270, mass: 270.13336 },\n            { nominal: 271, mass: 271.13526 },\n            { nominal: 272, mass: 272.13826 },\n            { nominal: 273, mass: 273.14024 },\n            { nominal: 274, mass: 274.14355 },\n            { nominal: 275, mass: 275.14567 },\n        ],\n        symbol: 'Bh',\n        name: 'Bohrium',\n        mass: null,\n    },\n    {\n        number: 108,\n        isotopes: [\n            { nominal: 263, mass: 263.12852 },\n            { nominal: 264, mass: 264.128357 },\n            { nominal: 265, mass: 265.129793 },\n            { nominal: 266, mass: 266.130046 },\n            { nominal: 267, mass: 267.13167 },\n            { nominal: 268, mass: 268.13186 },\n            { nominal: 269, mass: 269.13375 },\n            { nominal: 270, mass: 270.13429 },\n            { nominal: 271, mass: 271.13717 },\n            { nominal: 272, mass: 272.1385 },\n            { nominal: 273, mass: 273.14168 },\n            { nominal: 274, mass: 274.1433 },\n            { nominal: 275, mass: 275.14667 },\n            { nominal: 276, mass: 276.14846 },\n            { nominal: 277, mass: 277.1519 },\n        ],\n        symbol: 'Hs',\n        name: 'Hassium',\n        mass: null,\n    },\n    {\n        number: 109,\n        isotopes: [\n            { nominal: 265, mass: 265.136 },\n            { nominal: 266, mass: 266.13737 },\n            { nominal: 267, mass: 267.13719 },\n            { nominal: 268, mass: 268.13865 },\n            { nominal: 269, mass: 269.13882 },\n            { nominal: 270, mass: 270.14033 },\n            { nominal: 271, mass: 271.14074 },\n            { nominal: 272, mass: 272.14341 },\n            { nominal: 273, mass: 273.1444 },\n            { nominal: 274, mass: 274.14724 },\n            { nominal: 275, mass: 275.14882 },\n            { nominal: 276, mass: 276.15159 },\n            { nominal: 277, mass: 277.15327 },\n            { nominal: 278, mass: 278.15631 },\n            { nominal: 279, mass: 279.15808 },\n        ],\n        symbol: 'Mt',\n        name: 'Meitnerium',\n        mass: null,\n    },\n    {\n        number: 110,\n        isotopes: [\n            { nominal: 267, mass: 267.14377 },\n            { nominal: 268, mass: 268.14348 },\n            { nominal: 269, mass: 269.144752 },\n            { nominal: 270, mass: 270.144584 },\n            { nominal: 271, mass: 271.14595 },\n            { nominal: 272, mass: 272.14602 },\n            { nominal: 273, mass: 273.14856 },\n            { nominal: 274, mass: 274.14941 },\n            { nominal: 275, mass: 275.15203 },\n            { nominal: 276, mass: 276.15303 },\n            { nominal: 277, mass: 277.15591 },\n            { nominal: 278, mass: 278.15704 },\n            { nominal: 279, mass: 279.1601 },\n            { nominal: 280, mass: 280.16131 },\n            { nominal: 281, mass: 281.16451 },\n        ],\n        symbol: 'Ds',\n        name: 'Darmstadtium',\n        mass: null,\n    },\n    {\n        number: 111,\n        isotopes: [\n            { nominal: 272, mass: 272.15327 },\n            { nominal: 273, mass: 273.15313 },\n            { nominal: 274, mass: 274.15525 },\n            { nominal: 275, mass: 275.15594 },\n            { nominal: 276, mass: 276.15833 },\n            { nominal: 277, mass: 277.15907 },\n            { nominal: 278, mass: 278.16149 },\n            { nominal: 279, mass: 279.16272 },\n            { nominal: 280, mass: 280.16514 },\n            { nominal: 281, mass: 281.16636 },\n            { nominal: 282, mass: 282.16912 },\n            { nominal: 283, mass: 283.17054 },\n        ],\n        symbol: 'Rg',\n        name: 'Roentgenium',\n        mass: null,\n    },\n    {\n        number: 112,\n        isotopes: [\n            { nominal: 276, mass: 276.16141 },\n            { nominal: 277, mass: 277.16364 },\n            { nominal: 278, mass: 278.16416 },\n            { nominal: 279, mass: 279.16654 },\n            { nominal: 280, mass: 280.16715 },\n            { nominal: 281, mass: 281.16975 },\n            { nominal: 282, mass: 282.1705 },\n            { nominal: 283, mass: 283.17327 },\n            { nominal: 284, mass: 284.17416 },\n            { nominal: 285, mass: 285.17712 },\n        ],\n        symbol: 'Cn',\n        name: 'Copernicium',\n        mass: null,\n    },\n    {\n        number: 113,\n        isotopes: [\n            { nominal: 278, mass: 278.17058 },\n            { nominal: 279, mass: 279.17095 },\n            { nominal: 280, mass: 280.17293 },\n            { nominal: 281, mass: 281.17348 },\n            { nominal: 282, mass: 282.17567 },\n            { nominal: 283, mass: 283.17657 },\n            { nominal: 284, mass: 284.17873 },\n            { nominal: 285, mass: 285.17973 },\n            { nominal: 286, mass: 286.18221 },\n            { nominal: 287, mass: 287.18339 },\n        ],\n        symbol: 'Nh',\n        name: 'Nihonium',\n        mass: null,\n    },\n    {\n        number: 114,\n        isotopes: [\n            { nominal: 285, mass: 285.18364 },\n            { nominal: 286, mass: 286.18423 },\n            { nominal: 287, mass: 287.18678 },\n            { nominal: 288, mass: 288.18757 },\n            { nominal: 289, mass: 289.19042 },\n        ],\n        symbol: 'Fl',\n        name: 'Flerovium',\n        mass: null,\n    },\n    {\n        number: 115,\n        isotopes: [\n            { nominal: 287, mass: 287.1907 },\n            { nominal: 288, mass: 288.19274 },\n            { nominal: 289, mass: 289.19363 },\n            { nominal: 290, mass: 290.19598 },\n            { nominal: 291, mass: 291.19707 },\n        ],\n        symbol: 'Mc',\n        name: 'Moscovium',\n        mass: null,\n    },\n    {\n        number: 116,\n        isotopes: [\n            { nominal: 289, mass: 289.19816 },\n            { nominal: 290, mass: 290.19864 },\n            { nominal: 291, mass: 291.20108 },\n            { nominal: 292, mass: 292.20174 },\n            { nominal: 293, mass: 293.20449 },\n        ],\n        symbol: 'Lv',\n        name: 'Livermorium',\n        mass: null,\n    },\n    {\n        number: 117,\n        isotopes: [\n            { nominal: 291, mass: 291.20553 },\n            { nominal: 292, mass: 292.20746 },\n            { nominal: 293, mass: 293.20824 },\n            { nominal: 294, mass: 294.21046 },\n        ],\n        symbol: 'Ts',\n        name: 'Tennessine',\n        mass: null,\n    },\n    {\n        number: 118,\n        isotopes: [\n            { nominal: 293, mass: 293.21356 },\n            { nominal: 294, mass: 294.21392 },\n            { nominal: 295, mass: 295.21624 },\n        ],\n        symbol: 'Og',\n        name: 'Oganesson',\n        mass: null,\n    },\n];\n//# sourceMappingURL=elementsAndIsotopes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.elements = void 0;\nconst elementsAndIsotopes_js_1 = require(\"./elementsAndIsotopes.js\");\nexports.elements = elementsAndIsotopes_js_1.elementsAndIsotopes.map((element) => ({\n    number: element.number,\n    symbol: element.symbol,\n    mass: element.mass,\n    name: element.name,\n    monoisotopicMass: element.monoisotopicMass,\n}));\n//# sourceMappingURL=elements.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.elementsAndIsotopesObject = void 0;\nconst elementsAndIsotopes_js_1 = require(\"./elementsAndIsotopes.js\");\nexports.elementsAndIsotopesObject = {};\nfor (const element of elementsAndIsotopes_js_1.elementsAndIsotopes) {\n    exports.elementsAndIsotopesObject[element.symbol] = element;\n}\n//# sourceMappingURL=elementsAndIsotopesObject.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.elementsAndStableIsotopes = void 0;\nconst elementsAndIsotopes_js_1 = require(\"./elementsAndIsotopes.js\");\nexports.elementsAndStableIsotopes = structuredClone(elementsAndIsotopes_js_1.elementsAndIsotopes);\nfor (const element of exports.elementsAndStableIsotopes) {\n    element.isotopes = element.isotopes.filter((i) => {\n        return typeof i.abundance === 'number' && i.abundance > 0;\n    });\n}\n//# sourceMappingURL=elementsAndStableIsotopes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.elementsAndStableIsotopesObject = void 0;\nconst elementsAndStableIsotopes_js_1 = require(\"./elementsAndStableIsotopes.js\");\nexports.elementsAndStableIsotopesObject = {};\nfor (const element of elementsAndStableIsotopes_js_1.elementsAndStableIsotopes) {\n    exports.elementsAndStableIsotopesObject[element.symbol] = element;\n}\n//# sourceMappingURL=elementsAndStableIsotopesObject.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.elementsObject = void 0;\nconst elements_js_1 = require(\"./elements.js\");\nexports.elementsObject = {};\nfor (const element of elements_js_1.elements) {\n    exports.elementsObject[element.symbol] = element;\n}\n//# sourceMappingURL=elementsObject.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isotopesObject = void 0;\nconst elementsAndIsotopesObject_js_1 = require(\"./elementsAndIsotopesObject.js\");\nexports.isotopesObject = {};\nfor (const [symbol, element] of Object.entries(elementsAndIsotopesObject_js_1.elementsAndIsotopesObject)) {\n    if (!element)\n        continue;\n    for (const isotope of element.isotopes) {\n        exports.isotopesObject[`${isotope.nominal}${symbol}`] = {\n            abundance: isotope.abundance,\n            mass: isotope.mass,\n        };\n    }\n}\n//# sourceMappingURL=isotopesObject.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.stableIsotopesObject = void 0;\nconst elementsAndIsotopes_js_1 = require(\"./elementsAndIsotopes.js\");\nexports.stableIsotopesObject = {};\nfor (const element of elementsAndIsotopes_js_1.elementsAndIsotopes) {\n    let abundance = 0;\n    let mostAbundant = 0;\n    for (const isotope of element.isotopes) {\n        if (typeof isotope.abundance === 'number' &&\n            isotope.abundance > abundance) {\n            abundance = isotope.abundance;\n            mostAbundant = isotope.nominal;\n        }\n    }\n    for (const isotope of element.isotopes) {\n        if (isotope.abundance === 0)\n            continue;\n        const entry = {\n            name: element.name,\n            mass: isotope.mass,\n            symbol: element.symbol,\n            mostAbundant: false,\n            deltaNeutrons: isotope.nominal - mostAbundant,\n        };\n        if (isotope.nominal === mostAbundant) {\n            entry.mostAbundant = true;\n        }\n        exports.stableIsotopesObject[`${isotope.nominal}${element.symbol}`] = entry;\n    }\n}\n//# sourceMappingURL=stableIsotopesObject.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unsaturationsObject = void 0;\nexports.unsaturationsObject = {\n    O: 0,\n    N: 1,\n    H: -1,\n    Na: -1,\n    K: -1,\n    Li: -1,\n    Ca: -2,\n    C: 2,\n    F: -1,\n    Si: 2,\n    Cl: -1,\n    Br: -1,\n    I: -1,\n    S: 0,\n    P: 1,\n};\n//# sourceMappingURL=unsaturationsObject.js.map","\"use strict\";\n/**\n * Define static variable corresponding to the various Kinds of a molecular formula part.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Kind = void 0;\nexports.Kind = {\n    BEGIN: 'begin',\n    ATOM: 'atom',\n    MULTIPLIER_RANGE: 'multiplierRange',\n    ISOTOPE: 'isotope',\n    ISOTOPE_RATIO: 'isotopeRatio',\n    CHARGE: 'charge',\n    SALT: 'salt',\n    OPENING_PARENTHESIS: 'openingParenthesis',\n    CLOSING_PARENTHESIS: 'closingParenthesis',\n    PRE_MULTIPLIER: 'preMultiplier',\n    MULTIPLIER: 'multiplier',\n    TEXT: 'text',\n    ANCHOR: 'anchor',\n    COMMENT: 'comment',\n};\n//# sourceMappingURL=Kind.js.map","\"use strict\";\n/**\n * Parse a string to extract the charge.\n * The charge may be in the form --, +++, +3, -2, 4+, 2-\n * @param {*} charge\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseCharge = parseCharge;\nfunction parseCharge(charge) {\n    charge = charge.replaceAll(/[()]/g, '');\n    let chargeNumber = 0;\n    if (charge.match(/^[+-]+$/)) {\n        for (let i = 0; i < charge.length; i++) {\n            if (charge.charAt(i) === '+')\n                chargeNumber++;\n            else\n                chargeNumber--;\n        }\n    }\n    else if (charge.match(/^\\d+[+-]$/)) {\n        chargeNumber = Number(\n        // eslint-disable-next-line unicorn/prefer-at\n        charge.charAt(charge.length - 1) + charge.slice(0, -1));\n    }\n    else {\n        chargeNumber = Number(charge);\n    }\n    return chargeNumber;\n}\n//# sourceMappingURL=parseCharge.js.map","\"use strict\";\n/* eslint-disable unicorn/prefer-code-point */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parse = parse;\nconst atom_sorter_1 = require(\"atom-sorter\");\nconst chemical_elements_1 = require(\"chemical-elements\");\nconst chemical_groups_1 = require(\"chemical-groups\");\nconst Kind_1 = require(\"./Kind\");\nconst parseCharge_1 = require(\"./util/parseCharge\");\n// module level: the parsing loop would otherwise allocate it for each token\nconst PREMULTIPLIER_KINDS = new Set([\n    Kind_1.Kind.SALT,\n    Kind_1.Kind.BEGIN,\n    Kind_1.Kind.OPENING_PARENTHESIS,\n]);\n/**\n * Parse a mf to an array of kind / value\n * @param {String} mf\n * @param {Object} [options={}]\n * @param {Boolean} [options.expandGroups=false] - if true, expand groups\n * @param {Boolean} [options.simplify=false] - if true, remove all the parenthesis and join identical atoms / groups\n */\nfunction parse(mf, options = {}) {\n    return new MFParser().parse(mf, options);\n}\nclass MFParser {\n    parse(mf = '', options = {}) {\n        this.expandGroups = options?.expandGroups ?? false;\n        this.simplify = options?.simplify ?? false;\n        this.mf = mf;\n        this.i = 0;\n        this.result = [];\n        let lastKind = Kind_1.Kind.BEGIN;\n        while (this.i < mf.length) {\n            if (this.result.length > 0 && this.result.at(-1).kind !== Kind_1.Kind.TEXT) {\n                lastKind = this.result.at(-1).kind;\n            }\n            let char = mf.charAt(this.i);\n            let ascii = mf.charCodeAt(this.i);\n            let nextAscii = 0;\n            if (this.i + 1 < mf.length)\n                nextAscii = mf.charCodeAt(this.i + 1);\n            if ((ascii > 47 && ascii < 58) ||\n                (char === '-' && nextAscii > 47 && nextAscii < 58)) {\n                // a number\n                let value = this.getNumber(ascii);\n                if (PREMULTIPLIER_KINDS.has(lastKind)) {\n                    if (value.to) {\n                        throw new MFError(this.mf, this.i, 'Premultiplier may not contain a -');\n                    }\n                    this.result.push({ kind: Kind_1.Kind.PRE_MULTIPLIER, value: value.from });\n                }\n                else if (lastKind === Kind_1.Kind.ANCHOR) {\n                    if (value.to) {\n                        throw new MFError(this.mf, this.i, 'Anchor ID may not contain -');\n                    }\n                    this.result.at(-1).value = value.from;\n                }\n                else if (value.to) {\n                    this.result.push({\n                        kind: Kind_1.Kind.MULTIPLIER_RANGE,\n                        value: {\n                            from: Math.min(value.from, value.to),\n                            to: Math.max(value.from, value.to),\n                        },\n                    });\n                }\n                else {\n                    this.result.push({ kind: Kind_1.Kind.MULTIPLIER, value: value.from });\n                }\n                continue;\n            }\n            else if (char === '.') {\n                // a point\n                this.result.push({ kind: Kind_1.Kind.SALT, value: char });\n                // it is not in a number otherwise it would have been taken before\n                // it must be in a salt\n            }\n            else if (char === '#') {\n                // an anchor\n                this.result.push({ kind: Kind_1.Kind.ANCHOR, value: 0 });\n                // it is not in a number otherwise it would have been taken before\n                // it must be in a salt\n            }\n            else if (ascii > 64 && ascii < 91) {\n                // an uppercase = new atom\n                this.result.push(...this.getAtom(ascii));\n                continue;\n            }\n            else if (ascii > 96 && ascii < 123) {\n                // a lowercase\n                throw new MFError(this.mf, this.i, 'found a lowercase not following an uppercase');\n            }\n            else if (char === '(') {\n                let charge = this.getParenthesisCharge(ascii);\n                if (charge) {\n                    this.result.push({ kind: Kind_1.Kind.CHARGE, value: charge });\n                }\n                else {\n                    this.result.push({ kind: Kind_1.Kind.OPENING_PARENTHESIS, value: '(' });\n                }\n            }\n            else if (char === ')') {\n                this.result.push({ kind: Kind_1.Kind.CLOSING_PARENTHESIS, value: ')' });\n            }\n            else if (char === '[') {\n                // defines an isotope\n                let isotope = this.getIsotope(ascii);\n                this.result.push({ kind: Kind_1.Kind.ISOTOPE, value: isotope });\n            }\n            else if (char === ']') {\n                throw new MFError(this.mf, this.i, 'should never meet an closing bracket not in isotopes');\n            }\n            else if (char === '{') {\n                // can define an exotic isotopic ratio or mixtures of groups\n                let isotopeRatio = this.getCurlyBracketIsotopeRatio(ascii);\n                if (lastKind === Kind_1.Kind.ATOM) {\n                    let lastResult = this.result.at(-1);\n                    lastResult.kind = Kind_1.Kind.ISOTOPE_RATIO;\n                    lastResult.value = {\n                        atom: lastResult.value,\n                        ratio: isotopeRatio,\n                    };\n                }\n                else {\n                    throw new MFError(this.mf, this.i, 'isotopic composition has to follow an atom');\n                }\n            }\n            else if (char === '}') {\n                throw new MFError(this.mf, this.i, 'found a unexpected closing curly bracket');\n            }\n            else if (char === '+') {\n                // charge not in parenthesis\n                let charge = this.getNonParenthesisCharge(ascii);\n                this.result.push({ kind: Kind_1.Kind.CHARGE, value: charge });\n            }\n            else if (char === '-') {\n                // charge not in parenthesis\n                let charge = this.getNonParenthesisCharge(ascii);\n                this.result.push({ kind: Kind_1.Kind.CHARGE, value: charge });\n            }\n            else if (char === '$') {\n                // it is a comment after\n                this.result.push({\n                    kind: Kind_1.Kind.COMMENT,\n                    value: this.mf.slice(this.i + 1),\n                });\n                break;\n            }\n            else {\n                this.result.push({ kind: Kind_1.Kind.TEXT, value: char });\n            }\n            this.i++;\n        }\n        this.checkParenthesis();\n        if (this.simplify) {\n            this.result = simplify(this.result);\n        }\n        return this.result;\n    }\n    checkParenthesis() {\n        let counter = 0;\n        for (let line of this.result) {\n            if (line.kind === Kind_1.Kind.OPENING_PARENTHESIS)\n                counter++;\n            if (line.kind === Kind_1.Kind.CLOSING_PARENTHESIS)\n                counter--;\n        }\n        if (counter !== 0) {\n            throw new MFError(this.mf, this.i, 'number of opening and closing parenthesis not equal');\n        }\n    }\n    getNumber(ascii) {\n        let number = '';\n        let previous;\n        do {\n            previous = ascii;\n            number += String.fromCharCode(ascii);\n            this.i++;\n            ascii = this.mf.charCodeAt(this.i);\n        } while ((ascii > 47 && ascii < 58) ||\n            ascii === 46 ||\n            ascii === 45 ||\n            ascii === 47); // number . - /\n        // we need to deal with the case there is a from / to\n        if (previous === 46)\n            this.i--;\n        let indexOfDash = number.indexOf('-', 1);\n        if (indexOfDash > -1) {\n            return {\n                from: parseNumberWithDivision(number.slice(0, indexOfDash)),\n                to: parseNumberWithDivision(number.slice(indexOfDash + 1)),\n            };\n        }\n        return { from: parseNumberWithDivision(number) };\n    }\n    getAtom(ascii) {\n        let atom = '';\n        do {\n            atom += String.fromCharCode(ascii);\n            this.i++;\n            ascii = this.mf.charCodeAt(this.i);\n        } while (ascii > 96 && ascii < 123);\n        if (chemical_elements_1.elementsObject[atom] || !this.expandGroups) {\n            return [\n                {\n                    kind: Kind_1.Kind.ATOM,\n                    value: atom,\n                },\n            ];\n        }\n        if (chemical_groups_1.groupsObject[atom]) {\n            const group = chemical_groups_1.groupsObject[atom].mf;\n            const expandedGroups = parse(group, {\n                expandGroups: this.expandGroups,\n            });\n            // need to surround with parenthesis\n            return [\n                { kind: Kind_1.Kind.OPENING_PARENTHESIS, value: '(' },\n                ...expandedGroups,\n                { kind: Kind_1.Kind.CLOSING_PARENTHESIS, value: ')' },\n            ];\n        }\n        throw new MFError(`Not able to expand group: ${this.mf}`);\n    }\n    getIsotope(ascii) {\n        // [13C]\n        let substring = '';\n        do {\n            substring += String.fromCharCode(ascii);\n            this.i++;\n            ascii = this.mf.charCodeAt(this.i);\n        } while (ascii !== 93 && this.i <= this.mf.length);\n        let atom = substring.replaceAll(/[^A-Za-z]/g, '');\n        let isotope = Number(substring.replaceAll(/\\D/g, ''));\n        return { atom, isotope };\n    }\n    getCurlyBracketIsotopeRatio(ascii) {\n        let substring = '';\n        let first = true;\n        do {\n            if (!first) {\n                substring += String.fromCharCode(ascii);\n            }\n            else {\n                first = false;\n            }\n            this.i++;\n            ascii = this.mf.charCodeAt(this.i);\n        } while (ascii !== 125 && this.i <= this.mf.length); // closing curly bracket\n        if (substring.match(/^[0-9.,]+$/)) {\n            return substring.split(',').map(Number);\n        }\n        throw new MFError(this.mf, this.i, 'Curly brackets should contain only number, dot and comma');\n    }\n    getParenthesisCharge(ascii) {\n        let substring = '';\n        let begin = this.i;\n        do {\n            substring += String.fromCharCode(ascii);\n            this.i++;\n            ascii = this.mf.charCodeAt(this.i);\n        } while (ascii !== 41 && this.i <= this.mf.length); // closing parenthesis\n        if (substring.match(/^\\([\\d+-]+$/)) {\n            return (0, parseCharge_1.parseCharge)(substring.slice(1));\n        }\n        else {\n            this.i = begin;\n            return undefined;\n        }\n    }\n    getNonParenthesisCharge(ascii) {\n        let substring = '';\n        do {\n            substring += String.fromCharCode(ascii);\n            this.i++;\n            ascii = this.mf.charCodeAt(this.i);\n        } while (ascii === 43 || ascii === 45 || (ascii > 47 && ascii < 58));\n        this.i--;\n        return (0, parseCharge_1.parseCharge)(substring);\n    }\n}\nclass MFError extends SyntaxError {\n    constructor(mf, i, message) {\n        let text = `${message}\\n\\n${mf}\\n${' '.repeat(i)}^`;\n        super(text);\n    }\n}\nfunction parseNumberWithDivision(string) {\n    if (string.includes('/')) {\n        let parts = string.split('/');\n        if (parts.length !== 2) {\n            throw new TypeError('Can not parse MF with number like: ', string);\n        }\n        return Number(parts[0]) / Number(parts[1]);\n    }\n    else {\n        return Number(string);\n    }\n}\n/**\n * Remove all the parenthesis and multipliers\n * Merge atoms and groups if present many times\n * We will also sort the atoms and groups\n * @param {*} parsed\n * @returns\n */\nfunction simplify(parsed) {\n    if (!parsed || parsed.length === 0)\n        return [];\n    const multipliers = [];\n    let currentMultiplier = { from: 1, to: 1 };\n    let newParsed = [];\n    for (let i = parsed.length - 1; i >= 0; i--) {\n        const item = parsed[i];\n        switch (item.kind) {\n            case 'atom':\n            case 'isotope': {\n                let realMultiplier = currentMultiplier;\n                for (const multiplier of multipliers) {\n                    realMultiplier = {\n                        from: multiplier.from * realMultiplier.from,\n                        to: multiplier.to * realMultiplier.to,\n                    };\n                }\n                newParsed.push({\n                    kind: item.kind,\n                    value: item.value,\n                }, {\n                    kind: 'multiplierRange',\n                    value: realMultiplier,\n                });\n                currentMultiplier = { from: 1, to: 1 };\n                break;\n            }\n            case 'multiplier':\n                currentMultiplier = { from: item.value, to: item.value };\n                break;\n            case 'multiplierRange':\n                currentMultiplier = item.value;\n                break;\n            case 'openingParenthesis':\n                multipliers.pop();\n                break;\n            case 'closingParenthesis':\n                multipliers.push(currentMultiplier);\n                currentMultiplier = { from: 1, to: 1 };\n                break;\n            case 'text':\n                break;\n            default:\n                throw new Error(`Unexpected kind --${item.kind}-- in removeParenthesis`);\n        }\n    }\n    // if we have many times the same atom / group, we can merge them\n    const distinctParsedObject = {};\n    for (let i = 0; i < newParsed.length; i = i + 2) {\n        const item = newParsed[i];\n        const multiplier = newParsed[i + 1];\n        const key = JSON.stringify(item.value);\n        if (!distinctParsedObject[key]) {\n            distinctParsedObject[key] = {\n                ...item,\n                multiplier: multiplier.value,\n            };\n        }\n        else {\n            distinctParsedObject[key].multiplier.from += multiplier.value.from;\n            distinctParsedObject[key].multiplier.to += multiplier.value.to;\n        }\n    }\n    const sorted = Object.values(distinctParsedObject).toSorted((a, b) => {\n        const atomA = a.kind === 'atom' ? a.value : a.value.atom;\n        const atomB = b.kind === 'atom' ? b.value : b.value.atom;\n        if (atomA === atomB) {\n            if (a.kind === 'isotope' && b.kind === 'isotope') {\n                return a.value.isotope - b.value.isotope;\n            }\n            if (a.kind === 'isotope' && b.kind !== 'isotope') {\n                return -1; // isotope comes before non-isotope\n            }\n            if (a.kind !== 'isotope' && b.kind === 'isotope') {\n                return 1; // non-isotope comes after isotope\n            }\n            return 0;\n        }\n        return (0, atom_sorter_1.atomSorter)(atomA, atomB);\n    });\n    const distinctParsed = [];\n    for (const item of sorted) {\n        if (item.multiplier.from === 0 && item.multiplier.to === 0) {\n            continue;\n        }\n        distinctParsed.push({\n            kind: item.kind,\n            value: item.value,\n        });\n        if (item.multiplier.from === 1 && item.multiplier.to === 1) {\n            continue; // no need to add a multiplier\n        }\n        if (item.multiplier.from === item.multiplier.to) {\n            distinctParsed.push({\n                kind: 'multiplier',\n                value: item.multiplier.from,\n            });\n        }\n        else {\n            distinctParsed.push({\n                kind: 'multiplierRange',\n                value: {\n                    from: item.multiplier.from,\n                    to: item.multiplier.to,\n                },\n            });\n        }\n    }\n    return distinctParsed;\n}\n//# sourceMappingURL=parse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.subscript = exports.superscript = void 0;\nexports.superscript = {\n    0: '⁰',\n    1: '¹',\n    2: '²',\n    3: '³',\n    4: '⁴',\n    5: '⁵',\n    6: '⁶',\n    7: '⁷',\n    8: '⁸',\n    9: '⁹',\n    '+': '⁺',\n    '-': '⁻',\n    '(': '⁽',\n    ')': '⁾',\n    '{': '⁽',\n    '}': '⁾',\n    '.': '˙',\n    ',': '˒',\n};\nexports.subscript = {\n    0: '₀',\n    1: '₁',\n    2: '₂',\n    3: '₃',\n    4: '₄',\n    5: '₅',\n    6: '₆',\n    7: '₇',\n    8: '₈',\n    9: '₉',\n    '(': '₍',\n    ')': '₎',\n    '{': '₍',\n    '}': '₎',\n    '.': ' ',\n    ',': ' ',\n};\n//# sourceMappingURL=subSuperscript.js.map","\"use strict\";\n/**\n * Defines static variables corresponding to the various formatting possibilities\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Format = void 0;\nexports.Format = {\n    SUBSCRIPT: 'subscript',\n    SUPERSCRIPT: 'superscript',\n    SUPERIMPOSE: 'superimpose',\n    TEXT: 'text',\n};\n//# sourceMappingURL=Format.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.formatCharge = formatCharge;\nfunction formatCharge(charge) {\n    if (charge === 1)\n        return '+';\n    if (charge > 1)\n        return `+${charge}`;\n    if (charge < 0)\n        return String(charge);\n    return '';\n}\n//# sourceMappingURL=formatCharge.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.improveLinesForDisplay = improveLinesForDisplay;\nconst Kind_js_1 = require(\"../Kind.js\");\n/**\n * We try to remove useless lines that are not needed for the display and could be confusing\n * for the user\n * @param {object[]} lines\n */\nfunction improveLinesForDisplay(lines) {\n    lines = lines.slice(0);\n    // multipliers by one seems completely useless\n    lines = lines.filter((line) => !(line.kind === Kind_js_1.Kind.MULTIPLIER && line.value === 1));\n    // global surrouding useless parenthesis\n    // (C) -> C, (CH2) -> CH2, ((CH2)) -> CH2, ((CH2)2) -> (CH2)2, (C(CH2)2) -> C(CH2)2\n    // need to count the number of opening parenthesis\n    // and check the minimum number of parenthesis we find\n    let beginCounter = 0;\n    let endCounter = 0;\n    let minCounter = Number.MAX_SAFE_INTEGER;\n    let counter = 0;\n    let begin = true;\n    for (let line of lines) {\n        switch (line.kind) {\n            case Kind_js_1.Kind.OPENING_PARENTHESIS:\n                if (begin) {\n                    beginCounter++;\n                }\n                counter++;\n                break;\n            case Kind_js_1.Kind.CLOSING_PARENTHESIS:\n                endCounter++;\n                counter--;\n                break;\n            case Kind_js_1.Kind.CHARGE: // seems to me we can still remove parenthesis even if we have some charges\n                break;\n            default:\n                if (counter < minCounter)\n                    minCounter = counter;\n                endCounter = 0;\n                begin = false;\n        }\n    }\n    let nbParenthesisToSuppress = Math.min(minCounter, beginCounter, endCounter);\n    if (nbParenthesisToSuppress > 0) {\n        // need to remove from the beginning and from the end the number of parenthesis\n        // knowing some of the lines could be charges\n        let toSuppress = nbParenthesisToSuppress;\n        let i = 0;\n        while (toSuppress > 0) {\n            if (lines[0].kind === Kind_js_1.Kind.OPENING_PARENTHESIS) {\n                lines.splice(i, 1);\n                toSuppress--;\n            }\n            else {\n                i++;\n            }\n        }\n        toSuppress = nbParenthesisToSuppress;\n        i = lines.length - 1;\n        while (toSuppress > 0) {\n            if (lines[i].kind === Kind_js_1.Kind.CLOSING_PARENTHESIS) {\n                toSuppress--;\n                lines.splice(i, 1);\n            }\n            i--;\n        }\n    }\n    return lines;\n}\n//# sourceMappingURL=improveLinesForDisplay.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toDisplay = toDisplay;\nconst Format_1 = require(\"../Format\");\nconst Kind_1 = require(\"../Kind\");\nconst formatCharge_js_1 = require(\"./formatCharge.js\");\nconst improveLinesForDisplay_js_1 = require(\"./improveLinesForDisplay.js\");\n/**\n * Converts an array of mf elements to an array of formatting information\n * @param {object[]} lines of the parse method\n * @returns {{kind: string, value: string}[]}\n */\nfunction toDisplay(lines) {\n    lines = (0, improveLinesForDisplay_js_1.improveLinesForDisplay)(lines);\n    const special = specialCases(lines);\n    if (special)\n        return special;\n    let results = [];\n    let result = {};\n    for (let line of lines) {\n        switch (line.kind) {\n            case Kind_1.Kind.MULTIPLIER:\n                if (line.value !== 1) {\n                    result = {\n                        kind: Format_1.Format.SUBSCRIPT,\n                        value: String(line.value),\n                    };\n                    results.push(result);\n                }\n                break;\n            case Kind_1.Kind.MULTIPLIER_RANGE:\n                result = {\n                    kind: Format_1.Format.SUBSCRIPT,\n                    value: `${String(line.value.from)}-${line.value.to}`,\n                };\n                results.push(result);\n                break;\n            case Kind_1.Kind.CHARGE:\n                if (result.kind === Format_1.Format.SUBSCRIPT) {\n                    result.kind = Format_1.Format.SUPERIMPOSE;\n                    result.over = (0, formatCharge_js_1.formatCharge)(line.value);\n                    result.under = result.value;\n                    result.value = undefined;\n                }\n                else {\n                    result = {\n                        kind: Format_1.Format.SUPERSCRIPT,\n                        value: (0, formatCharge_js_1.formatCharge)(line.value),\n                    };\n                    results.push(result);\n                }\n                break;\n            case Kind_1.Kind.ISOTOPE:\n                result = {\n                    kind: Format_1.Format.SUPERSCRIPT,\n                    value: line.value.isotope,\n                };\n                results.push(result);\n                result = {\n                    kind: Format_1.Format.TEXT,\n                    value: line.value.atom,\n                };\n                results.push(result);\n                break;\n            case Kind_1.Kind.ISOTOPE_RATIO:\n                if (result.kind === Format_1.Format.TEXT) {\n                    result.value += line.value.atom;\n                }\n                else {\n                    result = {\n                        kind: Format_1.Format.TEXT,\n                        value: line.value.atom,\n                    };\n                    results.push(result);\n                }\n                result = {\n                    kind: Format_1.Format.SUPERSCRIPT,\n                    value: `{${line.value.ratio.join(',')}}`,\n                };\n                results.push(result);\n                break;\n            case Kind_1.Kind.SALT:\n                if (result.kind === Format_1.Format.TEXT) {\n                    result.value += ' • ';\n                }\n                else {\n                    result = {\n                        kind: Format_1.Format.TEXT,\n                        value: ' • ',\n                    };\n                    results.push(result);\n                }\n                break;\n            default:\n                if (result.kind === Format_1.Format.TEXT) {\n                    result.value += line.value;\n                }\n                else {\n                    result = {\n                        kind: Format_1.Format.TEXT,\n                        value: line.value,\n                    };\n                    results.push(result);\n                }\n        }\n    }\n    return results;\n}\n/**\n * Some special changes for specific cases\n * @param {} lines\n */\nfunction specialCases(lines) {\n    // (-)\n    if (lines.length === 1 && lines[0].kind === Kind_1.Kind.CHARGE) {\n        const charge = lines[0].value;\n        if (charge === 0)\n            return [];\n        if (charge === 1) {\n            return [\n                { kind: Format_1.Format.TEXT, value: '-e' },\n                { kind: Format_1.Format.SUPERSCRIPT, value: '-' },\n            ];\n        }\n        if (charge === -1) {\n            return [\n                { kind: Format_1.Format.TEXT, value: '+e' },\n                { kind: Format_1.Format.SUPERSCRIPT, value: '-' },\n            ];\n        }\n        if (charge > 1) {\n            return [\n                { kind: Format_1.Format.TEXT, value: `-${charge}e` },\n                { kind: Format_1.Format.SUPERSCRIPT, value: '-' },\n            ];\n        }\n        if (charge < -1) {\n            return [\n                { kind: Format_1.Format.TEXT, value: `+${-charge}e` },\n                { kind: Format_1.Format.SUPERSCRIPT, value: '-' },\n            ];\n        }\n    }\n    // (-)2, (-)-1, (+)2, (+)-1, (2+)2, (2+)-1, (2-)+1, (2-)-1\n    if (lines.length === 2 &&\n        lines[0].kind === Kind_1.Kind.CHARGE &&\n        lines[1].kind === Kind_1.Kind.MULTIPLIER) {\n        const charge = lines[0].value;\n        const nbElectrons = -lines[1].value * charge;\n        const results = [];\n        if (nbElectrons === 0)\n            return [];\n        if (nbElectrons === 1) {\n            results.push({ kind: Format_1.Format.TEXT, value: '+e' });\n        }\n        if (nbElectrons === -1) {\n            results.push({ kind: Format_1.Format.TEXT, value: '-e' });\n        }\n        if (nbElectrons > 1) {\n            results.push({ kind: Format_1.Format.TEXT, value: `+${nbElectrons}e` });\n        }\n        if (nbElectrons < -1) {\n            results.push({ kind: Format_1.Format.TEXT, value: `${nbElectrons}e` });\n        }\n        results.push({ kind: Format_1.Format.SUPERSCRIPT, value: '-' });\n        return results;\n    }\n    return undefined;\n}\n//# sourceMappingURL=toDisplay.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isMF = isMF;\nconst chemical_elements_1 = require(\"chemical-elements\");\nconst chemical_groups_1 = require(\"chemical-groups\");\nfunction isMF(mf) {\n    let tmpMF = mf.replaceAll(/[^A-Za-z]/g, '');\n    let parts = tmpMF.replaceAll(/([A-Za-z])(?=[A-Z])/g, '$1 ').split(' ');\n    for (let i = 0; i < parts.length; i++) {\n        if (!chemical_elements_1.elementsObject[parts[i]] && !chemical_groups_1.groupsObject[parts[i]]) {\n            return false;\n        }\n    }\n    return true;\n}\n//# sourceMappingURL=isMF.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Style = void 0;\nexports.Style = {\n    SUPERIMPOSE: 'flex-direction: column;display: inline-flex;justify-content: center;text-align: left;vertical-align: middle;',\n    SUPERIMPOSE_SUP_SUB: 'line-height: 1; font-size: 70%',\n};\n//# sourceMappingURL=Style.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toHtml = toHtml;\nconst Format_1 = require(\"../Format\");\nconst Style_1 = require(\"../Style\");\nfunction toHtml(lines) {\n    let html = [];\n    for (let line of lines) {\n        switch (line.kind) {\n            case Format_1.Format.SUBSCRIPT:\n                html.push(`<sub>${line.value}</sub>`);\n                break;\n            case Format_1.Format.SUPERSCRIPT:\n                html.push(`<sup>${line.value}</sup>`);\n                break;\n            case Format_1.Format.SUPERIMPOSE:\n                html.push(`<span style=\"${Style_1.Style.SUPERIMPOSE}\">`, `<sup style=\"${Style_1.Style.SUPERIMPOSE_SUP_SUB}\">${line.over}</sup>`, `<sub style=\"${Style_1.Style.SUPERIMPOSE_SUP_SUB}\">${line.under}</sub>`, '</span>');\n                break;\n            default:\n                html.push(line.value);\n        }\n    }\n    return html.join('');\n}\n//# sourceMappingURL=toHtml.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ensureCase = ensureCase;\nconst chemical_elements_1 = require(\"chemical-elements\");\nconst elements = new Set(Object.keys(chemical_elements_1.elementsObject).toSorted((a, b) => b.length - a.length));\n/**\n * Ensure that the mf has been entered with capital letters and not only lowercase\n * If there is only lowercase we try to capitalize the mf\n * @param {string} mf\n */\nfunction ensureCase(mf) {\n    for (let i = 0; i < mf.length; i++) {\n        // eslint-disable-next-line unicorn/prefer-code-point\n        if (mf.charCodeAt(i) > 64 && mf.charCodeAt(i) < 91) {\n            return mf;\n        }\n    }\n    let parts = mf.replaceAll(/([a-z]*)([^a-z]*)/g, '$1 $2 ').split(/ +/);\n    for (let i = 0; i < parts.length; i++) {\n        if (parts[i].match(/^[a-z]$/)) {\n            parts[i] = parts[i].toUpperCase();\n        }\n        else if (parts[i].match(/^[a-z]+$/)) {\n            let newPart = '';\n            for (let j = 0; j < parts[i].length; j++) {\n                let two = parts[i].slice(j, j + 2);\n                let one = parts[i].charAt(j).toUpperCase();\n                if (['c', 'h', 'o', 'n'].includes(two.charAt(0)) &&\n                    ['h', 'o', 'n'].includes(two.charAt(1))) {\n                    newPart += two.toUpperCase();\n                    j++;\n                }\n                else {\n                    two = two.charAt(0).toUpperCase() + two.charAt(1);\n                    if (elements.has(two)) {\n                        newPart += two;\n                        j++;\n                    }\n                    else if (elements.has(one)) {\n                        newPart += one;\n                    }\n                    else {\n                        return mf;\n                    }\n                }\n            }\n            parts[i] = newPart;\n        }\n    }\n    return parts.join('');\n}\n//# sourceMappingURL=ensureCase.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.flatten = flatten;\n/**\n * This method will generate all possible molecular formulas\n * from ranges.\n * It should rather be called expand because it expands all the ranges\n * @param parsed\n * @param options\n * @return {string[]}\n */\nfunction flatten(parsed, options = {}) {\n    const { groupIdentical = false, limit = 100000 } = options;\n    if (parsed.length === 0)\n        return [''];\n    let parts = [];\n    let parenthesisLevel = 0;\n    let currentPart;\n    let comments = [];\n    for (const entry of parsed) {\n        if ((entry.kind === 'atom' ||\n            entry.kind === 'charge' ||\n            entry.kind === 'isotope' ||\n            entry.kind === 'openingParenthesis' ||\n            !currentPart) &&\n            parenthesisLevel === 0) {\n            currentPart = {\n                mf: '',\n                min: 1,\n                max: 1,\n            };\n            parts.push(currentPart);\n        }\n        switch (entry.kind) {\n            case 'atom':\n                currentPart.mf += entry.value;\n                break;\n            case 'isotope':\n                currentPart.mf += `[${entry.value.isotope}${entry.value.atom}]`;\n                break;\n            case 'multiplier':\n                currentPart.mf += entry.value;\n                break;\n            case 'multiplierRange':\n                if (parenthesisLevel !== 0) {\n                    throw new Error('Range definition inside parenthesis is not allowed.');\n                }\n                currentPart.min = entry.value.from;\n                currentPart.max = entry.value.to;\n                break;\n            case 'openingParenthesis':\n                parenthesisLevel++;\n                currentPart.mf += entry.value;\n                break;\n            case 'charge':\n                if (entry.value === 1) {\n                    currentPart.mf += '+';\n                }\n                else if (entry.value > 1) {\n                    currentPart.mf += `(+${entry.value})`;\n                }\n                else if (entry.value < 0) {\n                    currentPart.mf += `(${entry.value})`;\n                }\n                break;\n            case 'closingParenthesis':\n                parenthesisLevel--;\n                currentPart.mf += entry.value;\n                break;\n            case 'comment':\n                comments.push(entry.value);\n                break;\n            case 'text':\n                break;\n            default:\n                throw new Error(`Could not flatten the parsed MF. Unknown kind: ${entry.kind}`);\n        }\n    }\n    if (groupIdentical) {\n        parts = optimizeRanges(parts);\n    }\n    const mfs = createMFs(parts, comments.join(' '), limit);\n    return mfs;\n}\n/**\n * If we have many times the same mf we can combine them\n * This should only be applied if there are acutaly some ranges\n */\nfunction optimizeRanges(parts) {\n    let newParts = [];\n    let mfsObject = {};\n    let hasRange = false;\n    for (const mf of parts) {\n        if (mf.min !== mf.max) {\n            hasRange = true;\n            break;\n        }\n    }\n    if (!hasRange)\n        return parts;\n    for (const mf of parts) {\n        if (!mfsObject[mf.mf]) {\n            mfsObject[mf.mf] = {\n                mf: mf.mf,\n                min: mf.min,\n                max: mf.max,\n            };\n            newParts.push(mfsObject[mf.mf]);\n        }\n        else {\n            mfsObject[mf.mf].min = mfsObject[mf.mf].min + mf.min;\n            mfsObject[mf.mf].max = mfsObject[mf.mf].max + mf.max;\n        }\n    }\n    return newParts;\n}\nfunction createMFs(parts, comment, limit) {\n    const currents = new Array(parts.length);\n    for (let i = 0; i < currents.length; i++) {\n        currents[i] = parts[i].min;\n    }\n    /** @type {string[]} */\n    const mfs = [];\n    let position = 0;\n    while (position < currents.length) {\n        if (currents[position] < parts[position].max) {\n            mfs.push(getMF(parts, currents, comment));\n            currents[position]++;\n            for (let i = 0; i < position; i++) {\n                currents[i] = parts[i].min;\n            }\n            position = 0;\n        }\n        else {\n            position++;\n        }\n        if (mfs.length >= limit) {\n            throw new Error(`MF.flatten generates too many fragments (over ${limit})`);\n        }\n    }\n    mfs.push(getMF(parts, currents, comment));\n    return mfs;\n}\nfunction getMF(parts, currents, comment) {\n    let mf = '';\n    for (let i = 0; i < parts.length; i++) {\n        if (currents[i] === 0) {\n            continue;\n        }\n        mf += parts[i].mf;\n        if (currents[i] !== 1) {\n            mf += currents[i];\n        }\n    }\n    if (comment)\n        mf += `$${comment}`;\n    return mf;\n}\n//# sourceMappingURL=flatten.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getIsotopeRatioInfo = getIsotopeRatioInfo;\nconst chemical_elements_1 = require(\"chemical-elements\");\nfunction getIsotopeRatioInfo(value) {\n    let result = { mass: 0, monoisotopicMass: 0 };\n    let element = chemical_elements_1.elementsAndStableIsotopesObject[value.atom];\n    if (!element)\n        throw new Error(`Element not found: ${value.atom}`);\n    let isotopesArray = element.isotopes;\n    let ratios = normalize(value.ratio);\n    let max = Math.max(...ratios);\n    if (ratios.length > isotopesArray.length) {\n        throw new Error(`the number of specified ratios is bigger that the number of stable isotopes: ${value.atom}`);\n    }\n    for (let i = 0; i < ratios.length; i++) {\n        result.mass += ratios[i] * isotopesArray[i].mass;\n        if (max === ratios[i] && result.monoisotopicMass === 0) {\n            result.monoisotopicMass = isotopesArray[i].mass;\n        }\n    }\n    return result;\n}\nfunction normalize(array) {\n    let sum = array.reduce((prev, current) => prev + current, 0);\n    return array.map((a) => a / sum);\n}\n//# sourceMappingURL=getIsotopeRatioInfo.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getEA = getEA;\nconst chemical_elements_1 = require(\"chemical-elements\");\nconst chemical_groups_1 = require(\"chemical-groups\");\nconst Kind_1 = require(\"../Kind\");\nconst getIsotopeRatioInfo_1 = require(\"./getIsotopeRatioInfo\");\n/**\n * @param {*} parts\n */\nfunction getEA(parts) {\n    let results = {};\n    for (let part of parts) {\n        for (let line of part) {\n            switch (line.kind) {\n                case Kind_1.Kind.ISOTOPE: {\n                    let isotope = chemical_elements_1.isotopesObject[line.value.isotope + line.value.atom];\n                    if (!isotope) {\n                        throw new Error(`Unknown isotope: ${line.value.isotope}${line.value.atom}`);\n                    }\n                    addMass(results, line.value.atom, isotope.mass * line.multiplier);\n                    break;\n                }\n                case Kind_1.Kind.ISOTOPE_RATIO: {\n                    let isotopeRatioInfo = (0, getIsotopeRatioInfo_1.getIsotopeRatioInfo)(line.value);\n                    addMass(results, line.value.atom, isotopeRatioInfo.mass * line.multiplier);\n                    break;\n                }\n                case Kind_1.Kind.ATOM: {\n                    let element = chemical_elements_1.elementsObject[line.value];\n                    if (!element) {\n                        element = chemical_groups_1.groupsObject[line.value];\n                        if (!element)\n                            throw new Error(`Unknown element: ${line.value}`);\n                        // need to explode group ????\n                    }\n                    addMass(results, line.value, element.mass * line.multiplier);\n                    break;\n                }\n                case Kind_1.Kind.CHARGE:\n                    break;\n                default:\n                    throw new Error('partToMF unhandled Kind: ', line.kind);\n            }\n        }\n    }\n    let eas = [];\n    let sum = 0;\n    for (let key in results) {\n        sum += results[key];\n        eas.push({\n            element: key,\n            mass: results[key],\n        });\n    }\n    for (const ea of eas) {\n        ea.ratio = ea.mass / sum;\n    }\n    return eas;\n}\nfunction addMass(results, atom, mass) {\n    if (!results[atom])\n        results[atom] = 0;\n    results[atom] += mass;\n}\n//# sourceMappingURL=getEA.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getElements = getElements;\nconst chemical_elements_1 = require(\"chemical-elements\");\nconst Kind_1 = require(\"../Kind\");\n/**\n * @param {*} parts\n */\nfunction getElements(parts) {\n    const elements = [];\n    for (const part of parts) {\n        for (const line of part) {\n            let number = line.multiplier;\n            switch (line.kind) {\n                case Kind_1.Kind.ATOM: {\n                    let symbol = line.value;\n                    let element = chemical_elements_1.elementsObject[symbol];\n                    if (!element) {\n                        throw new Error(`element unknown: ${symbol} - ${line}`);\n                    }\n                    addElement(elements, { symbol, number });\n                    break;\n                }\n                case Kind_1.Kind.ISOTOPE: {\n                    let element = chemical_elements_1.elementsAndIsotopesObject[line.value.atom];\n                    if (!element) {\n                        throw new Error(`element unknown: ${part.value.atom} - ${line}`);\n                    }\n                    let isotope = element.isotopes.find((a) => a.nominal === line.value.isotope);\n                    if (!isotope) {\n                        throw new Error(`isotope unknown: ${line.value.isotope} - ${line}`);\n                    }\n                    addElement(elements, {\n                        symbol: line.value.atom,\n                        number,\n                        isotope: line.value.isotope,\n                    });\n                    break;\n                }\n                default:\n                    throw new Error(`unknown type: ${line.kind}`);\n            }\n        }\n    }\n    return elements;\n}\nfunction addElement(elements, newElement) {\n    for (let element of elements) {\n        if (element.symbol === newElement.symbol &&\n            element.isotope === newElement.isotope) {\n            element.number += newElement.number;\n            return;\n        }\n    }\n    elements.push(newElement);\n}\n//# sourceMappingURL=getElements.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getNumberOfIsotopologues = getNumberOfIsotopologues;\nconst chemical_elements_1 = require(\"chemical-elements\");\n/**\n * Returns the theoretical number of isotopologues for a given MF based on stable isotopes for each element.\n * This method will not take into account possible non natural isotopic composition (e.g. 13C enrichment)\n * If one element does not have any stable isotope, the result will be 0.\n * @param atoms\n * @returns\n */\nfunction getNumberOfIsotopologues(atoms) {\n    if (Object.keys(atoms).length === 0) {\n        return 0;\n    }\n    let result = 1;\n    for (const atom in atoms) {\n        const nbIsotopes = chemical_elements_1.elementsAndStableIsotopesObject[atom]?.isotopes.length;\n        if (!nbIsotopes) {\n            return 0;\n        }\n        const nbAtoms = atoms[atom];\n        result *= getNbCombinationsPerAtom(nbAtoms, nbIsotopes);\n    }\n    return result;\n}\n/**\n * Returns the number of isotopologues for one specific atom\n *\n * @param nbAtoms\n * @param nbIsotopes\n * @returns\n */\nfunction getNbCombinationsPerAtom(nbAtoms, nbIsotopes) {\n    let result = 1;\n    for (let i = nbAtoms + 1; i < nbAtoms + nbIsotopes; i++) {\n        result *= i;\n    }\n    for (let i = 2; i < nbIsotopes; i++) {\n        result /= i;\n    }\n    return result;\n}\n//# sourceMappingURL=getNumberOfIsotopologues.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.partToAtoms = partToAtoms;\nconst Kind_js_1 = require(\"../Kind.js\");\n/** @typedef {import('./partToAtoms.types').AtomsMap} AtomsMap */\n/**\n * Convert a MF part to a map of atoms\n * This procedure will suppress the isotopes !\n * This is mainly used to make queries\n * @returns {AtomsMap}\n */\nfunction partToAtoms(part) {\n    /** @type {AtomsMap} */\n    const atoms = {};\n    for (let line of part) {\n        switch (line.kind) {\n            case Kind_js_1.Kind.ISOTOPE:\n                if (!atoms[line.value.atom])\n                    atoms[line.value.atom] = 0;\n                atoms[line.value.atom] += line.multiplier;\n                break;\n            case Kind_js_1.Kind.ISOTOPE_RATIO:\n                if (!atoms[line.value.atom])\n                    atoms[line.value.atom] = 0;\n                atoms[line.value.atom] += line.multiplier;\n                break;\n            case Kind_js_1.Kind.ATOM:\n                if (!atoms[line.value])\n                    atoms[line.value] = 0;\n                atoms[line.value] += line.multiplier;\n                break;\n            case Kind_js_1.Kind.CHARGE:\n                break;\n            case Kind_js_1.Kind.ANCHOR:\n                break;\n            default:\n                throw new Error('partToMF unhandled Kind: ', line.kind);\n        }\n    }\n    return atoms;\n}\n//# sourceMappingURL=partToAtoms.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.partToMF = partToMF;\nconst Kind_1 = require(\"../Kind\");\nfunction partToMF(part, options = {}) {\n    let mf = [];\n    for (let line of part) {\n        switch (line.kind) {\n            case Kind_1.Kind.ISOTOPE:\n                if (line.multiplier !== 0) {\n                    mf.push(`[${line.value.isotope}${line.value.atom}]${line.multiplier !== 1 ? line.multiplier : ''}`);\n                }\n                break;\n            case Kind_1.Kind.ISOTOPE_RATIO:\n                if (line.multiplier !== 0) {\n                    mf.push(`${line.value.atom}{${line.value.ratio.join(',')}}${line.multiplier !== 1 ? line.multiplier : ''}`);\n                }\n                break;\n            case Kind_1.Kind.ATOM:\n                if (line.multiplier !== 0) {\n                    mf.push(line.value + (line.multiplier !== 1 ? line.multiplier : ''));\n                }\n                break;\n            case Kind_1.Kind.CHARGE:\n                if (line.value === 0 || options.neutral)\n                    break;\n                mf.push(`(${line.value > 0 ? `+${line.value}` : line.value})`);\n                break;\n            default:\n        }\n    }\n    return mf.join('');\n}\n//# sourceMappingURL=partToMF.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getInfoInternal = getInfoInternal;\nconst chemical_elements_1 = require(\"chemical-elements\");\nconst chemical_groups_1 = require(\"chemical-groups\");\nconst Kind_1 = require(\"../Kind\");\nconst getIsotopeRatioInfo_1 = require(\"./getIsotopeRatioInfo\");\nconst getNumberOfIsotopologues_1 = require(\"./getNumberOfIsotopologues\");\nconst partToAtoms_1 = require(\"./partToAtoms\");\nconst partToMF_1 = require(\"./partToMF\");\n/** @typedef {import('./getInfo.types').MFInfo} MFInfo */\n/** @typedef {import('./getInfo.types').MFInfoWithParts} MFInfoWithParts */\n/**\n *\n * @param {*} parts\n * @param {*} [options={}]\n * @returns {object|MFInfo|MFInfoWithParts}\n */\nfunction getInfoInternal(parts, options = {}) {\n    let { customUnsaturations = {}, emFieldName = 'monoisotopicMass', msemFieldName = 'observedMonoisotopicMass', } = options;\n    if (parts.length === 0)\n        return {};\n    if (parts.length === 1) {\n        let oneResult = getProcessedPart(parts[0], {\n            customUnsaturations,\n            emFieldName,\n            msemFieldName,\n        });\n        oneResult.nbIsotopologues = (0, getNumberOfIsotopologues_1.getNumberOfIsotopologues)(oneResult.atoms);\n        return oneResult;\n    }\n    let result = { parts: [] };\n    for (let part of parts) {\n        result.parts.push(getProcessedPart(part, {\n            customUnsaturations,\n            emFieldName,\n            msemFieldName,\n        }));\n    }\n    result[emFieldName] = 0;\n    result.mass = 0;\n    result.charge = 0;\n    result.unsaturation = 0;\n    result.atoms = {};\n    result.mf = result.parts.map((a) => a.mf).join('.');\n    for (const part of result.parts) {\n        result.mass += part.mass;\n        result[emFieldName] += part[emFieldName];\n        result.charge += part.charge;\n        result.unsaturation += part.unsaturation;\n        for (const atom in part.atoms) {\n            if (!result.atoms[atom]) {\n                result.atoms[atom] = 0;\n            }\n            result.atoms[atom] += part.atoms[atom];\n        }\n    }\n    result.nbIsotopologues = (0, getNumberOfIsotopologues_1.getNumberOfIsotopologues)(result.atoms);\n    return result;\n}\nfunction getProcessedPart(part, options) {\n    let { customUnsaturations, emFieldName, msemFieldName } = options;\n    /** @type {MFInfo} */\n    let currentPart = {\n        mass: 0,\n        charge: 0,\n        mf: '',\n        atoms: (0, partToAtoms_1.partToAtoms)(part),\n        [emFieldName]: 0,\n    };\n    let unsaturation = 0;\n    let validUnsaturation = true;\n    currentPart.mf = (0, partToMF_1.partToMF)(part);\n    for (let line of part) {\n        let currentElement = '';\n        switch (line.kind) {\n            case Kind_1.Kind.ATOM: {\n                currentElement = line.value;\n                let element = chemical_elements_1.elementsAndIsotopesObject[line.value];\n                // todo should we have a kind GROUP ?\n                if (!element) {\n                    element = chemical_groups_1.groupsObject[line.value];\n                    if (!element)\n                        throw new Error(`Unknown element: ${line.value}`);\n                    if (!customUnsaturations[line.value]) {\n                        customUnsaturations[line.value] = element.unsaturation;\n                    }\n                }\n                if (!element)\n                    throw new Error(`Unknown element: ${line.value}`);\n                currentPart[emFieldName] += element.monoisotopicMass * line.multiplier;\n                currentPart.mass += element.mass * line.multiplier;\n                break;\n            }\n            case Kind_1.Kind.ISOTOPE: {\n                currentElement = line.value.atom;\n                let isotope = chemical_elements_1.isotopesObject[line.value.isotope + line.value.atom];\n                if (!isotope) {\n                    throw new Error(`Unknown isotope: ${line.value.isotope}${line.value.atom}`);\n                }\n                currentPart[emFieldName] += isotope.mass * line.multiplier;\n                currentPart.mass += isotope.mass * line.multiplier;\n                break;\n            }\n            case Kind_1.Kind.ISOTOPE_RATIO: {\n                currentElement = line.value.atom;\n                let isotopeRatioInfo = (0, getIsotopeRatioInfo_1.getIsotopeRatioInfo)(line.value);\n                currentPart[emFieldName] +=\n                    isotopeRatioInfo[emFieldName] * line.multiplier;\n                currentPart.mass += isotopeRatioInfo.mass * line.multiplier;\n                break;\n            }\n            case Kind_1.Kind.CHARGE:\n                currentPart.charge = line.value;\n                if (validUnsaturation) {\n                    unsaturation -= line.value;\n                }\n                break;\n            default:\n                throw new Error('Unimplemented Kind in getInfo', line.kind);\n        }\n        if (currentElement) {\n            if (customUnsaturations[currentElement] !== undefined) {\n                unsaturation += customUnsaturations[currentElement] * line.multiplier;\n            }\n            else if (chemical_elements_1.unsaturationsObject[currentElement] !== undefined) {\n                unsaturation += chemical_elements_1.unsaturationsObject[currentElement] * line.multiplier;\n            }\n            else {\n                validUnsaturation = false;\n            }\n        }\n    }\n    // need to calculate the observedMonoisotopicMass\n    if (currentPart.charge) {\n        currentPart[msemFieldName] =\n            (currentPart[emFieldName] - currentPart.charge * chemical_elements_1.ELECTRON_MASS) /\n                Math.abs(currentPart.charge);\n    }\n    if (validUnsaturation) {\n        currentPart.unsaturation = unsaturation / 2 + 1;\n    }\n    return currentPart;\n}\n//# sourceMappingURL=getInfoInternal.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getIsotopesInfo = getIsotopesInfo;\nconst chemical_elements_1 = require(\"chemical-elements\");\nconst Kind_1 = require(\"../Kind\");\n/** @typedef {import('./getIsotopesInfo.types').IsotopesInfo} IsotopesInfo\n\n/**\n *\n * @param {*} parts\n * @returns {[]|IsotopesInfo}\n */\nfunction getIsotopesInfo(parts) {\n    if (parts.length === 0)\n        return [];\n    if (parts.length > 1) {\n        throw new Error('getIsotopesInfo can not be applied on multipart MF');\n    }\n    return getProcessedPart(parts[0]);\n}\n/**\n * @returns {IsotopesInfo}\n */\nfunction getProcessedPart(part) {\n    /** @type {IsotopesInfo} */\n    let result = {\n        charge: 0,\n        isotopes: [],\n    };\n    for (let line of part) {\n        switch (line.kind) {\n            case Kind_1.Kind.ISOTOPE: {\n                let isotopeKey = line.value.isotope + line.value.atom;\n                let isotope = chemical_elements_1.isotopesObject[isotopeKey];\n                if (!isotope) {\n                    throw new Error('unknown isotope:', line.value.atom, line.value.isotope);\n                }\n                result.isotopes.push({\n                    atom: line.value.atom,\n                    number: line.multiplier,\n                    distribution: [{ x: isotope.mass, y: 1 }],\n                    naturalDeltaNeutrons: chemical_elements_1.stableIsotopesObject[isotopeKey]?.deltaNeutrons ?? 0,\n                });\n                break;\n            }\n            case Kind_1.Kind.ISOTOPE_RATIO: {\n                let element = chemical_elements_1.elementsAndStableIsotopesObject[line.value.atom];\n                if (!element)\n                    throw new Error('unknown element:', line.value);\n                let distribution = getDistribution(element.isotopes, line.value.ratio);\n                let maxIndex = 0;\n                for (let i = 1; i < distribution.length; i++) {\n                    if (distribution[i].y > distribution[maxIndex].y) {\n                        maxIndex = i;\n                    }\n                }\n                let mostAbundantKey = Math.round(distribution[maxIndex].x) + line.value.atom;\n                result.isotopes.push({\n                    atom: line.value.atom,\n                    number: line.multiplier,\n                    distribution,\n                    naturalDeltaNeutrons: chemical_elements_1.stableIsotopesObject[mostAbundantKey]?.deltaNeutrons ?? 0,\n                });\n                break;\n            }\n            case Kind_1.Kind.ATOM: {\n                let element = chemical_elements_1.elementsAndStableIsotopesObject[line.value];\n                if (!element)\n                    throw new Error('unknown element:', line.value);\n                result.isotopes.push({\n                    atom: line.value,\n                    number: line.multiplier,\n                    distribution: element.isotopes.map((e) => ({\n                        x: e.mass,\n                        y: e.abundance,\n                    })),\n                    naturalDeltaNeutrons: 0,\n                });\n                break;\n            }\n            case Kind_1.Kind.CHARGE:\n                result.charge += line.value;\n                break;\n            default:\n                throw new Error('partToMF unhandled Kind: ', line.kind);\n        }\n    }\n    return result;\n}\nfunction getDistribution(isotopesArray, ratio) {\n    let ratios = normalize(ratio);\n    let result = [];\n    if (ratios.length > isotopesArray.length) {\n        throw new Error(`the number of specified ratios is bigger that the number of stable isotopes: ${chemical_elements_1.isotopesObject}`);\n    }\n    for (let i = 0; i < ratios.length; i++) {\n        result.push({\n            x: isotopesArray[i].mass,\n            y: ratios[i],\n        });\n    }\n    return result;\n}\nfunction normalize(array) {\n    let sum = array.reduce((prev, current) => prev + current, 0);\n    return array.map((a) => a / sum);\n}\n//# sourceMappingURL=getIsotopesInfo.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.partsToDisplay = partsToDisplay;\nconst Kind_1 = require(\"../Kind\");\nconst toDisplay_js_1 = require(\"./toDisplay.js\");\n/**\n * Converts an array of mf elements to an array of formatting information\n * @param {Array<Object>} result of the parse method\n */\nfunction partsToDisplay(parts) {\n    let lines = [];\n    for (let part of parts) {\n        if (lines.length > 0)\n            lines.push({ kind: Kind_1.Kind.SALT, value: '•' });\n        for (let partLine of part) {\n            lines.push(partLine);\n            if (partLine.multiplier) {\n                lines.push({\n                    kind: Kind_1.Kind.MULTIPLIER,\n                    value: partLine.multiplier,\n                });\n            }\n        }\n    }\n    return (0, toDisplay_js_1.toDisplay)(lines);\n}\n//# sourceMappingURL=partsToDisplay.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.partsToMF = partsToMF;\nconst partToMF_1 = require(\"./partToMF\");\nfunction partsToMF(parts, options) {\n    let mf = [];\n    for (let part of parts) {\n        mf.push((0, partToMF_1.partToMF)(part, options));\n    }\n    return mf.join(' . ');\n}\n//# sourceMappingURL=partsToMF.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toParts = toParts;\nconst atom_sorter_1 = require(\"atom-sorter\");\nconst chemical_groups_1 = require(\"chemical-groups\");\nconst Kind_1 = require(\"../Kind\");\n/**\n *\n * @param {*} lines\n * @param {object} [options={}]\n * @param {boolean} [options.expand=true] - Should we expand the groupsObject\n */\nfunction toParts(lines, options = {}) {\n    const { expand: shouldExpandGroupsObject = true } = options;\n    let parts = [];\n    let currentPart = createNewPart();\n    let previousKind = Kind_1.Kind.BEGIN;\n    parts.push(currentPart);\n    for (let line of lines) {\n        switch (line.kind) {\n            case Kind_1.Kind.ATOM:\n            case Kind_1.Kind.ISOTOPE_RATIO:\n            case Kind_1.Kind.ISOTOPE:\n            case Kind_1.Kind.CHARGE:\n                currentPart.lines.push({ ...line, multiplier: 1 });\n                break;\n            case Kind_1.Kind.OPENING_PARENTHESIS:\n                openingParenthesis(currentPart);\n                break;\n            case Kind_1.Kind.CLOSING_PARENTHESIS:\n                closingParenthesis(currentPart);\n                break;\n            case Kind_1.Kind.PRE_MULTIPLIER:\n                preMultiplier(currentPart, line);\n                break;\n            case Kind_1.Kind.MULTIPLIER:\n                postMultiplier(currentPart, line.value, previousKind);\n                break;\n            case Kind_1.Kind.SALT:\n                globalPartMultiplier(currentPart);\n                currentPart = createNewPart();\n                parts.push(currentPart);\n                break;\n            case Kind_1.Kind.ANCHOR: // we ignore anchors to create the parts and canonized MF\n                break;\n            case Kind_1.Kind.COMMENT: // we ignore comments to create the parts and canonized MF\n                break;\n            case Kind_1.Kind.TEXT:\n                break;\n            default:\n                throw new Error(`Can not process mf having: ${line.kind}`);\n        }\n        previousKind = line.kind;\n    }\n    globalPartMultiplier(currentPart);\n    if (shouldExpandGroupsObject)\n        expandGroupsObject(parts);\n    return combineAtomsIsotopesCharges(parts);\n}\nfunction createNewPart() {\n    let currentMultiplier = { value: 1, fromIndex: 0 };\n    return { lines: [], multipliers: [currentMultiplier], currentMultiplier };\n}\nfunction openingParenthesis(currentPart) {\n    currentPart.currentMultiplier = {\n        value: 1,\n        fromIndex: currentPart.lines.length,\n    };\n    currentPart.multipliers.push(currentPart.currentMultiplier);\n}\nfunction closingParenthesis(currentPart) {\n    currentPart.currentMultiplier = currentPart.multipliers.pop();\n    if (currentPart.currentMultiplier !== 1) {\n        for (let i = currentPart.currentMultiplier.fromIndex; i < currentPart.lines.length; i++) {\n            currentPart.lines[i].multiplier *= currentPart.currentMultiplier.value;\n        }\n    }\n}\nfunction preMultiplier(currentPart, line) {\n    currentPart.currentMultiplier.value *= line.value;\n}\nfunction globalPartMultiplier(currentPart) {\n    for (let i = currentPart.multipliers[0].fromIndex; i < currentPart.lines.length; i++) {\n        currentPart.lines[i].multiplier *= currentPart.multipliers[0].value;\n    }\n}\nfunction postMultiplier(currentPart, value, previousKind) {\n    if (previousKind === Kind_1.Kind.CLOSING_PARENTHESIS) {\n        // need to apply to everything till the previous parenthesis\n        for (let i = currentPart.currentMultiplier.fromIndex; i < currentPart.lines.length; i++) {\n            currentPart.lines[i].multiplier *= value;\n        }\n    }\n    else {\n        // just applies to the previous element\n        currentPart.lines.at(-1).multiplier *= value;\n    }\n}\nfunction expandGroupsObject(parts) {\n    for (let part of parts) {\n        let expanded = false;\n        for (let i = 0; i < part.lines.length; i++) {\n            let line = part.lines[i];\n            if (line.kind === Kind_1.Kind.ATOM) {\n                let group = chemical_groups_1.groupsObject[line.value];\n                if (group) {\n                    expanded = true;\n                    for (let element of group.elements) {\n                        if (element.isotope) {\n                            part.lines.push({\n                                kind: 'isotope',\n                                value: { atom: element.symbol, isotope: element.isotope },\n                                multiplier: line.multiplier * element.number,\n                            });\n                        }\n                        else {\n                            part.lines.push({\n                                kind: 'atom',\n                                value: element.symbol,\n                                multiplier: line.multiplier * element.number,\n                            });\n                        }\n                    }\n                    part.lines[i] = undefined;\n                }\n            }\n        }\n        if (expanded)\n            part.lines = part.lines.filter(Boolean);\n    }\n}\nfunction combineAtomsIsotopesCharges(parts) {\n    let results = [];\n    for (let part of parts) {\n        let result = [];\n        results.push(result);\n        calculateAndSortKeys(part);\n        let currentKey = '';\n        for (let key of part.keys) {\n            if (key.key === Kind_1.Kind.CHARGE) {\n                if (currentKey !== key.key) {\n                    result.push({\n                        kind: Kind_1.Kind.CHARGE,\n                        value: key.value.value * key.value.multiplier,\n                    });\n                }\n                else {\n                    result.at(-1).value += key.value.value * key.value.multiplier;\n                }\n            }\n            else if (currentKey !== key.key) {\n                result.push(key.value);\n            }\n            else {\n                result.at(-1).multiplier += key.value.multiplier;\n            }\n            currentKey = key.key;\n        }\n        result.sort((a, b) => {\n            if (a.kind === Kind_1.Kind.CHARGE)\n                return 1;\n            if (b.kind === Kind_1.Kind.CHARGE)\n                return -1;\n            let atomA = a.kind === Kind_1.Kind.ATOM ? a.value : a.value.atom;\n            let atomB = b.kind === Kind_1.Kind.ATOM ? b.value : b.value.atom;\n            if (atomA !== atomB)\n                return (0, atom_sorter_1.atomSorter)(atomA, atomB);\n            // same atome but some isotopes ...\n            if (a.kind === Kind_1.Kind.ATOM)\n                return -1;\n            if (b.kind === Kind_1.Kind.ATOM)\n                return 1;\n            if (a.kind === Kind_1.Kind.ISOTOPE)\n                return -1;\n            if (b.kind === Kind_1.Kind.ISOTOPE)\n                return 1;\n            if (a.kind === Kind_1.Kind.ISOTOPE_RATIO)\n                return -1;\n            if (b.kind === Kind_1.Kind.ISOTOPE_RATIO)\n                return 1;\n            return 0;\n        });\n    }\n    return results;\n}\nfunction calculateAndSortKeys(part) {\n    part.keys = [];\n    for (let line of part.lines) {\n        part.keys.push({ key: getKey(line), value: line });\n    }\n    part.keys.sort((a, b) => stringComparator(a.key, b.key));\n}\nfunction getKey(line) {\n    let key = [line.kind];\n    switch (line.kind) {\n        case Kind_1.Kind.CHARGE:\n            break;\n        default:\n            if (typeof line.value === 'string') {\n                key.push(line.value);\n            }\n            else {\n                for (let prop of Object.keys(line.value).toSorted()) {\n                    key.push(line.value[prop]);\n                }\n            }\n    }\n    return key.join('-');\n}\nfunction stringComparator(a, b) {\n    if (a < b)\n        return -1;\n    if (a > b)\n        return 1;\n    return 0;\n}\n//# sourceMappingURL=toParts.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toText = toText;\nconst Format_1 = require(\"../Format\");\nconst subSuperscript_1 = require(\"./subSuperscript\");\nfunction toText(lines) {\n    let text = [];\n    for (let line of lines) {\n        switch (line.kind) {\n            case Format_1.Format.SUBSCRIPT: {\n                const value = String(line.value);\n                for (let i = 0; i < value.length; i++) {\n                    const char = value[i];\n                    if (subSuperscript_1.subscript[char]) {\n                        text.push(subSuperscript_1.subscript[char]);\n                    }\n                    else {\n                        throw new Error(`Subscript problem with: ${char}`);\n                    }\n                }\n                break;\n            }\n            case Format_1.Format.SUPERSCRIPT: {\n                const value = String(line.value);\n                for (let i = 0; i < value.length; i++) {\n                    const char = value[i];\n                    if (subSuperscript_1.superscript[char]) {\n                        text.push(subSuperscript_1.superscript[char]);\n                    }\n                    else {\n                        throw new Error(`Superscript problem with: ${char}`);\n                    }\n                }\n                break;\n            }\n            case Format_1.Format.SUPERIMPOSE: {\n                const under = String(line.under);\n                for (let i = 0; i < under.length; i++) {\n                    const char = under[i];\n                    if (subSuperscript_1.subscript[char]) {\n                        text.push(subSuperscript_1.subscript[char]);\n                    }\n                    else {\n                        throw new Error(`Subscript problem with: ${char}`);\n                    }\n                }\n                const over = String(line.over);\n                for (let i = 0; i < over.length; i++) {\n                    const char = over[i];\n                    if (subSuperscript_1.superscript[char]) {\n                        text.push(subSuperscript_1.superscript[char]);\n                    }\n                    else {\n                        throw new Error(`Superscript problem with: ${char}`);\n                    }\n                }\n                break;\n            }\n            default:\n                text.push(line.value);\n        }\n    }\n    return text.join('');\n}\n//# sourceMappingURL=toText.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MFInternal = void 0;\nconst Kind_1 = require(\"./Kind\");\nconst ensureCase_1 = require(\"./ensureCase\");\nconst parse_1 = require(\"./parse\");\nconst flatten_1 = require(\"./util/flatten\");\nconst getEA_1 = require(\"./util/getEA\");\nconst getElements_1 = require(\"./util/getElements\");\nconst getInfo_1 = require(\"./util/getInfo\");\nconst getIsotopesInfo_1 = require(\"./util/getIsotopesInfo\");\nconst partsToDisplay_1 = require(\"./util/partsToDisplay\");\nconst partsToMF_1 = require(\"./util/partsToMF\");\nconst toDisplay_1 = require(\"./util/toDisplay\");\nconst toHtml_1 = require(\"./util/toHtml\");\nconst toParts_1 = require(\"./util/toParts\");\nconst toText_1 = require(\"./util/toText\");\n/** @typedef {import('./util/getIsotopesInfo.types').IsotopesInfo} IsotopesInfo */\n/** @typedef {import('./util/getInfo.types').MFInfo} MFInfo */\n/** @typedef {import('./util/getInfo.types').MFInfoWithParts} MFInfoWithParts */\n/**\n * Class allowing to deal with molecular formula and derived information\n */\nclass MFInternal {\n    constructor(mf, options = {}) {\n        const { flattenLimit = 0 } = options;\n        if (options.ensureCase) {\n            mf = (0, ensureCase_1.ensureCase)(mf);\n        }\n        this.parsed = (0, parse_1.parse)(mf);\n        // This is definitely not the fastest way to do it but it allows to flatten the formula if needed and then parse it again to have a clean structure without multiplier ranges. We can consider doing it in one pass in the future if performance is an issue.\n        if (flattenLimit > 0 &&\n            this.parsed.some((entry) => entry.kind === Kind_1.Kind.MULTIPLIER_RANGE)) {\n            try {\n                const flattened = (0, flatten_1.flatten)(this.parsed, { limit: flattenLimit });\n                this.parsed = (0, parse_1.parse)(flattened.join('.'));\n            }\n            catch (error) {\n                // eslint-disable-next-line no-console\n                console.error(error.toString());\n            }\n        }\n        this.cache = {};\n    }\n    /**\n     * Returns an array of objects with kind and value that can be used to easily\n     * display the molecular formula.\n     * @returns {{kind: string, value: string}[]}\n     */\n    toDisplay() {\n        if (!this.cache.displayed)\n            this.cache.displayed = (0, toDisplay_1.toDisplay)(this.parsed);\n        return this.cache.displayed;\n    }\n    /**\n     * Returns a string that represents the molecular formula adding subscript and superscript in HTML.\n     * @returns {string}\n     */\n    toHtml() {\n        if (!this.cache.html) {\n            this.toDisplay();\n            this.cache.html = (0, toHtml_1.toHtml)(this.cache.displayed);\n        }\n        return this.cache.html;\n    }\n    /**\n     * Returns a string that represents the molecular formula adding subscript and superscript\n     * using Unicode characters. This can not be parsed anymore so kind of dead end ...\n     * @returns {string}\n     */\n    toText() {\n        if (!this.cache.text) {\n            this.toDisplay();\n            this.cache.text = (0, toText_1.toText)(this.cache.displayed);\n        }\n        return this.cache.text;\n    }\n    /**\n     * Similar to toText but returns a canonic string in which the atoms are sorted using the Hill system\n     * @returns {string}\n     */\n    toCanonicText() {\n        if (!this.cache.canonicText) {\n            this.cache.canonicText = new MFInternal(this.toMF()).toText();\n        }\n        return this.cache.canonicText;\n    }\n    toParts(options) {\n        if (options) {\n            return (0, toParts_1.toParts)(this.parsed, options);\n        }\n        // we don't want to cache the parts if we are using options\n        if (!this.cache.parts) {\n            this.cache.parts = (0, toParts_1.toParts)(this.parsed, options);\n        }\n        return this.cache.parts;\n    }\n    /**\n     * Returns an object with the global MF, global charge, monoisotopic mass and mass\n     * as well as the same information for all the parts\n     * @param {object} [options={}] options\n     * @param {object} [options.customUnsaturations={}] custom unsaturations\n     * @param {string} [options.emFieldName='monoisotopicMass'] name of the monoisotopic mass field\n     * @param {string} [options.msemFieldName='observedMonoisotopicMass'] name of the observed monoisotopic mass field\n     * @returns {MFInfo|MFInfoWithParts}\n     */\n    getInfo(options = {}) {\n        if (!this.cache.info) {\n            this.toParts();\n            this.cache.info = (0, getInfo_1.getInfo)(this.cache.parts, options);\n        }\n        return this.cache.info;\n    }\n    /**\n     * Returns an object with the elemental analysis\n     * @returns {*[]}\n     */\n    getEA() {\n        if (!this.cache.ea) {\n            this.toParts();\n            this.cache.ea = (0, getEA_1.getEA)(this.cache.parts);\n        }\n        return this.cache.ea;\n    }\n    /**\n     * Get the different elements for each part\n     * @returns {*[]}\n     */\n    getElements() {\n        if (!this.cache.elements) {\n            this.toParts();\n            this.cache.elements = (0, getElements_1.getElements)(this.cache.parts);\n        }\n        return this.cache.elements;\n    }\n    /**\n     * Returns an array with each atom and isotopic composition\n     * @returns {IsotopesInfo}\n     */\n    getIsotopesInfo(options = {}) {\n        if (!this.cache.isotopesInfo) {\n            this.toParts();\n            this.cache.isotopesInfo = (0, getIsotopesInfo_1.getIsotopesInfo)(this.cache.parts, options);\n        }\n        return this.cache.isotopesInfo;\n    }\n    /**\n     * Get a canonized MF\n     * @returns {string}\n     */\n    toMF() {\n        if (!this.cache.mf) {\n            this.toParts();\n            this.cache.mf = (0, partsToMF_1.partsToMF)(this.cache.parts);\n        }\n        return this.cache.mf;\n    }\n    /**\n     * Get a canonized MF\n     * @returns {string}\n     */\n    toNeutralMF() {\n        if (!this.cache.neutralMF) {\n            this.toParts();\n            this.cache.neutralMF = (0, partsToMF_1.partsToMF)(this.cache.parts, { neutral: true });\n        }\n        return this.cache.neutralMF;\n    }\n    canonize() {\n        this.toParts();\n        this.cache.displayed = (0, partsToDisplay_1.partsToDisplay)(this.cache.parts);\n        this.cache.html = undefined;\n    }\n    flatten(options) {\n        return (0, flatten_1.flatten)(this.parsed, options);\n    }\n}\nexports.MFInternal = MFInternal;\n//# sourceMappingURL=MFInternal.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MF = void 0;\nconst MFInternal_1 = require(\"./MFInternal\");\nclass MF {\n    internal;\n    constructor(mf, options = {}) {\n        this.internal = new MFInternal_1.MFInternal(mf, options);\n    }\n    /**\n     * Returns an array of objects with kind and value that can be used to easily\n     * display the molecular formula.\n     */\n    toDisplay() {\n        return this.internal.toDisplay();\n    }\n    /**\n     * Returns a string that represents the molecular formula adding subscript and superscript in HTML.\n     */\n    toHtml() {\n        return this.internal.toHtml();\n    }\n    /**\n     * Returns a string that represents the molecular formula adding subscript and superscript\n     * using Unicode characters. This can not be parsed anymore so kind of dead end ...\n     */\n    toText() {\n        return this.internal.toText();\n    }\n    /**\n     * Similar to toText but returns a canonic string in which the atoms are sorted using the Hill system\n     */\n    toCanonicText() {\n        return this.internal.toCanonicText();\n    }\n    toParts(options) {\n        return this.internal.toParts(options);\n    }\n    /**\n     * Returns an object with the global MF, global charge, monoisotopic mass and mass\n     * as well as the same information for all the parts\n     */\n    getInfo(options) {\n        return this.internal.getInfo(options);\n    }\n    /**\n     * Returns an object with the elemental analysis\n     */\n    getEA() {\n        return this.internal.getEA();\n    }\n    /**\n     * Get the different elements for each part\n     */\n    getElements() {\n        return this.internal.getElements();\n    }\n    /**\n     * Returns an array with each atom and isotopic composition\n     */\n    getIsotopesInfo(options = {}) {\n        return this.internal.getIsotopesInfo(options);\n    }\n    /**\n     * Get a canonized parsable Molecule Formula\n     */\n    toMF() {\n        return this.internal.toMF();\n    }\n    /**\n     * Get a canonized MF\n     */\n    toNeutralMF() {\n        return this.internal.toNeutralMF();\n    }\n    canonize() {\n        return this.internal.canonize();\n    }\n    flatten(options) {\n        return this.internal.flatten(options);\n    }\n}\nexports.MF = MF;\n//# sourceMappingURL=MF.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseToHtml = parseToHtml;\nconst parse_js_1 = require(\"./parse.js\");\nconst toDisplay_js_1 = require(\"./util/toDisplay.js\");\nconst toHtml_js_1 = require(\"./util/toHtml.js\");\n/**\n * Parse a molecular formula and converts it to an HTML code\n * @param {String} mf String containing the molecular formula\n */\nfunction parseToHtml(mf) {\n    let parsed = (0, parse_js_1.parse)(mf);\n    let display = (0, toDisplay_js_1.toDisplay)(parsed);\n    return (0, toHtml_js_1.toHtml)(display);\n}\n//# sourceMappingURL=parseToHtml.js.map","import { parse } from 'mf-parser';\nimport { hasSideChainSite, isFragment } from \"./getFragment.js\";\n/**\n * Split a `chemical-groups` notation such as `HAlaGlyOH` or `HODampDcmpH` into\n * the groups it is made of, expanding parentheses and multipliers.\n * @param ocl - openchemlib.\n * @param notation - the group notation.\n * @returns one token per group, in order.\n */\nexport function parseGroupNotation(ocl, notation) {\n    const trimmed = notation.trim();\n    if (trimmed === '')\n        return [];\n    return expandNotation(ocl, parse(trimmed)).map(({ symbol, sideChain }) => {\n        if (!isFragment(ocl, symbol)) {\n            throw new Error(`unknown group in sequence: ${symbol}`);\n        }\n        if (sideChain === undefined)\n            return { symbol };\n        if (!isFragment(ocl, sideChain)) {\n            throw new Error(`unknown group in sequence: ${sideChain}`);\n        }\n        return { symbol, sideChain };\n    });\n}\n/**\n * Repeat the block a multiplier applies to, so `H(Ala)3OH` becomes three `Ala`,\n * and hand a parenthesis that carries no multiplier to the group it follows, so\n * the `Ph` of `Cysp(Ph)` becomes that residue's side chain.\n * @param ocl - openchemlib.\n * @param tokens - the tokens `mf-parser` produced.\n * @returns the groups of the notation, in order.\n */\nfunction expandNotation(ocl, tokens) {\n    const stack = [{ symbols: [], last: [] }];\n    for (const [index, token] of tokens.entries()) {\n        const frame = stack.at(-1);\n        if (frame === undefined)\n            throw new Error('unbalanced parenthesis');\n        switch (token.kind) {\n            case 'atom': {\n                const group = { symbol: String(token.value) };\n                frame.last = [group];\n                frame.symbols.push(group);\n                break;\n            }\n            case 'openingParenthesis':\n                stack.push({ symbols: [], last: [] });\n                break;\n            case 'closingParenthesis': {\n                const closed = stack.pop();\n                const parent = stack.at(-1);\n                if (closed === undefined || parent === undefined) {\n                    throw new Error('unbalanced parenthesis');\n                }\n                closeParenthesis(ocl, closed.symbols, parent, tokens[index + 1]);\n                break;\n            }\n            case 'multiplier': {\n                const count = Number(token.value);\n                for (let repeat = 1; repeat < count; repeat++) {\n                    // Cloned, so a side chain written after the repeat lands on the last\n                    // copy alone.\n                    frame.symbols.push(...frame.last.map((group) => ({ ...group })));\n                }\n                break;\n            }\n            default:\n                break;\n        }\n    }\n    if (stack.length !== 1)\n        throw new Error('unbalanced parenthesis');\n    const root = stack[0];\n    if (root === undefined)\n        throw new Error('unbalanced parenthesis');\n    return root.symbols;\n}\n/**\n * Fold a parenthesis that just closed into the frame around it.\n *\n * A parenthesis a multiplier follows is a block to repeat, and so is one that\n * follows a symbol with no side chain site — `H(Ala)3OH` and `H(Ala)OH` both\n * write the chain itself. One that follows a triradical residue instead names\n * what hangs off it.\n * @param ocl - openchemlib.\n * @param closed - the groups the parenthesis collected.\n * @param parent - the frame the parenthesis sits in, updated in place.\n * @param parent.symbols - everything that frame holds.\n * @param parent.last - the block a multiplier there would repeat.\n * @param next - the token after the parenthesis, `undefined` at the end.\n */\nfunction closeParenthesis(ocl, closed, parent, next) {\n    const host = parent.symbols.at(-1);\n    if (next?.kind === 'multiplier' ||\n        host === undefined ||\n        !hasSideChainSite(ocl, host.symbol)) {\n        parent.last = closed;\n        parent.symbols.push(...closed);\n        return;\n    }\n    const side = closed[0];\n    if (closed.length !== 1 || side === undefined) {\n        const written = closed.map((group) => group.symbol).join('');\n        throw new Error(`the side chain (${written}) is not a single group`);\n    }\n    host.sideChain = side.symbol;\n    parent.last = [host];\n}\n//# sourceMappingURL=parseGroupNotation.js.map","import { buildStrand } from \"./utils/buildStrand.js\";\nimport { parseGroupNotation } from \"./utils/parseGroupNotation.js\";\n/**\n * Build a molecule from a `chemical-groups` abbreviation.\n *\n * The notation is the one the `mass-tools` packages speak — `HAlaGlyOH`,\n * `MeAlaGlyProPh`, `H(Ala)3OH`, `HODampDcmpH` — where every symbol stands for a\n * structure carrying attachment points, the elements included: `H` is `H-R` and\n * `O` is `R1-O-R2`. Consecutive symbols are condensed by dropping the two\n * attachment points that face each other and bonding the atoms they sat on, and\n * a point nothing is condensed onto leaves its atom the hydrogen it was drawn\n * without. A notation holding several strands separated by a dot gives one\n * molecule with several fragments.\n *\n * A one-letter or database sequence is not understood here: convert it first\n * with `sequenceToMF` from `peptide` or from `nucleotide`, then pass the result.\n * @param ocl - openchemlib, as `import * as OCL from 'openchemlib'`.\n * @param notation - the group notation.\n * @returns the molecule the notation builds.\n */\nexport function expandChemicalGroups(ocl, notation) {\n    const { Molecule } = ocl;\n    const trimmed = notation.trim();\n    if (trimmed === '')\n        throw new Error('the notation is empty');\n    const molecule = new Molecule(0, 0);\n    for (const part of trimmed.split('.')) {\n        if (part.trim() === '')\n            throw new Error('the notation has an empty strand');\n        molecule.addMolecule(buildStrand(ocl, parseGroupNotation(ocl, part)));\n    }\n    // Every group brings the coordinates of its own idcode, they would overlap.\n    // Inventing new ones redraws the stereo bonds from the parities the group\n    // idcodes carry, so the stereocentres survive the new geometry.\n    molecule.inventCoordinates();\n    return molecule;\n}\n//# sourceMappingURL=expandChemicalGroups.js.map"],"names":["numbered","everyAtomicNumber","isAttachmentPoint","ocl","atomicNo","numbers","Set","getAttachmentAtomicNumbers","r","index","add","attachmentAtomicNo","buildAttachmentAtomicNumbers","has","r1","r2","r3","assertNoAttachmentLeft","molecule","atom","getOCL","points","getAllAtoms","getAtomicNo","push","listAttachmentPoints","undefined","Error","getAtomLabel","label","Molecule","getAtomicNoFromLabel","cPseudoAtomR","cPseudoAtomsRGroups","exports","groupsObject","groups_js_1","mf","replaceAll","split","usefulParts","part","parts","test","oneLetter","groupsObject_js_1","getFragment","symbol","group","fragment","fromIDCode","value","coordinates","element","elementFragment","isFragment","Boolean","bonds","cAtomValence","attachments","center","addAtom","bond","addBond","placeFragment","ensureHelperArrays","cHelperNeighbours","local","point","anchor","getConnAtom","sideChain","rank","rankOf","map","addMolecule","toSorted","first","second","buildStrand","tokens","spent","free","previous","token","incoming","shift","open","length","bondSideChain","deleteAtoms","findIndex","site","splice","attachment","a","b","defineProperty","elementsAndIsotopes","number","nominal","mass","abundance","name","monoisotopicMass","elements","elementsAndIsotopes_js_1","require$$0","Object","elementsAndIsotopesObject","elementsAndStableIsotopes","structuredClone","elementsAndStableIsotopesObject","elementsObject","isotopesObject","elementsAndIsotopesObject_js_1","entries","isotope","isotopes","stableIsotopesObject","mostAbundant","unsaturationsObject","O","N","H","Na","K","Li","Ca","C","F","Si","Cl","Br","I","Kind","BEGIN","ATOM","MULTIPLIER_RANGE","ISOTOPE","ISOTOPE_RATIO","CHARGE","SALT","OPENING_PARENTHESIS","CLOSING_PARENTHESIS","PRE_MULTIPLIER","MULTIPLIER","TEXT","parseCharge_1","parseCharge","charge","match","chargeNumber","Number","charAt","slice","parse_1","parse","atom_sorter_1","chemical_elements_1","require$$1","chemical_groups_1","require$$2","Kind_1","require$$3","options","MFParser","expandGroups","this","simplify","i","result","lastKind","at","kind","char","ascii","charCodeAt","nextAscii","getNumber","to","MFError","from","ANCHOR","Math","min","max","getAtom","getParenthesisCharge","getIsotope","isotopeRatio","getCurlyBracketIsotopeRatio","lastResult","ratio","getNonParenthesisCharge","COMMENT","checkParenthesis","parsed","multipliers","newParsed","item","realMultiplier","currentMultiplier","multiplier","pop","distinctParsedObject","key","JSON","stringify","values","atomA","atomB","atomSorter","counter","line","String","fromCharCode","indexOfDash","indexOf","parseNumberWithDivision","expandedGroups","substring","begin","SyntaxError","constructor","message","super","repeat","string","includes","TypeError","subSuperscript","superscript","Format","SUBSCRIPT","SUPERSCRIPT","improveLinesForDisplay","lines","filter","Kind_js_1","beginCounter","endCounter","minCounter","MAX_SAFE_INTEGER","nbParenthesisToSuppress","toSuppress","specialCases","Format_1","nbElectrons","results","improveLinesForDisplay_js_1","special","SUPERIMPOSE","over","formatCharge_js_1","formatCharge","under","join","isMF_1","isMF","Style","toHtml_1","toHtml","html","Style_1","SUPERIMPOSE_SUP_SUB","ensureCase_1","ensureCase","toUpperCase","newPart","j","two","one","getMF","currents","comment","groupIdentical","limit","currentPart","parenthesisLevel","entry","comments","optimizeRanges","newParts","mfsObject","hasRange","createMFs","Array","mfs","position","getIsotopeRatioInfo_1","getIsotopeRatioInfo","isotopesArray","ratios","normalize","getEA_1","getEA","addMass","isotopeRatioInfo","sum","eas","getElements_1","getElements","addElement","find","newElement","getNumberOfIsotopologues","atoms","keys","nbIsotopes","getNbCombinationsPerAtom","nbAtoms","partToAtoms_1","partToMF_1","partToMF","neutral","getInfoInternal_1","getInfoInternal","customUnsaturations","emFieldName","msemFieldName","oneResult","getProcessedPart","nbIsotopologues","getNumberOfIsotopologues_1","unsaturation","require$$4","require$$5","require$$6","partToAtoms","validUnsaturation","currentElement","getIsotopesInfo","isotopeKey","distribution","x","y","naturalDeltaNeutrons","deltaNeutrons","getDistribution","maxIndex","mostAbundantKey","round","e","partsToDisplay","partLine","toDisplay_js_1","partsToMF_1","partsToMF","expand","shouldExpandGroupsObject","createNewPart","previousKind","openingParenthesis","closingParenthesis","preMultiplier","postMultiplier","globalPartMultiplier","expandGroupsObject","expanded","combineAtomsIsotopesCharges","calculateAndSortKeys","currentKey","sort","fromIndex","getKey","stringComparator","prop","toText_1","toText","text","subSuperscript_1","subscript","MFInternal_1","MFInternal","flatten_1","getInfo_1","getIsotopesInfo_1","require$$7","partsToDisplay_1","require$$8","require$$9","toDisplay_1","require$$10","require$$11","toParts_1","require$$12","require$$13","flattenLimit","some","flattened","flatten","error","cache","displayed","toDisplay","toParts","getInfo","info","ea","isotopesInfo","toMF","MF_1","MF","internal","toCanonicText","parse_js_1","toHtml_js_1","parseGroupNotation","notation","trimmed","trim","stack","symbols","last","frame","closed","parent","closeParenthesis","count","root","expandNotation","next","host","hasSideChainSite","side","written","inventCoordinates"],"mappings":"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","x_google_ignoreList":[1,2,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43]}