import abc


class BaseGenerator(object):
    _METACLASS_ = abc.ABCMeta

    def __init__(self):
        super(BaseGenerator, self).__init__()

    def __call__(self, *args, **kwargs):
        while True:
            yield self.next_value(*args, **kwargs)

    @abc.abstractmethod
    def next_value(self, *args, **kwargs):
        pass

    def run(self, *args, **kwargs):
        while True:
            yield self.next_value(*args, **kwargs)

    @abc.abstractmethod
    def rewind(self, *args, **kwargs):
        pass

99de2d34245353a23914ae318decd325d0317a39
<mask token>


class BaseGenerator(object):
    <mask token>

    def __init__(self):
        super(BaseGenerator, self).__init__()
    <mask token>
    <mask token>
    <mask token>

    @abc.abstractmethod
    def rewind(self, *args, **kwargs):
        pass

<mask token>


class BaseGenerator(object):
    <mask token>

    def __init__(self):
        super(BaseGenerator, self).__init__()
    <mask token>

    @abc.abstractmethod
    def next_value(self, *args, **kwargs):
        pass

    def run(self, *args, **kwargs):
        while True:
            yield self.next_value(*args, **kwargs)

    @abc.abstractmethod
    def rewind(self, *args, **kwargs):
        pass

<mask token>


class BaseGenerator(object):
    <mask token>

    def __init__(self):
        super(BaseGenerator, self).__init__()

    def __call__(self, *args, **kwargs):
        while True:
            yield self.next_value(*args, **kwargs)

    @abc.abstractmethod
    def next_value(self, *args, **kwargs):
        pass

    def run(self, *args, **kwargs):
        while True:
            yield self.next_value(*args, **kwargs)

    @abc.abstractmethod
    def rewind(self, *args, **kwargs):
        pass

<mask token>


class BaseGenerator(object):
    _METACLASS_ = abc.ABCMeta

    def __init__(self):
        super(BaseGenerator, self).__init__()

    def __call__(self, *args, **kwargs):
        while True:
            yield self.next_value(*args, **kwargs)

    @abc.abstractmethod
    def next_value(self, *args, **kwargs):
        pass

    def run(self, *args, **kwargs):
        while True:
            yield self.next_value(*args, **kwargs)

    @abc.abstractmethod
    def rewind(self, *args, **kwargs):
        pass

import abc


class BaseGenerator(object):
    _METACLASS_ = abc.ABCMeta

    def __init__(self):
        super(BaseGenerator, self).__init__()

    def __call__(self, *args, **kwargs):
        while True:
            yield self.next_value(*args, **kwargs)

    @abc.abstractmethod
    def next_value(self, *args, **kwargs):
        pass

    def run(self, *args, **kwargs):
        while True:
            yield self.next_value(*args, **kwargs)

    @abc.abstractmethod
    def rewind(self, *args, **kwargs):
        pass
