# Path: abusehelper/core/bot.py
# class ParamError(Exception):
# class Param(object):
# class ListParam(Param):
# class BoolParam(Param):
# class IntParam(Param):
# class FloatParam(Param):
# class LineFormatter(logging.Formatter):
# class Bot(object):
# class XMPPBot(Bot):
# class _Service(services.Service):
# class ServiceBot(XMPPBot):
# class FeedBot(ServiceBot):
# class PollSkipped(Exception):
# class PollingBot(FeedBot):
#     NO_VALUE = object()
#     def __init__(self, help="", short=None, default=NO_VALUE):
#     def has_default(self):
#     def parse(self, value):
#     def __init__(self, *args, **keys):
#     def parse(self, value):
#     def __init__(self, help="", short=None):
#     def parse(self, value=None):
#     def parse(self, value):
#     def parse(self, value):
# def optparse_name(name):
# def optparse_callback(option, opt_str, value, parser, callback, parsed):
#     def __init__(self):
#     def format(self, record):
#     def params(cls):
#     def param_defaults(cls, **defaults):
#     def _from_sys_argv(cls, params, **defaults):
#     def _from_dict(cls, params, **defaults):
#     def from_command_line(cls, *args, **keys):
#     def __init__(self, *args, **keys):
#     def create_logger(self, log_level=logging.INFO):
#     def execute(self):
#         def showwarning(message, category, filename, fileno, file=None, line=None):
#     def run(self):
#     def __init__(self, *args, **keys):
#     def run(self):
#     def main(self):
#     def xmpp_connect(self):
#     def __init__(self, bot, *args, **keys):
#     def main(self, *args, **keys):
#     def session(self, *args, **keys):
#     def _run(self):
#     def run(self):
#         def throw_stop_on_signal():
#     def main(self, state):
#     def session(self, state, **keys):
#     def __init__(self, *args, **keys):
#     def feed_keys(self, *args, **keys):
#     def feed(self, *args, **keys):
#     def _cutoff(self):
#     def _output_rate_limiter(self):
#     def session(self, state, dst_room, **keys):
#     def manage_room(self, name):
#     def manage_connection(self, feed_key, room_name):
#     def _stats(self, name, interval=60.0):
#         def counter(event):
#         def logger():
#     def augment(self):
#     def __init__(self, reason):
#     def reason(self):
#     def __init__(self, *args, **keys):
#     def poll(self, *key):
#     def dedup(self, key):
#     def feed(self, *key):
#     def main(self, state):


import getpass
import idiokit
from idiokit import xmpp
from abusehelper.core import bot


@idiokit.stream
def peel_messages():
    while True:
        elements = yield idiokit.next()

        for message in elements.named("message"):
            yield idiokit.send(message.children())


class BridgeBot(bot.Bot):
    xmpp_src_jid = bot.Param("the XMPP src JID")

# Path: abusehelper/core/bot.py
# class ParamError(Exception):
# class Param(object):
# class ListParam(Param):
# class BoolParam(Param):
# class IntParam(Param):
# class FloatParam(Param):
# class LineFormatter(logging.Formatter):
# class Bot(object):
# class XMPPBot(Bot):
# class _Service(services.Service):
# class ServiceBot(XMPPBot):
# class FeedBot(ServiceBot):
# class PollSkipped(Exception):
# class PollingBot(FeedBot):
#     NO_VALUE = object()
#     def __init__(self, help="", short=None, default=NO_VALUE):
#     def has_default(self):
#     def parse(self, value):
#     def __init__(self, *args, **keys):
#     def parse(self, value):
#     def __init__(self, help="", short=None):
#     def parse(self, value=None):
#     def parse(self, value):
#     def parse(self, value):
# def optparse_name(name):
# def optparse_callback(option, opt_str, value, parser, callback, parsed):
#     def __init__(self):
#     def format(self, record):
#     def params(cls):
#     def param_defaults(cls, **defaults):
#     def _from_sys_argv(cls, params, **defaults):
#     def _from_dict(cls, params, **defaults):
#     def from_command_line(cls, *args, **keys):
#     def __init__(self, *args, **keys):
#     def create_logger(self, log_level=logging.INFO):
#     def execute(self):
#         def showwarning(message, category, filename, fileno, file=None, line=None):
#     def run(self):
#     def __init__(self, *args, **keys):
#     def run(self):
#     def main(self):
#     def xmpp_connect(self):
#     def __init__(self, bot, *args, **keys):
#     def main(self, *args, **keys):
#     def session(self, *args, **keys):
#     def _run(self):
#     def run(self):
#         def throw_stop_on_signal():
#     def main(self, state):
#     def session(self, state, **keys):
#     def __init__(self, *args, **keys):
#     def feed_keys(self, *args, **keys):
#     def feed(self, *args, **keys):
#     def _cutoff(self):
#     def _output_rate_limiter(self):
#     def session(self, state, dst_room, **keys):
#     def manage_room(self, name):
#     def manage_connection(self, feed_key, room_name):
#     def _stats(self, name, interval=60.0):
#         def counter(event):
#         def logger():
#     def augment(self):
#     def __init__(self, reason):
#     def reason(self):
#     def __init__(self, *args, **keys):
#     def poll(self, *key):
#     def dedup(self, key):
#     def feed(self, *key):
#     def main(self, state):


# Path: abusehelper/bots/bridgebot/bridgebot.py
import getpass
import idiokit
from idiokit import xmpp
from abusehelper.core import bot



@idiokit.stream
def peel_messages():
    while True:
        elements = yield idiokit.next()

        for message in elements.named("message"):
            yield idiokit.send(message.children())


class BridgeBot(bot.Bot):
    xmpp_src_jid = bot.Param("the XMPP src JID")

    xmpp_src_password = bot.Param(