<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _get_stddevs(self, dists, mag, dctx, imt, stddev_types):
 """ Returns the total standard deviation of the intensity measure level from the tables. :param fle: HDF5 data stream as instance of :class:`h5py.File` :param distances: The distance vector for the given magnitude and IMT :param key: The distance type :param mag: The rupture magnitude """

        stddevs = []
        for stddev_type in stddev_types:
            if stddev_type not in self.DEFINED_FOR_STANDARD_DEVIATION_TYPES:
                raise ValueError("Standard Deviation type %s not supported"
                                 % stddev_type)
            sigma = self._return_tables(mag, imt, stddev_type)
            interpolator_std = interp1d(dists, sigma,
                                        bounds_error=False)
            stddev = interpolator_std(getattr(dctx, self.distance_type))
            stddev[getattr(dctx, self.distance_type) < dists[0]] = sigma[0]
            stddev[getattr(dctx, self.distance_type) > dists[-1]] = sigma[-1]
            stddevs.append(stddev)
        return stddevs