    class Error(Exception):

    class ResponseError(Error):

    class ProtocolError(ResponseError, _PE):

    class RequestError(Error):

    class InvalidContentTypeError(ResponseError):
        def __init__(self, headers, content):
        def __repr__(self):

    class SafeUnpickler:
        def allowedGlobals(self):
        def findGlobal(self, module, klass):
        def load(self, file):
        def loads(self, str):

    class Server:
        def __init__(self, uri, transport=None, verbose=0, binary=1, compressRequest=1, acceptCompressedResponse=1):
        def __requestValue(self, methodName, args, keywords):
        def __repr__(self):
        def __getattr__(self, name):

        ## note: to call a remote object with an non-standard name, use

        ## result getattr(server, "strange-python-name")(args)
        def __init__(self, send, name):
        def __getattr__(self, name):
        def __call__(self, *args, **keywords):  # note that keywords are supported

    class Transport(SafeUnpickler):
        def request(self, host, handler, request_body, verbose=0, binary=0, compressed=0,
        def make_connection(self, host):
        def send_request(self, connection, handler, request_body):
        def send_host(self, connection, host):
        def send_user_agent(self, connection):
        def send_content(self, connection, request_body, binary=0, compressed=0,
        def parse_response(self, f):
        def parse_response_gzip(self, f):

    class SafeTransport(Transport):
        def make_connection(self, host):
        def send_host(self, connection, host):