code: def mutFlipBit(individual, indpb):
      """Flip the value of the attributes of the input individual and return the
      mutant. The *individual* is expected to be a :term:`sequence` and the values of the
      attributes shall stay valid after the ``not`` operator is called on them.
      The *indpb* argument is the probability of each attribute to be
      flipped. This mutation is usually applied on boolean individuals.
  
      :param individual: Individual to be mutated.
      :param indpb: Independent probability for each attribute to be flipped.
      :returns: A tuple of one individual.
  
      This function uses the :func:`~random.random` function from the python base
      :mod:`random` module.
      """
      for i in range(len(individual)):
          if random.random() < indpb:
              individual[i] = type(individual[i])(not individual[i])
  
      return (individual,)
  
file_path: deap/deap/tools/mutation.py
imports: import math
  import random
  from itertools import repeat
label_desc: Use image node_id 4 for calling a global function with example usage: mutFlipBit(individual, indpb) and returns: individual