@staticmethod<EOL><INDENT>def _get_mixins_(bases):<DEDENT>
if not bases or Enum is None:<EOL><INDENT>return object, Enum<EOL><DEDENT>member_type = first_enum = None<EOL>for base in bases:<EOL><INDENT>if  (base is not Enum and<EOL>issubclass(base, Enum) and<EOL>base._member_names_):<EOL><INDENT>raise TypeError("<STR_LIT>")<EOL><DEDENT><DEDENT>if not issubclass(base, Enum):<EOL><INDENT>raise TypeError("<STR_LIT>"<EOL>"<STR_LIT>")<EOL><DEDENT>if not issubclass(bases[<NUM_LIT:0>], Enum):<EOL><INDENT>member_type = bases[<NUM_LIT:0>]     <EOL>first_enum = bases[-<NUM_LIT:1>]  <EOL><DEDENT>else:<EOL><INDENT>for base in bases[<NUM_LIT:0>].__mro__:<EOL><INDENT>if issubclass(base, Enum):<EOL><INDENT>if first_enum is None:<EOL><INDENT>first_enum = base<EOL><DEDENT><DEDENT>else:<EOL><INDENT>if member_type is None:<EOL><INDENT>member_type = base<EOL><DEDENT><DEDENT><DEDENT><DEDENT>return member_type, first_enum<EOL>
Returns the type for creating enum members, and the first inherited
        enum class.

        bases: the tuple of bases that was given to __new__