<?php

namespace DigitalInvoice;

use Attribute;
use ReflectionEnumUnitCase;

// Types curtesy of tiime
// Do we really need to put them in seperate files?




/**
 * Label attribute, for pretty formatting of the enum name
 */
#[Attribute(Attribute::TARGET_CLASS_CONSTANT)]
class Label
{
    public function __construct(
        public string $text
    ) {}
}

/**
 * Helper trait to allow exporting the enum values as an array
 */
trait EnumToArray
{
    /**
     * Returns enum values as a clean array.
     */
    public static function valueArray(): array
    {
        foreach (self::cases() as $enum) {
             // Use reflection to get the attribute
            $reflectionCase = new ReflectionEnumUnitCase(self::class, $enum->name);
            $attributes = $reflectionCase->getAttributes(Label::class);

            $description = $attributes
                ? $attributes[0]->newInstance()->text
                : str_replace('_', ' ', $enum->name);

            $values[$enum->value] = $description;
        }

        return $values;
    }
}

/**
 * Helper Types class to access type enum values.
 * Can be used to generate select boxes easily.
 */
class Types
{
    public static function getInternationalCodes()
    {
        return InternationalCodeDesignator::valueArray();
    }
}

enum PaymentMeansCode: string
{
    use EnumToArray;

    case INSTRUMENT_NOT_DEFINED = "1";
    case AUTOMATED_CLEARING_HOUSE_CREDIT = "2";
    case AUTOMATED_CLEARING_HOUSE_DEBIT = "3";
    case ACH_DEMAND_DEBIT_REVERSAL = "4";
    case ACH_DEMAND_CREDIT_REVERSAL = "5";
    case ACH_DEMAND_CREDIT = "6";
    case ACH_DEMAND_DEBIT = "7";
    case HOLD = "8";
    case NATIONAL_OR_REGIONAL_CLEARING = "9";
    case IN_CASH = "10";
    case ACH_SAVINGS_CREDIT_REVERSAL = "11";
    case ACH_SAVINGS_DEBIT_REVERSAL = "12";
    case ACH_SAVINGS_CREDIT = "13";
    case ACH_SAVINGS_DEBIT = "14";
    case BOOKENTRY_CREDIT = "15";
    case BOOKENTRY_DEBIT = "16";
    case ACH_DEMAND_CASH_CONCENTRATION_DISBURSEMENT_CREDIT = "17";
    case ACH_DEMAND_CASH_CONCENTRATION_DISBURSEMENT_DEBIT = "18";
    case ACH_DEMAND_CORPORATE_TRADE_PAYMENT_CREDIT = "19";
    case CHEQUE = "20";
    case BANKER_DRAFT = "21";
    case CERTIFIED_BANKER_DRAFT = "22";
    case BANK_CHEQUE = "23";
    case BILL_OF_EXCHANGE_AWAITING_ACCEPTANCE = "24";
    case CERTIFIED_CHEQUE = "25";
    case LOCAL_CHEQUE = "26";
    case ACH_DEMAND_CORPORATE_TRADE_PAYMENT_DEBIT = "27";
    case ACH_DEMAND_CORPORATE_TRADE_EXCHANGE_CREDIT = "28";
    case ACH_DEMAND_CORPORATE_TRADE_EXCHANGE_DEBIT = "29";
    case CREDIT_TRANSFER = "30";
    case DEBIT_TRANSFER = "31";
    case ACH_DEMAND_CASH_CONCENTRATION_DISBURSEMENT_PLUS_CREDIT = "32";
    case ACH_DEMAND_CASH_CONCENTRATION_DISBURSEMENT_PLUS_DEBIT = "33";
    case ACH_PREARRANGED_PAYMENT_AND_DEPOSIT = "34";
    case ACH_SAVINGS_CASH_CONCENTRATION_DISBURSEMENT_CREDIT = "35";
    case ACH_SAVINGS_CASH_CONCENTRATION_DISBURSEMENT_DEBIT = "36";
    case ACH_SAVINGS_CORPORATE_TRADE_PAYMENT_CREDIT = "37";
    case ACH_SAVINGS_CORPORATE_TRADE_PAYMENT_DEBIT = "38";
    case ACH_SAVINGS_CORPORATE_TRADE_EXCHANGE_CREDIT = "39";
    case ACH_SAVINGS_CORPORATE_TRADE_EXCHANGE_DEBIT = "40";
    case ACH_SAVINGS_CASH_CONCENTRATION_DISBURSEMENT_PLUS_CREDIT = "41";
    case PAYMENT_TO_BANK_ACCOUNT = "42";
    case ACH_SAVINGS_CASH_CONCENTRATION_DISBURSEMENT_PLUS_DEBIT = "43";
    case ACCEPTED_BILL_OF_EXCHANGE = "44";
    case REFERENCED_HOME_BANKING_CREDIT_TRANSFER = "45";
    case INTERBANK_DEBIT_TRANSFER = "46";
    case HOME_BANKING_DEBIT_TRANSFER = "47";
    case BANK_CARD = "48";
    case DIRECT_DEBIT = "49";
    case PAYMENT_BY_POSTGIRO = "50";
    case TELEREGLEMENT_CFONB = "51";
    case URGENT_COMMERCIAL_PAYMENT = "52";
    case URGENT_TREASURY_PAYMENT = "53";
    case CREDIT_CARD = "54";
    case DEBIT_CARD = "55";
    case BANKGIRO = "56";
    case STANDING_AGREEMENT = "57";
    case SEPA_CREDIT_TRANSFER = "58";
    case SEPA_DIRECT_DEBIT = "59";
    case PROMISSORY_NOTE = "60";
    case PROMISSORY_NOTE_SIGNED_BY_THE_DEBTOR = "61";
    case PROMISSORY_NOTE_SIGNED_BY_THE_DEBTOR_AND_ENDORSED_BY_A_BANK = "62";
    case PROMISSORY_NOTE_SIGNED_BY_THE_DEBTOR_AND_ENDORSED_BY_A_THIRD_PARTY = "63";
    case PROMISSORY_NOTE_SIGNED_BY_A_BANK = "64";
    case PROMISSORY_NOTE_SIGNED_BY_A_BANK_AND_ENDORSED_BY_ANOTHER_BANK = "65";
    case PROMISSORY_NOTE_SIGNED_BY_A_THIRD_PARTY = "66";
    case PROMISSORY_NOTE_SIGNED_BY_A_THIRD_PARTY_AND_ENDORSED_BY_A_BANK = "67";
    case ONLINE_PAYMENT_SERVICE = "68";
    case TRANSFER_ADVICE = "69";
    case BILL_DRAWN_BY_THE_CREDITOR_ON_THE_DEBTOR = "70";
    case BILL_DRAWN_BY_THE_CREDITOR_ON_A_BANK = "74";
    case BILL_DRAWN_BY_THE_CREDITOR_ENDORSED_BY_ANOTHER_BANK = "75";
    case BILL_DRAWN_BY_THE_CREDITOR_ON_A_BANK_AND_ENDORSED_BY_A_THIRD_PARTY = "76";
    case BILL_DRAWN_BY_THE_CREDITOR_ON_A_THIRD_PARTY = "77";
    case BILL_DRAWN_BY_CREDITOR_ON_THIRD_PARTY_ACCEPTED_AND_ENDORSED_BY_BANK = "78";
    case NOT_TRANSFERABLE_BANKER_DRAFT = "91";
    case NOT_TRANSFERABLE_LOCAL_CHEQUE = "92";
    case REFERENCE_GIRO = "93";
    case URGENT_GIRO = "94";
    case FREE_FORMAT_GIRO = "95";
    case REQUESTED_METHOD_FOR_PAYMENT_WAS_NOT_USED = "96";
    case CLEARING_BETWEEN_PARTNERS = "97";
    case MUTUALLY_DEFINED = "ZZZ";
}

enum UnitOfMeasurement: string
{
    case GROUP = "10";
    case OUTFIT = "11";
    case RATION = "13";
    case SHOT = "14";
    case STICK_MILITARY = "15";
    case TWENTY_FOOT_CONTAINER = "20";
    case FORTY_FOOT_CONTAINER = "21";
    case DECILITRE_PER_GRAM = "22";
    case GRAM_PER_CUBIC_CENTIMETRE = "23";
    case THEORETICAL_POUND = "24";
    case GRAM_PER_SQUARE_CENTIMETRE = "25";
    case THEORETICAL_TON = "27";
    case KILOGRAM_PER_SQUARE_METRE = "28";
    case KILOPASCAL_SQUARE_METRE_PER_GRAM = "33";
    case KILOPASCAL_PER_MILLIMETRE = "34";
    case MILLILITRE_PER_SQUARE_CENTIMETRE_SECOND = "35";
    case OUNCE_PER_SQUARE_FOOT = "37";
    case OUNCE_PER_SQUARE_FOOT_PER_0_01INCH = "38";
    case MILLILITRE_PER_SECOND = "40";
    case MILLILITRE_PER_MINUTE = "41";
    case SITAS = "56";
    case MESH = "57";
    case NET_KILOGRAM = "58";
    case PART_PER_MILLION = "59";
    case PERCENT_WEIGHT = "60";
    case PART_PER_BILLION_US = "61";
    case MILLIPASCAL = "74";
    case MILLI_INCH = "77";
    case POUND_PER_SQUARE_INCH_ABSOLUTE = "80";
    case HENRY = "81";
    case FOOT_POUND_FORCE = "85";
    case POUND_PER_CUBIC_FOOT = "87";
    case POISE = "89";
    case STOKES = "91";
    case FIXED_RATE = "1I";
    case RADIAN_PER_SECOND = "2A";
    case RADIAN_PER_SECOND_SQUARED = "2B";
    case ROENTGEN = "2C";
    case VOLT_AC = "2G";
    case VOLT_DC = "2H";
    case BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE_PER_HOUR = "2I";
    case CUBIC_CENTIMETRE_PER_SECOND = "2J";
    case CUBIC_FOOT_PER_HOUR = "2K";
    case CUBIC_FOOT_PER_MINUTE = "2L";
    case CENTIMETRE_PER_SECOND = "2M";
    case DECIBEL = "2N";
    case KILOBYTE = "2P";
    case KILOBECQUEREL = "2Q";
    case KILOCURIE = "2R";
    case MEGAGRAM = "2U";
    case METRE_PER_MINUTE = "2X";
    case MILLIROENTGEN = "2Y";
    case MILLIVOLT = "2Z";
    case MEGAJOULE = "3B";
    case MANMONTH = "3C";
    case CENTISTOKES = "4C";
    case MICROLITRE = "4G";
    case MICROMETRE_MICRON = "4H";
    case MILLIAMPERE = "4K";
    case MEGABYTE = "4L";
    case MILLIGRAM_PER_HOUR = "4M";
    case MEGABECQUEREL = "4N";
    case MICROFARAD = "4O";
    case NEWTON_PER_METRE = "4P";
    case OUNCE_INCH = "4Q";
    case OUNCE_FOOT = "4R";
    case PICOFARAD = "4T";
    case POUND_PER_HOUR = "4U";
    case TON_US_PER_HOUR = "4W";
    case KILOLITRE_PER_HOUR = "4X";
    case BARREL_US_PER_MINUTE = "5A";
    case BATCH = "5B";
    case MMSCF_DAY = "5E";
    case HYDRAULIC_HORSE_POWER = "5J";
    case AMPERE_SQUARE_METRE_PER_JOULE_SECOND = "A10";
    case ANGSTROM = "A11";
    case ASTRONOMICAL_UNIT = "A12";
    case ATTOJOULE = "A13";
    case BARN = "A14";
    case BARN_PER_ELECTRONVOLT = "A15";
    case BARN_PER_STERADIAN_ELECTRONVOLT = "A16";
    case BARN_PER_STERADIAN = "A17";
    case BECQUEREL_PER_KILOGRAM = "A18";
    case BECQUEREL_PER_CUBIC_METRE = "A19";
    case AMPERE_PER_CENTIMETRE = "A2";
    case BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE_PER_SECOND_SQUARE_FOOT_DEGREE_RANKINE = "A20";
    case BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE_PER_POUND_DEGREE_RANKINE = "A21";
    case BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE_PER_SECOND_FOOT_DEGREE_RANKINE = "A22";
    case BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE_PER_HOUR_SQUARE_FOOT_DEGREE_RANKINE = "A23";
    case CANDELA_PER_SQUARE_METRE = "A24";
    case COULOMB_METRE = "A26";
    case COULOMB_METRE_SQUARED_PER_VOLT = "A27";
    case COULOMB_PER_CUBIC_CENTIMETRE = "A28";
    case COULOMB_PER_CUBIC_METRE = "A29";
    case AMPERE_PER_MILLIMETRE = "A3";
    case COULOMB_PER_CUBIC_MILLIMETRE = "A30";
    case COULOMB_PER_KILOGRAM_SECOND = "A31";
    case COULOMB_PER_MOLE = "A32";
    case COULOMB_PER_SQUARE_CENTIMETRE = "A33";
    case COULOMB_PER_SQUARE_METRE = "A34";
    case COULOMB_PER_SQUARE_MILLIMETRE = "A35";
    case CUBIC_CENTIMETRE_PER_MOLE = "A36";
    case CUBIC_DECIMETRE_PER_MOLE = "A37";
    case CUBIC_METRE_PER_COULOMB = "A38";
    case CUBIC_METRE_PER_KILOGRAM = "A39";
    case AMPERE_PER_SQUARE_CENTIMETRE = "A4";
    case CUBIC_METRE_PER_MOLE = "A40";
    case AMPERE_PER_SQUARE_METRE = "A41";
    case CURIE_PER_KILOGRAM = "A42";
    case DEADWEIGHT_TONNAGE = "A43";
    case DECALITRE = "A44";
    case DECAMETRE = "A45";
    case DECITEX = "A47";
    case DEGREE_RANKINE = "A48";
    case DENIER = "A49";
    case AMPERE_SQUARE_METRE = "A5";
    case ELECTRONVOLT = "A53";
    case ELECTRONVOLT_PER_METRE = "A54";
    case ELECTRONVOLT_SQUARE_METRE = "A55";
    case ELECTRONVOLT_SQUARE_METRE_PER_KILOGRAM = "A56";
    case EIGHT_PART_CLOUD_COVER = "A59";
    case AMPERE_PER_SQUARE_METRE_KELVIN_SQUARED = "A6";
    case EXAJOULE = "A68";
    case FARAD_PER_METRE = "A69";
    case AMPERE_PER_SQUARE_MILLIMETRE = "A7";
    case FEMTOJOULE = "A70";
    case FEMTOMETRE = "A71";
    case FOOT_PER_SECOND_SQUARED = "A73";
    case FOOT_POUND_FORCE_PER_SECOND = "A74";
    case FREIGHT_TON = "A75";
    case GAL = "A76";
    case AMPERE_SECOND = "A8";
    case GIGACOULOMB_PER_CUBIC_METRE = "A84";
    case GIGAELECTRONVOLT = "A85";
    case GIGAHERTZ = "A86";
    case GIGAOHM = "A87";
    case GIGAOHM_METRE = "A88";
    case GIGAPASCAL = "A89";
    case RATE = "A9";
    case GIGAWATT = "A90";
    case GON = "A91";
    case GRAM_PER_CUBIC_METRE = "A93";
    case GRAM_PER_MOLE = "A94";
    case GRAY = "A95";
    case GRAY_PER_SECOND = "A96";
    case HECTOPASCAL = "A97";
    case HENRY_PER_METRE = "A98";
    case BIT = "A99";
    case BALL = "AA";
    case BULK_PACK = "AB";
    case ACRE = "ACR";
    case ACTIVITY = "ACT";
    case BYTE = "AD";
    case AMPERE_PER_METRE = "AE";
    case ADDITIONAL_MINUTE = "AH";
    case AVERAGE_MINUTE_PER_CALL = "AI";
    case FATHOM = "AK";
    case ACCESS_LINE = "AL";
    case AMPERE_HOUR = "AMH";
    case AMPERE = "AMP";
    case YEAR = "ANN";
    case TROY_OUNCE_OR_APOTHECARY_OUNCE = "APZ";
    case ANTI_HEMOPHILIC_FACTOR_AHF_UNIT = "AQ";
    case ASSORTMENT = "AS";
    case ALCOHOLIC_STRENGTH_BY_MASS = "ASM";
    case ALCOHOLIC_STRENGTH_BY_VOLUME = "ASU";
    case STANDARD_ATMOSPHERE = "ATM";
    case AMERICAN_WIRE_GAUGE = "AWG";
    case ASSEMBLY = "AY";
    case BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE_PER_POUND = "AZ";
    case BARREL_US_PER_DAY = "B1";
    case BIT_PER_SECOND = "B10";
    case JOULE_PER_KILOGRAM_KELVIN = "B11";
    case JOULE_PER_METRE = "B12";
    case JOULE_PER_SQUARE_METRE = "B13";
    case JOULE_PER_METRE_TO_THE_FOURTH_POWER = "B14";
    case JOULE_PER_MOLE = "B15";
    case JOULE_PER_MOLE_KELVIN = "B16";
    case CREDIT = "B17";
    case JOULE_SECOND = "B18";
    case DIGIT = "B19";
    case JOULE_SQUARE_METRE_PER_KILOGRAM = "B20";
    case KELVIN_PER_WATT = "B21";
    case KILOAMPERE = "B22";
    case KILOAMPERE_PER_SQUARE_METRE = "B23";
    case KILOAMPERE_PER_METRE = "B24";
    case KILOBECQUEREL_PER_KILOGRAM = "B25";
    case KILOCOULOMB = "B26";
    case KILOCOULOMB_PER_CUBIC_METRE = "B27";
    case KILOCOULOMB_PER_SQUARE_METRE = "B28";
    case KILOELECTRONVOLT = "B29";
    case BATTING_POUND = "B3";
    case GIBIBIT = "B30";
    case KILOGRAM_METRE_PER_SECOND = "B31";
    case KILOGRAM_METRE_SQUARED = "B32";
    case KILOGRAM_METRE_SQUARED_PER_SECOND = "B33";
    case KILOGRAM_PER_CUBIC_DECIMETRE = "B34";
    case KILOGRAM_PER_LITRE = "B35";
    case BARREL_IMPERIAL = "B4";
    case KILOJOULE_PER_KELVIN = "B41";
    case KILOJOULE_PER_KILOGRAM = "B42";
    case KILOJOULE_PER_KILOGRAM_KELVIN = "B43";
    case KILOJOULE_PER_MOLE = "B44";
    case KILOMOLE = "B45";
    case KILOMOLE_PER_CUBIC_METRE = "B46";
    case KILONEWTON = "B47";
    case KILONEWTON_METRE = "B48";
    case KILOOHM = "B49";
    case KILOOHM_METRE = "B50";
    case KILOSECOND = "B52";
    case KILOSIEMENS = "B53";
    case KILOSIEMENS_PER_METRE = "B54";
    case KILOVOLT_PER_METRE = "B55";
    case KILOWEBER_PER_METRE = "B56";
    case LIGHT_YEAR = "B57";
    case LITRE_PER_MOLE = "B58";
    case LUMEN_HOUR = "B59";
    case LUMEN_PER_SQUARE_METRE = "B60";
    case LUMEN_PER_WATT = "B61";
    case LUMEN_SECOND = "B62";
    case LUX_HOUR = "B63";
    case LUX_SECOND = "B64";
    case MEGAAMPERE_PER_SQUARE_METRE = "B66";
    case MEGABECQUEREL_PER_KILOGRAM = "B67";
    case GIGABIT = "B68";
    case MEGACOULOMB_PER_CUBIC_METRE = "B69";
    case CYCLE = "B7";
    case MEGACOULOMB_PER_SQUARE_METRE = "B70";
    case MEGAELECTRONVOLT = "B71";
    case MEGAGRAM_PER_CUBIC_METRE = "B72";
    case MEGANEWTON = "B73";
    case MEGANEWTON_METRE = "B74";
    case MEGAOHM = "B75";
    case MEGAOHM_METRE = "B76";
    case MEGASIEMENS_PER_METRE = "B77";
    case MEGAVOLT = "B78";
    case MEGAVOLT_PER_METRE = "B79";
    case JOULE_PER_CUBIC_METRE = "B8";
    case GIGABIT_PER_SECOND = "B80";
    case RECIPROCAL_METRE_SQUARED_RECIPROCAL_SECOND = "B81";
    case INCH_PER_LINEAR_FOOT = "B82";
    case METRE_TO_THE_FOURTH_POWER = "B83";
    case MICROAMPERE = "B84";
    case MICROBAR = "B85";
    case MICROCOULOMB = "B86";
    case MICROCOULOMB_PER_CUBIC_METRE = "B87";
    case MICROCOULOMB_PER_SQUARE_METRE = "B88";
    case MICROFARAD_PER_METRE = "B89";
    case MICROHENRY = "B90";
    case MICROHENRY_PER_METRE = "B91";
    case MICRONEWTON = "B92";
    case MICRONEWTON_METRE = "B93";
    case MICROOHM = "B94";
    case MICROOHM_METRE = "B95";
    case MICROPASCAL = "B96";
    case MICRORADIAN = "B97";
    case MICROSECOND = "B98";
    case MICROSIEMENS = "B99";
    case BAR_UNIT_OF_PRESSURE = "BAR";
    case BASE_BOX = "BB";
    case BOARD_FOOT = "BFT";
    case BRAKE_HORSE_POWER = "BHP";
    case BILLION_EUR = "BIL";
    case DRY_BARREL_US = "BLD";
    case BARREL_US = "BLL";
    case HUNDRED_BOARD_FOOT = "BP";
    case BEATS_PER_MINUTE = "BPM";
    case BECQUEREL = "BQL";
    case BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE = "BTU";
    case BUSHEL_US = "BUA";
    case BUSHEL_UK = "BUI";
    case CALL = "C0";
    case MILLIFARAD = "C10";
    case MILLIGAL = "C11";
    case MILLIGRAM_PER_METRE = "C12";
    case MILLIGRAY = "C13";
    case MILLIHENRY = "C14";
    case MILLIJOULE = "C15";
    case MILLIMETRE_PER_SECOND = "C16";
    case MILLIMETRE_SQUARED_PER_SECOND = "C17";
    case MILLIMOLE = "C18";
    case MOLE_PER_KILOGRAM = "C19";
    case MILLINEWTON = "C20";
    case KIBIBIT = "C21";
    case MILLINEWTON_PER_METRE = "C22";
    case MILLIOHM_METRE = "C23";
    case MILLIPASCAL_SECOND = "C24";
    case MILLIRADIAN = "C25";
    case MILLISECOND = "C26";
    case MILLISIEMENS = "C27";
    case MILLISIEVERT = "C28";
    case MILLITESLA = "C29";
    case MICROVOLT_PER_METRE = "C3";
    case MILLIVOLT_PER_METRE = "C30";
    case MILLIWATT = "C31";
    case MILLIWATT_PER_SQUARE_METRE = "C32";
    case MILLIWEBER = "C33";
    case MOLE = "C34";
    case MOLE_PER_CUBIC_DECIMETRE = "C35";
    case MOLE_PER_CUBIC_METRE = "C36";
    case KILOBIT = "C37";
    case MOLE_PER_LITRE = "C38";
    case NANOAMPERE = "C39";
    case NANOCOULOMB = "C40";
    case NANOFARAD = "C41";
    case NANOFARAD_PER_METRE = "C42";
    case NANOHENRY = "C43";
    case NANOHENRY_PER_METRE = "C44";
    case NANOMETRE = "C45";
    case NANOOHM_METRE = "C46";
    case NANOSECOND = "C47";
    case NANOTESLA = "C48";
    case NANOWATT = "C49";
    case NEPER = "C50";
    case NEPER_PER_SECOND = "C51";
    case PICOMETRE = "C52";
    case NEWTON_METRE_SECOND = "C53";
    case NEWTON_METRE_SQUARED_PER_KILOGRAM_SQUARED = "C54";
    case NEWTON_PER_SQUARE_METRE = "C55";
    case NEWTON_PER_SQUARE_MILLIMETRE = "C56";
    case NEWTON_SECOND = "C57";
    case NEWTON_SECOND_PER_METRE = "C58";
    case OCTAVE = "C59";
    case OHM_CENTIMETRE = "C60";
    case OHM_METRE = "C61";
    case ONE = "C62";
    case PARSEC = "C63";
    case PASCAL_PER_KELVIN = "C64";
    case PASCAL_SECOND = "C65";
    case PASCAL_SECOND_PER_CUBIC_METRE = "C66";
    case PASCAL_SECOND_PER_METRE = "C67";
    case PETAJOULE = "C68";
    case PHON = "C69";
    case CENTIPOISE = "C7";
    case PICOAMPERE = "C70";
    case PICOCOULOMB = "C71";
    case PICOFARAD_PER_METRE = "C72";
    case PICOHENRY = "C73";
    case KILOBIT_PER_SECOND = "C74";
    case PICOWATT = "C75";
    case PICOWATT_PER_SQUARE_METRE = "C76";
    case POUND_FORCE = "C78";
    case KILOVOLT_AMPERE_HOUR = "C79";
    case MILLICOULOMB_PER_KILOGRAM = "C8";
    case RAD = "C80";
    case RADIAN = "C81";
    case RADIAN_SQUARE_METRE_PER_MOLE = "C82";
    case RADIAN_SQUARE_METRE_PER_KILOGRAM = "C83";
    case RADIAN_PER_METRE = "C84";
    case RECIPROCAL_ANGSTROM = "C85";
    case RECIPROCAL_CUBIC_METRE = "C86";
    case RECIPROCAL_CUBIC_METRE_PER_SECOND = "C87";
    case RECIPROCAL_ELECTRON_VOLT_PER_CUBIC_METRE = "C88";
    case RECIPROCAL_HENRY = "C89";
    case COIL_GROUP = "C9";
    case RECIPROCAL_JOULE_PER_CUBIC_METRE = "C90";
    case RECIPROCAL_KELVIN_OR_KELVIN_TO_THE_POWER_MINUS_ONE = "C91";
    case RECIPROCAL_METRE = "C92";
    case RECIPROCAL_SQUARE_METRE = "C93";
    case RECIPROCAL_MINUTE = "C94";
    case RECIPROCAL_MOLE = "C95";
    case RECIPROCAL_PASCAL_OR_PASCAL_TO_THE_POWER_MINUS_ONE = "C96";
    case RECIPROCAL_SECOND = "C97";
    case RECIPROCAL_SECOND_PER_METRE_SQUARED = "C99";
    case CARRYING_CAPACITY_IN_METRIC_TON = "CCT";
    case CANDELA = "CDL";
    case DEGREE_CELSIUS = "CEL";
    case HUNDRED = "CEN";
    case CARD = "CG";
    case CENTIGRAM = "CGM";
    case COULOMB_PER_KILOGRAM = "CKG";
    case HUNDRED_LEAVE = "CLF";
    case CENTILITRE = "CLT";
    case SQUARE_CENTIMETRE = "CMK";
    case CUBIC_CENTIMETRE = "CMQ";
    case CENTIMETRE = "CMT";
    case HUNDRED_PACK = "CNP";
    case CENTAL_UK = "CNT";
    case COULOMB = "COU";
    case CONTENT_GRAM = "CTG";
    case METRIC_CARAT = "CTM";
    case CONTENT_TON_METRIC = "CTN";
    case CURIE = "CUR";
    case HUNDRED_POUND_CWT_HUNDRED_WEIGHT_US = "CWA";
    case HUNDRED_WEIGHT_UK = "CWI";
    case KILOWATT_HOUR_PER_HOUR = "D03";
    case LOT_UNIT_OF_WEIGHT = "D04";
    case RECIPROCAL_SECOND_PER_STERADIAN = "D1";
    case SIEMENS_PER_METRE = "D10";
    case MEBIBIT = "D11";
    case SIEMENS_SQUARE_METRE_PER_MOLE = "D12";
    case SIEVERT = "D13";
    case SONE = "D15";
    case SQUARE_CENTIMETRE_PER_ERG = "D16";
    case SQUARE_CENTIMETRE_PER_STERADIAN_ERG = "D17";
    case METRE_KELVIN = "D18";
    case SQUARE_METRE_KELVIN_PER_WATT = "D19";
    case RECIPROCAL_SECOND_PER_STERADIAN_METRE_SQUARED = "D2";
    case SQUARE_METRE_PER_JOULE = "D20";
    case SQUARE_METRE_PER_KILOGRAM = "D21";
    case SQUARE_METRE_PER_MOLE = "D22";
    case PEN_GRAM_PROTEIN = "D23";
    case SQUARE_METRE_PER_STERADIAN = "D24";
    case SQUARE_METRE_PER_STERADIAN_JOULE = "D25";
    case SQUARE_METRE_PER_VOLT_SECOND = "D26";
    case STERADIAN = "D27";
    case TERAHERTZ = "D29";
    case TERAJOULE = "D30";
    case TERAWATT = "D31";
    case TERAWATT_HOUR = "D32";
    case TESLA = "D33";
    case TEX = "D34";
    case MEGABIT = "D36";
    case TONNE_PER_CUBIC_METRE = "D41";
    case TROPICAL_YEAR = "D42";
    case UNIFIED_ATOMIC_MASS_UNIT = "D43";
    case VAR = "D44";
    case VOLT_SQUARED_PER_KELVIN_SQUARED = "D45";
    case VOLT_AMPERE = "D46";
    case VOLT_PER_CENTIMETRE = "D47";
    case VOLT_PER_KELVIN = "D48";
    case MILLIVOLT_PER_KELVIN = "D49";
    case KILOGRAM_PER_SQUARE_CENTIMETRE = "D5";
    case VOLT_PER_METRE = "D50";
    case VOLT_PER_MILLIMETRE = "D51";
    case WATT_PER_KELVIN = "D52";
    case WATT_PER_METRE_KELVIN = "D53";
    case WATT_PER_SQUARE_METRE = "D54";
    case WATT_PER_SQUARE_METRE_KELVIN = "D55";
    case WATT_PER_SQUARE_METRE_KELVIN_TO_THE_FOURTH_POWER = "D56";
    case WATT_PER_STERADIAN = "D57";
    case WATT_PER_STERADIAN_SQUARE_METRE = "D58";
    case WEBER_PER_METRE = "D59";
    case ROENTGEN_PER_SECOND = "D6";
    case WEBER_PER_MILLIMETRE = "D60";
    case MINUTE_UNIT_OF_ANGLE = "D61";
    case SECOND_UNIT_OF_ANGLE = "D62";
    case BOOK = "D63";
    case ROUND = "D65";
    case NUMBER_OF_WORDS = "D68";
    case INCH_TO_THE_FOURTH_POWER = "D69";
    case JOULE_SQUARE_METRE = "D73";
    case KILOGRAM_PER_MOLE = "D74";
    case MEGACOULOMB = "D77";
    case MEGAJOULE_PER_SECOND = "D78";
    case MICROWATT = "D80";
    case MICROTESLA = "D81";
    case MICROVOLT = "D82";
    case MILLINEWTON_METRE = "D83";
    case MICROWATT_PER_SQUARE_METRE = "D85";
    case MILLICOULOMB = "D86";
    case MILLIMOLE_PER_KILOGRAM = "D87";
    case MILLICOULOMB_PER_CUBIC_METRE = "D88";
    case MILLICOULOMB_PER_SQUARE_METRE = "D89";
    case REM = "D91";
    case SECOND_PER_CUBIC_METRE = "D93";
    case SECOND_PER_CUBIC_METRE_RADIAN = "D94";
    case JOULE_PER_GRAM = "D95";
    case DECARE = "DAA";
    case TEN_DAY = "DAD";
    case DAY = "DAY";
    case DRY_POUND = "DB";
    case DECIBEL_MILLIWATTS = "DBM";
    case DECIBEL_WATT = "DBW";
    case DEGREE_UNIT_OF_ANGLE = "DD";
    case DECADE = "DEC";
    case DECIGRAM = "DG";
    case DECAGRAM = "DJ";
    case DECILITRE = "DLT";
    case CUBIC_DECAMETRE = "DMA";
    case SQUARE_DECIMETRE = "DMK";
    case STANDARD_KILOLITRE = "DMO";
    case CUBIC_DECIMETRE = "DMQ";
    case DECIMETRE = "DMT";
    case DECINEWTON_METRE = "DN";
    case DOZEN_PIECE = "DPC";
    case DOZEN_PAIR = "DPR";
    case DISPLACEMENT_TONNAGE = "DPT";
    case DRAM_US = "DRA";
    case DRAM_UK = "DRI";
    case DOZEN_ROLL = "DRL";
    case DRY_TON = "DT";
    case DECITONNE = "DTN";
    case PENNYWEIGHT = "DWT";
    case DOZEN = "DZN";
    case DOZEN_PACK = "DZP";
    case NEWTON_PER_SQUARE_CENTIMETRE = "E01";
    case MEGAWATT_HOUR_PER_HOUR = "E07";
    case MEGAWATT_PER_HERTZ = "E08";
    case MILLIAMPERE_HOUR = "E09";
    case DEGREE_DAY = "E10";
    case MILLE = "E12";
    case KILOCALORIE_INTERNATIONAL_TABLE = "E14";
    case KILOCALORIE_THERMOCHEMICAL_PER_HOUR = "E15";
    case MILLION_BTU_IT_PER_HOUR = "E16";
    case CUBIC_FOOT_PER_SECOND = "E17";
    case TONNE_PER_HOUR = "E18";
    case PING = "E19";
    case MEGABIT_PER_SECOND = "E20";
    case SHARES = "E21";
    case TEU = "E22";
    case TYRE_BIS = "E23";
    case ACTIVE_UNIT = "E25";
    case DOSE = "E27";
    case AIR_DRY_TON = "E28";
    case STRAND = "E30";
    case SQUARE_METRE_PER_LITRE = "E31";
    case LITRE_PER_HOUR = "E32";
    case FOOT_PER_THOUSAND = "E33";
    case GIGABYTE = "E34";
    case TERABYTE = "E35";
    case PETABYTE = "E36";
    case PIXEL = "E37";
    case MEGAPIXEL = "E38";
    case DOTS_PER_INCH = "E39";
    case GROSS_KILOGRAM = "E4";
    case PART_PER_HUNDRED_THOUSAND = "E40";
    case KILOGRAM_FORCE_PER_SQUARE_MILLIMETRE = "E41";
    case KILOGRAM_FORCE_PER_SQUARE_CENTIMETRE = "E42";
    case JOULE_PER_SQUARE_CENTIMETRE = "E43";
    case KILOGRAM_FORCE_METRE_PER_SQUARE_CENTIMETRE = "E44";
    case MILLIOHM = "E45";
    case KILOWATT_HOUR_PER_CUBIC_METRE = "E46";
    case KILOWATT_HOUR_PER_KELVIN = "E47";
    case SERVICE_UNIT = "E48";
    case WORKING_DAY = "E49";
    case ACCOUNTING_UNIT = "E50";
    case JOB = "E51";
    case RUN_FOOT = "E52";
    case TEST = "E53";
    case TRIP = "E54";
    case USE = "E55";
    case WELL = "E56";
    case ZONE = "E57";
    case EXABIT_PER_SECOND = "E58";
    case EXBIBYTE = "E59";
    case PEBIBYTE = "E60";
    case TEBIBYTE = "E61";
    case GIBIBYTE = "E62";
    case MEBIBYTE = "E63";
    case KIBIBYTE = "E64";
    case EXBIBIT_PER_METRE = "E65";
    case EXBIBIT_PER_SQUARE_METRE = "E66";
    case EXBIBIT_PER_CUBIC_METRE = "E67";
    case GIGABYTE_PER_SECOND = "E68";
    case GIBIBIT_PER_METRE = "E69";
    case GIBIBIT_PER_SQUARE_METRE = "E70";
    case GIBIBIT_PER_CUBIC_METRE = "E71";
    case KIBIBIT_PER_METRE = "E72";
    case KIBIBIT_PER_SQUARE_METRE = "E73";
    case KIBIBIT_PER_CUBIC_METRE = "E74";
    case MEBIBIT_PER_METRE = "E75";
    case MEBIBIT_PER_SQUARE_METRE = "E76";
    case MEBIBIT_PER_CUBIC_METRE = "E77";
    case PETABIT = "E78";
    case PETABIT_PER_SECOND = "E79";
    case PEBIBIT_PER_METRE = "E80";
    case PEBIBIT_PER_SQUARE_METRE = "E81";
    case PEBIBIT_PER_CUBIC_METRE = "E82";
    case TERABIT = "E83";
    case TERABIT_PER_SECOND = "E84";
    case TEBIBIT_PER_METRE = "E85";
    case TEBIBIT_PER_CUBIC_METRE = "E86";
    case TEBIBIT_PER_SQUARE_METRE = "E87";
    case BIT_PER_METRE = "E88";
    case BIT_PER_SQUARE_METRE = "E89";
    case RECIPROCAL_CENTIMETRE = "E90";
    case RECIPROCAL_DAY = "E91";
    case CUBIC_DECIMETRE_PER_HOUR = "E92";
    case KILOGRAM_PER_HOUR = "E93";
    case KILOMOLE_PER_SECOND = "E94";
    case MOLE_PER_SECOND = "E95";
    case DEGREE_PER_SECOND = "E96";
    case MILLIMETRE_PER_DEGREE_CELCIUS_METRE = "E97";
    case DEGREE_CELSIUS_PER_KELVIN = "E98";
    case HECTOPASCAL_PER_BAR = "E99";
    case EACH = "EA";
    case ELECTRONIC_MAIL_BOX = "EB";
    case EQUIVALENT_GALLON = "EQ";
    case BIT_PER_CUBIC_METRE = "F01";
    case KELVIN_PER_KELVIN = "F02";
    case KILOPASCAL_PER_BAR = "F03";
    case MILLIBAR_PER_BAR = "F04";
    case MEGAPASCAL_PER_BAR = "F05";
    case POISE_PER_BAR = "F06";
    case PASCAL_PER_BAR = "F07";
    case MILLIAMPERE_PER_INCH = "F08";
    case KELVIN_PER_HOUR = "F10";
    case KELVIN_PER_MINUTE = "F11";
    case KELVIN_PER_SECOND = "F12";
    case SLUG = "F13";
    case GRAM_PER_KELVIN = "F14";
    case KILOGRAM_PER_KELVIN = "F15";
    case MILLIGRAM_PER_KELVIN = "F16";
    case POUND_FORCE_PER_FOOT = "F17";
    case KILOGRAM_SQUARE_CENTIMETRE = "F18";
    case KILOGRAM_SQUARE_MILLIMETRE = "F19";
    case POUND_INCH_SQUARED = "F20";
    case POUND_FORCE_INCH = "F21";
    case POUND_FORCE_FOOT_PER_AMPERE = "F22";
    case GRAM_PER_CUBIC_DECIMETRE = "F23";
    case KILOGRAM_PER_KILOMOL = "F24";
    case GRAM_PER_HERTZ = "F25";
    case GRAM_PER_DAY = "F26";
    case GRAM_PER_HOUR = "F27";
    case GRAM_PER_MINUTE = "F28";
    case GRAM_PER_SECOND = "F29";
    case KILOGRAM_PER_DAY = "F30";
    case KILOGRAM_PER_MINUTE = "F31";
    case MILLIGRAM_PER_DAY = "F32";
    case MILLIGRAM_PER_MINUTE = "F33";
    case MILLIGRAM_PER_SECOND = "F34";
    case GRAM_PER_DAY_KELVIN = "F35";
    case GRAM_PER_HOUR_KELVIN = "F36";
    case GRAM_PER_MINUTE_KELVIN = "F37";
    case GRAM_PER_SECOND_KELVIN = "F38";
    case KILOGRAM_PER_DAY_KELVIN = "F39";
    case KILOGRAM_PER_HOUR_KELVIN = "F40";
    case KILOGRAM_PER_MINUTE_KELVIN = "F41";
    case KILOGRAM_PER_SECOND_KELVIN = "F42";
    case MILLIGRAM_PER_DAY_KELVIN = "F43";
    case MILLIGRAM_PER_HOUR_KELVIN = "F44";
    case MILLIGRAM_PER_MINUTE_KELVIN = "F45";
    case MILLIGRAM_PER_SECOND_KELVIN = "F46";
    case NEWTON_PER_MILLIMETRE = "F47";
    case POUND_FORCE_PER_INCH = "F48";
    case ROD_UNIT_OF_DISTANCE = "F49";
    case MICROMETRE_PER_KELVIN = "F50";
    case CENTIMETRE_PER_KELVIN = "F51";
    case METRE_PER_KELVIN = "F52";
    case MILLIMETRE_PER_KELVIN = "F53";
    case MILLIOHM_PER_METRE = "F54";
    case OHM_PER_MILE_STATUTE_MILE = "F55";
    case OHM_PER_KILOMETRE = "F56";
    case MILLIAMPERE_PER_POUND_FORCE_PER_SQUARE_INCH = "F57";
    case RECIPROCAL_BAR = "F58";
    case MILLIAMPERE_PER_BAR = "F59";
    case DEGREE_CELSIUS_PER_BAR = "F60";
    case KELVIN_PER_BAR = "F61";
    case GRAM_PER_DAY_BAR = "F62";
    case GRAM_PER_HOUR_BAR = "F63";
    case GRAM_PER_MINUTE_BAR = "F64";
    case GRAM_PER_SECOND_BAR = "F65";
    case KILOGRAM_PER_DAY_BAR = "F66";
    case KILOGRAM_PER_HOUR_BAR = "F67";
    case KILOGRAM_PER_MINUTE_BAR = "F68";
    case KILOGRAM_PER_SECOND_BAR = "F69";
    case MILLIGRAM_PER_DAY_BAR = "F70";
    case MILLIGRAM_PER_HOUR_BAR = "F71";
    case MILLIGRAM_PER_MINUTE_BAR = "F72";
    case MILLIGRAM_PER_SECOND_BAR = "F73";
    case GRAM_PER_BAR = "F74";
    case MILLIGRAM_PER_BAR = "F75";
    case MILLIAMPERE_PER_MILLIMETRE = "F76";
    case PASCAL_SECOND_PER_KELVIN = "F77";
    case INCH_OF_WATER = "F78";
    case INCH_OF_MERCURY = "F79";
    case WATER_HORSE_POWER = "F80";
    case BAR_PER_KELVIN = "F81";
    case HECTOPASCAL_PER_KELVIN = "F82";
    case KILOPASCAL_PER_KELVIN = "F83";
    case MILLIBAR_PER_KELVIN = "F84";
    case MEGAPASCAL_PER_KELVIN = "F85";
    case POISE_PER_KELVIN = "F86";
    case VOLT_PER_LITRE_MINUTE = "F87";
    case NEWTON_CENTIMETRE = "F88";
    case NEWTON_METRE_PER_DEGREE = "F89";
    case NEWTON_METRE_PER_AMPERE = "F90";
    case BAR_LITRE_PER_SECOND = "F91";
    case BAR_CUBIC_METRE_PER_SECOND = "F92";
    case HECTOPASCAL_LITRE_PER_SECOND = "F93";
    case HECTOPASCAL_CUBIC_METRE_PER_SECOND = "F94";
    case MILLIBAR_LITRE_PER_SECOND = "F95";
    case MILLIBAR_CUBIC_METRE_PER_SECOND = "F96";
    case MEGAPASCAL_LITRE_PER_SECOND = "F97";
    case MEGAPASCAL_CUBIC_METRE_PER_SECOND = "F98";
    case PASCAL_LITRE_PER_SECOND = "F99";
    case DEGREE_FAHRENHEIT = "FAH";
    case FARAD = "FAR";
    case FIBRE_METRE = "FBM";
    case THOUSAND_CUBIC_FOOT = "FC";
    case HUNDRED_CUBIC_METRE = "FF";
    case MICROMOLE = "FH";
    case FAILURES_IN_TIME = "FIT";
    case FLAKE_TON = "FL";
    case FORMAZIN_NEPHELOMETRIC_UNIT = "FNU";
    case FOOT = "FOT";
    case POUND_PER_SQUARE_FOOT = "FP";
    case FOOT_PER_MINUTE = "FR";
    case FOOT_PER_SECOND = "FS";
    case SQUARE_FOOT = "FTK";
    case CUBIC_FOOT = "FTQ";
    case PASCAL_CUBIC_METRE_PER_SECOND = "G01";
    case CENTIMETRE_PER_BAR = "G04";
    case METRE_PER_BAR = "G05";
    case MILLIMETRE_PER_BAR = "G06";
    case SQUARE_INCH_PER_SECOND = "G08";
    case SQUARE_METRE_PER_SECOND_KELVIN = "G09";
    case STOKES_PER_KELVIN = "G10";
    case GRAM_PER_CUBIC_CENTIMETRE_BAR = "G11";
    case GRAM_PER_CUBIC_DECIMETRE_BAR = "G12";
    case GRAM_PER_LITRE_BAR = "G13";
    case GRAM_PER_CUBIC_METRE_BAR = "G14";
    case GRAM_PER_MILLILITRE_BAR = "G15";
    case KILOGRAM_PER_CUBIC_CENTIMETRE_BAR = "G16";
    case KILOGRAM_PER_LITRE_BAR = "G17";
    case KILOGRAM_PER_CUBIC_METRE_BAR = "G18";
    case NEWTON_METRE_PER_KILOGRAM = "G19";
    case US_GALLON_PER_MINUTE = "G2";
    case POUND_FORCE_FOOT_PER_POUND = "G20";
    case CUP_UNIT_OF_VOLUME = "G21";
    case PECK = "G23";
    case TABLESPOON_US = "G24";
    case TEASPOON_US = "G25";
    case STERE = "G26";
    case CUBIC_CENTIMETRE_PER_KELVIN = "G27";
    case LITRE_PER_KELVIN = "G28";
    case CUBIC_METRE_PER_KELVIN = "G29";
    case IMPERIAL_GALLON_PER_MINUTE = "G3";
    case MILLILITRE_PER_KELVIN = "G30";
    case KILOGRAM_PER_CUBIC_CENTIMETRE = "G31";
    case OUNCE_AVOIRDUPOIS_PER_CUBIC_YARD = "G32";
    case GRAM_PER_CUBIC_CENTIMETRE_KELVIN = "G33";
    case GRAM_PER_CUBIC_DECIMETRE_KELVIN = "G34";
    case GRAM_PER_LITRE_KELVIN = "G35";
    case GRAM_PER_CUBIC_METRE_KELVIN = "G36";
    case GRAM_PER_MILLILITRE_KELVIN = "G37";
    case KILOGRAM_PER_CUBIC_CENTIMETRE_KELVIN = "G38";
    case KILOGRAM_PER_LITRE_KELVIN = "G39";
    case KILOGRAM_PER_CUBIC_METRE_KELVIN = "G40";
    case SQUARE_METRE_PER_SECOND_BAR = "G41";
    case MICROSIEMENS_PER_CENTIMETRE = "G42";
    case MICROSIEMENS_PER_METRE = "G43";
    case NANOSIEMENS_PER_CENTIMETRE = "G44";
    case NANOSIEMENS_PER_METRE = "G45";
    case STOKES_PER_BAR = "G46";
    case CUBIC_CENTIMETRE_PER_DAY = "G47";
    case CUBIC_CENTIMETRE_PER_HOUR = "G48";
    case CUBIC_CENTIMETRE_PER_MINUTE = "G49";
    case GALLON_US_PER_HOUR = "G50";
    case LITRE_PER_SECOND = "G51";
    case CUBIC_METRE_PER_DAY = "G52";
    case CUBIC_METRE_PER_MINUTE = "G53";
    case MILLILITRE_PER_DAY = "G54";
    case MILLILITRE_PER_HOUR = "G55";
    case CUBIC_INCH_PER_HOUR = "G56";
    case CUBIC_INCH_PER_MINUTE = "G57";
    case CUBIC_INCH_PER_SECOND = "G58";
    case MILLIAMPERE_PER_LITRE_MINUTE = "G59";
    case VOLT_PER_BAR = "G60";
    case CUBIC_CENTIMETRE_PER_DAY_KELVIN = "G61";
    case CUBIC_CENTIMETRE_PER_HOUR_KELVIN = "G62";
    case CUBIC_CENTIMETRE_PER_MINUTE_KELVIN = "G63";
    case CUBIC_CENTIMETRE_PER_SECOND_KELVIN = "G64";
    case LITRE_PER_DAY_KELVIN = "G65";
    case LITRE_PER_HOUR_KELVIN = "G66";
    case LITRE_PER_MINUTE_KELVIN = "G67";
    case LITRE_PER_SECOND_KELVIN = "G68";
    case CUBIC_METRE_PER_DAY_KELVIN = "G69";
    case CUBIC_METRE_PER_HOUR_KELVIN = "G70";
    case CUBIC_METRE_PER_MINUTE_KELVIN = "G71";
    case CUBIC_METRE_PER_SECOND_KELVIN = "G72";
    case MILLILITRE_PER_DAY_KELVIN = "G73";
    case MILLILITRE_PER_HOUR_KELVIN = "G74";
    case MILLILITRE_PER_MINUTE_KELVIN = "G75";
    case MILLILITRE_PER_SECOND_KELVIN = "G76";
    case MILLIMETRE_TO_THE_FOURTH_POWER = "G77";
    case CUBIC_CENTIMETRE_PER_DAY_BAR = "G78";
    case CUBIC_CENTIMETRE_PER_HOUR_BAR = "G79";
    case CUBIC_CENTIMETRE_PER_MINUTE_BAR = "G80";
    case CUBIC_CENTIMETRE_PER_SECOND_BAR = "G81";
    case LITRE_PER_DAY_BAR = "G82";
    case LITRE_PER_HOUR_BAR = "G83";
    case LITRE_PER_MINUTE_BAR = "G84";
    case LITRE_PER_SECOND_BAR = "G85";
    case CUBIC_METRE_PER_DAY_BAR = "G86";
    case CUBIC_METRE_PER_HOUR_BAR = "G87";
    case CUBIC_METRE_PER_MINUTE_BAR = "G88";
    case CUBIC_METRE_PER_SECOND_BAR = "G89";
    case MILLILITRE_PER_DAY_BAR = "G90";
    case MILLILITRE_PER_HOUR_BAR = "G91";
    case MILLILITRE_PER_MINUTE_BAR = "G92";
    case MILLILITRE_PER_SECOND_BAR = "G93";
    case CUBIC_CENTIMETRE_PER_BAR = "G94";
    case LITRE_PER_BAR = "G95";
    case CUBIC_METRE_PER_BAR = "G96";
    case MILLILITRE_PER_BAR = "G97";
    case MICROHENRY_PER_KILOOHM = "G98";
    case MICROHENRY_PER_OHM = "G99";
    case GALLON_US_PER_DAY = "GB";
    case GIGABECQUEREL = "GBQ";
    case GRAM_DRY_WEIGHT = "GDW";
    case POUND_PER_GALLON_US = "GE";
    case GRAM_PER_METRE_GRAM_PER_100_CENTIMETRES = "GF";
    case GRAM_OF_FISSILE_ISOTOPE = "GFI";
    case GREAT_GROSS = "GGR";
    case GILL_US = "GIA";
    case GRAM_INCLUDING_CONTAINER = "GIC";
    case GILL_UK = "GII";
    case GRAM_INCLUDING_INNER_PACKAGING = "GIP";
    case GRAM_PER_MILLILITRE = "GJ";
    case GRAM_PER_LITRE = "GL";
    case DRY_GALLON_US = "GLD";
    case GALLON_UK = "GLI";
    case GALLON_US = "GLL";
    case GRAM_PER_SQUARE_METRE = "GM";
    case MILLIGRAM_PER_SQUARE_METRE = "GO";
    case MILLIGRAM_PER_CUBIC_METRE = "GP";
    case MICROGRAM_PER_CUBIC_METRE = "GQ";
    case GRAM = "GRM";
    case GRAIN = "GRN";
    case GROSS = "GRO";
    case GIGAJOULE = "GV";
    case GIGAWATT_HOUR = "GWH";
    case HENRY_PER_KILOOHM = "H03";
    case HENRY_PER_OHM = "H04";
    case MILLIHENRY_PER_KILOOHM = "H05";
    case MILLIHENRY_PER_OHM = "H06";
    case PASCAL_SECOND_PER_BAR = "H07";
    case MICROBECQUEREL = "H08";
    case RECIPROCAL_YEAR = "H09";
    case RECIPROCAL_HOUR = "H10";
    case RECIPROCAL_MONTH = "H11";
    case DEGREE_CELSIUS_PER_HOUR = "H12";
    case DEGREE_CELSIUS_PER_MINUTE = "H13";
    case DEGREE_CELSIUS_PER_SECOND = "H14";
    case SQUARE_CENTIMETRE_PER_GRAM = "H15";
    case SQUARE_DECAMETRE = "H16";
    case SQUARE_HECTOMETRE = "H18";
    case CUBIC_HECTOMETRE = "H19";
    case CUBIC_KILOMETRE = "H20";
    case BLANK = "H21";
    case VOLT_SQUARE_INCH_PER_POUND_FORCE = "H22";
    case VOLT_PER_INCH = "H23";
    case VOLT_PER_MICROSECOND = "H24";
    case PERCENT_PER_KELVIN = "H25";
    case OHM_PER_METRE = "H26";
    case DEGREE_PER_METRE = "H27";
    case MICROFARAD_PER_KILOMETRE = "H28";
    case MICROGRAM_PER_LITRE = "H29";
    case SQUARE_MICROMETRE_SQUARE_MICRON = "H30";
    case AMPERE_PER_KILOGRAM = "H31";
    case AMPERE_SQUARED_SECOND = "H32";
    case FARAD_PER_KILOMETRE = "H33";
    case HERTZ_METRE = "H34";
    case KELVIN_METRE_PER_WATT = "H35";
    case MEGAOHM_PER_KILOMETRE = "H36";
    case MEGAOHM_PER_METRE = "H37";
    case MEGAAMPERE = "H38";
    case MEGAHERTZ_KILOMETRE = "H39";
    case NEWTON_PER_AMPERE = "H40";
    case NEWTON_METRE_WATT_TO_THE_POWER_MINUS_0_5 = "H41";
    case PASCAL_PER_METRE = "H42";
    case SIEMENS_PER_CENTIMETRE = "H43";
    case TERAOHM = "H44";
    case VOLT_SECOND_PER_METRE = "H45";
    case VOLT_PER_SECOND = "H46";
    case WATT_PER_CUBIC_METRE = "H47";
    case ATTOFARAD = "H48";
    case CENTIMETRE_PER_HOUR = "H49";
    case RECIPROCAL_CUBIC_CENTIMETRE = "H50";
    case DECIBEL_PER_KILOMETRE = "H51";
    case DECIBEL_PER_METRE = "H52";
    case KILOGRAM_PER_BAR = "H53";
    case KILOGRAM_PER_CUBIC_DECIMETRE_KELVIN = "H54";
    case KILOGRAM_PER_CUBIC_DECIMETRE_BAR = "H55";
    case KILOGRAM_PER_SQUARE_METRE_SECOND = "H56";
    case INCH_PER_TWO_PI_RADIANT = "H57";
    case METRE_PER_VOLT_SECOND = "H58";
    case SQUARE_METRE_PER_NEWTON = "H59";
    case CUBIC_METRE_PER_CUBIC_METRE = "H60";
    case MILLISIEMENS_PER_CENTIMETRE = "H61";
    case MILLIVOLT_PER_MINUTE = "H62";
    case MILLIGRAM_PER_SQUARE_CENTIMETRE = "H63";
    case MILLIGRAM_PER_GRAM = "H64";
    case MILLILITRE_PER_CUBIC_METRE = "H65";
    case MILLIMETRE_PER_YEAR = "H66";
    case MILLIMETRE_PER_HOUR = "H67";
    case MILLIMOLE_PER_GRAM = "H68";
    case PICOPASCAL_PER_KILOMETRE = "H69";
    case PICOSECOND = "H70";
    case PERCENT_PER_MONTH = "H71";
    case PERCENT_PER_HECTOBAR = "H72";
    case PERCENT_PER_DECAKELVIN = "H73";
    case WATT_PER_METRE = "H74";
    case DECAPASCAL = "H75";
    case GRAM_PER_MILLIMETRE = "H76";
    case MODULE_WIDTH = "H77";
    case FRENCH_GAUGE = "H79";
    case RACK_UNIT = "H80";
    case MILLIMETRE_PER_MINUTE = "H81";
    case BIG_POINT = "H82";
    case LITRE_PER_KILOGRAM = "H83";
    case GRAM_MILLIMETRE = "H84";
    case RECIPROCAL_WEEK = "H85";
    case PIECE = "H87";
    case MEGAOHM_KILOMETRE = "H88";
    case PERCENT_PER_OHM = "H89";
    case PERCENT_PER_DEGREE = "H90";
    case PERCENT_PER_TEN_THOUSAND = "H91";
    case PERCENT_PER_ONE_HUNDRED_THOUSAND = "H92";
    case PERCENT_PER_HUNDRED = "H93";
    case PERCENT_PER_THOUSAND = "H94";
    case PERCENT_PER_VOLT = "H95";
    case PERCENT_PER_BAR = "H96";
    case PERCENT_PER_INCH = "H98";
    case PERCENT_PER_METRE = "H99";
    case HANK = "HA";
    case PIECE_DAY = "HAD";
    case HECTOBAR = "HBA";
    case HUNDRED_BOXES = "HBX";
    case HUNDRED_COUNT = "HC";
    case HUNDRED_KILOGRAM_DRY_WEIGHT = "HDW";
    case HEAD = "HEA";
    case HECTOGRAM = "HGM";
    case HUNDRED_CUBIC_FOOT = "HH";
    case HUNDRED_INTERNATIONAL_UNIT = "HIU";
    case HUNDRED_KILOGRAM_NET_MASS = "HKM";
    case HECTOLITRE = "HLT";
    case MILE_PER_HOUR_STATUTE_MILE = "HM";
    case PIECE_MONTH = "HMO";
    case MILLION_CUBIC_METRE = "HMQ";
    case HECTOMETRE = "HMT";
    case HECTOLITRE_OF_PURE_ALCOHOL = "HPA";
    case HERTZ = "HTZ";
    case HOUR = "HUR";
    case PIECE_WEEK = "HWE";
    case INCH_POUND_POUND_INCH = "IA";
    case PERSON = "IE";
    case INCH = "INH";
    case SQUARE_INCH = "INK";
    case CUBIC_INCH = "INQ";
    case INTERNATIONAL_SUGAR_DEGREE = "ISD";
    case INCH_PER_SECOND = "IU";
    case INTERNATIONAL_UNIT_PER_GRAM = "IUG";
    case INCH_PER_SECOND_SQUARED = "IV";
    case PERCENT_PER_MILLIMETRE = "J10";
    case PER_MILLE_PER_PSI = "J12";
    case DEGREE_API = "J13";
    case DEGREE_BAUME_ORIGIN_SCALE = "J14";
    case DEGREE_BAUME_US_HEAVY = "J15";
    case DEGREE_BAUME_US_LIGHT = "J16";
    case DEGREE_BALLING = "J17";
    case DEGREE_BRIX = "J18";
    case DEGREE_FAHRENHEIT_HOUR_SQUARE_FOOT_PER_BRITISH_THERMAL_UNIT_THERMOCHEMICAL = "J19";
    case JOULE_PER_KILOGRAM = "J2";
    case DEGREE_FAHRENHEIT_PER_KELVIN = "J20";
    case DEGREE_FAHRENHEIT_PER_BAR = "J21";
    case DEGREE_FAHRENHEIT_HOUR_SQUARE_FOOT_PER_BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE = "J22";
    case DEGREE_FAHRENHEIT_PER_HOUR = "J23";
    case DEGREE_FAHRENHEIT_PER_MINUTE = "J24";
    case DEGREE_FAHRENHEIT_PER_SECOND = "J25";
    case RECIPROCAL_DEGREE_FAHRENHEIT = "J26";
    case DEGREE_OECHSLE = "J27";
    case DEGREE_RANKINE_PER_HOUR = "J28";
    case DEGREE_RANKINE_PER_MINUTE = "J29";
    case DEGREE_RANKINE_PER_SECOND = "J30";
    case DEGREE_TWADDELL = "J31";
    case MICROPOISE = "J32";
    case MICROGRAM_PER_KILOGRAM = "J33";
    case MICROGRAM_PER_CUBIC_METRE_KELVIN = "J34";
    case MICROGRAM_PER_CUBIC_METRE_BAR = "J35";
    case MICROLITRE_PER_LITRE = "J36";
    case BAUD = "J38";
    case BRITISH_THERMAL_UNIT_MEAN = "J39";
    case BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE_FOOT_PER_HOUR_SQUARE_FOOT_DEGREE_FAHRENHEIT = "J40";
    case BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE_INCH_PER_HOUR_SQUARE_FOOT_DEGREE_FAHRENHEIT = "J41";
    case BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE_INCH_PER_SECOND_SQUARE_FOOT_DEGREE_FAHRENHEIT = "J42";
    case BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE_PER_POUND_DEGREE_FAHRENHEIT = "J43";
    case BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE_PER_MINUTE = "J44";
    case BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE_PER_SECOND = "J45";
    case BRITISH_THERMAL_UNIT_THERMOCHEMICAL_FOOT_PER_HOUR_SQUARE_FOOT_DEGREE_FAHRENHEIT = "J46";
    case BRITISH_THERMAL_UNIT_THERMOCHEMICAL_PER_HOUR = "J47";
    case BRITISH_THERMAL_UNIT_THERMOCHEMICAL_INCH_PER_HOUR_SQUARE_FOOT_DEGREE_FAHRENHEIT = "J48";
    case BRITISH_THERMAL_UNIT_THERMOCHEMICAL_INCH_PER_SECOND_SQUARE_FOOT_DEGREE_FAHRENHEIT = "J49";
    case BRITISH_THERMAL_UNIT_THERMOCHEMICAL_PER_POUND_DEGREE_FAHRENHEIT = "J50";
    case BRITISH_THERMAL_UNIT_THERMOCHEMICAL_PER_MINUTE = "J51";
    case BRITISH_THERMAL_UNIT_THERMOCHEMICAL_PER_SECOND = "J52";
    case COULOMB_SQUARE_METRE_PER_KILOGRAM = "J53";
    case MEGABAUD = "J54";
    case WATT_SECOND = "J55";
    case BAR_PER_BAR = "J56";
    case BARREL_UK_PETROLEUM = "J57";
    case BARREL_UK_PETROLEUM_PER_MINUTE = "J58";
    case BARREL_UK_PETROLEUM_PER_DAY = "J59";
    case BARREL_UK_PETROLEUM_PER_HOUR = "J60";
    case BARREL_UK_PETROLEUM_PER_SECOND = "J61";
    case BARREL_US_PETROLEUM_PER_HOUR = "J62";
    case BARREL_US_PETROLEUM_PER_SECOND = "J63";
    case BUSHEL_UK_PER_DAY = "J64";
    case BUSHEL_UK_PER_HOUR = "J65";
    case BUSHEL_UK_PER_MINUTE = "J66";
    case BUSHEL_UK_PER_SECOND = "J67";
    case BUSHEL_US_DRY_PER_DAY = "J68";
    case BUSHEL_US_DRY_PER_HOUR = "J69";
    case BUSHEL_US_DRY_PER_MINUTE = "J70";
    case BUSHEL_US_DRY_PER_SECOND = "J71";
    case CENTINEWTON_METRE = "J72";
    case CENTIPOISE_PER_KELVIN = "J73";
    case CENTIPOISE_PER_BAR = "J74";
    case CALORIE_MEAN = "J75";
    case CALORIE_INTERNATIONAL_TABLE_PER_GRAM_DEGREE_CELSIUS = "J76";
    case CALORIE_THERMOCHEMICAL_PER_CENTIMETRE_SECOND_DEGREE_CELSIUS = "J78";
    case CALORIE_THERMOCHEMICAL_PER_GRAM_DEGREE_CELSIUS = "J79";
    case CALORIE_THERMOCHEMICAL_PER_MINUTE = "J81";
    case CALORIE_THERMOCHEMICAL_PER_SECOND = "J82";
    case CLO = "J83";
    case CENTIMETRE_PER_SECOND_KELVIN = "J84";
    case CENTIMETRE_PER_SECOND_BAR = "J85";
    case CUBIC_CENTIMETRE_PER_CUBIC_METRE = "J87";
    case CUBIC_DECIMETRE_PER_DAY = "J90";
    case CUBIC_DECIMETRE_PER_CUBIC_METRE = "J91";
    case CUBIC_DECIMETRE_PER_MINUTE = "J92";
    case CUBIC_DECIMETRE_PER_SECOND = "J93";
    case OUNCE_UK_FLUID_PER_DAY = "J95";
    case OUNCE_UK_FLUID_PER_HOUR = "J96";
    case OUNCE_UK_FLUID_PER_MINUTE = "J97";
    case OUNCE_UK_FLUID_PER_SECOND = "J98";
    case OUNCE_US_FLUID_PER_DAY = "J99";
    case JOULE_PER_KELVIN = "JE";
    case MEGAJOULE_PER_KILOGRAM = "JK";
    case MEGAJOULE_PER_CUBIC_METRE = "JM";
    case PIPELINE_JOINT = "JNT";
    case JOULE = "JOU";
    case HUNDRED_METRE = "JPS";
    case NUMBER_OF_JEWELS = "JWL";
    case KILOWATT_DEMAND = "K1";
    case OUNCE_US_FLUID_PER_HOUR = "K10";
    case OUNCE_US_FLUID_PER_MINUTE = "K11";
    case OUNCE_US_FLUID_PER_SECOND = "K12";
    case FOOT_PER_DEGREE_FAHRENHEIT = "K13";
    case FOOT_PER_HOUR = "K14";
    case FOOT_POUND_FORCE_PER_HOUR = "K15";
    case FOOT_POUND_FORCE_PER_MINUTE = "K16";
    case FOOT_PER_PSI = "K17";
    case FOOT_PER_SECOND_DEGREE_FAHRENHEIT = "K18";
    case FOOT_PER_SECOND_PSI = "K19";
    case KILOVOLT_AMPERE_REACTIVE_DEMAND = "K2";
    case RECIPROCAL_CUBIC_FOOT = "K20";
    case CUBIC_FOOT_PER_DEGREE_FAHRENHEIT = "K21";
    case CUBIC_FOOT_PER_DAY = "K22";
    case CUBIC_FOOT_PER_PSI = "K23";
    case GALLON_UK_PER_DAY = "K26";
    case GALLON_UK_PER_HOUR = "K27";
    case GALLON_UK_PER_SECOND = "K28";
    case KILOVOLT_AMPERE_REACTIVE_HOUR = "K3";
    case GALLON_US_LIQUID_PER_SECOND = "K30";
    case GRAM_FORCE_PER_SQUARE_CENTIMETRE = "K31";
    case GILL_UK_PER_DAY = "K32";
    case GILL_UK_PER_HOUR = "K33";
    case GILL_UK_PER_MINUTE = "K34";
    case GILL_UK_PER_SECOND = "K35";
    case GILL_US_PER_DAY = "K36";
    case GILL_US_PER_HOUR = "K37";
    case GILL_US_PER_MINUTE = "K38";
    case GILL_US_PER_SECOND = "K39";
    case STANDARD_ACCELERATION_OF_FREE_FALL = "K40";
    case GRAIN_PER_GALLON_US = "K41";
    case HORSEPOWER_BOILER = "K42";
    case HORSEPOWER_ELECTRIC = "K43";
    case INCH_PER_DEGREE_FAHRENHEIT = "K45";
    case INCH_PER_PSI = "K46";
    case INCH_PER_SECOND_DEGREE_FAHRENHEIT = "K47";
    case INCH_PER_SECOND_PSI = "K48";
    case RECIPROCAL_CUBIC_INCH = "K49";
    case KILOBAUD = "K50";
    case KILOCALORIE_MEAN = "K51";
    case KILOCALORIE_INTERNATIONAL_TABLE_PER_HOUR_METRE_DEGREE_CELSIUS = "K52";
    case KILOCALORIE_THERMOCHEMICAL = "K53";
    case KILOCALORIE_THERMOCHEMICAL_PER_MINUTE = "K54";
    case KILOCALORIE_THERMOCHEMICAL_PER_SECOND = "K55";
    case KILOMOLE_PER_HOUR = "K58";
    case KILOMOLE_PER_CUBIC_METRE_KELVIN = "K59";
    case KILOLITRE = "K6";
    case KILOMOLE_PER_CUBIC_METRE_BAR = "K60";
    case KILOMOLE_PER_MINUTE = "K61";
    case LITRE_PER_LITRE = "K62";
    case RECIPROCAL_LITRE = "K63";
    case POUND_AVOIRDUPOIS_PER_DEGREE_FAHRENHEIT = "K64";
    case POUND_AVOIRDUPOIS_SQUARE_FOOT = "K65";
    case POUND_AVOIRDUPOIS_PER_DAY = "K66";
    case POUND_PER_FOOT_HOUR = "K67";
    case POUND_PER_FOOT_SECOND = "K68";
    case POUND_AVOIRDUPOIS_PER_CUBIC_FOOT_DEGREE_FAHRENHEIT = "K69";
    case POUND_AVOIRDUPOIS_PER_CUBIC_FOOT_PSI = "K70";
    case POUND_AVOIRDUPOIS_PER_GALLON_UK = "K71";
    case POUND_AVOIRDUPOIS_PER_HOUR_DEGREE_FAHRENHEIT = "K73";
    case POUND_AVOIRDUPOIS_PER_HOUR_PSI = "K74";
    case POUND_AVOIRDUPOIS_PER_CUBIC_INCH_DEGREE_FAHRENHEIT = "K75";
    case POUND_AVOIRDUPOIS_PER_CUBIC_INCH_PSI = "K76";
    case POUND_AVOIRDUPOIS_PER_PSI = "K77";
    case POUND_AVOIRDUPOIS_PER_MINUTE = "K78";
    case POUND_AVOIRDUPOIS_PER_MINUTE_DEGREE_FAHRENHEIT = "K79";
    case POUND_AVOIRDUPOIS_PER_MINUTE_PSI = "K80";
    case POUND_AVOIRDUPOIS_PER_SECOND = "K81";
    case POUND_AVOIRDUPOIS_PER_SECOND_DEGREE_FAHRENHEIT = "K82";
    case POUND_AVOIRDUPOIS_PER_SECOND_PSI = "K83";
    case POUND_PER_CUBIC_YARD = "K84";
    case POUND_FORCE_PER_SQUARE_FOOT = "K85";
    case POUND_FORCE_PER_SQUARE_INCH_DEGREE_FAHRENHEIT = "K86";
    case PSI_CUBIC_INCH_PER_SECOND = "K87";
    case PSI_LITRE_PER_SECOND = "K88";
    case PSI_CUBIC_METRE_PER_SECOND = "K89";
    case PSI_CUBIC_YARD_PER_SECOND = "K90";
    case POUND_FORCE_SECOND_PER_SQUARE_FOOT = "K91";
    case POUND_FORCE_SECOND_PER_SQUARE_INCH = "K92";
    case RECIPROCAL_PSI = "K93";
    case QUART_UK_LIQUID_PER_DAY = "K94";
    case QUART_UK_LIQUID_PER_HOUR = "K95";
    case QUART_UK_LIQUID_PER_MINUTE = "K96";
    case QUART_UK_LIQUID_PER_SECOND = "K97";
    case QUART_US_LIQUID_PER_DAY = "K98";
    case QUART_US_LIQUID_PER_HOUR = "K99";
    case CAKE = "KA";
    case KATAL = "KAT";
    case KILOCHARACTER = "KB";
    case KILOBAR = "KBA";
    case KILOGRAM_OF_CHOLINE_CHLORIDE = "KCC";
    case KILOGRAM_DRAINED_NET_WEIGHT = "KDW";
    case KELVIN = "KEL";
    case KILOGRAM = "KGM";
    case KILOGRAM_PER_SECOND = "KGS";
    case KILOGRAM_OF_HYDROGEN_PEROXIDE = "KHY";
    case KILOHERTZ = "KHZ";
    case KILOGRAM_PER_MILLIMETRE_WIDTH = "KI";
    case KILOGRAM_INCLUDING_CONTAINER = "KIC";
    case KILOGRAM_INCLUDING_INNER_PACKAGING = "KIP";
    case KILOSEGMENT = "KJ";
    case KILOJOULE = "KJO";
    case KILOGRAM_PER_METRE = "KL";
    case LACTIC_DRY_MATERIAL_PERCENTAGE = "KLK";
    case KILOLUX = "KLX";
    case KILOGRAM_OF_METHYLAMINE = "KMA";
    case KILOMETRE_PER_HOUR = "KMH";
    case SQUARE_KILOMETRE = "KMK";
    case KILOGRAM_PER_CUBIC_METRE = "KMQ";
    case KILOMETRE = "KMT";
    case KILOGRAM_OF_NITROGEN = "KNI";
    case KILONEWTON_PER_SQUARE_METRE = "KNM";
    case KILOGRAM_NAMED_SUBSTANCE = "KNS";
    case KNOT = "KNT";
    case MILLIEQUIVALENCE_CAUSTIC_POTASH_PER_GRAM_OF_PRODUCT = "KO";
    case KILOPASCAL = "KPA";
    case KILOGRAM_OF_POTASSIUM_HYDROXIDE_CAUSTIC_POTASH = "KPH";
    case KILOGRAM_OF_POTASSIUM_OXIDE = "KPO";
    case KILOGRAM_OF_PHOSPHORUS_PENTOXIDE_PHOSPHORIC_ANHYDRIDE = "KPP";
    case KILOROENTGEN = "KR";
    case KILOGRAM_OF_SUBSTANCE_90_DRY = "KSD";
    case KILOGRAM_OF_SODIUM_HYDROXIDE_CAUSTIC_SODA = "KSH";
    case KIT_BIS = "KT";
    case KILOTONNE = "KTN";
    case KILOGRAM_OF_URANIUM = "KUR";
    case KILOVOLT_AMPERE = "KVA";
    case KILOVAR = "KVR";
    case KILOVOLT = "KVT";
    case KILOGRAM_PER_MILLIMETRE = "KW";
    case KILOWATT_HOUR = "KWH";
    case KILOWATT_HOUR_PER_NORMALIZED_CUBIC_METRE = "KWN";
    case KILOGRAM_OF_TUNGSTEN_TRIOXIDE = "KWO";
    case KILOWATT_HOUR_PER_STANDARD_CUBIC_METRE = "KWS";
    case KILOWATT = "KWT";
    case KILOWATT_YEAR = "KWY";
    case MILLILITRE_PER_KILOGRAM = "KX";
    case QUART_US_LIQUID_PER_MINUTE = "L10";
    case QUART_US_LIQUID_PER_SECOND = "L11";
    case METRE_PER_SECOND_KELVIN = "L12";
    case METRE_PER_SECOND_BAR = "L13";
    case SQUARE_METRE_HOUR_DEGREE_CELSIUS_PER_KILOCALORIE_INTERNATIONAL_TABLE = "L14";
    case MILLIPASCAL_SECOND_PER_KELVIN = "L15";
    case MILLIPASCAL_SECOND_PER_BAR = "L16";
    case MILLIGRAM_PER_CUBIC_METRE_KELVIN = "L17";
    case MILLIGRAM_PER_CUBIC_METRE_BAR = "L18";
    case MILLILITRE_PER_LITRE = "L19";
    case LITRE_PER_MINUTE = "L2";
    case RECIPROCAL_CUBIC_MILLIMETRE = "L20";
    case CUBIC_MILLIMETRE_PER_CUBIC_METRE = "L21";
    case MOLE_PER_HOUR = "L23";
    case MOLE_PER_KILOGRAM_KELVIN = "L24";
    case MOLE_PER_KILOGRAM_BAR = "L25";
    case MOLE_PER_LITRE_KELVIN = "L26";
    case MOLE_PER_LITRE_BAR = "L27";
    case MOLE_PER_CUBIC_METRE_KELVIN = "L28";
    case MOLE_PER_CUBIC_METRE_BAR = "L29";
    case MOLE_PER_MINUTE = "L30";
    case MILLIROENTGEN_AEQUIVALENT_MEN = "L31";
    case NANOGRAM_PER_KILOGRAM = "L32";
    case OUNCE_AVOIRDUPOIS_PER_DAY = "L33";
    case OUNCE_AVOIRDUPOIS_PER_HOUR = "L34";
    case OUNCE_AVOIRDUPOIS_PER_MINUTE = "L35";
    case OUNCE_AVOIRDUPOIS_PER_SECOND = "L36";
    case OUNCE_AVOIRDUPOIS_PER_GALLON_UK = "L37";
    case OUNCE_AVOIRDUPOIS_PER_GALLON_US = "L38";
    case OUNCE_AVOIRDUPOIS_PER_CUBIC_INCH = "L39";
    case OUNCE_AVOIRDUPOIS_FORCE = "L40";
    case OUNCE_AVOIRDUPOIS_FORCE_INCH = "L41";
    case PICOSIEMENS_PER_METRE = "L42";
    case PECK_UK = "L43";
    case PECK_UK_PER_DAY = "L44";
    case PECK_UK_PER_HOUR = "L45";
    case PECK_UK_PER_MINUTE = "L46";
    case PECK_UK_PER_SECOND = "L47";
    case PECK_US_DRY_PER_DAY = "L48";
    case PECK_US_DRY_PER_HOUR = "L49";
    case PECK_US_DRY_PER_MINUTE = "L50";
    case PECK_US_DRY_PER_SECOND = "L51";
    case PSI_PER_PSI = "L52";
    case PINT_UK_PER_DAY = "L53";
    case PINT_UK_PER_HOUR = "L54";
    case PINT_UK_PER_MINUTE = "L55";
    case PINT_UK_PER_SECOND = "L56";
    case PINT_US_LIQUID_PER_DAY = "L57";
    case PINT_US_LIQUID_PER_HOUR = "L58";
    case PINT_US_LIQUID_PER_MINUTE = "L59";
    case PINT_US_LIQUID_PER_SECOND = "L60";
    case SLUG_PER_DAY = "L63";
    case SLUG_PER_FOOT_SECOND = "L64";
    case SLUG_PER_CUBIC_FOOT = "L65";
    case SLUG_PER_HOUR = "L66";
    case SLUG_PER_MINUTE = "L67";
    case SLUG_PER_SECOND = "L68";
    case TONNE_PER_KELVIN = "L69";
    case TONNE_PER_BAR = "L70";
    case TONNE_PER_DAY = "L71";
    case TONNE_PER_DAY_KELVIN = "L72";
    case TONNE_PER_DAY_BAR = "L73";
    case TONNE_PER_HOUR_KELVIN = "L74";
    case TONNE_PER_HOUR_BAR = "L75";
    case TONNE_PER_CUBIC_METRE_KELVIN = "L76";
    case TONNE_PER_CUBIC_METRE_BAR = "L77";
    case TONNE_PER_MINUTE = "L78";
    case TONNE_PER_MINUTE_KELVIN = "L79";
    case TONNE_PER_MINUTE_BAR = "L80";
    case TONNE_PER_SECOND = "L81";
    case TONNE_PER_SECOND_KELVIN = "L82";
    case TONNE_PER_SECOND_BAR = "L83";
    case TON_UK_SHIPPING = "L84";
    case TON_LONG_PER_DAY = "L85";
    case TON_US_SHIPPING = "L86";
    case TON_SHORT_PER_DEGREE_FAHRENHEIT = "L87";
    case TON_SHORT_PER_DAY = "L88";
    case TON_SHORT_PER_HOUR_DEGREE_FAHRENHEIT = "L89";
    case TON_SHORT_PER_HOUR_PSI = "L90";
    case TON_SHORT_PER_PSI = "L91";
    case TON_UK_LONG_PER_CUBIC_YARD = "L92";
    case TON_US_SHORT_PER_CUBIC_YARD = "L93";
    case TON_FORCE_US_SHORT = "L94";
    case COMMON_YEAR = "L95";
    case SIDEREAL_YEAR = "L96";
    case YARD_PER_DEGREE_FAHRENHEIT = "L98";
    case YARD_PER_PSI = "L99";
    case POUND_PER_CUBIC_INCH = "LA";
    case LACTOSE_EXCESS_PERCENTAGE = "LAC";
    case POUND = "LBR";
    case TROY_POUND_US = "LBT";
    case LITRE_PER_DAY = "LD";
    case LEAF = "LEF";
    case LINEAR_FOOT = "LF";
    case LABOUR_HOUR = "LH";
    case LINK = "LK";
    case LINEAR_METRE = "LM";
    case LENGTH = "LN";
    case LOT_UNIT_OF_PROCUREMENT = "LO";
    case LIQUID_POUND = "LP";
    case LITRE_OF_PURE_ALCOHOL = "LPA";
    case LAYER = "LR";
    case LUMP_SUM = "LS";
    case TON_UK_OR_LONG_TON_US = "LTN";
    case LITRE = "LTR";
    case METRIC_TON_LUBRICATING_OIL = "LUB";
    case LUMEN = "LUM";
    case LUX = "LUX";
    case LINEAR_YARD = "LY";
    case MILLIGRAM_PER_LITRE = "M1";
    case RECIPROCAL_CUBIC_YARD = "M10";
    case CUBIC_YARD_PER_DEGREE_FAHRENHEIT = "M11";
    case CUBIC_YARD_PER_DAY = "M12";
    case CUBIC_YARD_PER_HOUR = "M13";
    case CUBIC_YARD_PER_PSI = "M14";
    case CUBIC_YARD_PER_MINUTE = "M15";
    case CUBIC_YARD_PER_SECOND = "M16";
    case KILOHERTZ_METRE = "M17";
    case GIGAHERTZ_METRE = "M18";
    case BEAUFORT = "M19";
    case RECIPROCAL_MEGAKELVIN_OR_MEGAKELVIN_TO_THE_POWER_MINUS_ONE = "M20";
    case RECIPROCAL_KILOVOLT_AMPERE_RECIPROCAL_HOUR = "M21";
    case MILLILITRE_PER_SQUARE_CENTIMETRE_MINUTE = "M22";
    case NEWTON_PER_CENTIMETRE = "M23";
    case OHM_KILOMETRE = "M24";
    case PERCENT_PER_DEGREE_CELSIUS = "M25";
    case GIGAOHM_PER_METRE = "M26";
    case MEGAHERTZ_METRE = "M27";
    case KILOGRAM_PER_KILOGRAM = "M29";
    case RECIPROCAL_VOLT_AMPERE_RECIPROCAL_SECOND = "M30";
    case KILOGRAM_PER_KILOMETRE = "M31";
    case PASCAL_SECOND_PER_LITRE = "M32";
    case MILLIMOLE_PER_LITRE = "M33";
    case NEWTON_METRE_PER_SQUARE_METRE = "M34";
    case MILLIVOLT_AMPERE = "M35";
    case THIRTY_DAY_MONTH = "M36";
    case ACTUAL_360 = "M37";
    case KILOMETRE_PER_SECOND_SQUARED = "M38";
    case CENTIMETRE_PER_SECOND_SQUARED = "M39";
    case MONETARY_VALUE = "M4";
    case YARD_PER_SECOND_SQUARED = "M40";
    case MILLIMETRE_PER_SECOND_SQUARED = "M41";
    case MILE_STATUTE_MILE_PER_SECOND_SQUARED = "M42";
    case MIL = "M43";
    case REVOLUTION = "M44";
    case DEGREE_UNIT_OF_ANGLE_PER_SECOND_SQUARED = "M45";
    case REVOLUTION_PER_MINUTE = "M46";
    case CIRCULAR_MIL = "M47";
    case SQUARE_MILE_BASED_ON_U_S_SURVEY_FOOT = "M48";
    case CHAIN_BASED_ON_U_S_SURVEY_FOOT = "M49";
    case MICROCURIE = "M5";
    case FURLONG = "M50";
    case FOOT_U_S_SURVEY = "M51";
    case MILE_BASED_ON_U_S_SURVEY_FOOT = "M52";
    case METRE_PER_PASCAL = "M53";
    case METRE_PER_RADIANT = "M55";
    case SHAKE = "M56";
    case MILE_PER_MINUTE = "M57";
    case MILE_PER_SECOND = "M58";
    case METRE_PER_SECOND_PASCAL = "M59";
    case METRE_PER_HOUR = "M60";
    case INCH_PER_YEAR = "M61";
    case KILOMETRE_PER_SECOND = "M62";
    case INCH_PER_MINUTE = "M63";
    case YARD_PER_SECOND = "M64";
    case YARD_PER_MINUTE = "M65";
    case YARD_PER_HOUR = "M66";
    case ACRE_FOOT_BASED_ON_U_S_SURVEY_FOOT = "M67";
    case CORD_128_FT3 = "M68";
    case CUBIC_MILE_UK_STATUTE = "M69";
    case MICRO_INCH = "M7";
    case TON_REGISTER = "M70";
    case CUBIC_METRE_PER_PASCAL = "M71";
    case BEL = "M72";
    case KILOGRAM_PER_CUBIC_METRE_PASCAL = "M73";
    case KILOGRAM_PER_PASCAL = "M74";
    case KILOPOUND_FORCE = "M75";
    case POUNDAL = "M76";
    case KILOGRAM_METRE_PER_SECOND_SQUARED = "M77";
    case POND = "M78";
    case SQUARE_FOOT_PER_HOUR = "M79";
    case STOKES_PER_PASCAL = "M80";
    case SQUARE_CENTIMETRE_PER_SECOND = "M81";
    case SQUARE_METRE_PER_SECOND_PASCAL = "M82";
    case DENIER_FIBERS = "M83";
    case POUND_PER_YARD = "M84";
    case TON_ASSAY = "M85";
    case PFUND = "M86";
    case KILOGRAM_PER_SECOND_PASCAL = "M87";
    case TONNE_PER_MONTH = "M88";
    case TONNE_PER_YEAR = "M89";
    case MILLION_BTU_PER_1000_CUBIC_FOOT = "M9";
    case KILOPOUND_PER_HOUR = "M90";
    case POUND_PER_POUND = "M91";
    case POUND_FORCE_FOOT = "M92";
    case NEWTON_METRE_PER_RADIAN = "M93";
    case KILOGRAM_METRE = "M94";
    case POUNDAL_FOOT = "M95";
    case POUNDAL_INCH = "M96";
    case DYNE_METRE = "M97";
    case KILOGRAM_CENTIMETRE_PER_SECOND = "M98";
    case GRAM_CENTIMETRE_PER_SECOND = "M99";
    case MEGAVOLT_AMPERE_REACTIVE_HOUR = "MAH";
    case MEGALITRE = "MAL";
    case MEGAMETRE = "MAM";
    case MEGAVAR = "MAR";
    case MEGAWATT = "MAW";
    case THOUSAND_STANDARD_BRICK_EQUIVALENT = "MBE";
    case THOUSAND_BOARD_FOOT = "MBF";
    case MILLIBAR = "MBR";
    case MICROGRAM = "MC";
    case MILLICURIE = "MCU";
    case AIR_DRY_METRIC_TON = "MD";
    case MILLIGRAM = "MGM";
    case MEGAHERTZ = "MHZ";
    case SQUARE_MILE_STATUTE_MILE = "MIK";
    case THOUSAND = "MIL";
    case MINUTE_UNIT_OF_TIME = "MIN";
    case MILLION = "MIO";
    case MILLION_INTERNATIONAL_UNIT = "MIU";
    case SQUARE_METRE_DAY = "MKD";
    case SQUARE_METRE_MONTH = "MKM";
    case SQUARE_METRE_WEEK = "MKW";
    case MILLIARD = "MLD";
    case MILLILITRE = "MLT";
    case SQUARE_MILLIMETRE = "MMK";
    case CUBIC_MILLIMETRE = "MMQ";
    case MILLIMETRE = "MMT";
    case KILOGRAM_DRY_WEIGHT = "MND";
    case MEGA_JOULE_PER_NORMALISED_CUBIC_METRE = "MNJ";
    case MONTH = "MON";
    case MEGAPASCAL = "MPA";
    case CUBIC_METRE_DAY = "MQD";
    case CUBIC_METRE_PER_HOUR = "MQH";
    case CUBIC_METRE_MONTH = "MQM";
    case CUBIC_METRE_PER_SECOND = "MQS";
    case CUBIC_METRE_WEEK = "MQW";
    case METRE_DAY = "MRD";
    case METRE_MONTH = "MRM";
    case METRE_WEEK = "MRW";
    case METRE_PER_SECOND_SQUARED = "MSK";
    case SQUARE_METRE = "MTK";
    case CUBIC_METRE = "MTQ";
    case METRE = "MTR";
    case METRE_PER_SECOND = "MTS";
    case MILIHERTZ = "MTZ";
    case MEGAVOLT_AMPERE = "MVA";
    case MEGAWATT_HOUR_1000_KW_H = "MWH";
    case PEN_CALORIE = "N1";
    case POUND_FOOT_PER_SECOND = "N10";
    case POUND_INCH_PER_SECOND = "N11";
    case PFERDESTAERKE = "N12";
    case CENTIMETRE_OF_MERCURY_0_C = "N13";
    case CENTIMETRE_OF_WATER_4_C = "N14";
    case FOOT_OF_WATER_39_2_F = "N15";
    case INCH_OF_MERCURY_32_F = "N16";
    case INCH_OF_MERCURY_60_F = "N17";
    case INCH_OF_WATER_39_2_F = "N18";
    case INCH_OF_WATER_60_F = "N19";
    case KIP_PER_SQUARE_INCH = "N20";
    case POUNDAL_PER_SQUARE_FOOT = "N21";
    case OUNCE_AVOIRDUPOIS_PER_SQUARE_INCH = "N22";
    case CONVENTIONAL_METRE_OF_WATER = "N23";
    case GRAM_PER_SQUARE_MILLIMETRE = "N24";
    case POUND_PER_SQUARE_YARD = "N25";
    case POUNDAL_PER_SQUARE_INCH = "N26";
    case FOOT_TO_THE_FOURTH_POWER = "N27";
    case CUBIC_DECIMETRE_PER_KILOGRAM = "N28";
    case CUBIC_FOOT_PER_POUND = "N29";
    case PRINT_POINT = "N3";
    case CUBIC_INCH_PER_POUND = "N30";
    case KILONEWTON_PER_METRE = "N31";
    case POUNDAL_PER_INCH = "N32";
    case POUND_FORCE_PER_YARD = "N33";
    case POUNDAL_SECOND_PER_SQUARE_FOOT = "N34";
    case POISE_PER_PASCAL = "N35";
    case NEWTON_SECOND_PER_SQUARE_METRE = "N36";
    case KILOGRAM_PER_METRE_SECOND = "N37";
    case KILOGRAM_PER_METRE_MINUTE = "N38";
    case KILOGRAM_PER_METRE_DAY = "N39";
    case KILOGRAM_PER_METRE_HOUR = "N40";
    case GRAM_PER_CENTIMETRE_SECOND = "N41";
    case POUNDAL_SECOND_PER_SQUARE_INCH = "N42";
    case POUND_PER_FOOT_MINUTE = "N43";
    case POUND_PER_FOOT_DAY = "N44";
    case CUBIC_METRE_PER_SECOND_PASCAL = "N45";
    case FOOT_POUNDAL = "N46";
    case INCH_POUNDAL = "N47";
    case WATT_PER_SQUARE_CENTIMETRE = "N48";
    case WATT_PER_SQUARE_INCH = "N49";
    case BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE_PER_SQUARE_FOOT_HOUR = "N50";
    case BRITISH_THERMAL_UNIT_THERMOCHEMICAL_PER_SQUARE_FOOT_HOUR = "N51";
    case BRITISH_THERMAL_UNIT_THERMOCHEMICAL_PER_SQUARE_FOOT_MINUTE = "N52";
    case BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE_PER_SQUARE_FOOT_SECOND = "N53";
    case BRITISH_THERMAL_UNIT_THERMOCHEMICAL_PER_SQUARE_FOOT_SECOND = "N54";
    case BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE_PER_SQUARE_INCH_SECOND = "N55";
    case CALORIE_THERMOCHEMICAL_PER_SQUARE_CENTIMETRE_MINUTE = "N56";
    case CALORIE_THERMOCHEMICAL_PER_SQUARE_CENTIMETRE_SECOND = "N57";
    case BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE_PER_CUBIC_FOOT = "N58";
    case BRITISH_THERMAL_UNIT_THERMOCHEMICAL_PER_CUBIC_FOOT = "N59";
    case BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE_PER_DEGREE_FAHRENHEIT = "N60";
    case BRITISH_THERMAL_UNIT_THERMOCHEMICAL_PER_DEGREE_FAHRENHEIT = "N61";
    case BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE_PER_DEGREE_RANKINE = "N62";
    case BRITISH_THERMAL_UNIT_THERMOCHEMICAL_PER_DEGREE_RANKINE = "N63";
    case BRITISH_THERMAL_UNIT_THERMOCHEMICAL_PER_POUND_DEGREE_RANKINE = "N64";
    case KILOCALORIE_INTERNATIONAL_TABLE_PER_GRAM_KELVIN = "N65";
    case BRITISH_THERMAL_UNIT_39_F = "N66";
    case BRITISH_THERMAL_UNIT_59_F = "N67";
    case BRITISH_THERMAL_UNIT_60_F = "N68";
    case CALORIE_20_C = "N69";
    case QUAD_1015_BTUIT = "N70";
    case THERM_EC = "N71";
    case THERM_U_S = "N72";
    case BRITISH_THERMAL_UNIT_THERMOCHEMICAL_PER_POUND = "N73";
    case BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE_PER_HOUR_SQUARE_FOOT_DEGREE_FAHRENHEIT = "N74";
    case BRITISH_THERMAL_UNIT_THERMOCHEMICAL_PER_HOUR_SQUARE_FOOT_DEGREE_FAHRENHEIT = "N75";
    case BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE_PER_SECOND_SQUARE_FOOT_DEGREE_FAHRENHEIT = "N76";
    case BRITISH_THERMAL_UNIT_THERMOCHEMICAL_PER_SECOND_SQUARE_FOOT_DEGREE_FAHRENHEIT = "N77";
    case KILOWATT_PER_SQUARE_METRE_KELVIN = "N78";
    case KELVIN_PER_PASCAL = "N79";
    case WATT_PER_METRE_DEGREE_CELSIUS = "N80";
    case KILOWATT_PER_METRE_KELVIN = "N81";
    case KILOWATT_PER_METRE_DEGREE_CELSIUS = "N82";
    case METRE_PER_DEGREE_CELCIUS_METRE = "N83";
    case DEGREE_FAHRENHEIT_HOUR_PER_BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE = "N84";
    case DEGREE_FAHRENHEIT_HOUR_PER_BRITISH_THERMAL_UNIT_THERMOCHEMICAL = "N85";
    case DEGREE_FAHRENHEIT_SECOND_PER_BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE = "N86";
    case DEGREE_FAHRENHEIT_SECOND_PER_BRITISH_THERMAL_UNIT_THERMOCHEMICAL = "N87";
    case DEGREE_FAHRENHEIT_HOUR_SQUARE_FOOT_PER_BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE_INCH = "N88";
    case DEGREE_FAHRENHEIT_HOUR_SQUARE_FOOT_PER_BRITISH_THERMAL_UNIT_THERMOCHEMICAL_INCH = "N89";
    case KILOFARAD = "N90";
    case RECIPROCAL_JOULE = "N91";
    case PICOSIEMENS = "N92";
    case AMPERE_PER_PASCAL = "N93";
    case FRANKLIN = "N94";
    case AMPERE_MINUTE = "N95";
    case BIOT = "N96";
    case GILBERT = "N97";
    case VOLT_PER_PASCAL = "N98";
    case PICOVOLT = "N99";
    case MILLIGRAM_PER_KILOGRAM = "NA";
    case NUMBER_OF_ARTICLES = "NAR";
    case NUMBER_OF_CELLS = "NCL";
    case NEWTON = "NEW";
    case MESSAGE = "NF";
    case NIL = "NIL";
    case NUMBER_OF_INTERNATIONAL_UNITS = "NIU";
    case LOAD = "NL";
    case NORMALISED_CUBIC_METRE = "NM3";
    case NAUTICAL_MILE = "NMI";
    case NUMBER_OF_PACKS = "NMP";
    case NUMBER_OF_PARTS = "NPT";
    case NET_TON = "NT";
    case NEPHELOMETRIC_TURBIDITY_UNIT = "NTU";
    case NEWTON_METRE = "NU";
    case PART_PER_THOUSAND = "NX";
    case PANEL = "OA";
    case OZONE_DEPLETION_EQUIVALENT = "ODE";
    case ODS_GRAMS = "ODG";
    case ODS_KILOGRAMS = "ODK";
    case ODS_MILLIGRAMS = "ODM";
    case OHM = "OHM";
    case OUNCE_PER_SQUARE_YARD = "ON";
    case OUNCE_AVOIRDUPOIS = "ONZ";
    case OSCILLATIONS_PER_MINUTE = "OPM";
    case OVERTIME_HOUR = "OT";
    case FLUID_OUNCE_US = "OZA";
    case FLUID_OUNCE_UK = "OZI";
    case PERCENT = "P1";
    case COULOMB_PER_METRE = "P10";
    case KILOWEBER = "P11";
    case GAMMA = "P12";
    case KILOTESLA = "P13";
    case JOULE_PER_SECOND = "P14";
    case JOULE_PER_MINUTE = "P15";
    case JOULE_PER_HOUR = "P16";
    case JOULE_PER_DAY = "P17";
    case KILOJOULE_PER_SECOND = "P18";
    case KILOJOULE_PER_MINUTE = "P19";
    case POUND_PER_FOOT = "P2";
    case KILOJOULE_PER_HOUR = "P20";
    case KILOJOULE_PER_DAY = "P21";
    case NANOOHM = "P22";
    case OHM_CIRCULAR_MIL_PER_FOOT = "P23";
    case KILOHENRY = "P24";
    case LUMEN_PER_SQUARE_FOOT = "P25";
    case PHOT = "P26";
    case FOOTCANDLE = "P27";
    case CANDELA_PER_SQUARE_INCH = "P28";
    case FOOTLAMBERT = "P29";
    case LAMBERT = "P30";
    case STILB = "P31";
    case CANDELA_PER_SQUARE_FOOT = "P32";
    case KILOCANDELA = "P33";
    case MILLICANDELA = "P34";
    case HEFNER_KERZE = "P35";
    case INTERNATIONAL_CANDLE = "P36";
    case BRITISH_THERMAL_UNIT_INTERNATIONAL_TABLE_PER_SQUARE_FOOT = "P37";
    case BRITISH_THERMAL_UNIT_THERMOCHEMICAL_PER_SQUARE_FOOT = "P38";
    case CALORIE_THERMOCHEMICAL_PER_SQUARE_CENTIMETRE = "P39";
    case LANGLEY = "P40";
    case DECADE_LOGARITHMIC = "P41";
    case PASCAL_SQUARED_SECOND = "P42";
    case BEL_PER_METRE = "P43";
    case POUND_MOLE = "P44";
    case POUND_MOLE_PER_SECOND = "P45";
    case POUND_MOLE_PER_MINUTE = "P46";
    case KILOMOLE_PER_KILOGRAM = "P47";
    case POUND_MOLE_PER_POUND = "P48";
    case NEWTON_SQUARE_METRE_PER_AMPERE = "P49";
    case FIVE_PACK = "P5";
    case WEBER_METRE = "P50";
    case MOL_PER_KILOGRAM_PASCAL = "P51";
    case MOL_PER_CUBIC_METRE_PASCAL = "P52";
    case UNIT_POLE = "P53";
    case MILLIGRAY_PER_SECOND = "P54";
    case MICROGRAY_PER_SECOND = "P55";
    case NANOGRAY_PER_SECOND = "P56";
    case GRAY_PER_MINUTE = "P57";
    case MILLIGRAY_PER_MINUTE = "P58";
    case MICROGRAY_PER_MINUTE = "P59";
    case NANOGRAY_PER_MINUTE = "P60";
    case GRAY_PER_HOUR = "P61";
    case MILLIGRAY_PER_HOUR = "P62";
    case MICROGRAY_PER_HOUR = "P63";
    case NANOGRAY_PER_HOUR = "P64";
    case SIEVERT_PER_SECOND = "P65";
    case MILLISIEVERT_PER_SECOND = "P66";
    case MICROSIEVERT_PER_SECOND = "P67";
    case NANOSIEVERT_PER_SECOND = "P68";
    case REM_PER_SECOND = "P69";
    case SIEVERT_PER_HOUR = "P70";
    case MILLISIEVERT_PER_HOUR = "P71";
    case MICROSIEVERT_PER_HOUR = "P72";
    case NANOSIEVERT_PER_HOUR = "P73";
    case SIEVERT_PER_MINUTE = "P74";
    case MILLISIEVERT_PER_MINUTE = "P75";
    case MICROSIEVERT_PER_MINUTE = "P76";
    case NANOSIEVERT_PER_MINUTE = "P77";
    case RECIPROCAL_SQUARE_INCH = "P78";
    case PASCAL_SQUARE_METRE_PER_KILOGRAM = "P79";
    case MILLIPASCAL_PER_METRE = "P80";
    case KILOPASCAL_PER_METRE = "P81";
    case HECTOPASCAL_PER_METRE = "P82";
    case STANDARD_ATMOSPHERE_PER_METRE = "P83";
    case TECHNICAL_ATMOSPHERE_PER_METRE = "P84";
    case TORR_PER_METRE = "P85";
    case PSI_PER_INCH = "P86";
    case CUBIC_METRE_PER_SECOND_SQUARE_METRE = "P87";
    case RHE = "P88";
    case POUND_FORCE_FOOT_PER_INCH = "P89";
    case POUND_FORCE_INCH_PER_INCH = "P90";
    case PERM_0_C = "P91";
    case PERM_23_C = "P92";
    case BYTE_PER_SECOND = "P93";
    case KILOBYTE_PER_SECOND = "P94";
    case MEGABYTE_PER_SECOND = "P95";
    case RECIPROCAL_VOLT = "P96";
    case RECIPROCAL_RADIAN = "P97";
    case PASCAL_TO_THE_POWER_SUM_OF_STOICHIOMETRIC_NUMBERS = "P98";
    case MOLE_PER_CUBIV_METRE_TO_THE_POWER_SUM_OF_STOICHIOMETRIC_NUMBERS = "P99";
    case PASCAL = "PAL";
    case PAD = "PD";
    case PROOF_LITRE = "PFL";
    case PROOF_GALLON = "PGL";
    case PITCH = "PI";
    case DEGREE_PLATO = "PLA";
    case POUND_PER_INCH_OF_LENGTH = "PO";
    case PAGE_PER_INCH = "PQ";
    case PAIR = "PR";
    case POUND_FORCE_PER_SQUARE_INCH = "PS";
    case DRY_PINT_US = "PTD";
    case PINT_UK = "PTI";
    case LIQUID_PINT_US = "PTL";
    case PORTION = "PTN";
    case JOULE_PER_TESLA = "Q10";
    case ERLANG = "Q11";
    case OCTET = "Q12";
    case OCTET_PER_SECOND = "Q13";
    case SHANNON = "Q14";
    case HARTLEY = "Q15";
    case NATURAL_UNIT_OF_INFORMATION = "Q16";
    case SHANNON_PER_SECOND = "Q17";
    case HARTLEY_PER_SECOND = "Q18";
    case NATURAL_UNIT_OF_INFORMATION_PER_SECOND = "Q19";
    case SECOND_PER_KILOGRAMM = "Q20";
    case WATT_SQUARE_METRE = "Q21";
    case SECOND_PER_RADIAN_CUBIC_METRE = "Q22";
    case WEBER_TO_THE_POWER_MINUS_ONE = "Q23";
    case RECIPROCAL_INCH = "Q24";
    case DIOPTRE = "Q25";
    case ONE_PER_ONE = "Q26";
    case NEWTON_METRE_PER_METRE = "Q27";
    case KILOGRAM_PER_SQUARE_METRE_PASCAL_SECOND = "Q28";
    case MICROGRAM_PER_HECTOGRAM = "Q29";
    case MEAL = "Q3";
    case PH_POTENTIAL_OF_HYDROGEN = "Q30";
    case KILOJOULE_PER_GRAM = "Q31";
    case FEMTOLITRE = "Q32";
    case PICOLITRE = "Q33";
    case NANOLITRE = "Q34";
    case MEGAWATTS_PER_MINUTE = "Q35";
    case SQUARE_METRE_PER_CUBIC_METRE = "Q36";
    case STANDARD_CUBIC_METRE_PER_DAY = "Q37";
    case STANDARD_CUBIC_METRE_PER_HOUR = "Q38";
    case NORMALIZED_CUBIC_METRE_PER_DAY = "Q39";
    case NORMALIZED_CUBIC_METRE_PER_HOUR = "Q40";
    case JOULE_PER_NORMALISED_CUBIC_METRE = "Q41";
    case JOULE_PER_STANDARD_CUBIC_METRE = "Q42";
    case PAGE_FACSIMILE = "QA";
    case QUARTER_OF_A_YEAR = "QAN";
    case PAGE_HARDCOPY = "QB";
    case QUIRE = "QR";
    case DRY_QUART_US = "QTD";
    case QUART_UK = "QTI";
    case LIQUID_QUART_US = "QTL";
    case QUARTER_UK = "QTR";
    case PICA = "R1";
    case THOUSAND_CUBIC_METRE = "R9";
    case RUNNING_OR_OPERATING_HOUR = "RH";
    case REAM = "RM";
    case ROOM = "ROM";
    case POUND_PER_REAM = "RP";
    case REVOLUTIONS_PER_MINUTE = "RPM";
    case REVOLUTIONS_PER_SECOND = "RPS";
    case REVENUE_TON_MILE = "RT";
    case SQUARE_FOOT_PER_SECOND = "S3";
    case SQUARE_METRE_PER_SECOND = "S4";
    case HALF_YEAR_6_MONTHS = "SAN";
    case SCORE = "SCO";
    case SCRUPLE = "SCR";
    case SECOND_UNIT_OF_TIME = "SEC";
    case SET = "SET";
    case SEGMENT = "SG";
    case SIEMENS = "SIE";
    case STANDARD_CUBIC_METRE = "SM3";
    case MILE_STATUTE_MILE = "SMI";
    case SQUARE = "SQ";
    case SQUARE_ROOFING = "SQR";
    case STRIP = "SR";
    case STICK = "STC";
    case STONE_UK = "STI";
    case STICK_CIGARETTE = "STK";
    case STANDARD_LITRE = "STL";
    case TON_US_OR_SHORT_TON_UK_US = "STN";
    case STRAW = "STW";
    case SKEIN = "SW";
    case SHIPMENT = "SX";
    case SYRINGE = "SYR";
    case TELECOMMUNICATION_LINE_IN_SERVICE = "T0";
    case THOUSAND_PIECE = "T3";
    case KILOAMPERE_HOUR_THOUSAND_AMPERE_HOUR = "TAH";
    case TOTAL_ACID_NUMBER = "TAN";
    case THOUSAND_SQUARE_INCH = "TI";
    case METRIC_TON_INCLUDING_CONTAINER = "TIC";
    case METRIC_TON_INCLUDING_INNER_PACKAGING = "TIP";
    case TONNE_KILOMETRE = "TKM";
    case KILOGRAM_OF_IMPORTED_MEAT_LESS_OFFAL = "TMS";
    case TONNE_METRIC_TON = "TNE";
    case TEN_PACK = "TP";
    case TEETH_PER_INCH = "TPI";
    case TEN_PAIR = "TPR";
    case THOUSAND_CUBIC_METRE_PER_DAY = "TQD";
    case TRILLION_EUR = "TRL";
    case TEN_SET = "TST";
    case TEN_THOUSAND_STICKS = "TTS";
    case TREATMENT = "U1";
    case TABLET = "U2";
    case TELECOMMUNICATION_LINE_IN_SERVICE_AVERAGE = "UB";
    case TELECOMMUNICATION_PORT = "UC";
    case VOLT_AMPERE_PER_KILOGRAM = "VA";
    case VOLT = "VLT";
    case PERCENT_VOLUME = "VP";
    case WET_KILO = "W2";
    case WATT_PER_KILOGRAM = "WA";
    case WET_POUND = "WB";
    case CORD = "WCD";
    case WET_TON = "WE";
    case WEBER = "WEB";
    case WEEK = "WEE";
    case WINE_GALLON = "WG";
    case WATT_HOUR = "WHR";
    case WORKING_MONTH = "WM";
    case STANDARD = "WSD";
    case WATT = "WTT";
    case GUNTER_S_CHAIN = "X1";
    case SQUARE_YARD = "YDK";
    case CUBIC_YARD = "YDQ";
    case YARD = "YRD";
    case HANGING_CONTAINER = "Z11";
    case NANOMOLE = "Z9";
    case PAGE = "ZP";
    case MUTUALLY_DEFINED = "ZZ";
    case DRUM_STEEL = "X1A";
    case DRUM_ALUMINIUM = "X1B";
    case DRUM_PLYWOOD = "X1D";
    case CONTAINER_FLEXIBLE = "X1F";
    case DRUM_FIBRE = "X1G";
    case DRUM_WOODEN = "X1W";
    case BARREL_WOODEN = "X2C";
    case JERRICAN_STEEL = "X3A";
    case JERRICAN_PLASTIC = "X3H";
    case BAG_SUPER_BULK = "X43";
    case BAG_POLYBAG = "X44";
    case BOX_STEEL = "X4A";
    case BOX_ALUMINIUM = "X4B";
    case BOX_NATURAL_WOOD = "X4C";
    case BOX_PLYWOOD = "X4D";
    case BOX_RECONSTITUTED_WOOD = "X4F";
    case BOX_FIBREBOARD = "X4G";
    case BOX_PLASTIC = "X4H";
    case BAG_WOVEN_PLASTIC = "X5H";
    case BAG_TEXTILE = "X5L";
    case BAG_PAPER = "X5M";
    case COMPOSITE_PACKAGING_PLASTIC_RECEPTACLE = "X6H";
    case COMPOSITE_PACKAGING_GLASS_RECEPTACLE = "X6P";
    case CASE_CAR = "X7A";
    case CASE_WOODEN = "X7B";
    case PALLET_WOODEN = "X8A";
    case CRATE_WOODEN = "X8B";
    case BUNDLE_WOODEN = "X8C";
    case INTERMEDIATE_BULK_CONTAINER_RIGID_PLASTIC = "XAA";
    case RECEPTACLE_FIBRE = "XAB";
    case RECEPTACLE_PAPER = "XAC";
    case RECEPTACLE_WOODEN = "XAD";
    case AEROSOL = "XAE";
    case PALLET_MODULAR_COLLARS_80CMS_60CMS = "XAF";
    case PALLET_SHRINKWRAPPED = "XAG";
    case PALLET_100CMS_110CMS = "XAH";
    case CLAMSHELL = "XAI";
    case CONE = "XAJ";
    case BALL_X = "XAL";
    case AMPOULE_NON_PROTECTED = "XAM";
    case AMPOULE_PROTECTED = "XAP";
    case ATOMIZER = "XAT";
    case CAPSULE = "XAV";
    case BELT = "XB4";
    case BARREL = "XBA";
    case BOBBIN = "XBB";
    case BOTTLECRATE_BOTTLERACK = "XBC";
    case BOARD = "XBD";
    case BUNDLE = "XBE";
    case BALLOON_NON_PROTECTED = "XBF";
    case BAG = "XBG";
    case BUNCH = "XBH";
    case BIN = "XBI";
    case BUCKET = "XBJ";
    case BASKET = "XBK";
    case BALE_COMPRESSED = "XBL";
    case BASIN = "XBM";
    case BALE_NON_COMPRESSED = "XBN";
    case BOTTLE_NON_PROTECTED_CYLINDRICAL = "XBO";
    case BALLOON_PROTECTED = "XBP";
    case BOTTLE_PROTECTED_CYLINDRICAL = "XBQ";
    case BAR = "XBR";
    case BOTTLE_NON_PROTECTED_BULBOUS = "XBS";
    case BOLT = "XBT";
    case BUTT = "XBU";
    case BOTTLE_PROTECTED_BULBOUS = "XBV";
    case BOX_FOR_LIQUIDS = "XBW";
    case BOX = "XBX";
    case BOARD_IN_BUNDLE_BUNCH_TRUSS = "XBY";
    case BARS_IN_BUNDLE_BUNCH_TRUSS = "XBZ";
    case CAN_RECTANGULAR = "XCA";
    case CRATE_BEER = "XCB";
    case CHURN = "XCC";
    case CAN_WITH_HANDLE_AND_SPOUT = "XCD";
    case CREEL = "XCE";
    case COFFER = "XCF";
    case CAGE = "XCG";
    case CHEST = "XCH";
    case CANISTER = "XCI";
    case COFFIN = "XCJ";
    case CASK = "XCK";
    case COIL = "XCL";
    case CARD_BIS = "XCM";
    case CONTAINER_NOT_OTHERWISE_SPECIFIED_AS_TRANSPORT_EQUIPMENT = "XCN";
    case CARBOY_NON_PROTECTED = "XCO";
    case CARBOY_PROTECTED = "XCP";
    case CARTRIDGE = "XCQ";
    case CRATE = "XCR";
    case CASE = "XCS";
    case CARTON = "XCT";
    case CUP = "XCU";
    case COVER = "XCV";
    case CAGE_ROLL = "XCW";
    case CAN_CYLINDRICAL = "XCX";
    case CYLINDER = "XCY";
    case CANVAS = "XCZ";
    case CRATE_MULTIPLE_LAYER_PLASTIC = "XDA";
    case CRATE_MULTIPLE_LAYER_WOODEN = "XDB";
    case CRATE_MULTIPLE_LAYER_CARDBOARD = "XDC";
    case CAGE_COMMONWEALTH_HANDLING_EQUIPMENT_POOL_CHEP = "XDG";
    case BOX_COMMONWEALTH_HANDLING_EQUIPMENT_POOL_CHEP_EUROBOX = "XDH";
    case DRUM_IRON = "XDI";
    case DEMIJOHN_NON_PROTECTED = "XDJ";
    case CRATE_BULK_CARDBOARD = "XDK";
    case CRATE_BULK_PLASTIC = "XDL";
    case CRATE_BULK_WOODEN = "XDM";
    case DISPENSER = "XDN";
    case DEMIJOHN_PROTECTED = "XDP";
    case DRUM = "XDR";
    case TRAY_ONE_LAYER_NO_COVER_PLASTIC = "XDS";
    case TRAY_ONE_LAYER_NO_COVER_WOODEN = "XDT";
    case TRAY_ONE_LAYER_NO_COVER_POLYSTYRENE = "XDU";
    case TRAY_ONE_LAYER_NO_COVER_CARDBOARD = "XDV";
    case TRAY_TWO_LAYERS_NO_COVER_PLASTIC_TRAY = "XDW";
    case TRAY_TWO_LAYERS_NO_COVER_WOODEN = "XDX";
    case TRAY_TWO_LAYERS_NO_COVER_CARDBOARD = "XDY";
    case BAG_PLASTIC = "XEC";
    case CASE_WITH_PALLET_BASE = "XED";
    case CASE_WITH_PALLET_BASE_WOODEN = "XEE";
    case CASE_WITH_PALLET_BASE_CARDBOARD = "XEF";
    case CASE_WITH_PALLET_BASE_PLASTIC = "XEG";
    case CASE_WITH_PALLET_BASE_METAL = "XEH";
    case CASE_ISOTHERMIC = "XEI";
    case ENVELOPE = "XEN";
    case FLEXIBAG = "XFB";
    case CRATE_FRUIT = "XFC";
    case CRATE_FRAMED = "XFD";
    case FLEXITANK = "XFE";
    case FIRKIN = "XFI";
    case FLASK = "XFL";
    case FOOTLOCKER = "XFO";
    case FILMPACK = "XFP";
    case FRAME = "XFR";
    case FOODTAINER = "XFT";
    case CART_FLATBED = "XFW";
    case BAG_FLEXIBLE_CONTAINER = "XFX";
    case BOTTLE_GAS = "XGB";
    case GIRDER = "XGI";
    case CONTAINER_GALLON = "XGL";
    case RECEPTACLE_GLASS = "XGR";
    case TRAY_CONTAINING_HORIZONTALLY_STACKED_FLAT_ITEMS = "XGU";
    case BAG_GUNNY = "XGY";
    case GIRDERS_IN_BUNDLE_BUNCH_TRUSS = "XGZ";
    case BASKET_WITH_HANDLE_PLASTIC = "XHA";
    case BASKET_WITH_HANDLE_WOODEN = "XHB";
    case BASKET_WITH_HANDLE_CARDBOARD = "XHC";
    case HOGSHEAD = "XHG";
    case HANGER = "XHN";
    case HAMPER = "XHR";
    case PACKAGE_DISPLAY_WOODEN = "XIA";
    case PACKAGE_DISPLAY_CARDBOARD = "XIB";
    case PACKAGE_DISPLAY_PLASTIC = "XIC";
    case PACKAGE_DISPLAY_METAL = "XID";
    case PACKAGE_SHOW = "XIE";
    case PACKAGE_FLOW = "XIF";
    case PACKAGE_PAPER_WRAPPED = "XIG";
    case DRUM_PLASTIC = "XIH";
    case PACKAGE_CARDBOARD_WITH_BOTTLE_GRIP_HOLES = "XIK";
    case TRAY_RIGID_LIDDED_STACKABLE_CEN_TS_14482_2002 = "XIL";
    case INGOT = "XIN";
    case INGOTS_IN_BUNDLE_BUNCH_TRUSS = "XIZ";
    case BAG_JUMBO = "XJB";
    case JERRICAN_RECTANGULAR = "XJC";
    case JUG = "XJG";
    case JAR = "XJR";
    case JUTEBAG = "XJT";
    case JERRICAN_CYLINDRICAL = "XJY";
    case KEG = "XKG";
    case KIT = "XKI";
    case LUGGAGE = "XLE";
    case LOG = "XLG";
    case LOT = "XLT";
    case LUG = "XLU";
    case LIFTVAN = "XLV";
    case LOGS_IN_BUNDLE_BUNCH_TRUSS = "XLZ";
    case CRATE_METAL = "XMA";
    case BAG_MULTIPLY = "XMB";
    case CRATE_MILK = "XMC";
    case CONTAINER_METAL = "XME";
    case RECEPTACLE_METAL = "XMR";
    case SACK_MULTI_WALL = "XMS";
    case MAT = "XMT";
    case RECEPTACLE_PLASTIC_WRAPPED = "XMW";
    case MATCHBOX = "XMX";
    case NOT_AVAILABLE = "XNA";
    case UNPACKED_OR_UNPACKAGED = "XNE";
    case UNPACKED_OR_UNPACKAGED_SINGLE_UNIT = "XNF";
    case UNPACKED_OR_UNPACKAGED_MULTIPLE_UNITS = "XNG";
    case NEST = "XNS";
    case NET = "XNT";
    case NET_TUBE_PLASTIC = "XNU";
    case NET_TUBE_TEXTILE = "XNV";
    case TWO_SIDED_CAGE_ON_WHEELS_WITH_FIXING_STRAP = "XO1";
    case TROLLEY = "XO2";
    case ONEWAY_PALLET_ISO_0_1_2_EURO_PALLET = "XO3";
    case ONEWAY_PALLET_ISO_1_1_1_EURO_PALLET = "XO4";
    case ONEWAY_PALLET_ISO_2_2_1_EURO_PALLET = "XO5";
    case PALLET_WITH_EXCEPTIONAL_DIMENSIONS = "XO6";
    case WOODEN_PALLET_40_CM_X_80_CM = "XO7";
    case PLASTIC_PALLET_SRS_60_CM_X_80_CM = "XO8";
    case PLASTIC_PALLET_SRS_80_CM_X_120_CM = "XO9";
    case PALLET_CHEP_40_CM_X_60_CM = "XOA";
    case PALLET_CHEP_80_CM_X_120_CM = "XOB";
    case PALLET_CHEP_100_CM_X_120_CM = "XOC";
    case PALLET_AS_4068_1993 = "XOD";
    case PALLET_ISO_T11 = "XOE";
    case PLATFORM_UNSPECIFIED_WEIGHT_OR_DIMENSION = "XOF";
    case PALLET_ISO_0_1_2_EURO_PALLET = "XOG";
    case PALLET_ISO_1_1_1_EURO_PALLET = "XOH";
    case PALLET_ISO_2_2_1_EURO_PALLET = "XOI";
    case EURO_PALLET_1_4 = "XOJ";
    case BLOCK = "XOK";
    case EURO_PALLET_1_8 = "XOL";
    case SYNTHETIC_PALLET_ISO_1 = "XOM";
    case SYNTHETIC_PALLET_ISO_2 = "XON";
    case WHOLESALER_PALLET = "XOP";
    case PALLET_80_X_100_CM = "XOQ";
    case PALLET_60_X_100_CM = "XOR";
    case ONEWAY_PALLET = "XOS";
    case OCTABIN = "XOT";
    case CONTAINER_OUTER = "XOU";
    case RETURNABLE_PALLET = "XOV";
    case LARGE_BAG_PALLET_SIZED = "XOW";
    case A_WHEELED_PALLET_WITH_RAISED_RIM_81_X_67_X_135 = "XOX";
    case A_WHEELED_PALLET_WITH_RAISED_RIM_81_X_72_X_135 = "XOY";
    case WHEELED_PALLET_WITH_RAISED_RIM_81_X_60_X_16 = "XOZ";
    case CHEP_PALLET_60_CM_X_80_CM = "XP1";
    case PAN = "XP2";
    case LPR_PALLET_60_CM_X_80_CM = "XP3";
    case LPR_PALLET_80_CM_X_120_CM = "XP4";
    case PACKET = "XPA";
    case PALLET_BOX_COMBINED_OPEN_ENDED_BOX_AND_PALLET = "XPB";
    case PARCEL = "XPC";
    case PALLET_MODULAR_COLLARS_80CMS_100CMS = "XPD";
    case PALLET_MODULAR_COLLARS_80CMS_120CMS = "XPE";
    case PEN = "XPF";
    case PLATE = "XPG";
    case PITCHER = "XPH";
    case PIPE = "XPI";
    case PUNNET = "XPJ";
    case PACKAGE = "XPK";
    case PAIL = "XPL";
    case PLANK = "XPN";
    case POUCH = "XPO";
    case PIECE_P = "XPP";
    case RECEPTACLE_PLASTIC = "XPR";
    case POT = "XPT";
    case TRAY = "XPU";
    case PIPES_IN_BUNDLE_BUNCH_TRUSS = "XPV";
    case PALLET = "XPX";
    case PLATES_IN_BUNDLE_BUNCH_TRUSS = "XPY";
    case PLANKS_IN_BUNDLE_BUNCH_TRUSS = "XPZ";
    case DRUM_STEEL_NON_REMOVABLE_HEAD = "XQA";
    case DRUM_STEEL_REMOVABLE_HEAD = "XQB";
    case DRUM_ALUMINIUM_NON_REMOVABLE_HEAD = "XQC";
    case DRUM_ALUMINIUM_REMOVABLE_HEAD = "XQD";
    case DRUM_PLASTIC_NON_REMOVABLE_HEAD = "XQF";
    case DRUM_PLASTIC_REMOVABLE_HEAD = "XQG";
    case BARREL_WOODEN_BUNG_TYPE = "XQH";
    case BARREL_WOODEN_REMOVABLE_HEAD = "XQJ";
    case JERRICAN_STEEL_NON_REMOVABLE_HEAD = "XQK";
    case JERRICAN_STEEL_REMOVABLE_HEAD = "XQL";
    case JERRICAN_PLASTIC_NON_REMOVABLE_HEAD = "XQM";
    case JERRICAN_PLASTIC_REMOVABLE_HEAD = "XQN";
    case BOX_WOODEN_NATURAL_WOOD_ORDINARY = "XQP";
    case BOX_WOODEN_NATURAL_WOOD_WITH_SIFT_PROOF_WALLS = "XQQ";
    case BOX_PLASTIC_EXPANDED = "XQR";
    case BOX_PLASTIC_SOLID = "XQS";
    case ROD = "XRD";
    case RING = "XRG";
    case RACK_CLOTHING_HANGER = "XRJ";
    case RACK = "XRK";
    case REEL = "XRL";
    case ROLL = "XRO";
    case REDNET = "XRT";
    case RODS_IN_BUNDLE_BUNCH_TRUSS = "XRZ";
    case SACK = "XSA";
    case SLAB = "XSB";
    case CRATE_SHALLOW = "XSC";
    case SPINDLE = "XSD";
    case SEA_CHEST = "XSE";
    case SACHET = "XSH";
    case SKID = "XSI";
    case CASE_SKELETON = "XSK";
    case SLIPSHEET = "XSL";
    case SHEETMETAL = "XSM";
    case SPOOL = "XSO";
    case SHEET_PLASTIC_WRAPPING = "XSP";
    case CASE_STEEL = "XSS";
    case SHEET = "XST";
    case SUITCASE = "XSU";
    case ENVELOPE_STEEL = "XSV";
    case SHRINKWRAPPED = "XSW";
    case SET_BIS = "XSX";
    case SLEEVE = "XSY";
    case SHEETS_IN_BUNDLE_BUNCH_TRUSS = "XSZ";
    case TABLET_BIS = "XT1";
    case TUB = "XTB";
    case TEA_CHEST = "XTC";
    case TUBE_COLLAPSIBLE = "XTD";
    case TYRE = "XTE";
    case TANK_CONTAINER_GENERIC = "XTG";
    case TIERCE = "XTI";
    case TANK_RECTANGULAR = "XTK";
    case TUB_WITH_LID = "XTL";
    case TIN = "XTN";
    case TUN = "XTO";
    case TRUNK = "XTR";
    case TRUSS = "XTS";
    case BAG_TOTE = "XTT";
    case TUBE = "XTU";
    case TUBE_WITH_NOZZLE = "XTV";
    case PALLET_TRIWALL = "XTW";
    case TANK_CYLINDRICAL = "XTY";
    case TUBES_IN_BUNDLE_BUNCH_TRUSS = "XTZ";
    case UNCAGED = "XUC";
    case UNIT = "XUN";
    case VAT = "XVA";
    case BULK_GAS_AT_1031_MBAR_AND_15_C = "XVG";
    case VIAL = "XVI";
    case VANPACK = "XVK";
    case BULK_LIQUID = "XVL";
    case VEHICLE = "XVN";
    case BULK_SOLID_LARGE_PARTICLES_NODULES = "XVO";
    case VACUUM_PACKED = "XVP";
    case BULK_LIQUEFIED_GAS_AT_ABNORMAL_TEMPERATURE_PRESSURE = "XVQ";
    case BULK_SOLID_GRANULAR_PARTICLES_GRAINS = "XVR";
    case BULK_SCRAP_METAL = "XVS";
    case BULK_SOLID_FINE_PARTICLES_POWDERS = "XVY";
    case INTERMEDIATE_BULK_CONTAINER = "XWA";
    case WICKERBOTTLE = "XWB";
    case INTERMEDIATE_BULK_CONTAINER_STEEL = "XWC";
    case INTERMEDIATE_BULK_CONTAINER_ALUMINIUM = "XWD";
    case INTERMEDIATE_BULK_CONTAINER_METAL = "XWF";
    case INTERMEDIATE_BULK_CONTAINER_STEEL_PRESSURISED_10_KPA = "XWG";
    case INTERMEDIATE_BULK_CONTAINER_ALUMINIUM_PRESSURISED_10_KPA = "XWH";
    case INTERMEDIATE_BULK_CONTAINER_METAL_PRESSURE_10_KPA = "XWJ";
    case INTERMEDIATE_BULK_CONTAINER_STEEL_LIQUID = "XWK";
    case INTERMEDIATE_BULK_CONTAINER_ALUMINIUM_LIQUID = "XWL";
    case INTERMEDIATE_BULK_CONTAINER_METAL_LIQUID = "XWM";
    case INTERMEDIATE_BULK_CONTAINER_WOVEN_PLASTIC_WITHOUT_COAT_LINER = "XWN";
    case INTERMEDIATE_BULK_CONTAINER_WOVEN_PLASTIC_COATED = "XWP";
    case INTERMEDIATE_BULK_CONTAINER_WOVEN_PLASTIC_WITH_LINER = "XWQ";
    case INTERMEDIATE_BULK_CONTAINER_WOVEN_PLASTIC_COATED_AND_LINER = "XWR";
    case INTERMEDIATE_BULK_CONTAINER_PLASTIC_FILM = "XWS";
    case INTERMEDIATE_BULK_CONTAINER_TEXTILE_WITH_OUT_COAT_LINER = "XWT";
    case INTERMEDIATE_BULK_CONTAINER_NATURAL_WOOD_WITH_INNER_LINER = "XWU";
    case INTERMEDIATE_BULK_CONTAINER_TEXTILE_COATED = "XWV";
    case INTERMEDIATE_BULK_CONTAINER_TEXTILE_WITH_LINER = "XWW";
    case INTERMEDIATE_BULK_CONTAINER_TEXTILE_COATED_AND_LINER = "XWX";
    case INTERMEDIATE_BULK_CONTAINER_PLYWOOD_WITH_INNER_LINER = "XWY";
    case INTERMEDIATE_BULK_CONTAINER_RECONSTITUTED_WOOD_WITH_INNER_LINER = "XWZ";
    case BAG_WOVEN_PLASTIC_WITHOUT_INNER_COAT_LINER = "XXA";
    case BAG_WOVEN_PLASTIC_SIFT_PROOF = "XXB";
    case BAG_WOVEN_PLASTIC_WATER_RESISTANT = "XXC";
    case BAG_PLASTICS_FILM = "XXD";
    case BAG_TEXTILE_WITHOUT_INNER_COAT_LINER = "XXF";
    case BAG_TEXTILE_SIFT_PROOF = "XXG";
    case BAG_TEXTILE_WATER_RESISTANT = "XXH";
    case BAG_PAPER_MULTI_WALL = "XXJ";
    case BAG_PAPER_MULTI_WALL_WATER_RESISTANT = "XXK";
    case COMPOSITE_PACKAGING_PLASTIC_RECEPTACLE_IN_STEEL_DRUM = "XYA";
    case COMPOSITE_PACKAGING_PLASTIC_RECEPTACLE_IN_STEEL_CRATE_BOX = "XYB";
    case COMPOSITE_PACKAGING_PLASTIC_RECEPTACLE_IN_ALUMINIUM_DRUM = "XYC";
    case COMPOSITE_PACKAGING_PLASTIC_RECEPTACLE_IN_ALUMINIUM_CRATE = "XYD";
    case COMPOSITE_PACKAGING_PLASTIC_RECEPTACLE_IN_WOODEN_BOX = "XYF";
    case COMPOSITE_PACKAGING_PLASTIC_RECEPTACLE_IN_PLYWOOD_DRUM = "XYG";
    case COMPOSITE_PACKAGING_PLASTIC_RECEPTACLE_IN_PLYWOOD_BOX = "XYH";
    case COMPOSITE_PACKAGING_PLASTIC_RECEPTACLE_IN_FIBRE_DRUM = "XYJ";
    case COMPOSITE_PACKAGING_PLASTIC_RECEPTACLE_IN_FIBREBOARD_BOX = "XYK";
    case COMPOSITE_PACKAGING_PLASTIC_RECEPTACLE_IN_PLASTIC_DRUM = "XYL";
    case COMPOSITE_PACKAGING_PLASTIC_RECEPTACLE_IN_SOLID_PLASTIC_BOX = "XYM";
    case COMPOSITE_PACKAGING_GLASS_RECEPTACLE_IN_STEEL_DRUM = "XYN";
    case COMPOSITE_PACKAGING_GLASS_RECEPTACLE_IN_STEEL_CRATE_BOX = "XYP";
    case COMPOSITE_PACKAGING_GLASS_RECEPTACLE_IN_ALUMINIUM_DRUM = "XYQ";
    case COMPOSITE_PACKAGING_GLASS_RECEPTACLE_IN_ALUMINIUM_CRATE = "XYR";
    case COMPOSITE_PACKAGING_GLASS_RECEPTACLE_IN_WOODEN_BOX = "XYS";
    case COMPOSITE_PACKAGING_GLASS_RECEPTACLE_IN_PLYWOOD_DRUM = "XYT";
    case COMPOSITE_PACKAGING_GLASS_RECEPTACLE_IN_WICKERWORK_HAMPER = "XYV";
    case COMPOSITE_PACKAGING_GLASS_RECEPTACLE_IN_FIBRE_DRUM = "XYW";
    case COMPOSITE_PACKAGING_GLASS_RECEPTACLE_IN_FIBREBOARD_BOX = "XYX";
    case COMPOSITE_PACKAGING_GLASS_RECEPTACLE_IN_EXPANDABLE_PLASTIC_PACK = "XYY";
    case COMPOSITE_PACKAGING_GLASS_RECEPTACLE_IN_SOLID_PLASTIC_PACK = "XYZ";
    case INTERMEDIATE_BULK_CONTAINER_PAPER_MULTI_WALL = "XZA";
    case BAG_LARGE = "XZB";
    case INTERMEDIATE_BULK_CONTAINER_PAPER_MULTI_WALL_WATER_RESISTANT = "XZC";
    case INTERMEDIATE_BULK_CONTAINER_RIGID_PLASTIC_WITH_STRUCTURAL_EQUIPMENT_SOLIDS = "XZD";
    case INTERMEDIATE_BULK_CONTAINER_RIGID_PLASTIC_FREESTANDING_SOLIDS = "XZF";
    case INTERMEDIATE_BULK_CONTAINER_RIGID_PLASTIC_WITH_STRUCTURAL_EQUIPMENT_PRESSURISED = "XZG";
    case INTERMEDIATE_BULK_CONTAINER_RIGID_PLASTIC_FREESTANDING_PRESSURISED = "XZH";
    case INTERMEDIATE_BULK_CONTAINER_RIGID_PLASTIC_WITH_STRUCTURAL_EQUIPMENT_LIQUIDS = "XZJ";
    case INTERMEDIATE_BULK_CONTAINER_RIGID_PLASTIC_FREESTANDING_LIQUIDS = "XZK";
    case INTERMEDIATE_BULK_CONTAINER_COMPOSITE_RIGID_PLASTIC_SOLIDS = "XZL";
    case INTERMEDIATE_BULK_CONTAINER_COMPOSITE_FLEXIBLE_PLASTIC_SOLIDS = "XZM";
    case INTERMEDIATE_BULK_CONTAINER_COMPOSITE_RIGID_PLASTIC_PRESSURISED = "XZN";
    case INTERMEDIATE_BULK_CONTAINER_COMPOSITE_FLEXIBLE_PLASTIC_PRESSURISED = "XZP";
    case INTERMEDIATE_BULK_CONTAINER_COMPOSITE_RIGID_PLASTIC_LIQUIDS = "XZQ";
    case INTERMEDIATE_BULK_CONTAINER_COMPOSITE_FLEXIBLE_PLASTIC_LIQUIDS = "XZR";
    case INTERMEDIATE_BULK_CONTAINER_COMPOSITE = "XZS";
    case INTERMEDIATE_BULK_CONTAINER_FIBREBOARD = "XZT";
    case INTERMEDIATE_BULK_CONTAINER_FLEXIBLE = "XZU";
    case INTERMEDIATE_BULK_CONTAINER_METAL_OTHER_THAN_STEEL = "XZV";
    case INTERMEDIATE_BULK_CONTAINER_NATURAL_WOOD = "XZW";
    case INTERMEDIATE_BULK_CONTAINER_PLYWOOD = "XZX";
    case INTERMEDIATE_BULK_CONTAINER_RECONSTITUTED_WOOD = "XZY";
    case MUTUALLY_DEFINED_BIS = "XZZ";
}

enum CurrencyCode: string
{
    use EnumToArray;

    case UAE_DIRHAM = "AED";
    case AFGHANI = "AFN";
    case LEK = "ALL";
    case ARMENIAN_DRAM = "AMD";
    case NETHERLANDS_ANTILLEAN_GUILDER = "ANG";
    case KWANZA = "AOA";
    case ARGENTINE_PESO = "ARS";
    case AUSTRALIAN_DOLLAR = "AUD";
    case ARUBAN_FLORIN = "AWG";
    case AZERBAIJAN_MANAT = "AZN";
    case CONVERTIBLE_MARK = "BAM";
    case BARBADOS_DOLLAR = "BBD";
    case TAKA = "BDT";
    case BULGARIAN_LEV = "BGN";
    case BAHRAINI_DINAR = "BHD";
    case BURUNDI_FRANC = "BIF";
    case BERMUDIAN_DOLLAR = "BMD";
    case BRUNEI_DOLLAR = "BND";
    case BOLIVIANO = "BOB";
    case MVDOL = "BOV";
    case BRAZILIAN_REAL = "BRL";
    case BAHAMIAN_DOLLAR = "BSD";
    case NGULTRUM = "BTN";
    case PULA = "BWP";
    case BELARUSIAN_RUBLE = "BYN";
    case BELIZE_DOLLAR = "BZD";
    case CANADIAN_DOLLAR = "CAD";
    case CONGOLESE_FRANC = "CDF";
    case WIR_EURO = "CHE";
    case SWISS_FRANC = "CHF";
    case WIR_FRANC = "CHW";
    case UNIDAD_DE_FOMENTO = "CLF";
    case CHILEAN_PESO = "CLP";
    case YUAN_RENMINBI = "CNY";
    case COLOMBIAN_PESO = "COP";
    case UNIDAD_DE_VALOR_REAL = "COU";
    case COSTA_RICAN_COLON = "CRC";
    case PESO_CONVERTIBLE = "CUC";
    case CUBAN_PESO = "CUP";
    case CABO_VERDE_ESCUDO = "CVE";
    case CZECH_KORUNA = "CZK";
    case DJIBOUTI_FRANC = "DJF";
    case DANISH_KRONE = "DKK";
    case DOMINICAN_PESO = "DOP";
    case ALGERIAN_DINAR = "DZD";
    case EGYPTIAN_POUND = "EGP";
    case NAKFA = "ERN";
    case ETHIOPIAN_BIRR = "ETB";
    case EURO = "EUR";
    case FIJI_DOLLAR = "FJD";
    case FALKLAND_ISLANDS_POUND = "FKP";
    case POUND_STERLING = "GBP";
    case LARI = "GEL";
    case GHANA_CEDI = "GHS";
    case GIBRALTAR_POUND = "GIP";
    case DALASI = "GMD";
    case GUINEAN_FRANC = "GNF";
    case QUETZAL = "GTQ";
    case GUYANA_DOLLAR = "GYD";
    case HONG_KONG_DOLLAR = "HKD";
    case LEMPIRA = "HNL";
    case KUNA = "HRK";
    case GOURDE = "HTG";
    case FORINT = "HUF";
    case RUPIAH = "IDR";
    //case NEW_ISRAELI_SHEQEL = "ILS";
    case INDIAN_RUPEE = "INR";
    case IRAQI_DINAR = "IQD";
    case IRANIAN_RIAL = "IRR";
    case ICELAND_KRONA = "ISK";
    case JAMAICAN_DOLLAR = "JMD";
    case JORDANIAN_DINAR = "JOD";
    case YEN = "JPY";
    case KENYAN_SHILLING = "KES";
    case SOM = "KGS";
    case RIEL = "KHR";
    case COMORIAN_FRANC_ = "KMF";
    case NORTH_KOREAN_WON = "KPW";
    case WON = "KRW";
    case KUWAITI_DINAR = "KWD";
    case CAYMAN_ISLANDS_DOLLAR = "KYD";
    case TENGE = "KZT";
    case LAO_KIP = "LAK";
    case LEBANESE_POUND = "LBP";
    case SRI_LANKA_RUPEE = "LKR";
    case LIBERIAN_DOLLAR = "LRD";
    case LOTI = "LSL";
    case LIBYAN_DINAR = "LYD";
    case MOROCCAN_DIRHAM = "MAD";
    case MOLDOVAN_LEU = "MDL";
    case MALAGASY_ARIARY = "MGA";
    case DENAR = "MKD";
    case KYAT = "MMK";
    case TUGRIK = "MNT";
    case PATACA = "MOP";
    case OUGUIYA = "MRU";
    case MAURITIUS_RUPEE = "MUR";
    case RUFIYAA = "MVR";
    case MALAWI_KWACHA = "MWK";
    case MEXICAN_PESO = "MXN";
    case MEXICAN_UNIDAD_DE_INVERSION = "MXV";
    case MALAYSIAN_RINGGIT = "MYR";
    case MOZAMBIQUE_METICAL = "MZN";
    case NAMIBIA_DOLLAR = "NAD";
    case NAIRA = "NGN";
    case CORDOBA_ORO = "NIO";
    case NORWEGIAN_KRONE = "NOK";
    case NEPALESE_RUPEE = "NPR";
    case NEW_ZEALAND_DOLLAR = "NZD";
    case RIAL_OMANI = "OMR";
    case BALBOA = "PAB";
    case SOL = "PEN";
    case KINA = "PGK";
    case PHILIPPINE_PESO = "PHP";
    case PAKISTAN_RUPEE = "PKR";
    case ZLOTY = "PLN";
    case GUARANI = "PYG";
    case QATARI_RIAL = "QAR";
    case ROMANIAN_LEU = "RON";
    case SERBIAN_DINAR = "RSD";
    case RUSSIAN_RUBLE = "RUB";
    case RWANDA_FRANC = "RWF";
    case SAUDI_RIYAL = "SAR";
    case SOLOMON_ISLANDS_DOLLAR = "SBD";
    case SEYCHELLES_RUPEE = "SCR";
    case SUDANESE_POUND = "SDG";
    case SWEDISH_KRONA = "SEK";
    case SINGAPORE_DOLLAR = "SGD";
    case SAINT_HELENA_POUND = "SHP";
    case SIERRA_LEONE_2022_VALUATION = "SLE";
    case SIERRA_LEONE = "SLL";
    case SOMALI_SHILLING = "SOS";
    case SURINAM_DOLLAR = "SRD";
    case SOUTH_SUDANESE_POUND = "SSP";
    case DOBRA = "STN";
    case EL_SALVADOR_COLON = "SVC";
    case SYRIAN_POUND = "SYP";
    case LILANGENI = "SZL";
    case BAHT = "THB";
    case SOMONI = "TJS";
    case TURKMENISTAN_NEW_MANAT = "TMT";
    case TUNISIAN_DINAR = "TND";
    case PA_ANGA = "TOP";
    case TURKISH_LIRA = "TRY";
    case TRINIDAD_AND_TOBAGO_DOLLAR = "TTD";
    case NEW_TAIWAN_DOLLAR = "TWD";
    case TANZANIAN_SHILLING = "TZS";
    case HRYVNIA = "UAH";
    case UGANDA_SHILLING = "UGX";
    case US_DOLLAR = "USD";
    case US_DOLLAR_NEXT_DAY = "USN";
    case URUGUAY_PESO_EN_UNIDADES_INDEXADAS = "UYI";
    case PESO_URUGUAYO = "UYU";
    case UNIDAD_PREVISIONAL = "UYW";
    case UZBEKISTAN_SUM = "UZS";
    case BOLIVAR_SOBERANO = "VES";
    case DONG = "VND";
    case VATU = "VUV";
    case TALA = "WST";
    case CFA_FRANC_BEAC = "XAF";
    case SILVER = "XAG";
    case GOLD = "XAU";
    case BOND_MARKETS_UNIT_EUROPEAN_COMPOSITE_UNIT = "XBA";
    case BOND_MARKETS_UNIT_EUROPEAN_MONETARY_UNIT = "XBB";
    case BOND_MARKETS_UNIT_EUROPEAN_UNIT_OF_ACCOUNT_9 = "XBC";
    case BOND_MARKETS_UNIT_EUROPEAN_UNIT_OF_ACCOUNT_17 = "XBD";
    case EAST_CARIBBEAN_DOLLAR = "XCD";
    case SPECIAL_DRAWING_RIGHT = "XDR";
    case CFA_FRANC_BCEAO = "XOF";
    case PALLADIUM = "XPD";
    case CFP_FRANC = "XPF";
    case PLATINUM = "XPT";
    case SUCRE = "XSU";
    case CODES_SPECIFICALLY_RESERVED_FOR_TESTING_PURPOSES = "XTS";
    case ADB_UNIT_OF_ACCOUNT = "XUA";
    case NO_CURRENCY = "XXX";
    case YEMENI_RIAL = "YER";
    case RAND = "ZAR";
    case ZAMBIAN_KWACHA = "ZMW";
    case ZIMBABWE_DOLLAR = "ZWL";
}


enum InvoiceTypeCode: string
{
    use EnumToArray;

    // https://service.unece.org/trade/untdid/d16b/tred/tred1001.htm
    case DEBIT_NOTE_RELATED_TO_GOODS_OR_SERVICES = '80';
    case CREDIT_NOTE_RELATED_TO_GOODS_OR_SERVICES = '81';
    case METERED_SERVICES_INVOICE = '82';
    case CREDIT_NOTE_RELATED_TO_FINANCIAL_ADJUSTMENTS = '83';
    case DEBIT_NOTE_RELATED_TO_FINANCIAL_ADJUSTMENTS = '84';
    // Used to specify that the message is a tax notification.
    case TAX_NOTIFICATION = '102';
    case INVOICING_DATA_SHEET = '130';
    case DIRECT_PAYMENT_VALUATION = '202';
    case PROVISIONAL_PAYMENT_VALUATION = '203';
    case PAYMENT_VALUATION = '204';
    case INTERIM_APPLICATION_FOR_PAYMENT = '211';
    // The final payment request of a series of payment requests submitted upon completion of all the work.
    case FINAL_PAYMENT_REQUEST_BASED_ON_COMPLETION_OF_WORK = '218';
    // A request for payment for completed units.
    case PAYMENT_REQUEST_FOR_COMPLETED_UNITS = '219';
    case SELF_BILLED_CREDIT_NOTE = '261';
    case CONSOLIDATED_CREDIT_NOTE_GOODS_AND_SERVICES = '262';
    case PRICE_VARIATION_INVOICE = '295';
    case CREDIT_NOTE_FOR_PRICE_VARIATION = '296';
    // Commercial transaction (invoice) will include a packing list.
    case COMMERCIAL_INVOICE_WHICH_INCLUDES_A_PACKING_LIST = '331';
    case DELCREDERE_CREDIT_NOTE = '308';
    case PROFORMA_INVOICE = '325';
    case PARTIAL_INVOICE = '326';
    case COMMERCIAL_INVOICE = '380';
    case CREDIT_NOTE = '381';
    /**
     *  message in which a seller specifies the amount of commission, the percentage of the invoice amount, or
     * some other basis for the calculation of the commission to which a sales agent is entitled.
    */
    case COMMISSION_NOTE = '382';
    case DEBIT_NOTE = '383';
    case CORRECTED_INVOICE = '384';
    case CONSOLIDATED_INVOICE = '385';
    case PREPAYMENT_INVOICE = '386';
    case HIRE_INVOICE = '387';
    case TAX_INVOICE = '388';
    case SELF_BILLED_INVOICE = '389';
    case DELCREDERE_INVOICE = '390';
    case FACTORED_INVOICE = '393';
    case LEASE_INVOICE = '394';
    case CONSIGNMENT_INVOICE = '395';
    case FACTORED_CREDIT_NOTE = '396';
    case OCR_PAYMENT_CREDIT_NOTE = '420';
    case DEBIT_ADVICE = '456';
    case REVERSAL_OF_DEBIT = '457';
    case REVERSAL_OF_CREDIT = '458';
    case SELF_BILLED_DEBIT_NOTE = '527';
    case FORWARDER_CREDIT_NOTE = '532';
    // message reporting invoice discrepancies indentified by the forwarder.
    case FORWARDER_INVOICE_DISCREPANCY_REPORT = '553';
    case INSURER_INVOICE = '575';
    case FORWARDER_INVOICE = '623';
    case PORT_CHARGES_DOCUMENTS = '633';
    case INVOICE_INFORMATION_FOR_ACCOUNTING_PURPOSES = '751';
    case FREIGHT_INVOICE = '780';
    case CLAIM_NOTIFICATION = '817';
    case CONSULAR_INVOICE = '870';
    case PARTIAL_CONSTRUCTION_INVOICE = '875';
    case PARTIAL_FINAL_CONSTRUCTION_INVOICE = '876';
    case FINAL_CONSTRUCTION_INVOICE = '877';
    case CUSTOMS_INVOICE = '935';
}


enum VatCategory: string
{
    use EnumToArray;

    case VAT_REVERSE_CHARGE = "AE";
    case EXEMPT_FROM_TAX = "E";
    case FREE_EXPORT_ITEM_TAX_NOT_CHARGED = "G";
    case VAT_EXEMPT_FOR_EEA_INTRA_COMMUNITY_SUPPLY_OF_GOODS_AND_SERVICES = "K";
    case CANARY_ISLANDS = "L";
    case CEUTA_AND_MELILLA = "M";
    case SERVICE_OUTSIDE_SCOPE_OF_TAX = "O";
    case STANDARD = "S";
    case ZERO_RATED_GOODS = "Z";
}



enum TaxTypeCodeContent: string
{
    use EnumToArray;

    case VAT = "VAT";
}


/*
 This a filtered curated list of International Codes,
 */
enum InternationalCodeDesignatorOld: string
{
    use EnumToArray;

    #[Label("FRANCE - Numéro Siren")]
    case SYSTEM_INFORMATION_ET_REPERTOIRE_DES_ENTREPRISE_ET_DES_ETABLISSEMENTS_SIRENE = "0002";

    case CODIFICATION_NUMERIQUE_DES_ETABLISSMENTS_FINANCIERS_EN_BELGIQUE = "0003";

    case ORGANISATIONSNUMMER_SWEDEN = "0007";
    case LE_NUMERO_NATIONAL = "0008";

    #[Label("FRANCE - Numéro Siret")]
    case SIRET_CODE = "0009";

    case THE_ALL_UNION_CLASSIFIER_OF_ENTERPRISES_AND_ORGANISATIONS = "0029";

    case LY_TUNNUS_FINLAND = "0037";


    case ICI_COMPANY_IDENTIFICATION_SYSTEM_UK = "0045";


    case DATA_UNIVERSAL_NUMBERING_SYSTEM_DUNS_NUMBER_UK = "0060";





    case ATHENS_CHAMBER_OF_COMMERCE_INDUSTRY_SCHEME_GREECE = "0084";
    case SWISS_CHAMBERS_OF_COMMERCE_SCHEME = "0085";
    case UNITED_STATES_COUNCIL_FOR_INTERNATIONAL_BUSINESS_USCIB_SCHEME = "0086";
    case NATIONAL_FEDERATION_OF_CHAMBERS_OF_COMMERCE_INDUSTRY_OF_BELGIUM_SCHEME = "0087";


    case THE_ASSOCIATION_OF_BRITISH_CHAMBERS_OF_COMMERCE_LTD_SCHEME = "0089";

    case REVENUE_CANADA_BUSINESS_NUMBER_REGISTRATION = "0093";
    case DEUTSCHER_INDUSTRIE_UND_HANDELSTAG_DIHT_SCHEME = "0094";

    case DANISH_CHAMBER_OF_COMMERCE_SCHEME = "0096";
    case FTI_EDIFORUM_ITALIA = "0097";
    case CHAMBER_OF_COMMERCE_TEL_AVIV_JAFFA_SCHEME = "0098";


    case PORTUGUESE_CHAMBER_OF_COMMERCE_AND_INDUSTRY_SCHEME = "0105";
    case VERENIGING_VAN_KAMERS_VAN_KOOPHANDEL_EN_FABRIEKEN_IN_NEDERLAND = "0106";
    case ASSOCIATION_OF_SWEDISH_CHAMBERS_OF_COMMERCE_AND_INDUSTRY_SCHEME = "0107";

    case AUSTRALIAN_CHAMBERS_OF_COMMERCE_AND_INDUSTRY_SCHEME = "0108";


    case STANDARD_COMPANY_CODE_JIPDEC_JAPAN = "0147";

    case AUSTRALIAN_BUSINESS_NUMBER_ABN_SCHEME = "0151";

    case EDIRA_SCHEME_IDENTIFIER_CODE_SWITZERLAND = "0152";



    case IDENTIFICATION_NUMBER_OF_ECONOMIC_SUBJECTS_ICO_CZECH = "0154";

    case IDENTIFICATION_NUMBER_OF_ECONOMIC_SUBJECT_ICO_STATE_STATISTICS_SLOVAK_REPUBLIC = "0158";

    case SWISSGUIDE_IDENTIFIER_SCHEME = "0166";

    case SWISS_FEDERAL_BUSINESS_IDENTIFICATION_NUMBER_ZEFIX = "0169";

    case TEIKOKU_COMPANY_CODE_JAPAN = "0170";

    case NUMERO_D_IDENTIFICATION_SUISSE_DES_ENTERPRISES_IDE_UIDB = "0183";

    case DIGSTORG_DENMARK = "0184";


    case CORPORATE_NUMBER_OF_THE_SOCIAL_SECURITY_AND_TAX_NUMBER_SYSTEM_JAPAN = "0188";


    case EUROPEAN_BUSINESS_IDENTIFIER_EBID_GERMANY = "0189";
    case ORGANISATIE_INDENTIFICATIE_NUMMER_OIN_NETHERLANDS = "0190";

    case COMPANY_CODE_ESTONIA = "0191";
    case ORGANISASJONSNUMMER = "0192";
    case UBL_BE_PARTY_IDENTIFIER_NORWAY_BELGIUM = "0193";


    case SINGAPORE_NATIONWIDE_E_LNVOICE_FRAMEWORK = "0195";
    case ICELANDIC_IDENTIFIER_ISLENSK_KENNITALA = "0196";

    case ERSTORG_DENMARK = "0198";



    case LEGAL_ENTITY_CODE_LITHUANIA = "0200";


    case CODDEST = "0205";

    case REGISTRE_DU_COMMERCE_ET_DE_L_INDUSTRIE_RCI_MONACO = "0206";

    case NUMERO_D_ENTREPRISE_ONDERNEMINGSNUMMER_UNTERNEHMENSNUMMER_BELGIUM = "0208";

    case CODICE_FISCALE_ITALIA = "0210";
    case PARTITA_IVA = "0211";
    case FINNISH_ORGANIZATION_IDENTIFIER = "0212";
    case FINNISH_ORGANIZATION_VALUE_ADD_TAX_IDENTIFIER = "0213";
    case TRADEPLACE_TRADEPI_STANDARD = "0214";
    case NET_SERVICE_ID = "0215";
    case OVTCODE = "0216";
    case THE_NETHERLANDS_CHAMBER_OF_COMMERCE_AND_INDUSTRY_ESTABLISHMENT_NUMBER = "0217";

    // LATVIA
    case UNIFIED_REGISTRATION_NUMBER_LATVIA = "0218";
    case TAXPAYER_REGISTRATION_CODE_LATVIA = "0219";
    case THE_REGISTER_OF_NATURAL_PERSONS_LATVIA = "0220";


    // Japan
    case THE_REGISTERED_NUMBER_OF_THE_QUALIFIED_INVOICE_ISSUER = "0221";

    // EU
    case EU_BASED_COMPANY = "0223";

    // France
    case FRCTC_PARTICULIER = "0226";

    // New Caledonia
    case REPERTOIRE_DES_ENTREPRISES_ET_DES_ETABLISSEMENTS_RIDET = "0228";


    // Tahiti
    case TAHITI_TRAITEMENT_AUTOMATIQUE_HIÉRARCHISÉ_DES_INSTITUTIONS_DE_TAHITI_ET_DES_ÎLES = "0229";

    // MALAYSIA
    case NATIONAL_E_INVOICING_FRAMEWORK_MALAYSIA = "0230";

    case SINGLE_TAXABLE_COMPANY_FRANCE = "0231";

    // UAE
    case UAE_TAX_IDENTIFICATION_NUMBER_TIN = "0235";

    // Malaysian IDS
    case TIN_MALAYSIA = "TIN";
    case BRN_SSM_MALAYSIA = "BRN";
}


/*
 * International Code Designator (ICD) - PEPPOL
 * Organized by country with comprehensive labels
 */
enum InternationalCodeDesignator: string
{
    use EnumToArray;

    // === AUSTRALIA ===
    #[Label("Australia - Australian Business Number (ABN)")]
    case AUSTRALIAN_BUSINESS_NUMBER_ABN_SCHEME = "0151";

    #[Label("Australia - Australian Chambers of Commerce and Industry")]
    case AUSTRALIAN_CHAMBERS_OF_COMMERCE_AND_INDUSTRY_SCHEME = "0108";

    // === BELGIUM ===
    #[Label("Belgium - Numéro d'Entreprise/Ondernemingsnummer/Unternehmensnummer")]
    case NUMERO_D_ENTREPRISE_ONDERNEMINGSNUMMER_UNTERNEHMENSNUMMER_BELGIUM = "0208";

    #[Label("Belgium - Codification Numérique des Établissements Financiers")]
    case CODIFICATION_NUMERIQUE_DES_ETABLISSMENTS_FINANCIERS_EN_BELGIQUE = "0003";

    #[Label("Belgium - Le Numéro National")]
    case LE_NUMERO_NATIONAL = "0008";

    #[Label("Belgium - National Federation of Chambers of Commerce & Industry")]
    case NATIONAL_FEDERATION_OF_CHAMBERS_OF_COMMERCE_INDUSTRY_OF_BELGIUM_SCHEME = "0087";

    #[Label("Belgium - UBL.BE Party Identifier")]
    case UBL_BE_PARTY_IDENTIFIER_NORWAY_BELGIUM = "0193";

    // === CANADA ===
    #[Label("Canada - Revenue Canada Business Number Registration")]
    case REVENUE_CANADA_BUSINESS_NUMBER_REGISTRATION = "0093";

    // === CZECH REPUBLIC ===
    #[Label("Czech Republic - Identification Number of Economic Subjects (IČO)")]
    case IDENTIFICATION_NUMBER_OF_ECONOMIC_SUBJECTS_ICO_CZECH = "0154";

    // === DENMARK ===
    #[Label("Denmark - DIGST.org")]
    case DIGSTORG_DENMARK = "0184";

    #[Label("Denmark - ERST.org")]
    case ERSTORG_DENMARK = "0198";

    #[Label("Denmark - Danish Chamber of Commerce")]
    case DANISH_CHAMBER_OF_COMMERCE_SCHEME = "0096";

    // === ESTONIA ===
    #[Label("Estonia - Company Code")]
    case COMPANY_CODE_ESTONIA = "0191";

    // === EUROPEAN UNION ===
    #[Label("European Union - EU Based Company")]
    case EU_BASED_COMPANY = "0223";

    // === FINLAND ===
    #[Label("Finland - LY-Tunnus")]
    case LY_TUNNUS_FINLAND = "0037";

    #[Label("Finland - Finnish Organization Identifier")]
    case FINNISH_ORGANIZATION_IDENTIFIER = "0212";

    #[Label("Finland - Finnish Organization Value Added Tax Identifier")]
    case FINNISH_ORGANIZATION_VALUE_ADD_TAX_IDENTIFIER = "0213";

    #[Label("Finland - OVT Code")]
    case OVTCODE = "0216";

    #[Label("Finland - Net Service ID")]
    case NET_SERVICE_ID = "0215";

    // === FRANCE ===
    #[Label("France - Numéro SIREN (Système d'Identification du Répertoire des Entreprises)")]
    case SYSTEM_INFORMATION_ET_REPERTOIRE_DES_ENTREPRISE_ET_DES_ETABLISSEMENTS_SIRENE = "0002";

    #[Label("France - Numéro SIRET (Système d'Identification du Répertoire des Établissements)")]
    case SIRET_CODE = "0009";

    #[Label("France - FRCTC Particulier")]
    case FRCTC_PARTICULIER = "0226";

    #[Label("France - Single Taxable Company")]
    case SINGLE_TAXABLE_COMPANY_FRANCE = "0231";

    // === GERMANY ===
    #[Label("Germany - Deutscher Industrie und Handelstag (DIHT)")]
    case DEUTSCHER_INDUSTRIE_UND_HANDELSTAG_DIHT_SCHEME = "0094";

    #[Label("Germany - European Business Identifier (EBID)")]
    case EUROPEAN_BUSINESS_IDENTIFIER_EBID_GERMANY = "0189";

    // === GREECE ===
    #[Label("Greece - Athens Chamber of Commerce & Industry")]
    case ATHENS_CHAMBER_OF_COMMERCE_INDUSTRY_SCHEME_GREECE = "0084";

    // === ICELAND ===
    #[Label("Iceland - Icelandic Identifier (Íslensk Kennitala)")]
    case ICELANDIC_IDENTIFIER_ISLENSK_KENNITALA = "0196";

    // === ISRAEL ===
    // #[Label("Israel - Chamber of Commerce Tel Aviv-Jaffa")]
    // case CHAMBER_OF_COMMERCE_TEL_AVIV_JAFFA_SCHEME = "0098";

    // === ITALY ===
    #[Label("Italy - Codice Fiscale")]
    case CODICE_FISCALE_ITALIA = "0210";

    #[Label("Italy - Partita IVA")]
    case PARTITA_IVA = "0211";

    #[Label("Italy - FTI EDIForum Italia")]
    case FTI_EDIFORUM_ITALIA = "0097";

    #[Label("Italy - CODDEST")]
    case CODDEST = "0205";

    // === JAPAN ===
    #[Label("Japan - Standard Company Code (JIPDEC)")]
    case STANDARD_COMPANY_CODE_JIPDEC_JAPAN = "0147";

    #[Label("Japan - Teikoku Company Code")]
    case TEIKOKU_COMPANY_CODE_JAPAN = "0170";

    #[Label("Japan - Corporate Number of the Social Security and Tax Number System")]
    case CORPORATE_NUMBER_OF_THE_SOCIAL_SECURITY_AND_TAX_NUMBER_SYSTEM_JAPAN = "0188";

    #[Label("Japan - The Registered Number of the Qualified Invoice Issuer")]
    case THE_REGISTERED_NUMBER_OF_THE_QUALIFIED_INVOICE_ISSUER = "0221";

    // === LATVIA ===
    #[Label("Latvia - Unified Registration Number")]
    case UNIFIED_REGISTRATION_NUMBER_LATVIA = "0218";

    #[Label("Latvia - Taxpayer Registration Code")]
    case TAXPAYER_REGISTRATION_CODE_LATVIA = "0219";

    #[Label("Latvia - The Register of Natural Persons")]
    case THE_REGISTER_OF_NATURAL_PERSONS_LATVIA = "0220";

    // === LITHUANIA ===
    #[Label("Lithuania - Legal Entity Code")]
    case LEGAL_ENTITY_CODE_LITHUANIA = "0200";

    // === MALAYSIA ===
    #[Label("Malaysia - National e-Invoicing Framework")]
    case NATIONAL_E_INVOICING_FRAMEWORK_MALAYSIA = "0230";

    #[Label("Malaysia - Tax Identification Number (TIN)")]
    case TIN_MALAYSIA = "TIN";

    #[Label("Malaysia - Business Registration Number (BRN/SSM)")]
    case BRN_SSM_MALAYSIA = "BRN";

    #[Label("Malaysia - NRIC")]
    case NRIC_MALAYSIA = "NRIC";

    // === MONACO ===
    #[Label("Monaco - Registre du Commerce et de l'Industrie (RCI)")]
    case REGISTRE_DU_COMMERCE_ET_DE_L_INDUSTRIE_RCI_MONACO = "0206";

    // === NETHERLANDS ===
    #[Label("Netherlands - Organisatie Identificatie Nummer (OIN)")]
    case ORGANISATIE_INDENTIFICATIE_NUMMER_OIN_NETHERLANDS = "0190";

    #[Label("Netherlands - Chamber of Commerce and Industry Establishment Number")]
    case THE_NETHERLANDS_CHAMBER_OF_COMMERCE_AND_INDUSTRY_ESTABLISHMENT_NUMBER = "0217";

    #[Label("Netherlands - Vereniging van Kamers van Koophandel en Fabrieken")]
    case VERENIGING_VAN_KAMERS_VAN_KOOPHANDEL_EN_FABRIEKEN_IN_NEDERLAND = "0106";

    // === NEW CALEDONIA ===
    #[Label("New Caledonia - Répertoire des Entreprises et des Établissements (RIDET)")]
    case REPERTOIRE_DES_ENTREPRISES_ET_DES_ETABLISSEMENTS_RIDET = "0228";

    // === NORWAY ===
    #[Label("Norway - Organisasjonsnummer")]
    case ORGANISASJONSNUMMER = "0192";

    // === PORTUGAL ===
    #[Label("Portugal - Portuguese Chamber of Commerce and Industry")]
    case PORTUGUESE_CHAMBER_OF_COMMERCE_AND_INDUSTRY_SCHEME = "0105";

    // === RUSSIA ===
    #[Label("Russia - The All-Union Classifier of Enterprises and Organisations")]
    case THE_ALL_UNION_CLASSIFIER_OF_ENTERPRISES_AND_ORGANISATIONS = "0029";

    // === SINGAPORE ===
    #[Label("Singapore - Nationwide e-Invoice Framework")]
    case SINGAPORE_NATIONWIDE_E_LNVOICE_FRAMEWORK = "0195";

    // === SLOVAKIA ===
    #[Label("Slovakia - Identification Number of Economic Subject (IČO)")]
    case IDENTIFICATION_NUMBER_OF_ECONOMIC_SUBJECT_ICO_STATE_STATISTICS_SLOVAK_REPUBLIC = "0158";

    // === SWEDEN ===
    #[Label("Sweden - Organisationsnummer")]
    case ORGANISATIONSNUMMER_SWEDEN = "0007";

    #[Label("Sweden - Association of Swedish Chambers of Commerce and Industry")]
    case ASSOCIATION_OF_SWEDISH_CHAMBERS_OF_COMMERCE_AND_INDUSTRY_SCHEME = "0107";

    // === SWITZERLAND ===
    #[Label("Switzerland - Swiss Chambers of Commerce")]
    case SWISS_CHAMBERS_OF_COMMERCE_SCHEME = "0085";

    #[Label("Switzerland - EDIRA Scheme Identifier Code")]
    case EDIRA_SCHEME_IDENTIFIER_CODE_SWITZERLAND = "0152";

    #[Label("Switzerland - SwissGuide Identifier")]
    case SWISSGUIDE_IDENTIFIER_SCHEME = "0166";

    #[Label("Switzerland - Swiss Federal Business Identification Number (Zefix)")]
    case SWISS_FEDERAL_BUSINESS_IDENTIFICATION_NUMBER_ZEFIX = "0169";

    #[Label("Switzerland - Numéro d'Identification Suisse des Enterprises (IDE/UID-B)")]
    case NUMERO_D_IDENTIFICATION_SUISSE_DES_ENTERPRISES_IDE_UIDB = "0183";

    // === TAHITI (FRENCH POLYNESIA) ===
    #[Label("Tahiti - Traitement Automatique Hiérarchisé des Institutions de Tahiti et des Îles")]
    case TAHITI_TRAITEMENT_AUTOMATIQUE_HIERARCHISE_DES_INSTITUTIONS_DE_TAHITI_ET_DES_ILES = "0229";

    // === UNITED ARAB EMIRATES (UAE) ===
    #[Label("UAE - Tax Identification Number (TIN)")]
    case UAE_TAX_IDENTIFICATION_NUMBER_TIN = "0235";

    // === UNITED KINGDOM (UK) ===
    #[Label("UK - ICI Company Identification System")]
    case ICI_COMPANY_IDENTIFICATION_SYSTEM_UK = "0045";

    #[Label("UK - Data Universal Numbering System (DUNS Number)")]
    case DATA_UNIVERSAL_NUMBERING_SYSTEM_DUNS_NUMBER_UK = "0060";

    #[Label("UK - The Association of British Chambers of Commerce Ltd")]
    case THE_ASSOCIATION_OF_BRITISH_CHAMBERS_OF_COMMERCE_LTD_SCHEME = "0089";

    // === UNITED STATES (US) ===
    #[Label("US - United States Council for International Business (USCIB)")]
    case UNITED_STATES_COUNCIL_FOR_INTERNATIONAL_BUSINESS_USCIB_SCHEME = "0086";



}


enum IdentificationType: string
{
    case TAX = 'Tax';
    case VAT = 'Vat';
    case LEGAL = 'Legal';
    case ELECTRONIC = 'Electronic';
    case OTHER = 'Other';
}
