# Path: sacred/utils.py
# def join_paths(*parts):
#     """Join different parts together to a valid dotted path."""
#     return ".".join(str(p).strip(".") for p in parts if p)
# 
# class SacredError(Exception):
#     def __init__(
#         self,
#         message,
#         print_traceback=True,
#         filter_traceback="default",
#         print_usage=False,
#     ):
#         super().__init__(message)
#         self.print_traceback = print_traceback
#         if filter_traceback not in ["always", "default", "never"]:
#             raise ValueError(
#                 "filter_traceback must be one of 'always', "
#                 "'default' or 'never', not " + filter_traceback
#             )
#         self.filter_traceback = filter_traceback
#         self.print_usage = print_usage


import copy
import sacred.optional as opt
from sacred.utils import join_paths, SacredError
    from sacred.optional import np
    def __setitem__(self, key, value):
        pass

    def __setslice__(self, i, j, sequence):
        pass

    def __delitem__(self, key):
        pass

    def __delslice__(self, i, j):
        pass

    def pop(self, index=None):
        raise TypeError("Cannot pop from DogmaticList")

    def remove(self, value):
        pass

    def revelation(self):
        for obj in self:
            if isinstance(obj, (DogmaticDict, DogmaticList)):
                obj.revelation()
        return set()


class ReadOnlyContainer:
    def __reduce__(self):
        return self.__class__, (self.__copy__(),)

    def _readonly(self, *args, **kwargs):

# Path: sacred/utils.py
# def join_paths(*parts):
#     """Join different parts together to a valid dotted path."""
#     return ".".join(str(p).strip(".") for p in parts if p)
# 
# class SacredError(Exception):
#     def __init__(
#         self,
#         message,
#         print_traceback=True,
#         filter_traceback="default",
#         print_usage=False,
#     ):
#         super().__init__(message)
#         self.print_traceback = print_traceback
#         if filter_traceback not in ["always", "default", "never"]:
#             raise ValueError(
#                 "filter_traceback must be one of 'always', "
#                 "'default' or 'never', not " + filter_traceback
#             )
#         self.filter_traceback = filter_traceback
#         self.print_usage = print_usage


# Path: sacred/config/custom_containers.py
import copy
import sacred.optional as opt
from sacred.utils import join_paths, SacredError
    from sacred.optional import np

    def __setitem__(self, key, value):
        pass

    def __setslice__(self, i, j, sequence):
        pass

    def __delitem__(self, key):
        pass

    def __delslice__(self, i, j):
        pass

    def pop(self, index=None):
        raise TypeError("Cannot pop from DogmaticList")

    def remove(self, value):
        pass

    def revelation(self):
        for obj in self:
            if isinstance(obj, (DogmaticDict, DogmaticList)):
                obj.revelation()
        return set()


class ReadOnlyContainer:
    def __reduce__(self):
        return self.__class__, (self.__copy__(),)

    def _readonly(self, *args, **kwargs):

        raise SacredError(