<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_provides(self, ignored=tuple(), private=False):
 """ The provided API, including the class itself, its fields, and its methods. """


        if private:
            if self._provides_private is None:
                self._provides_private = set(self._get_provides(True))
            provides = self._provides_private
        else:
            if self._provides is None:
                self._provides = set(self._get_provides(False))
            provides = self._provides

        return [prov for prov in provides if not fnmatches(prov, *ignored)]