=begin
#Lob

#The Lob API is organized around REST. Our API is designed to have predictable, resource-oriented URLs and uses HTTP response codes to indicate any API errors. <p> Looking for our [previous documentation](https://lob.github.io/legacy-docs/)? 

The version of the OpenAPI document: 1.3.0
Contact: lob-openapi@lob.com
Generated by: https://openapi-generator.tech
OpenAPI Generator version: 5.2.1

=end

require 'date'
require 'time'

module Lob
  class CountryExtended
    EMPTY = "".freeze
    AD = "AD".freeze
    AE = "AE".freeze
    AF = "AF".freeze
    AG = "AG".freeze
    AI = "AI".freeze
    AL = "AL".freeze
    AN = "AN".freeze
    AO = "AO".freeze
    AQ = "AQ".freeze
    AR = "AR".freeze
    AT = "AT".freeze
    AU = "AU".freeze
    AW = "AW".freeze
    AZ = "AZ".freeze
    BA = "BA".freeze
    BB = "BB".freeze
    BD = "BD".freeze
    BE = "BE".freeze
    BF = "BF".freeze
    BG = "BG".freeze
    BH = "BH".freeze
    BI = "BI".freeze
    BJ = "BJ".freeze
    BM = "BM".freeze
    BN = "BN".freeze
    BO = "BO".freeze
    BQ = "BQ".freeze
    BR = "BR".freeze
    BS = "BS".freeze
    BT = "BT".freeze
    BW = "BW".freeze
    BY = "BY".freeze
    BZ = "BZ".freeze
    CA = "CA".freeze
    CD = "CD".freeze
    CG = "CG".freeze
    CH = "CH".freeze
    CI = "CI".freeze
    CK = "CK".freeze
    CL = "CL".freeze
    CM = "CM".freeze
    CN = "CN".freeze
    CO = "CO".freeze
    CR = "CR".freeze
    CS = "CS".freeze
    CU = "CU".freeze
    CV = "CV".freeze
    CW = "CW".freeze
    CY = "CY".freeze
    CZ = "CZ".freeze
    DE = "DE".freeze
    DJ = "DJ".freeze
    DK = "DK".freeze
    DM = "DM".freeze
    DO = "DO".freeze
    DZ = "DZ".freeze
    EC = "EC".freeze
    EE = "EE".freeze
    EG = "EG".freeze
    EH = "EH".freeze
    ER = "ER".freeze
    ES = "ES".freeze
    ET = "ET".freeze
    FI = "FI".freeze
    FJ = "FJ".freeze
    FK = "FK".freeze
    FO = "FO".freeze
    FR = "FR".freeze
    GA = "GA".freeze
    GB = "GB".freeze
    GD = "GD".freeze
    GE = "GE".freeze
    GH = "GH".freeze
    GI = "GI".freeze
    GL = "GL".freeze
    GM = "GM".freeze
    GN = "GN".freeze
    GQ = "GQ".freeze
    GR = "GR".freeze
    GS = "GS".freeze
    GT = "GT".freeze
    GW = "GW".freeze
    GY = "GY".freeze
    HK = "HK".freeze
    HN = "HN".freeze
    HR = "HR".freeze
    HT = "HT".freeze
    HU = "HU".freeze
    ID = "ID".freeze
    IE = "IE".freeze
    IL = "IL".freeze
    IN = "IN".freeze
    IO = "IO".freeze
    IQ = "IQ".freeze
    IR = "IR".freeze
    IS = "IS".freeze
    IT = "IT".freeze
    JM = "JM".freeze
    JO = "JO".freeze
    JP = "JP".freeze
    KE = "KE".freeze
    KG = "KG".freeze
    KH = "KH".freeze
    KI = "KI".freeze
    KM = "KM".freeze
    KN = "KN".freeze
    KP = "KP".freeze
    KR = "KR".freeze
    KW = "KW".freeze
    KY = "KY".freeze
    KZ = "KZ".freeze
    LA = "LA".freeze
    LB = "LB".freeze
    LC = "LC".freeze
    LI = "LI".freeze
    LK = "LK".freeze
    LR = "LR".freeze
    LS = "LS".freeze
    LT = "LT".freeze
    LU = "LU".freeze
    LV = "LV".freeze
    LY = "LY".freeze
    MA = "MA".freeze
    MC = "MC".freeze
    MD = "MD".freeze
    ME = "ME".freeze
    MG = "MG".freeze
    MK = "MK".freeze
    ML = "ML".freeze
    MM = "MM".freeze
    MN = "MN".freeze
    MO = "MO".freeze
    MR = "MR".freeze
    MS = "MS".freeze
    MT = "MT".freeze
    MU = "MU".freeze
    MV = "MV".freeze
    MW = "MW".freeze
    MX = "MX".freeze
    MY = "MY".freeze
    MZ = "MZ".freeze
    NA = "NA".freeze
    NE = "NE".freeze
    NF = "NF".freeze
    NG = "NG".freeze
    NI = "NI".freeze
    NL = "NL".freeze
    NO = "NO".freeze
    NP = "NP".freeze
    NR = "NR".freeze
    NU = "NU".freeze
    NZ = "NZ".freeze
    OM = "OM".freeze
    PA = "PA".freeze
    PE = "PE".freeze
    PG = "PG".freeze
    PH = "PH".freeze
    PK = "PK".freeze
    PL = "PL".freeze
    PN = "PN".freeze
    PT = "PT".freeze
    PY = "PY".freeze
    QA = "QA".freeze
    RO = "RO".freeze
    RS = "RS".freeze
    RU = "RU".freeze
    RW = "RW".freeze
    SA = "SA".freeze
    SB = "SB".freeze
    SC = "SC".freeze
    SD = "SD".freeze
    SE = "SE".freeze
    SG = "SG".freeze
    SH = "SH".freeze
    SI = "SI".freeze
    SK = "SK".freeze
    SL = "SL".freeze
    SM = "SM".freeze
    SN = "SN".freeze
    SO = "SO".freeze
    SR = "SR".freeze
    SS = "SS".freeze
    ST = "ST".freeze
    SV = "SV".freeze
    SX = "SX".freeze
    SY = "SY".freeze
    SZ = "SZ".freeze
    TC = "TC".freeze
    TD = "TD".freeze
    TG = "TG".freeze
    TH = "TH".freeze
    TJ = "TJ".freeze
    TK = "TK".freeze
    TL = "TL".freeze
    TM = "TM".freeze
    TN = "TN".freeze
    TO = "TO".freeze
    TR = "TR".freeze
    TT = "TT".freeze
    TV = "TV".freeze
    TW = "TW".freeze
    TZ = "TZ".freeze
    UA = "UA".freeze
    UG = "UG".freeze
    US = "US".freeze
    UY = "UY".freeze
    UZ = "UZ".freeze
    VA = "VA".freeze
    VC = "VC".freeze
    VE = "VE".freeze
    VG = "VG".freeze
    VN = "VN".freeze
    VU = "VU".freeze
    WS = "WS".freeze
    YE = "YE".freeze
    ZA = "ZA".freeze
    ZM = "ZM".freeze
    ZW = "ZW".freeze

    # Builds the enum from string
    # @param [String] The enum value in the form of the string
    # @return [String] The enum value
    def self.build_from_hash(value)
      new.build_from_hash(value)
    end

    # Builds the enum from string
    # @param [String] The enum value in the form of the string
    # @return [String] The enum value
    def build_from_hash(value)
      constantValues = CountryExtended.constants.select { |c| CountryExtended::const_get(c) == value }
      raise "Invalid ENUM value #{value} for class #CountryExtended" if constantValues.empty?
      value
    end
  end
end
