# Path: pympler/muppy.py
# def ignore_object(obj: Any) -> bool:
# def get_objects(remove_dups: bool = True, include_frames: bool = False
#                 ) -> List[Any]:
# def get_size(objects: List[Any]) -> int:
# def get_diff(left: List[Any], right: List[Any]) -> Dict[str, List[Any]]:
#     def partition(objects: List[Any]) -> Dict[type, List[Any]]:
#     def get_not_included(foo: List[Any], bar: Dict[type, List[Any]]
#                          ) -> List[Any]:
# def sort(objects: List[Any]) -> List[Any]:
# def filter(objects: List[Any], Type: Optional[type] = None, min: int = -1,
#            max: int = -1) -> List[Any]:
# def get_referents(object: Any, level: int = 1) -> List[Any]:
# def _get_usage(function: Callable, *args: Any) -> Optional[List]:
#     def _get_summaries(function: Callable, *args: Any) -> Tuple:
#     def _get_usage(function: Callable, *args: Any) -> List:
#     def noop() -> None:
# def _is_containerobject(o: Any) -> bool:
# def _remove_duplicates(objects: List[Any]) -> List[Any]:
# def print_summary() -> None:


import inspect
import sys
from pympler import muppy
        keyword arguments:
        codepoints -- a list of points in code to monitor (defaults to all
            codepoints)
        events -- a list of events to monitor (defaults to all events)
        """
        self.memories = {}
        self.codepoints = codepoints
        self.events = events

    def codepoint_included(self, codepoint):
        """Check if codepoint matches any of the defined codepoints."""
        if self.codepoints is None:
            return True
        for cp in self.codepoints:
            mismatch = False
            for i in range(len(cp)):
                if (cp[i] is not None) and (cp[i] != codepoint[i]):
                    mismatch = True
                    break
            if not mismatch:
                return True
        return False

    def profile(self, frame, event, arg):  # arg req to match signature
        """Profiling method used to profile matching codepoints and events."""
        if (self.events is None) or (event in self.events):
            frame_info = inspect.getframeinfo(frame)
            cp = (frame_info[0], frame_info[2], frame_info[1])
            if self.codepoint_included(cp):
                objects = muppy.get_objects()

# Path: pympler/muppy.py
# def ignore_object(obj: Any) -> bool:
# def get_objects(remove_dups: bool = True, include_frames: bool = False
#                 ) -> List[Any]:
# def get_size(objects: List[Any]) -> int:
# def get_diff(left: List[Any], right: List[Any]) -> Dict[str, List[Any]]:
#     def partition(objects: List[Any]) -> Dict[type, List[Any]]:
#     def get_not_included(foo: List[Any], bar: Dict[type, List[Any]]
#                          ) -> List[Any]:
# def sort(objects: List[Any]) -> List[Any]:
# def filter(objects: List[Any], Type: Optional[type] = None, min: int = -1,
#            max: int = -1) -> List[Any]:
# def get_referents(object: Any, level: int = 1) -> List[Any]:
# def _get_usage(function: Callable, *args: Any) -> Optional[List]:
#     def _get_summaries(function: Callable, *args: Any) -> Tuple:
#     def _get_usage(function: Callable, *args: Any) -> List:
#     def noop() -> None:
# def _is_containerobject(o: Any) -> bool:
# def _remove_duplicates(objects: List[Any]) -> List[Any]:
# def print_summary() -> None:


# Path: pympler/mprofile.py
import inspect
import sys
from pympler import muppy

        keyword arguments:
        codepoints -- a list of points in code to monitor (defaults to all
            codepoints)
        events -- a list of events to monitor (defaults to all events)
        """
        self.memories = {}
        self.codepoints = codepoints
        self.events = events

    def codepoint_included(self, codepoint):
        """Check if codepoint matches any of the defined codepoints."""
        if self.codepoints is None:
            return True
        for cp in self.codepoints:
            mismatch = False
            for i in range(len(cp)):
                if (cp[i] is not None) and (cp[i] != codepoint[i]):
                    mismatch = True
                    break
            if not mismatch:
                return True
        return False

    def profile(self, frame, event, arg):  # arg req to match signature
        """Profiling method used to profile matching codepoints and events."""
        if (self.events is None) or (event in self.events):
            frame_info = inspect.getframeinfo(frame)
            cp = (frame_info[0], frame_info[2], frame_info[1])
            if self.codepoint_included(cp):
                objects = muppy.get_objects()

                size = muppy.get_size(objects)