From 4ed4ce82400fb47fc732c13a9d38262d51be065c Mon Sep 17 00:00:00 2001
From: sunshine <sunshine>
Date: Mon, 2 Aug 2004 14:00:56 +0000
Subject: [PATCH] Updated Python I2P version 0.91 by sunshine

---
 apps/sam/python/doc/epydoc/html/epydoc.css    | 100 ++
 apps/sam/python/doc/epydoc/html/index.html    |  13 +
 ...TPServer.BaseHTTPRequestHandler-class.html | 645 +++++++++++++
 .../BaseHTTPServer.HTTPServer-class.html      | 212 +++++
 ...TTPServer.CGIHTTPRequestHandler-class.html | 466 +++++++++
 ...Server.SimpleHTTPRequestHandler-class.html | 405 ++++++++
 ...SocketServer.BaseRequestHandler-class.html | 102 ++
 .../SocketServer.BaseServer-class.html        | 278 ++++++
 ...etServer.DatagramRequestHandler-class.html |  98 ++
 .../SocketServer.ForkingMixIn-class.html      | 172 ++++
 ...cketServer.StreamRequestHandler-class.html | 158 +++
 .../private/SocketServer.TCPServer-class.html | 383 ++++++++
 .../SocketServer.ThreadingMixIn-class.html    | 156 +++
 .../private/SocketServer.UDPServer-class.html | 288 ++++++
 .../python/doc/epydoc/html/private/epydoc.css | 100 ++
 .../private/exceptions.Exception-class.html   |  84 ++
 .../doc/epydoc/html/private/frames.html       |  13 +
 .../python/doc/epydoc/html/private/help.html  | 224 +++++
 .../doc/epydoc/html/private/i2p-module.html   |  93 ++
 .../private/i2p.BaseHTTPServer-module.html    | 200 ++++
 ...TPServer.BaseHTTPRequestHandler-class.html | 210 ++++
 .../i2p.BaseHTTPServer.HTTPServer-class.html  | 184 ++++
 .../private/i2p.CGIHTTPServer-module.html     | 126 +++
 ...TTPServer.CGIHTTPRequestHandler-class.html | 286 ++++++
 .../epydoc/html/private/i2p.Error-class.html  |  93 ++
 .../html/private/i2p.RouterError-class.html   |  90 ++
 .../private/i2p.SimpleHTTPServer-module.html  | 164 ++++
 ...Server.SimpleHTTPRequestHandler-class.html | 246 +++++
 .../html/private/i2p.SocketServer-module.html | 106 +++
 ...SocketServer.BaseRequestHandler-class.html |  92 ++
 .../i2p.SocketServer.BaseServer-class.html    | 132 +++
 ...etServer.DatagramRequestHandler-class.html |  96 ++
 .../i2p.SocketServer.ForkingMixIn-class.html  | 105 ++
 ...p.SocketServer.ForkingTCPServer-class.html | 188 ++++
 ...p.SocketServer.ForkingUDPServer-class.html | 202 ++++
 ...cketServer.StreamRequestHandler-class.html | 113 +++
 .../i2p.SocketServer.TCPServer-class.html     | 227 +++++
 ...i2p.SocketServer.ThreadingMixIn-class.html | 106 +++
 ...SocketServer.ThreadingTCPServer-class.html | 189 ++++
 ...SocketServer.ThreadingUDPServer-class.html | 203 ++++
 .../i2p.SocketServer.UDPServer-class.html     | 189 ++++
 .../epydoc/html/private/i2p.eep-module.html   | 107 +++
 .../epydoc/html/private/i2p.pylib-module.html |  59 ++
 .../html/private/i2p.router-module.html       | 265 ++++++
 .../html/private/i2p.samclasses-module.html   | 145 +++
 .../i2p.samclasses.BaseSession-class.html     | 207 ++++
 .../i2p.samclasses.DatagramSession-class.html | 198 ++++
 .../private/i2p.samclasses.Deque-class.html   | 160 ++++
 .../i2p.samclasses.RawSession-class.html      | 196 ++++
 .../i2p.samclasses.SAMTerminal-class.html     | 210 ++++
 .../private/i2p.samclasses.Stream-class.html  | 168 ++++
 .../i2p.samclasses.StreamSession-class.html   | 276 ++++++
 .../i2p.samclasses.StringBuffer-class.html    | 210 ++++
 .../html/private/i2p.select-module.html       | 120 +++
 .../html/private/i2p.select.Poll-class.html   | 112 +++
 .../html/private/i2p.socket-module.html       | 283 ++++++
 .../private/i2p.socket.BlockError-class.html  |  93 ++
 .../private/i2p.socket.ClosedError-class.html |  93 ++
 .../html/private/i2p.socket.Error-class.html  |  98 ++
 .../i2p.socket.NetworkError-class.html        |  95 ++
 .../html/private/i2p.socket.Socket-class.html | 563 +++++++++++
 .../private/i2p.socket.Timeout-class.html     |  94 ++
 .../html/private/i2p.tunnel-module.html       | 121 +++
 .../html/private/i2p.tunnel.Tunnel-class.html | 147 +++
 .../i2p.tunnel.TunnelClient-class.html        | 180 ++++
 .../i2p.tunnel.TunnelServer-class.html        | 152 +++
 .../python/doc/epydoc/html/private/index.html |  13 +
 .../doc/epydoc/html/private/indices.html      | 901 ++++++++++++++++++
 .../html/private/mimetools.Message-class.html | 263 +++++
 .../html/private/rfc822.Message-class.html    | 525 ++++++++++
 .../epydoc/html/private/toc-everything.html   |  97 ++
 .../epydoc/html/private/toc-i2p-module.html   |  38 +
 .../toc-i2p.BaseHTTPServer-module.html        |  34 +
 .../private/toc-i2p.CGIHTTPServer-module.html |  27 +
 .../toc-i2p.SimpleHTTPServer-module.html      |  32 +
 .../private/toc-i2p.SocketServer-module.html  |  33 +
 .../html/private/toc-i2p.eep-module.html      |  23 +
 .../html/private/toc-i2p.pylib-module.html    |  17 +
 .../html/private/toc-i2p.router-module.html   |  34 +
 .../private/toc-i2p.samclasses-module.html    |  34 +
 .../html/private/toc-i2p.select-module.html   |  28 +
 .../html/private/toc-i2p.socket-module.html   |  45 +
 .../html/private/toc-i2p.tunnel-module.html   |  30 +
 .../python/doc/epydoc/html/private/toc.html   |  36 +
 .../python/doc/epydoc/html/private/trees.html | 244 +++++
 ...TPServer.BaseHTTPRequestHandler-class.html | 645 +++++++++++++
 .../BaseHTTPServer.HTTPServer-class.html      | 178 ++++
 ...TTPServer.CGIHTTPRequestHandler-class.html | 466 +++++++++
 ...Server.SimpleHTTPRequestHandler-class.html | 405 ++++++++
 ...SocketServer.BaseRequestHandler-class.html | 102 ++
 ...etServer.DatagramRequestHandler-class.html |  98 ++
 .../SocketServer.ForkingMixIn-class.html      | 172 ++++
 ...cketServer.StreamRequestHandler-class.html | 158 +++
 .../public/SocketServer.TCPServer-class.html  | 349 +++++++
 .../SocketServer.ThreadingMixIn-class.html    | 156 +++
 .../public/SocketServer.UDPServer-class.html  | 254 +++++
 .../python/doc/epydoc/html/public/epydoc.css  | 100 ++
 .../public/exceptions.Exception-class.html    |  80 ++
 .../python/doc/epydoc/html/public/frames.html |  13 +
 .../python/doc/epydoc/html/public/help.html   | 224 +++++
 .../doc/epydoc/html/public/i2p-module.html    |  78 ++
 .../public/i2p.BaseHTTPServer-module.html     | 131 +++
 ...TPServer.BaseHTTPRequestHandler-class.html | 210 ++++
 .../i2p.BaseHTTPServer.HTTPServer-class.html  | 150 +++
 .../html/public/i2p.CGIHTTPServer-module.html | 126 +++
 ...TTPServer.CGIHTTPRequestHandler-class.html | 286 ++++++
 .../public/i2p.SimpleHTTPServer-module.html   | 126 +++
 ...Server.SimpleHTTPRequestHandler-class.html | 246 +++++
 .../html/public/i2p.SocketServer-module.html  | 106 +++
 ...SocketServer.BaseRequestHandler-class.html |  92 ++
 .../i2p.SocketServer.BaseServer-class.html    |  72 ++
 ...etServer.DatagramRequestHandler-class.html |  96 ++
 .../i2p.SocketServer.ForkingMixIn-class.html  | 105 ++
 ...p.SocketServer.ForkingTCPServer-class.html | 160 ++++
 ...p.SocketServer.ForkingUDPServer-class.html | 174 ++++
 ...cketServer.StreamRequestHandler-class.html | 113 +++
 .../i2p.SocketServer.TCPServer-class.html     | 193 ++++
 ...i2p.SocketServer.ThreadingMixIn-class.html | 106 +++
 ...SocketServer.ThreadingTCPServer-class.html | 161 ++++
 ...SocketServer.ThreadingUDPServer-class.html | 175 ++++
 .../i2p.SocketServer.UDPServer-class.html     | 155 +++
 .../epydoc/html/public/i2p.eep-module.html    | 107 +++
 .../epydoc/html/public/i2p.pylib-module.html  |  59 ++
 .../epydoc/html/public/i2p.router-module.html | 237 +++++
 .../epydoc/html/public/i2p.select-module.html | 120 +++
 .../html/public/i2p.select.Poll-class.html    |  89 ++
 .../epydoc/html/public/i2p.socket-module.html | 186 ++++
 .../public/i2p.socket.BlockError-class.html   |  93 ++
 .../public/i2p.socket.ClosedError-class.html  |  93 ++
 .../html/public/i2p.socket.Error-class.html   |  98 ++
 .../public/i2p.socket.NetworkError-class.html |  95 ++
 .../html/public/i2p.socket.Socket-class.html  | 507 ++++++++++
 .../html/public/i2p.socket.Timeout-class.html |  94 ++
 .../epydoc/html/public/i2p.tunnel-module.html |  77 ++
 .../html/public/i2p.tunnel.Tunnel-class.html  | 134 +++
 .../public/i2p.tunnel.TunnelClient-class.html | 176 ++++
 .../public/i2p.tunnel.TunnelServer-class.html | 148 +++
 .../python/doc/epydoc/html/public/index.html  |  13 +
 .../doc/epydoc/html/public/indices.html       | 697 ++++++++++++++
 .../html/public/mimetools.Message-class.html  | 263 +++++
 .../html/public/rfc822.Message-class.html     | 525 ++++++++++
 .../epydoc/html/public/toc-everything.html    |  75 ++
 .../epydoc/html/public/toc-i2p-module.html    |  34 +
 .../public/toc-i2p.BaseHTTPServer-module.html |  32 +
 .../public/toc-i2p.CGIHTTPServer-module.html  |  27 +
 .../toc-i2p.SimpleHTTPServer-module.html      |  31 +
 .../public/toc-i2p.SocketServer-module.html   |  33 +
 .../html/public/toc-i2p.eep-module.html       |  23 +
 .../html/public/toc-i2p.pylib-module.html     |  17 +
 .../html/public/toc-i2p.router-module.html    |  32 +
 .../html/public/toc-i2p.select-module.html    |  28 +
 .../html/public/toc-i2p.socket-module.html    |  41 +
 .../html/public/toc-i2p.tunnel-module.html    |  28 +
 .../python/doc/epydoc/html/public/toc.html    |  34 +
 .../python/doc/epydoc/html/public/trees.html  | 154 +++
 155 files changed, 25204 insertions(+)
 create mode 100644 apps/sam/python/doc/epydoc/html/epydoc.css
 create mode 100644 apps/sam/python/doc/epydoc/html/index.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/BaseHTTPServer.BaseHTTPRequestHandler-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/BaseHTTPServer.HTTPServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/CGIHTTPServer.CGIHTTPRequestHandler-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/SimpleHTTPServer.SimpleHTTPRequestHandler-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/SocketServer.BaseRequestHandler-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/SocketServer.BaseServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/SocketServer.DatagramRequestHandler-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/SocketServer.ForkingMixIn-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/SocketServer.StreamRequestHandler-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/SocketServer.TCPServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/SocketServer.ThreadingMixIn-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/SocketServer.UDPServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/epydoc.css
 create mode 100644 apps/sam/python/doc/epydoc/html/private/exceptions.Exception-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/frames.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/help.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.BaseHTTPServer-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.BaseHTTPServer.HTTPServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.CGIHTTPServer-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.Error-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.RouterError-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.SimpleHTTPServer-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.SocketServer-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.BaseRequestHandler-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.BaseServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.DatagramRequestHandler-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.ForkingMixIn-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.ForkingTCPServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.ForkingUDPServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.StreamRequestHandler-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.TCPServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.ThreadingMixIn-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.ThreadingTCPServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.ThreadingUDPServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.UDPServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.eep-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.pylib-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.router-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.samclasses-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.samclasses.BaseSession-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.samclasses.DatagramSession-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.samclasses.Deque-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.samclasses.RawSession-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.samclasses.SAMTerminal-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.samclasses.Stream-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.samclasses.StreamSession-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.samclasses.StringBuffer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.select-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.select.Poll-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.socket-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.socket.BlockError-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.socket.ClosedError-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.socket.Error-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.socket.NetworkError-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.socket.Socket-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.socket.Timeout-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.tunnel-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.tunnel.Tunnel-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.tunnel.TunnelClient-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/i2p.tunnel.TunnelServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/index.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/indices.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/mimetools.Message-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/rfc822.Message-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/toc-everything.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/toc-i2p-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/toc-i2p.BaseHTTPServer-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/toc-i2p.CGIHTTPServer-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/toc-i2p.SimpleHTTPServer-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/toc-i2p.SocketServer-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/toc-i2p.eep-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/toc-i2p.pylib-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/toc-i2p.router-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/toc-i2p.samclasses-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/toc-i2p.select-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/toc-i2p.socket-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/toc-i2p.tunnel-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/toc.html
 create mode 100644 apps/sam/python/doc/epydoc/html/private/trees.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/BaseHTTPServer.BaseHTTPRequestHandler-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/BaseHTTPServer.HTTPServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/CGIHTTPServer.CGIHTTPRequestHandler-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/SimpleHTTPServer.SimpleHTTPRequestHandler-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/SocketServer.BaseRequestHandler-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/SocketServer.DatagramRequestHandler-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/SocketServer.ForkingMixIn-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/SocketServer.StreamRequestHandler-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/SocketServer.TCPServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/SocketServer.ThreadingMixIn-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/SocketServer.UDPServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/epydoc.css
 create mode 100644 apps/sam/python/doc/epydoc/html/public/exceptions.Exception-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/frames.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/help.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.BaseHTTPServer-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.BaseHTTPServer.HTTPServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.CGIHTTPServer-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.SimpleHTTPServer-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.SocketServer-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.BaseRequestHandler-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.BaseServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.DatagramRequestHandler-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.ForkingMixIn-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.ForkingTCPServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.ForkingUDPServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.StreamRequestHandler-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.TCPServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.ThreadingMixIn-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.ThreadingTCPServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.ThreadingUDPServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.UDPServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.eep-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.pylib-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.router-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.select-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.select.Poll-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.socket-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.socket.BlockError-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.socket.ClosedError-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.socket.Error-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.socket.NetworkError-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.socket.Socket-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.socket.Timeout-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.tunnel-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.tunnel.Tunnel-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.tunnel.TunnelClient-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/i2p.tunnel.TunnelServer-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/index.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/indices.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/mimetools.Message-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/rfc822.Message-class.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/toc-everything.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/toc-i2p-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/toc-i2p.BaseHTTPServer-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/toc-i2p.CGIHTTPServer-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/toc-i2p.SimpleHTTPServer-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/toc-i2p.SocketServer-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/toc-i2p.eep-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/toc-i2p.pylib-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/toc-i2p.router-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/toc-i2p.select-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/toc-i2p.socket-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/toc-i2p.tunnel-module.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/toc.html
 create mode 100644 apps/sam/python/doc/epydoc/html/public/trees.html

diff --git a/apps/sam/python/doc/epydoc/html/epydoc.css b/apps/sam/python/doc/epydoc/html/epydoc.css
new file mode 100644
index 0000000000..46080bd0d5
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/epydoc.css
@@ -0,0 +1,100 @@
+
+/* Body color */ 
+body               { background: #ffffff; color: #000000; } 
+ 
+/* Tables */ 
+table.summary, table.details, table.index
+                   { background: #e8f0f8; color: #000000; } 
+tr.summary, tr.details, tr.index
+                   { background: #70b0f0; color: #000000;  
+                     text-align: left; font-size: 120%; } 
+tr.group           { background: #c0e0f8; color: #000000;
+                     text-align: left; font-size: 120%;
+                     font-style: italic; } 
+
+/* Documentation page titles */
+h2.module          { margin-top: 0.2em; }
+h2.class           { margin-top: 0.2em; }
+ 
+/* Headings */
+h1.heading         { font-size: +140%; font-style: italic;
+                     font-weight: bold; }
+h2.heading         { font-size: +125%; font-style: italic;
+                     font-weight: bold; }
+h3.heading         { font-size: +110%; font-style: italic;
+                     font-weight: normal; }
+                    
+/* Base tree */
+pre.base-tree      { font-size: 80%; margin: 0; }
+
+/* Details Sections */
+table.func-details { background: #e8f0f8; color: #000000;
+                     border: 2px groove #c0d0d0;
+                     padding: 0 1em 0 1em; margin: 0.4em 0 0 0; }
+h3.func-detail     { background: transparent; color: #000000;
+                     margin: 0 0 1em 0; }
+
+table.var-details  { background: #e8f0f8; color: #000000;
+                     border: 2px groove #c0d0d0;
+                     padding: 0 1em 0 1em; margin: 0.4em 0 0 0; }
+h3.var-details     { background: transparent; color: #000000;
+                     margin: 0 0 1em 0; }
+
+/* Function signatures */
+.sig               { background: transparent; color: #000000;
+                     font-weight: bold; }  
+.sig-name          { background: transparent; color: #006080; }  
+.sig-arg, .sig-kwarg, .sig-vararg
+                   { background: transparent; color: #008060; }  
+.sig-default       { background: transparent; color: #602000; }  
+.summary-sig       { background: transparent; color: #000000; }  
+.summary-sig-name  { background: transparent; color: #204080; }
+.summary-sig-arg, .summary-sig-kwarg, .summary-sig-vararg
+                   { background: transparent; color: #008060; }  
+
+/* Doctest blocks */
+.py-src            { background: transparent; color: #000000; }
+.py-prompt         { background: transparent; color: #005050;
+                     font-weight: bold;}
+.py-string         { background: transparent; color: #006030; }
+.py-comment        { background: transparent; color: #003060; }
+.py-keyword        { background: transparent; color: #600000; }
+.py-output         { background: transparent; color: #404040; }
+pre.doctestblock   { background: #f4faff; color: #000000; 
+                     padding: .5em; margin: 1em;
+                     border: 1px solid #708890; }
+table pre.doctestblock
+                   { background: #dce4ec; color: #000000; 
+                     padding: .5em; margin: 1em;
+                     border: 1px solid #708890; }
+
+/* Variable values */
+pre.variable       { background: #dce4ec; color: #000000;
+                     padding: .5em; margin: 0;
+                     border: 1px solid #708890; }
+.variable-linewrap { background: transparent; color: #604000; }
+.variable-ellipsis { background: transparent; color: #604000; }
+.variable-quote    { background: transparent; color: #604000; }
+.re                { background: transparent; color: #000000; }
+.re-char           { background: transparent; color: #006030; }
+.re-op             { background: transparent; color: #600000; }
+.re-group          { background: transparent; color: #003060; }
+.re-ref            { background: transparent; color: #404040; }
+
+/* Navigation bar */ 
+table.navbar       { background: #a0c0ff; color: #0000ff;
+                     border: 2px groove #c0d0d0; }
+th.navbar          { background: #a0c0ff; color: #0000ff; } 
+th.navselect       { background: #70b0ff; color: #000000; } 
+.nomargin          { margin: 0; }
+
+/* Links */ 
+a:link             { background: transparent; color: #0000ff; }  
+a:visited          { background: transparent; color: #204080; }  
+a.navbar:link      { background: transparent; color: #0000ff; 
+                     text-decoration: none; }  
+a.navbar:visited   { background: transparent; color: #204080; 
+                     text-decoration: none; }  
+
+/* Lists */
+ul { margin-top: 0; }
diff --git a/apps/sam/python/doc/epydoc/html/index.html b/apps/sam/python/doc/epydoc/html/index.html
new file mode 100644
index 0000000000..b275c95e64
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/index.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
+<html>
+<head>
+  <title> API Documentation </title>
+</head>
+<frameset cols="20%,80%">
+  <frameset rows="30%,70%">
+    <frame src="public/toc.html" name="moduleListFrame">
+    <frame src="public/toc-everything.html" name="moduleFrame">
+  </frameset>
+  <frame src="public/i2p-module.html" name="mainFrame">
+</frameset>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/BaseHTTPServer.BaseHTTPRequestHandler-class.html b/apps/sam/python/doc/epydoc/html/private/BaseHTTPServer.BaseHTTPRequestHandler-class.html
new file mode 100644
index 0000000000..60bea68ad4
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/BaseHTTPServer.BaseHTTPRequestHandler-class.html
@@ -0,0 +1,645 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>BaseHTTPServer.BaseHTTPRequestHandler</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;BaseHTTPServer ::
+        Class&nbsp;BaseHTTPRequestHandler
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/BaseHTTPServer.BaseHTTPRequestHandler-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class BaseHTTPRequestHandler</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+    
+                     |    
+  <a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+
+                         |
+                        <b>BaseHTTPRequestHandler</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a>,
+    <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a></dd></dl>
+
+<hr/>
+
+<pre class="literalblock">
+HTTP request handler base class.
+
+The following explanation of HTTP serves to guide you through the
+code as well as to expose any misunderstandings I may have about
+HTTP (so you don't need to read the code to figure out I'm wrong
+:-).
+
+HTTP (HyperText Transfer Protocol) is an extensible protocol on
+top of a reliable stream transport (e.g. TCP/IP).  The protocol
+recognizes three parts to a request:
+
+1. One line identifying the request type and path
+2. An optional set of RFC-822-style headers
+3. An optional data part
+
+The headers and data are separated by a blank line.
+
+The first line of the request has the form
+
+&lt;command&gt; &lt;path&gt; &lt;version&gt;
+
+where &lt;command&gt; is a (case-sensitive) keyword such as GET or POST,
+&lt;path&gt; is a string containing path information for the request,
+and &lt;version&gt; should be the string &quot;HTTP/1.0&quot; or &quot;HTTP/1.1&quot;.
+&lt;path&gt; is encoded using the URL encoding scheme (using %xx to signify
+the ASCII character with hex code xx).
+
+The specification specifies that lines are separated by CRLF but
+for compatibility with the widest range of clients recommends
+servers also handle LF.  Similarly, whitespace in the request line
+is treated sensibly (allowing multiple spaces between components
+and allowing trailing whitespace).
+
+Similarly, for output, lines ought to be separated by CRLF pairs
+but most clients grok LF characters just fine.
+
+If the first line of the request has the form
+
+&lt;command&gt; &lt;path&gt;
+
+(i.e. &lt;version&gt; is left out) then this is assumed to be an HTTP
+0.9 request; this form has no optional headers and data part and
+the reply consists of just the data.
+
+The reply form of the HTTP 1.x protocol again has three parts:
+
+1. One line giving the response code
+2. An optional set of RFC-822-style headers
+3. The data
+
+Again, the headers and data are separated by a blank line.
+
+The response code line has the form
+
+&lt;version&gt; &lt;responsecode&gt; &lt;responsestring&gt;
+
+where &lt;version&gt; is the protocol version (&quot;HTTP/1.0&quot; or &quot;HTTP/1.1&quot;),
+&lt;responsecode&gt; is a 3-digit response code indicating success or
+failure of the request, and &lt;responsestring&gt; is an optional
+human-readable string explaining what the response code means.
+
+This server parses the request and the headers, and then calls a
+function specific to the request type (&lt;command&gt;).  Specifically,
+a request SPAM will be handled by a method do_SPAM().  If no
+such method exists the server sends an error response to the
+client.  If it exists, it is called with no arguments:
+
+do_SPAM()
+
+Note that the request name is case sensitive (i.e. SPAM and spam
+are different requests).
+
+The various request details are stored in instance variables:
+
+- client_address is the client IP address in the form (host,
+port);
+
+- command, path and version are the broken-down request line;
+
+- headers is an instance of mimetools.Message (or a derived
+class) containing the header information;
+
+- rfile is a file object open for reading positioned at the
+start of the optional input data part;
+
+- wfile is a file object open for writing.
+
+IT IS IMPORTANT TO ADHERE TO THE PROTOCOL FOR WRITING!
+
+The first thing to be written must be the response line.  Then
+follow 0 or more header lines, then a blank line, and then the
+actual data (if any).  The meaning of the header lines depends on
+the command executed by the server; in most cases, when data is
+returned, there should be at least one header line of the form
+
+Content-type: &lt;type&gt;/&lt;subtype&gt;
+
+where &lt;type&gt; and &lt;subtype&gt; should be registered MIME types,
+e.g. &quot;text/html&quot; or &quot;text/plain&quot;.
+</pre>
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string" class="summary-sig-name"><code>address_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the client address formatted for logging.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string" class="summary-sig-name"><code>date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the current date and time formatted for a message header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers" class="summary-sig-name"><code>end_headers</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Send the blank line ending the MIME headers.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle multiple requests if necessary.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request" class="summary-sig-name"><code>handle_one_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle a single HTTP request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string" class="summary-sig-name"><code>log_date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the current time formatted for logging.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error" class="summary-sig-name"><code>log_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-vararg">*args</span>)</span></code>
+<br />
+Log an error.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message" class="summary-sig-name"><code>log_message</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>format</span>,
+          <span class="summary-sig-vararg">*args</span>)</span></code>
+<br />
+Log an arbitrary message.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request" class="summary-sig-name"><code>log_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>size</span>)</span></code>
+<br />
+Log an accepted request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request" class="summary-sig-name"><code>parse_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Parse a request (internal).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error" class="summary-sig-name"><code>send_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>message</span>)</span></code>
+<br />
+Send and log an error reply.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header" class="summary-sig-name"><code>send_header</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>keyword</span>,
+          <span class=summary-sig-arg>value</span>)</span></code>
+<br />
+Send a MIME header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response" class="summary-sig-name"><code>send_response</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>message</span>)</span></code>
+<br />
+Send the response header and log the response code.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string" class="summary-sig-name"><code>version_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the server software version string.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>,
+          <span class=summary-sig-arg>server</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></b> = <span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"><code><span class="variable-quote">'</span>&lt;head&gt;\n&lt;title&gt;Error&nbsp;response&lt;/t<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>classobj</code></font></td>
+  <td><a name="MessageClass"></a><b><code>MessageClass</code></b> = <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></b> = <span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"><code>[None,&nbsp;'Jan',&nbsp;'Feb',&nbsp;'Mar',&nbsp;'Apr',&nbsp;'May',&nbsp;'J<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></b> = <span title="'HTTP/1.0'"><code><span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span>                            </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></b> = <span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '..."><code>{400:&nbsp;('Bad&nbsp;request',&nbsp;'Bad&nbsp;request&nbsp;syntax&nbsp;or<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></b> = <span title="'BaseHTTP/0.3'"><code><span class="variable-quote">'</span>BaseHTTP/0.3<span class="variable-quote">'</span>                          </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></b> = <span title="'Python/2.3.4'"><code><span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span>                             </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></b> = <span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"><code>['Mon',&nbsp;'Tue',&nbsp;'Wed',&nbsp;'Thu',&nbsp;'Fri',&nbsp;'Sat',<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="-1">-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="address_string"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">address_string</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Return the client address formatted for logging.</p>
+  This version looks up the full hostname using gethostbyaddr(), and 
+  tries to find a name that contains at least one dot.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="date_time_string"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">date_time_string</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Return the current date and time formatted for a message header.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="end_headers"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">end_headers</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Send the blank line ending the MIME headers.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="handle"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">handle</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Handle multiple requests if necessary.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="SocketServer.BaseRequestHandler-class.html#handle"><code>SocketServer.BaseRequestHandler.handle</code></a></dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+
+<a name="handle_one_request"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">handle_one_request</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Handle a single HTTP request.</p>
+  You normally don't need to override this method; see the class 
+  __doc__ string for information on how to handle specific HTTP commands 
+  such as GET and POST.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="log_date_time_string"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">log_date_time_string</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Return the current time formatted for logging.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="log_error"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">log_error</span>(<span class=sig-arg>self</span>,
+          <span class="sig-vararg">*args</span>)</span>
+  </h3>
+  <p>Log an error.</p>
+  <p>This is called when a request cannot be fulfilled. By default it 
+  passes the message on to log_message().</p>
+  <p>Arguments are the same as for log_message().</p>
+  XXX This should go to the separate error log.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="log_message"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">log_message</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>format</span>,
+          <span class="sig-vararg">*args</span>)</span>
+  </h3>
+  <p>Log an arbitrary message.</p>
+  <p>This is used by all other logging functions. Override it if you have 
+  specific logging wishes.</p>
+  <p>The first argument, FORMAT, is a format string for the message to be 
+  logged. If the format string contains any % escapes requiring 
+  parameters, they should be specified as subsequent arguments (it's just 
+  like printf!).</p>
+  The client host and current date/time are prefixed to every 
+  message.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="log_request"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">log_request</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>code</span>=<span class=sig-default>'-'</span>,
+          <span class=sig-arg>size</span>=<span class=sig-default>'-'</span>)</span>
+  </h3>
+  <p>Log an accepted request.</p>
+  This is called by send_reponse().
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="parse_request"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">parse_request</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Parse a request (internal).</p>
+  <p>The request should be stored in self.raw_requestline; the results 
+  are in self.command, self.path, self.request_version and 
+  self.headers.</p>
+  Return True for success, False for failure; on failure, an error is 
+  sent back.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="send_error"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">send_error</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>code</span>,
+          <span class=sig-arg>message</span>=<span class=sig-default>None</span>)</span>
+  </h3>
+  <p>Send and log an error reply.</p>
+  <p>Arguments are the error code, and a detailed message. The detailed 
+  message defaults to the short entry matching the response code.</p>
+  This sends an error response (so it must be called before any output 
+  has been generated), logs the error, and finally sends a piece of HTML 
+  explaining the error to the user.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="send_header"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">send_header</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>keyword</span>,
+          <span class=sig-arg>value</span>)</span>
+  </h3>
+  Send a MIME header.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="send_response"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">send_response</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>code</span>,
+          <span class=sig-arg>message</span>=<span class=sig-default>None</span>)</span>
+  </h3>
+  <p>Send the response header and log the response code.</p>
+  Also send two standard headers with the server software version and 
+  the current date.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="version_string"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">version_string</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Return the server software version string.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Class Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="error_message_format"></a>
+<h3>error_message_format</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>str</code>
+
+      </dd>
+<span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+<span class="variable-quote">'''</span>&lt;head&gt;
+&lt;title&gt;Error response&lt;/title&gt;
+&lt;/head&gt;
+&lt;body&gt;
+&lt;h1&gt;Error response&lt;/h1&gt;
+&lt;p&gt;Error code %(code)d.
+&lt;p&gt;Message: %(message)s.
+&lt;p&gt;Error code explanation: %(code)s = %(explain)s.
+<span class="variable-ellipsis">...</span>                                                                    </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="monthname"></a>
+<h3>monthname</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>list</code>
+
+      </dd>
+<span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug']         </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="protocol_version"></a>
+<h3>protocol_version</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>str</code>
+
+      </dd>
+<span title="'HTTP/1.0'">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+<span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span>                                                             </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="responses"></a>
+<h3>responses</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>dict</code>
+
+      </dd>
+<span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '...">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+{100: ('Continue', 'Request received, please continue'),
+ 101: ('Switching Protocols',
+       'Switching to new protocol; obey Upgrade header'),
+ 200: ('OK', 'Request fulfilled, document follows'),
+ 201: ('Created', 'Document created, URL follows'),
+ 202: ('Accepted', 'Request accepted, processing continues off-line'),
+ 203: ('Non-Authoritative Information', 'Request fulfilled from cache'<span class="variable-linewrap">\</span>
+),
+<span class="variable-ellipsis">...</span>                                                                    </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="server_version"></a>
+<h3>server_version</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>str</code>
+
+      </dd>
+<span title="'BaseHTTP/0.3'">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+<span class="variable-quote">'</span>BaseHTTP/0.3<span class="variable-quote">'</span>                                                         </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="sys_version"></a>
+<h3>sys_version</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>str</code>
+
+      </dd>
+<span title="'Python/2.3.4'">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+<span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span>                                                         </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="weekdayname"></a>
+<h3>weekdayname</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>list</code>
+
+      </dd>
+<span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']                      </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/BaseHTTPServer.HTTPServer-class.html b/apps/sam/python/doc/epydoc/html/private/BaseHTTPServer.HTTPServer-class.html
new file mode 100644
index 0000000000..8b714cedcd
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/BaseHTTPServer.HTTPServer-class.html
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>BaseHTTPServer.HTTPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;BaseHTTPServer ::
+        Class&nbsp;HTTPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/BaseHTTPServer.HTTPServer-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="BaseHTTPServer.HTTPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class HTTPServer</h2>
+
+<pre class="base-tree">
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+    
+             |    
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
+                 |
+                <b>HTTPServer</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.BaseHTTPServer.HTTPServer-class.html"><code>HTTPServer</code></a></dd></dl>
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.HTTPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Override server_bind to store the server name.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>server_address</span>,
+          <span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
+<br />
+Constructor.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#close_request" class="summary-sig-name"><code>close_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>)</span></code>
+<br />
+Called to clean up an individual request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return socket file number.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the request and client address from the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_activate" class="summary-sig-name"><code>server_activate</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to activate the server.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_close" class="summary-sig-name"><code>server_close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called to clean-up the server.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#finish_request" class="summary-sig-name"><code>finish_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Finish one request by instantiating RequestHandlerClass.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_error" class="summary-sig-name"><code>handle_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Handle an error gracefully.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_request" class="summary-sig-name"><code>handle_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle one request, possibly blocking.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Call finish_request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#serve_forever" class="summary-sig-name"><code>serve_forever</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle one request at a time until doomsday.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#verify_request" class="summary-sig-name"><code>verify_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Verify the request.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="BaseHTTPServer.HTTPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="server_bind"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">server_bind</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Override server_bind to store the server name.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="SocketServer.TCPServer-class.html#server_bind"><code>SocketServer.TCPServer.server_bind</code></a></dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Class Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="allow_reuse_address"></a>
+<h3>allow_reuse_address</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>int</code>
+
+      </dd>
+<span title="1">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/CGIHTTPServer.CGIHTTPRequestHandler-class.html b/apps/sam/python/doc/epydoc/html/private/CGIHTTPServer.CGIHTTPRequestHandler-class.html
new file mode 100644
index 0000000000..b22e054610
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/CGIHTTPServer.CGIHTTPRequestHandler-class.html
@@ -0,0 +1,466 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>CGIHTTPServer.CGIHTTPRequestHandler</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;CGIHTTPServer ::
+        Class&nbsp;CGIHTTPRequestHandler
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/CGIHTTPServer.CGIHTTPRequestHandler-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class CGIHTTPRequestHandler</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+            
+                     |            
+  <a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+        
+                         |        
+    <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a> --+    
+                             |    
+      <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a> --+
+                                 |
+                                <b>CGIHTTPRequestHandler</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPRequestHandler</code></a></dd></dl>
+
+<hr/>
+
+<p>Complete HTTP server with GET, HEAD and POST commands.</p>
+<p>GET and HEAD also support running CGI scripts.</p>
+The POST command is *only* implemented for CGI scripts.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#do_POST" class="summary-sig-name"><code>do_POST</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Serve a POST request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_cgi" class="summary-sig-name"><code>is_cgi</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Test whether self.path corresponds to a CGI script.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_executable" class="summary-sig-name"><code>is_executable</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Test whether argument path is an executable file.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_python" class="summary-sig-name"><code>is_python</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Test whether argument path is a Python script.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#run_cgi" class="summary-sig-name"><code>run_cgi</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Execute a CGI script.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#send_head" class="summary-sig-name"><code>send_head</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Version of send_head that support CGI scripts</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from SimpleHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#copyfile" class="summary-sig-name"><code>copyfile</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>source</span>,
+          <span class=summary-sig-arg>outputfile</span>)</span></code>
+<br />
+Copy all data between two file objects.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_GET" class="summary-sig-name"><code>do_GET</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Serve a GET request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_HEAD" class="summary-sig-name"><code>do_HEAD</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Serve a HEAD request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#guess_type" class="summary-sig-name"><code>guess_type</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Guess the type of a file.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#list_directory" class="summary-sig-name"><code>list_directory</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Helper to produce a directory listing (absent index.html).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#translate_path" class="summary-sig-name"><code>translate_path</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Translate a /-separated PATH to the local filename syntax.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string" class="summary-sig-name"><code>address_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the client address formatted for logging.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string" class="summary-sig-name"><code>date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the current date and time formatted for a message header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers" class="summary-sig-name"><code>end_headers</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Send the blank line ending the MIME headers.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle multiple requests if necessary.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request" class="summary-sig-name"><code>handle_one_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle a single HTTP request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string" class="summary-sig-name"><code>log_date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the current time formatted for logging.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error" class="summary-sig-name"><code>log_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-vararg">*args</span>)</span></code>
+<br />
+Log an error.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message" class="summary-sig-name"><code>log_message</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>format</span>,
+          <span class="summary-sig-vararg">*args</span>)</span></code>
+<br />
+Log an arbitrary message.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request" class="summary-sig-name"><code>log_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>size</span>)</span></code>
+<br />
+Log an accepted request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request" class="summary-sig-name"><code>parse_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Parse a request (internal).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error" class="summary-sig-name"><code>send_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>message</span>)</span></code>
+<br />
+Send and log an error reply.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header" class="summary-sig-name"><code>send_header</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>keyword</span>,
+          <span class=summary-sig-arg>value</span>)</span></code>
+<br />
+Send a MIME header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response" class="summary-sig-name"><code>send_response</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>message</span>)</span></code>
+<br />
+Send the response header and log the response code.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string" class="summary-sig-name"><code>version_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the server software version string.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>,
+          <span class=summary-sig-arg>server</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#cgi_directories"><code>cgi_directories</code></a></b> = <span title="['/cgi-bin', '/htbin']"><code>['/cgi-bin',&nbsp;'/htbin']                 </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_fork"><code>have_fork</code></a></b> = <span title="False"><code>False                                        </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen2"><code>have_popen2</code></a></b> = <span title="True"><code>True                                       </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen3"><code>have_popen3</code></a></b> = <span title="True"><code>True                                       </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from SimpleHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
+<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></b> = <span title="{'': 'application/octet-stream', '.obj': 'application/octet-stream', '.ra': 'audio/x-pn-realaudio', '.sgm': 'text/x-sgml', '.texi': 'application/x-texinfo', '.mp2': 'audio/mpeg', '.bin': 'application/octet-stream', '.dll': 'application/octet-stream', '.xpm': 'image/x-xpixmap', '.mpeg': 'video/mpeg', '.ms': 'application/x-troff-ms', '.me': 'application/x-troff-me', '.rtx': 'text/richtext', '.ppt': 'application/vnd.ms-powerpoint', '.ras': 'image/x-cmu-raster', '.pps': 'application/vnd.ms-powerpoint', '.rgb': 'image/x-rgb', '.ram': 'application/x-pn-realaudio', '.ppm': 'image/x-portable-pixmap..."><code>{'':&nbsp;'application/octet-stream',&nbsp;'.obj'<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></b> = <span title="'SimpleHTTP/0.6'"><code><span class="variable-quote">'</span>SimpleHTTP/0.6<span class="variable-quote">'</span>                        </code>
+</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></b> = <span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"><code><span class="variable-quote">'</span>&lt;head&gt;\n&lt;title&gt;Error&nbsp;response&lt;/t<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></b> = <span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"><code>[None,&nbsp;'Jan',&nbsp;'Feb',&nbsp;'Mar',&nbsp;'Apr',&nbsp;'May',&nbsp;'J<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></b> = <span title="'HTTP/1.0'"><code><span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span>                            </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></b> = <span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '..."><code>{400:&nbsp;('Bad&nbsp;request',&nbsp;'Bad&nbsp;request&nbsp;syntax&nbsp;or<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></b> = <span title="'Python/2.3.4'"><code><span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span>                             </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></b> = <span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"><code>['Mon',&nbsp;'Tue',&nbsp;'Wed',&nbsp;'Thu',&nbsp;'Fri',&nbsp;'Sat',<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="do_POST"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">do_POST</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Serve a POST request.</p>
+  This is only implemented for CGI scripts.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="is_cgi"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">is_cgi</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Test whether self.path corresponds to a CGI script.</p>
+  <p>Return a tuple (dir, rest) if self.path requires running a CGI 
+  script, None if not. Note that rest begins with a slash if it is not 
+  empty.</p>
+  The default implementation tests whether the path begins with one of 
+  the strings in the list self.cgi_directories (and the next character is 
+  a '/' or the end of the string).
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="is_executable"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">is_executable</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>path</span>)</span>
+  </h3>
+  Test whether argument path is an executable file.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="is_python"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">is_python</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>path</span>)</span>
+  </h3>
+  Test whether argument path is a Python script.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="run_cgi"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">run_cgi</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Execute a CGI script.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="send_head"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">send_head</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Version of send_head that support CGI scripts
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#send_head"><code>SimpleHTTPServer.SimpleHTTPRequestHandler.send_head</code></a></dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Class Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="cgi_directories"></a>
+<h3>cgi_directories</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>list</code>
+
+      </dd>
+<span title="['/cgi-bin', '/htbin']">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+['/cgi-bin', '/htbin']                                                 </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="have_fork"></a>
+<h3>have_fork</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>bool</code>
+
+      </dd>
+<span title="False">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+False                                                                  </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="have_popen2"></a>
+<h3>have_popen2</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>bool</code>
+
+      </dd>
+<span title="True">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+True                                                                   </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="have_popen3"></a>
+<h3>have_popen3</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>bool</code>
+
+      </dd>
+<span title="True">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+True                                                                   </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="rbufsize"></a>
+<h3>rbufsize</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>int</code>
+
+      </dd>
+<span title="0">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/SimpleHTTPServer.SimpleHTTPRequestHandler-class.html b/apps/sam/python/doc/epydoc/html/private/SimpleHTTPServer.SimpleHTTPRequestHandler-class.html
new file mode 100644
index 0000000000..7cd853799d
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/SimpleHTTPServer.SimpleHTTPRequestHandler-class.html
@@ -0,0 +1,405 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>SimpleHTTPServer.SimpleHTTPRequestHandler</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;SimpleHTTPServer ::
+        Class&nbsp;SimpleHTTPRequestHandler
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/SimpleHTTPServer.SimpleHTTPRequestHandler-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class SimpleHTTPRequestHandler</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+        
+                     |        
+  <a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+    
+                         |    
+    <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a> --+
+                             |
+                            <b>SimpleHTTPRequestHandler</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPRequestHandler</code></a>,
+    <a href="i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a></dd></dl>
+
+<hr/>
+
+<p>Simple HTTP request handler with GET and HEAD commands.</p>
+<p>This serves files from the current directory and any of its 
+subdirectories. It assumes that all files are plain text files unless 
+they have the extension &quot;.html&quot; in which case it assumes they 
+are HTML files.</p>
+The GET and HEAD requests are identical except that the HEAD request 
+omits the actual contents of the file.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#copyfile" class="summary-sig-name"><code>copyfile</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>source</span>,
+          <span class=summary-sig-arg>outputfile</span>)</span></code>
+<br />
+Copy all data between two file objects.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_GET" class="summary-sig-name"><code>do_GET</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Serve a GET request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_HEAD" class="summary-sig-name"><code>do_HEAD</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Serve a HEAD request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#guess_type" class="summary-sig-name"><code>guess_type</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Guess the type of a file.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#list_directory" class="summary-sig-name"><code>list_directory</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Helper to produce a directory listing (absent index.html).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#send_head" class="summary-sig-name"><code>send_head</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Common code for GET and HEAD commands.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#translate_path" class="summary-sig-name"><code>translate_path</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Translate a /-separated PATH to the local filename syntax.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string" class="summary-sig-name"><code>address_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the client address formatted for logging.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string" class="summary-sig-name"><code>date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the current date and time formatted for a message header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers" class="summary-sig-name"><code>end_headers</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Send the blank line ending the MIME headers.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle multiple requests if necessary.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request" class="summary-sig-name"><code>handle_one_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle a single HTTP request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string" class="summary-sig-name"><code>log_date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the current time formatted for logging.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error" class="summary-sig-name"><code>log_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-vararg">*args</span>)</span></code>
+<br />
+Log an error.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message" class="summary-sig-name"><code>log_message</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>format</span>,
+          <span class="summary-sig-vararg">*args</span>)</span></code>
+<br />
+Log an arbitrary message.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request" class="summary-sig-name"><code>log_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>size</span>)</span></code>
+<br />
+Log an accepted request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request" class="summary-sig-name"><code>parse_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Parse a request (internal).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error" class="summary-sig-name"><code>send_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>message</span>)</span></code>
+<br />
+Send and log an error reply.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header" class="summary-sig-name"><code>send_header</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>keyword</span>,
+          <span class=summary-sig-arg>value</span>)</span></code>
+<br />
+Send a MIME header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response" class="summary-sig-name"><code>send_response</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>message</span>)</span></code>
+<br />
+Send the response header and log the response code.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string" class="summary-sig-name"><code>version_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the server software version string.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>,
+          <span class=summary-sig-arg>server</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
+<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></b> = <span title="{'': 'application/octet-stream', '.obj': 'application/octet-stream', '.ra': 'audio/x-pn-realaudio', '.sgm': 'text/x-sgml', '.texi': 'application/x-texinfo', '.mp2': 'audio/mpeg', '.bin': 'application/octet-stream', '.dll': 'application/octet-stream', '.xpm': 'image/x-xpixmap', '.mpeg': 'video/mpeg', '.ms': 'application/x-troff-ms', '.me': 'application/x-troff-me', '.rtx': 'text/richtext', '.ppt': 'application/vnd.ms-powerpoint', '.ras': 'image/x-cmu-raster', '.pps': 'application/vnd.ms-powerpoint', '.rgb': 'image/x-rgb', '.ram': 'application/x-pn-realaudio', '.ppm': 'image/x-portable-pixmap..."><code>{'':&nbsp;'application/octet-stream',&nbsp;'.obj'<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></b> = <span title="'SimpleHTTP/0.6'"><code><span class="variable-quote">'</span>SimpleHTTP/0.6<span class="variable-quote">'</span>                        </code>
+</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></b> = <span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"><code><span class="variable-quote">'</span>&lt;head&gt;\n&lt;title&gt;Error&nbsp;response&lt;/t<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></b> = <span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"><code>[None,&nbsp;'Jan',&nbsp;'Feb',&nbsp;'Mar',&nbsp;'Apr',&nbsp;'May',&nbsp;'J<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></b> = <span title="'HTTP/1.0'"><code><span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span>                            </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></b> = <span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '..."><code>{400:&nbsp;('Bad&nbsp;request',&nbsp;'Bad&nbsp;request&nbsp;syntax&nbsp;or<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></b> = <span title="'Python/2.3.4'"><code><span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span>                             </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></b> = <span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"><code>['Mon',&nbsp;'Tue',&nbsp;'Wed',&nbsp;'Thu',&nbsp;'Fri',&nbsp;'Sat',<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="-1">-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="copyfile"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">copyfile</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>source</span>,
+          <span class=sig-arg>outputfile</span>)</span>
+  </h3>
+  <p>Copy all data between two file objects.</p>
+  <p>The SOURCE argument is a file object open for reading (or anything 
+  with a read() method) and the DESTINATION argument is a file object 
+  open for writing (or anything with a write() method).</p>
+  The only reason for overriding this would be to change the block 
+  size or perhaps to replace newlines by CRLF -- note however that this 
+  the default server uses this to copy binary data as well.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="do_GET"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">do_GET</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Serve a GET request.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="do_HEAD"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">do_HEAD</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Serve a HEAD request.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="guess_type"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">guess_type</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>path</span>)</span>
+  </h3>
+  <p>Guess the type of a file.</p>
+  <p>Argument is a PATH (a filename).</p>
+  <p>Return value is a string of the form type/subtype, usable for a MIME 
+  Content-type header.</p>
+  The default implementation looks the file's extension up in the 
+  table self.extensions_map, using text/plain as a default; however it 
+  would be permissible (if slow) to look inside the data to make a better 
+  guess.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="list_directory"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">list_directory</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>path</span>)</span>
+  </h3>
+  <p>Helper to produce a directory listing (absent index.html).</p>
+  Return value is either a file object, or None (indicating an error). 
+  In either case, the headers are sent, making the interface the same as 
+  for send_head().
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="send_head"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">send_head</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Common code for GET and HEAD commands.</p>
+  <p>This sends the response code and MIME headers.</p>
+  Return value is either a file object (which has to be copied to the 
+  outputfile by the caller unless the command was HEAD, and must be 
+  closed by the caller under all circumstances), or None, in which case 
+  the caller has nothing further to do.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="translate_path"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">translate_path</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>path</span>)</span>
+  </h3>
+  <p>Translate a /-separated PATH to the local filename syntax.</p>
+  Components that mean special things to the local file system (e.g. 
+  drive or directory names) are ignored. (XXX They should probably be 
+  diagnosed.)
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Class Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="extensions_map"></a>
+<h3>extensions_map</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>dict</code>
+
+      </dd>
+<span title="{'': 'application/octet-stream', '.obj': 'application/octet-stream', '.ra': 'audio/x-pn-realaudio', '.sgm': 'text/x-sgml', '.texi': 'application/x-texinfo', '.mp2': 'audio/mpeg', '.bin': 'application/octet-stream', '.dll': 'application/octet-stream', '.xpm': 'image/x-xpixmap', '.mpeg': 'video/mpeg', '.ms': 'application/x-troff-ms', '.me': 'application/x-troff-me', '.rtx': 'text/richtext', '.ppt': 'application/vnd.ms-powerpoint', '.ras': 'image/x-cmu-raster', '.pps': 'application/vnd.ms-powerpoint', '.rgb': 'image/x-rgb', '.ram': 'application/x-pn-realaudio', '.ppm': 'image/x-portable-pixmap...">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+{'': 'application/octet-stream',
+ '.bin': 'application/octet-stream',
+ '.dll': 'application/octet-stream',
+ '.mp2': 'audio/mpeg',
+ '.obj': 'application/octet-stream',
+ '.ra': 'audio/x-pn-realaudio',
+ '.sgm': 'text/x-sgml',
+ '.texi': 'application/x-texinfo',
+<span class="variable-ellipsis">...</span>                                                                    </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="server_version"></a>
+<h3>server_version</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>str</code>
+
+      </dd>
+<span title="'SimpleHTTP/0.6'">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+<span class="variable-quote">'</span>SimpleHTTP/0.6<span class="variable-quote">'</span>                                                       </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/SocketServer.BaseRequestHandler-class.html b/apps/sam/python/doc/epydoc/html/private/SocketServer.BaseRequestHandler-class.html
new file mode 100644
index 0000000000..6262685233
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/SocketServer.BaseRequestHandler-class.html
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>SocketServer.BaseRequestHandler</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;SocketServer ::
+        Class&nbsp;BaseRequestHandler
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/SocketServer.BaseRequestHandler-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SocketServer.BaseRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class BaseRequestHandler</h2>
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a>,
+    <a href="SocketServer.DatagramRequestHandler-class.html"><code>DatagramRequestHandler</code></a>,
+    <a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a></dd></dl>
+
+<hr/>
+
+<p>Base class for request handler classes.</p>
+<p>This class is instantiated for each request to be handled. The 
+constructor sets the instance variables request, client_address and 
+server, and then calls the handle() method. To implement a specific 
+service, all you need to do is to derive a class which defines a handle() 
+method.</p>
+The handle() method can find the request as self.request, the client 
+address as self.client_address, and the server (in case it needs access 
+to per-server information) as self.server. Since a separate instance is 
+created for each request, the handle() method can define arbitrary other 
+instance variariables.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>,
+          <span class=summary-sig-arg>server</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="finish"></a><span class="summary-sig"><span class="summary-sig-name">finish</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="handle"></a><span class="summary-sig"><span class="summary-sig-name">handle</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="setup"></a><span class="summary-sig"><span class="summary-sig-name">setup</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/SocketServer.BaseServer-class.html b/apps/sam/python/doc/epydoc/html/private/SocketServer.BaseServer-class.html
new file mode 100644
index 0000000000..9d37db3dad
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/SocketServer.BaseServer-class.html
@@ -0,0 +1,278 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>SocketServer.BaseServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;SocketServer ::
+        Class&nbsp;BaseServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<b>show&nbsp;private</b>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="..\private\SocketServer.BaseServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class BaseServer</h2>
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a>,
+    <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a></dd></dl>
+
+<hr/>
+
+<pre class="literalblock">
+Base class for server classes.
+
+Methods for the caller:
+
+- __init__(server_address, RequestHandlerClass)
+- serve_forever()
+- handle_request()  # if you do not use serve_forever()
+- fileno() -&gt; int   # for select()
+
+Methods that may be overridden:
+
+- server_bind()
+- server_activate()
+- get_request() -&gt; request, client_address
+- verify_request(request, client_address)
+- server_close()
+- process_request(request, client_address)
+- close_request(request)
+- handle_error()
+
+Methods for derived classes:
+
+- finish_request(request, client_address)
+
+Class variables that may be overridden by derived classes or
+instances:
+
+- address_family
+- socket_type
+- allow_reuse_address
+
+Instance variables:
+
+- RequestHandlerClass
+- socket
+</pre>
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>server_address</span>,
+          <span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
+<br />
+Constructor.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#close_request" class="summary-sig-name"><code>close_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>)</span></code>
+<br />
+Called to clean up an individual request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#finish_request" class="summary-sig-name"><code>finish_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Finish one request by instantiating RequestHandlerClass.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_error" class="summary-sig-name"><code>handle_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Handle an error gracefully.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_request" class="summary-sig-name"><code>handle_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle one request, possibly blocking.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Call finish_request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#serve_forever" class="summary-sig-name"><code>serve_forever</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle one request at a time until doomsday.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#server_activate" class="summary-sig-name"><code>server_activate</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to activate the server.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#server_close" class="summary-sig-name"><code>server_close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called to clean-up the server.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#verify_request" class="summary-sig-name"><code>verify_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Verify the request.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="__init__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__init__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>server_address</span>,
+          <span class=sig-arg>RequestHandlerClass</span>)</span>
+    <br /><i>(Constructor)</i>
+  </h3>
+  Constructor. May be extended, do not override.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="close_request"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">close_request</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>request</span>)</span>
+  </h3>
+  Called to clean up an individual request.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="finish_request"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">finish_request</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>request</span>,
+          <span class=sig-arg>client_address</span>)</span>
+  </h3>
+  Finish one request by instantiating RequestHandlerClass.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="handle_error"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">handle_error</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>request</span>,
+          <span class=sig-arg>client_address</span>)</span>
+  </h3>
+  <p>Handle an error gracefully. May be overridden.</p>
+  The default is to print a traceback and continue.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="handle_request"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">handle_request</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Handle one request, possibly blocking.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="process_request"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">process_request</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>request</span>,
+          <span class=sig-arg>client_address</span>)</span>
+  </h3>
+  <p>Call finish_request.</p>
+  Overridden by ForkingMixIn and ThreadingMixIn.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="serve_forever"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">serve_forever</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Handle one request at a time until doomsday.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="server_activate"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">server_activate</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Called by constructor to activate the server.</p>
+  May be overridden.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="server_close"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">server_close</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Called to clean-up the server.</p>
+  May be overridden.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="verify_request"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">verify_request</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>request</span>,
+          <span class=sig-arg>client_address</span>)</span>
+  </h3>
+  <p>Verify the request. May be overridden.</p>
+  Return True if we should proceed with this request.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/SocketServer.DatagramRequestHandler-class.html b/apps/sam/python/doc/epydoc/html/private/SocketServer.DatagramRequestHandler-class.html
new file mode 100644
index 0000000000..74c0f74e75
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/SocketServer.DatagramRequestHandler-class.html
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>SocketServer.DatagramRequestHandler</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;SocketServer ::
+        Class&nbsp;DatagramRequestHandler
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/SocketServer.DatagramRequestHandler-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SocketServer.DatagramRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class DatagramRequestHandler</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+
+                     |
+                    <b>DatagramRequestHandler</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.SocketServer.DatagramRequestHandler-class.html"><code>DatagramRequestHandler</code></a></dd></dl>
+
+<hr/>
+
+Define self.rfile and self.wfile for datagram sockets.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="finish"></a><span class="summary-sig"><span class="summary-sig-name">finish</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="setup"></a><span class="summary-sig"><span class="summary-sig-name">setup</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>,
+          <span class=summary-sig-arg>server</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/SocketServer.ForkingMixIn-class.html b/apps/sam/python/doc/epydoc/html/private/SocketServer.ForkingMixIn-class.html
new file mode 100644
index 0000000000..7f56392ea0
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/SocketServer.ForkingMixIn-class.html
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>SocketServer.ForkingMixIn</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;SocketServer ::
+        Class&nbsp;ForkingMixIn
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/SocketServer.ForkingMixIn-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SocketServer.ForkingMixIn-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class ForkingMixIn</h2>
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a></dd></dl>
+
+<hr/>
+
+Mix-in class to handle each request in a new process.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ForkingMixIn-class.html#collect_children" class="summary-sig-name"><code>collect_children</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Internal routine to wait for died children.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ForkingMixIn-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Fork a new subprocess to process the request.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>NoneType</code></font></td>
+<td><b><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></b> = <span title="None">None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></b> = <span title="40">40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="collect_children"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">collect_children</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Internal routine to wait for died children.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="process_request"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">process_request</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>request</span>,
+          <span class=sig-arg>client_address</span>)</span>
+  </h3>
+  Fork a new subprocess to process the request.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Class Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="active_children"></a>
+<h3>active_children</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>NoneType</code>
+
+      </dd>
+<span title="None">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="max_children"></a>
+<h3>max_children</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>int</code>
+
+      </dd>
+<span title="40">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/SocketServer.StreamRequestHandler-class.html b/apps/sam/python/doc/epydoc/html/private/SocketServer.StreamRequestHandler-class.html
new file mode 100644
index 0000000000..a99375b56f
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/SocketServer.StreamRequestHandler-class.html
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>SocketServer.StreamRequestHandler</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;SocketServer ::
+        Class&nbsp;StreamRequestHandler
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/SocketServer.StreamRequestHandler-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SocketServer.StreamRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class StreamRequestHandler</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+
+                     |
+                    <b>StreamRequestHandler</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a>,
+    <a href="i2p.SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a></dd></dl>
+
+<hr/>
+
+Define self.rfile and self.wfile for stream sockets.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="finish"></a><span class="summary-sig"><span class="summary-sig-name">finish</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="setup"></a><span class="summary-sig"><span class="summary-sig-name">setup</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>,
+          <span class=summary-sig-arg>server</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="-1">-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Class Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="rbufsize"></a>
+<h3>rbufsize</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>int</code>
+
+      </dd>
+<span title="-1">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="wbufsize"></a>
+<h3>wbufsize</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>int</code>
+
+      </dd>
+<span title="0">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/SocketServer.TCPServer-class.html b/apps/sam/python/doc/epydoc/html/private/SocketServer.TCPServer-class.html
new file mode 100644
index 0000000000..088f41bfdb
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/SocketServer.TCPServer-class.html
@@ -0,0 +1,383 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>SocketServer.TCPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;SocketServer ::
+        Class&nbsp;TCPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/SocketServer.TCPServer-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SocketServer.TCPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class TCPServer</h2>
+
+<pre class="base-tree">
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+
+             |
+            <b>TCPServer</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="BaseHTTPServer.HTTPServer-class.html"><code>HTTPServer</code></a>,
+    <a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a>,
+    <a href="SocketServer.UDPServer-class.html"><code>UDPServer</code></a></dd></dl>
+
+<hr/>
+
+<pre class="literalblock">
+Base class for various socket-based server classes.
+
+Defaults to synchronous IP stream (i.e., TCP).
+
+Methods for the caller:
+
+- __init__(server_address, RequestHandlerClass)
+- serve_forever()
+- handle_request()  # if you don't use serve_forever()
+- fileno() -&gt; int   # for select()
+
+Methods that may be overridden:
+
+- server_bind()
+- server_activate()
+- get_request() -&gt; request, client_address
+- verify_request(request, client_address)
+- process_request(request, client_address)
+- close_request(request)
+- handle_error()
+
+Methods for derived classes:
+
+- finish_request(request, client_address)
+
+Class variables that may be overridden by derived classes or
+instances:
+
+- address_family
+- socket_type
+- request_queue_size (only for stream sockets)
+- allow_reuse_address
+
+Instance variables:
+
+- server_address
+- RequestHandlerClass
+- socket
+</pre>
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>server_address</span>,
+          <span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
+<br />
+Constructor.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#close_request" class="summary-sig-name"><code>close_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>)</span></code>
+<br />
+Called to clean up an individual request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return socket file number.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the request and client address from the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_activate" class="summary-sig-name"><code>server_activate</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to activate the server.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to bind the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_close" class="summary-sig-name"><code>server_close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called to clean-up the server.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#finish_request" class="summary-sig-name"><code>finish_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Finish one request by instantiating RequestHandlerClass.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_error" class="summary-sig-name"><code>handle_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Handle an error gracefully.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_request" class="summary-sig-name"><code>handle_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle one request, possibly blocking.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Call finish_request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#serve_forever" class="summary-sig-name"><code>serve_forever</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle one request at a time until doomsday.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#verify_request" class="summary-sig-name"><code>verify_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Verify the request.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False                              </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="__init__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__init__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>server_address</span>,
+          <span class=sig-arg>RequestHandlerClass</span>)</span>
+    <br /><i>(Constructor)</i>
+  </h3>
+  Constructor. May be extended, do not override.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="..\private\SocketServer.BaseServer-class.html#__init__"><code>SocketServer.BaseServer.__init__</code></a></dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+
+<a name="close_request"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">close_request</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>request</span>)</span>
+  </h3>
+  Called to clean up an individual request.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="..\private\SocketServer.BaseServer-class.html#close_request"><code>SocketServer.BaseServer.close_request</code></a></dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+
+<a name="fileno"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">fileno</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Return socket file number.</p>
+  Interface required by select().
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="get_request"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">get_request</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Get the request and client address from the socket.</p>
+  May be overridden.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="server_activate"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">server_activate</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Called by constructor to activate the server.</p>
+  May be overridden.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="..\private\SocketServer.BaseServer-class.html#server_activate"><code>SocketServer.BaseServer.server_activate</code></a></dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+
+<a name="server_bind"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">server_bind</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Called by constructor to bind the socket.</p>
+  May be overridden.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="server_close"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">server_close</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Called to clean-up the server.</p>
+  May be overridden.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="..\private\SocketServer.BaseServer-class.html#server_close"><code>SocketServer.BaseServer.server_close</code></a></dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Class Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="address_family"></a>
+<h3>address_family</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>int</code>
+
+      </dd>
+<span title="2">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="allow_reuse_address"></a>
+<h3>allow_reuse_address</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>bool</code>
+
+      </dd>
+<span title="False">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+False                                                                  </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="request_queue_size"></a>
+<h3>request_queue_size</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>int</code>
+
+      </dd>
+<span title="5">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="socket_type"></a>
+<h3>socket_type</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>int</code>
+
+      </dd>
+<span title="1">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/SocketServer.ThreadingMixIn-class.html b/apps/sam/python/doc/epydoc/html/private/SocketServer.ThreadingMixIn-class.html
new file mode 100644
index 0000000000..0b32cc20fb
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/SocketServer.ThreadingMixIn-class.html
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>SocketServer.ThreadingMixIn</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;SocketServer ::
+        Class&nbsp;ThreadingMixIn
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/SocketServer.ThreadingMixIn-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SocketServer.ThreadingMixIn-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class ThreadingMixIn</h2>
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a></dd></dl>
+
+<hr/>
+
+Mix-in class to handle each request in a new thread.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ThreadingMixIn-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Start a new thread to process the request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ThreadingMixIn-class.html#process_request_thread" class="summary-sig-name"><code>process_request_thread</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Same as in BaseServer but as a thread.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></b> = <span title="False"><code>False                                   </code>
+</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="process_request"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">process_request</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>request</span>,
+          <span class=sig-arg>client_address</span>)</span>
+  </h3>
+  Start a new thread to process the request.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="process_request_thread"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">process_request_thread</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>request</span>,
+          <span class=sig-arg>client_address</span>)</span>
+  </h3>
+  <p>Same as in BaseServer but as a thread.</p>
+  In addition, exception handling is done here.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Class Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="daemon_threads"></a>
+<h3>daemon_threads</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>bool</code>
+
+      </dd>
+<span title="False">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+False                                                                  </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/SocketServer.UDPServer-class.html b/apps/sam/python/doc/epydoc/html/private/SocketServer.UDPServer-class.html
new file mode 100644
index 0000000000..95caa78db6
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/SocketServer.UDPServer-class.html
@@ -0,0 +1,288 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>SocketServer.UDPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;SocketServer ::
+        Class&nbsp;UDPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/SocketServer.UDPServer-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SocketServer.UDPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class UDPServer</h2>
+
+<pre class="base-tree">
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+    
+             |    
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
+                 |
+                <b>UDPServer</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.SocketServer.UDPServer-class.html"><code>UDPServer</code></a></dd></dl>
+
+<hr/>
+
+UDP server class.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.UDPServer-class.html#close_request" class="summary-sig-name"><code>close_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>)</span></code>
+<br />
+Called to clean up an individual request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.UDPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the request and client address from the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.UDPServer-class.html#server_activate" class="summary-sig-name"><code>server_activate</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to activate the server.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>server_address</span>,
+          <span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
+<br />
+Constructor.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return socket file number.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to bind the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_close" class="summary-sig-name"><code>server_close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called to clean-up the server.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#finish_request" class="summary-sig-name"><code>finish_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Finish one request by instantiating RequestHandlerClass.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_error" class="summary-sig-name"><code>handle_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Handle an error gracefully.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_request" class="summary-sig-name"><code>handle_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle one request, possibly blocking.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Call finish_request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#serve_forever" class="summary-sig-name"><code>serve_forever</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle one request at a time until doomsday.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#verify_request" class="summary-sig-name"><code>verify_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Verify the request.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False                              </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></b> = <span title="8192">8192&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.UDPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="close_request"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">close_request</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>request</span>)</span>
+  </h3>
+  Called to clean up an individual request.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="SocketServer.TCPServer-class.html#close_request"><code>SocketServer.TCPServer.close_request</code></a> <i>(inherited documentation)</i>
+</dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+
+<a name="get_request"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">get_request</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Get the request and client address from the socket.</p>
+  May be overridden.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="SocketServer.TCPServer-class.html#get_request"><code>SocketServer.TCPServer.get_request</code></a> <i>(inherited documentation)</i>
+</dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+
+<a name="server_activate"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">server_activate</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Called by constructor to activate the server.</p>
+  May be overridden.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="SocketServer.TCPServer-class.html#server_activate"><code>SocketServer.TCPServer.server_activate</code></a> <i>(inherited documentation)</i>
+</dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Class Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="allow_reuse_address"></a>
+<h3>allow_reuse_address</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>bool</code>
+
+      </dd>
+<span title="False">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+False                                                                  </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="max_packet_size"></a>
+<h3>max_packet_size</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>int</code>
+
+      </dd>
+<span title="8192">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+8192&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="socket_type"></a>
+<h3>socket_type</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>int</code>
+
+      </dd>
+<span title="2">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/epydoc.css b/apps/sam/python/doc/epydoc/html/private/epydoc.css
new file mode 100644
index 0000000000..46080bd0d5
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/epydoc.css
@@ -0,0 +1,100 @@
+
+/* Body color */ 
+body               { background: #ffffff; color: #000000; } 
+ 
+/* Tables */ 
+table.summary, table.details, table.index
+                   { background: #e8f0f8; color: #000000; } 
+tr.summary, tr.details, tr.index
+                   { background: #70b0f0; color: #000000;  
+                     text-align: left; font-size: 120%; } 
+tr.group           { background: #c0e0f8; color: #000000;
+                     text-align: left; font-size: 120%;
+                     font-style: italic; } 
+
+/* Documentation page titles */
+h2.module          { margin-top: 0.2em; }
+h2.class           { margin-top: 0.2em; }
+ 
+/* Headings */
+h1.heading         { font-size: +140%; font-style: italic;
+                     font-weight: bold; }
+h2.heading         { font-size: +125%; font-style: italic;
+                     font-weight: bold; }
+h3.heading         { font-size: +110%; font-style: italic;
+                     font-weight: normal; }
+                    
+/* Base tree */
+pre.base-tree      { font-size: 80%; margin: 0; }
+
+/* Details Sections */
+table.func-details { background: #e8f0f8; color: #000000;
+                     border: 2px groove #c0d0d0;
+                     padding: 0 1em 0 1em; margin: 0.4em 0 0 0; }
+h3.func-detail     { background: transparent; color: #000000;
+                     margin: 0 0 1em 0; }
+
+table.var-details  { background: #e8f0f8; color: #000000;
+                     border: 2px groove #c0d0d0;
+                     padding: 0 1em 0 1em; margin: 0.4em 0 0 0; }
+h3.var-details     { background: transparent; color: #000000;
+                     margin: 0 0 1em 0; }
+
+/* Function signatures */
+.sig               { background: transparent; color: #000000;
+                     font-weight: bold; }  
+.sig-name          { background: transparent; color: #006080; }  
+.sig-arg, .sig-kwarg, .sig-vararg
+                   { background: transparent; color: #008060; }  
+.sig-default       { background: transparent; color: #602000; }  
+.summary-sig       { background: transparent; color: #000000; }  
+.summary-sig-name  { background: transparent; color: #204080; }
+.summary-sig-arg, .summary-sig-kwarg, .summary-sig-vararg
+                   { background: transparent; color: #008060; }  
+
+/* Doctest blocks */
+.py-src            { background: transparent; color: #000000; }
+.py-prompt         { background: transparent; color: #005050;
+                     font-weight: bold;}
+.py-string         { background: transparent; color: #006030; }
+.py-comment        { background: transparent; color: #003060; }
+.py-keyword        { background: transparent; color: #600000; }
+.py-output         { background: transparent; color: #404040; }
+pre.doctestblock   { background: #f4faff; color: #000000; 
+                     padding: .5em; margin: 1em;
+                     border: 1px solid #708890; }
+table pre.doctestblock
+                   { background: #dce4ec; color: #000000; 
+                     padding: .5em; margin: 1em;
+                     border: 1px solid #708890; }
+
+/* Variable values */
+pre.variable       { background: #dce4ec; color: #000000;
+                     padding: .5em; margin: 0;
+                     border: 1px solid #708890; }
+.variable-linewrap { background: transparent; color: #604000; }
+.variable-ellipsis { background: transparent; color: #604000; }
+.variable-quote    { background: transparent; color: #604000; }
+.re                { background: transparent; color: #000000; }
+.re-char           { background: transparent; color: #006030; }
+.re-op             { background: transparent; color: #600000; }
+.re-group          { background: transparent; color: #003060; }
+.re-ref            { background: transparent; color: #404040; }
+
+/* Navigation bar */ 
+table.navbar       { background: #a0c0ff; color: #0000ff;
+                     border: 2px groove #c0d0d0; }
+th.navbar          { background: #a0c0ff; color: #0000ff; } 
+th.navselect       { background: #70b0ff; color: #000000; } 
+.nomargin          { margin: 0; }
+
+/* Links */ 
+a:link             { background: transparent; color: #0000ff; }  
+a:visited          { background: transparent; color: #204080; }  
+a.navbar:link      { background: transparent; color: #0000ff; 
+                     text-decoration: none; }  
+a.navbar:visited   { background: transparent; color: #204080; 
+                     text-decoration: none; }  
+
+/* Lists */
+ul { margin-top: 0; }
diff --git a/apps/sam/python/doc/epydoc/html/private/exceptions.Exception-class.html b/apps/sam/python/doc/epydoc/html/private/exceptions.Exception-class.html
new file mode 100644
index 0000000000..5cc7c805f6
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/exceptions.Exception-class.html
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>exceptions.Exception</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;exceptions ::
+        Class&nbsp;Exception
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/exceptions.Exception-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="exceptions.Exception-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class Exception</h2>
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="..\private\i2p.Error-class.html"><code>Error</code></a></dd></dl>
+
+<hr/>
+
+Common base class for all exceptions.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="__getitem__"></a><span class="summary-sig"><span class="summary-sig-name">__getitem__</span>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="__str__"></a><span class="summary-sig"><span class="summary-sig-name">__str__</span>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/frames.html b/apps/sam/python/doc/epydoc/html/private/frames.html
new file mode 100644
index 0000000000..a4d252f7ba
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/frames.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
+<html>
+<head>
+  <title> API Documentation </title>
+</head>
+<frameset cols="20%,80%">
+  <frameset rows="30%,70%">
+    <frame src="toc.html" name="moduleListFrame">
+    <frame src="toc-everything.html" name="moduleFrame">
+  </frameset>
+  <frame src="i2p-module.html" name="mainFrame">
+</frameset>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/help.html b/apps/sam/python/doc/epydoc/html/private/help.html
new file mode 100644
index 0000000000..0c93fe3d03
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/help.html
@@ -0,0 +1,224 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Help</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Help&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/help.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="help.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<center><h2> API Documentation </h2></center>
+
+<p> This document contains the API (Application Programming Interface)
+documentation for this project.  Documentation for the Python
+objects defined by the project is divided into separate pages for each
+package, module, and class.  The API documentation also includes two
+pages containing information about the project as a whole: a trees
+page, and an index page.  </p>
+
+<h2> Object Documentation </h2>
+
+  <p>Each <b>Package Documentation</b> page contains: 
+  <ul>
+    <li> A description of the package. </li>
+    <li> A list of the modules and sub-packages contained by the
+    package.  </li>
+    <li> A summary of the classes defined by the package. </li>
+    <li> A summary of the functions defined by the package. </li>
+    <li> A summary of the variables defined by the package. </li>
+    <li> A detailed description of each function defined by the
+    package. </li>
+    <li> A detailed description of each variable defined by the
+    package. </li>
+  </ul></p>
+  
+  <p>Each <b>Module Documentation</b> page contains:
+  <ul>
+    <li> A description of the module. </li>
+    <li> A summary of the classes defined by the module. </li>
+    <li> A summary of the functions defined by the module. </li>
+    <li> A summary of the variables defined by the module. </li>
+    <li> A detailed description of each function defined by the
+    module. </li>
+    <li> A detailed description of each variable defined by the
+    module. </li>
+  </ul></p>
+  
+  <p>Each <b>Class Documentation</b> page contains:
+  <ul>
+    <li> A class inheritance diagram. </li>
+    <li> A list of known subclasses. </li>
+    <li> A description of the class. </li>
+    <li> A summary of the methods defined by the class. </li>
+    <li> A summary of the instance variables defined by the class. </li>
+    <li> A summary of the class (static) variables defined by the
+    class. </li> 
+    <li> A detailed description of each method defined by the
+    class. </li>
+    <li> A detailed description of each instance variable defined by the
+    class. </li> 
+    <li> A detailed description of each class (static) variable defined
+    by the class. </li> 
+  </ul></p>
+
+<h2> Project Documentation </h2>
+
+  <p> The <b>Trees</b> page contains the module and class hierarchies:
+  <ul>
+    <li> The <i>module hierarchy</i> lists every package and module, with
+    modules grouped into packages.  At the top level, and within each
+    package, modules and sub-packages are listed alphabetically. </li>
+    <li> The <i>class hierarchy</i> lists every class, grouped by base
+    class.  If a class has more than one base class, then it will be
+    listed under each base class.  At the top level, and under each base
+    class, classes are listed alphabetically. </li>
+  </ul></p>
+  
+  <p> The <b>Index</b> page contains indices of terms and
+  identifiers: 
+  <ul>
+    <li> The <i>term index</i> lists every term indexed by any object's
+    documentation.  For each term, the index provides links to each
+    place where the term is indexed. </li>
+    <li> The <i>identifier index</i> lists the (short) name of every package,
+    module, class, method, function, variable, and parameter.  For each
+    identifier, the index provides a short description, and a link to
+    its documentation. </li>
+  </ul></p>
+
+<h2> The Table of Contents </h2>
+
+<p> The table of contents occupies the two frames on the left side of
+the window.  The upper-left frame displays the <i>project
+contents</i>, and the lower-left frame displays the <i>module
+contents</i>: </p>
+
+<center>
+<table class="summary" border="1" cellspacing="0" cellpadding="3">
+  <tr heigh="30%">
+    <td align="center">
+       <font size="-1">Project<br>Contents<hr>...</font></td>
+    <td align="center" rowspan="2" width="70%">
+      API<br>Documentation<br>Frame<br><br><br>
+    </td>
+  </tr>
+  <tr>
+    <td align="center">
+      <font size="-1">Module<br>Contents<hr>&nbsp;<br>...<br>&nbsp;</font>
+    </td>
+  </tr>
+</table><br>
+</center>
+
+<p> The <b>project contents frame</b> contains a list of all packages
+and modules that are defined by the project.  Clicking on an entry
+will display its contents in the module contents frame.  Clicking on a
+special entry, labeled "Everything," will display the contents of
+the entire project. </p>
+
+<p> The <b>module contents frame</b> contains a list of every
+submodule, class, type, exception, function, and variable defined by a
+module or package.  Clicking on an entry will display its
+documentation in the API documentation frame.  Clicking on the name of
+the module, at the top of the frame, will display the documentation
+for the module itself. </p>
+
+<p> The "<b>frames</b>" and "<b>no frames</b>" buttons below the top
+navigation bar can be used to control whether the table of contents is
+displayed or not. </p>
+
+<h2> The Navigation Bar </h2>
+
+<p> A navigation bar is located at the top and bottom of every page.
+It indicates what type of page you are currently viewing, and allows
+you to go to related pages.  The following table describes the labels
+on the navigation bar.  Note that not some labels (such as
+[Parent]) are not displayed on all pages. </p>
+
+<table class="summary" border="1" cellspacing="0" cellpadding="3" width="100%">
+<tr class="summary">
+  <th>Label</th>
+  <th>Highlighted when...</th>
+  <th>Links to...</th>
+</tr>
+  <tr><td valign="top"><b>[Parent]</b></td>
+      <td valign="top"><i>(never highlighted)</i></td>
+      <td valign="top"> the parent of the current package </td></tr>
+  <tr><td valign="top"><b>[Package]</b></td>
+      <td valign="top">viewing a package</td>
+      <td valign="top">the package containing the current object
+      </td></tr>
+  <tr><td valign="top"><b>[Module]</b></td>
+      <td valign="top">viewing a module</td>
+      <td valign="top">the module containing the current object
+      </td></tr> 
+  <tr><td valign="top"><b>[Class]</b></td>
+      <td valign="top">viewing a class </td>
+      <td valign="top">the class containing the current object</td></tr>
+  <tr><td valign="top"><b>[Trees]</b></td>
+      <td valign="top">viewing the trees page</td>
+      <td valign="top"> the trees page </td></tr>
+  <tr><td valign="top"><b>[Index]</b></td>
+      <td valign="top">viewing the index page</td>
+      <td valign="top"> the index page </td></tr>
+  <tr><td valign="top"><b>[Help]</b></td>
+      <td valign="top">viewing the help page</td>
+      <td valign="top"> the help page </td></tr>
+</table>
+
+<p> The "<b>show private</b>" and "<b>hide private</b>" buttons below
+the top navigation bar can be used to control whether documentation
+for private objects is displayed.  Private objects are usually defined
+as objects whose (short) names begin with a single underscore, but do
+not end with an underscore.  For example, "<code>_x</code>",
+"<code>__pprint</code>", and "<code>epydoc.epytext._tokenize</code>"
+are private objects; but "<code>re.sub</code>",
+"<code>__init__</code>", and "<code>type_</code>" are not.  However,
+if a module defines the "<code>__all__</code>" variable, then its
+contents are used to decide which objects are private. </p>
+
+<p> A timestamp below the bottom navigation bar indicates when each
+page was last updated. </p>
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Help&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p-module.html b/apps/sam/python/doc/epydoc/html/private/i2p-module.html
new file mode 100644
index 0000000000..9339ebdc03
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p-module.html
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Home&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Package&nbsp;i2p
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p-module.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF PACKAGE DESCRIPTION =========== -->
+<h2 class="package">Package i2p</h2>
+
+i2p -- I2P Python interface
+<hr/>
+
+<!-- =========== START OF SUBMODULES =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Submodules</th></tr>
+  <tr><td><ul>
+<li> <b><a href="i2p.BaseHTTPServer-module.html"><code>BaseHTTPServer</code></a></b>: <i>Emulation of Python BaseHTTPServer module using I2P sockets.</i>
+<li> <b><a href="i2p.CGIHTTPServer-module.html"><code>CGIHTTPServer</code></a></b>: <i>Emulation of Python CGIHTTPServer module using I2P sockets.</i>
+<li> <b><a href="i2p.eep-module.html"><code>eep</code></a></b>: <i>Eeproxy access module</i>
+<li> <b><a href="i2p.router-module.html"><code>router</code></a></b>: <i>Router control module</i>
+<li> <b><a href="i2p.select-module.html"><code>select</code></a></b>: <i>I2P Python API - Emulation of Python select module.</i>
+<li> <b><a href="i2p.SimpleHTTPServer-module.html"><code>SimpleHTTPServer</code></a></b>: <i>Emulation of Python SimpleHTTPServer module using I2P sockets.</i>
+<li> <b><a href="i2p.socket-module.html"><code>socket</code></a></b>: <i>Emulation of Python socket module using SAM.</i>
+<li> <b><a href="i2p.SocketServer-module.html"><code>SocketServer</code></a></b>: <i>Emulation of Python SocketServer module using I2P sockets.</i>
+<li> <b><a href="i2p.tunnel-module.html"><code>tunnel</code></a></b>: <i>Exchange data between I2P and regular TCP sockets.</i>
+<li> <b><a href="..\private\i2p.pylib-module.html"><code>pylib</code></a></b>
+<li> <b><a href="..\private\i2p.samclasses-module.html"><code>samclasses</code></a></b>: <i>Lower-level SAM API, interfaces with SAM Bridge.</i>
+  </ul></td></tr>
+</table><br />
+
+
+<!-- =========== START OF EXCEPTIONS =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Exceptions</th></tr>
+<tr><td width="15%">
+  <b><a href="..\private\i2p.Error-class.html"><code>Error</code></a></b></td>
+  <td>Base class for all I2P errors.</td></tr>
+<tr><td width="15%">
+  <b><a href="..\private\i2p.RouterError-class.html"><code>RouterError</code></a></b></td>
+  <td>Could not connect to router.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Home&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.BaseHTTPServer-module.html b/apps/sam/python/doc/epydoc/html/private/i2p.BaseHTTPServer-module.html
new file mode 100644
index 0000000000..60c6bb3a94
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.BaseHTTPServer-module.html
@@ -0,0 +1,200 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.BaseHTTPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        Module&nbsp;BaseHTTPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.BaseHTTPServer-module.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.BaseHTTPServer-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF MODULE DESCRIPTION =========== -->
+<h2 class="module">Module i2p.BaseHTTPServer</h2>
+
+<p>Emulation of Python BaseHTTPServer module using I2P sockets.</p>
+<p>The Python module is described at 
+http://www.python.org/doc/current/lib/module-BaseHTTPServer.html</p>
+To get a server going, use:
+<pre class="doctestblock">
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">from</span> i2p <span class="py-keyword">import</span> BaseHTTPServer
+<span class="py-prompt">&gt;&gt;&gt; </span>BaseHTTPServer.test().</span></pre>
+<p>Consult the documentation for function test() to change basic server 
+settings, such as the session name.</p>
+A fully customizable example:
+<pre class="doctestblock">
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">from</span> i2p <span class="py-keyword">import</span> BaseHTTPServer
+<span class="py-prompt">&gt;&gt;&gt; </span>session = <span class="py-string">&quot;mytestxxx.i2p&quot;</span>      <span class="py-comment"># SAM session name</span>
+<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">class</span> MyServer(BaseHTTPServer.HTTPServer): <span class="py-keyword">pass</span>
+<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">class</span> MyRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): <span class="py-keyword">pass</span>
+<span class="py-prompt">&gt;&gt;&gt; </span>httpd = MyServer(session, MyRequestHandler)
+<span class="py-prompt">&gt;&gt;&gt; </span>httpd.socket.dest</span>
+<span class="py-output">(Base64 Destination of server)</span>
+
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>httpd.serve_forever()</span></pre>
+<hr/>
+
+<!-- =========== START OF CLASSES =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Classes</th></tr>
+<tr><td width="15%">
+  <b><a href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a></b></td>
+  <td>Same interface as Python class 
+BaseHTTPServer.BaseHTTPRequestHandler.</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.BaseHTTPServer.HTTPServer-class.html"><code>HTTPServer</code></a></b></td>
+  <td>Same interface as Python class BaseHTTPServer.HTTPServer.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Function Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.BaseHTTPServer-module.html#test" class="summary-sig-name"><code>test</code></a>(<span class=summary-sig-arg>HandlerClass</span>,
+          <span class=summary-sig-arg>ServerClass</span>,
+          <span class=summary-sig-arg>protocol</span>,
+          <span class=summary-sig-arg>session</span>)</span></code>
+<br />
+Test the HTTP request handler class.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="..\private\i2p.BaseHTTPServer-module.html#__version__"><code>__version__</code></a></b> = <span title="'0.3'"><code><span class="variable-quote">'</span>0.3<span class="variable-quote">'</span>                                      </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="..\private\i2p.BaseHTTPServer-module.html#DEFAULT_ERROR_MESSAGE"><code>DEFAULT_ERROR_MESSAGE</code></a></b> = <span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"><code><span class="variable-quote">'</span>&lt;head&gt;\n&lt;title&gt;Error&nbsp;response&lt;/<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Function Details</th></tr>
+</table>
+
+<a name="test"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">test</span>(<span class=sig-arg>HandlerClass</span>=<span class=sig-default>&lt;class&nbsp;i2p.BaseHTTPServer.BaseHTTPRequestHandler&nbsp;at&nbsp;0x00A...</span>,
+          <span class=sig-arg>ServerClass</span>=<span class=sig-default>&lt;class&nbsp;i2p.BaseHTTPServer.HTTPServer&nbsp;at&nbsp;0x00A2D960&gt;</span>,
+          <span class=sig-arg>protocol</span>=<span class=sig-default>'HTTP/1.0'</span>,
+          <span class=sig-arg>session</span>=<span class=sig-default>'mytestxxx.i2p'</span>)</span>
+  </h3>
+  <p>Test the HTTP request handler class.</p>
+  This runs an I2P TCP server under SAM session 'session'. If a single 
+  command line argument is given, the argument is used instead as the SAM 
+  session name.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="__version__"></a>
+<h3>__version__</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>str</code>
+
+      </dd>
+<span title="'0.3'">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+<span class="variable-quote">'</span>0.3<span class="variable-quote">'</span>                                                                  </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="DEFAULT_ERROR_MESSAGE"></a>
+<h3>DEFAULT_ERROR_MESSAGE</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>str</code>
+
+      </dd>
+<span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+<span class="variable-quote">'''</span>&lt;head&gt;
+&lt;title&gt;Error response&lt;/title&gt;
+&lt;/head&gt;
+&lt;body&gt;
+&lt;h1&gt;Error response&lt;/h1&gt;
+&lt;p&gt;Error code %(code)d.
+&lt;p&gt;Message: %(message)s.
+&lt;p&gt;Error code explanation: %(code)s = %(explain)s.
+<span class="variable-ellipsis">...</span>                                                                    </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html
new file mode 100644
index 0000000000..b143bbe128
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html
@@ -0,0 +1,210 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.BaseHTTPServer.BaseHTTPRequestHandler</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.BaseHTTPServer-module.html">Module&nbsp;BaseHTTPServer</a> ::
+        Class&nbsp;BaseHTTPRequestHandler
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class BaseHTTPRequestHandler</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+        
+                     |        
+  <a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+    
+                         |    
+    <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a> --+
+                             |
+<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+       |
+                     |       |
+  <a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+   |
+                         |   |
+      <a href="i2p.SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+
+                             |
+                            <b>BaseHTTPRequestHandler</b>
+</pre><br />
+
+<hr/>
+
+Same interface as Python class 
+BaseHTTPServer.BaseHTTPRequestHandler.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string" class="summary-sig-name"><code>address_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the client address formatted for logging.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string" class="summary-sig-name"><code>date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the current date and time formatted for a message header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers" class="summary-sig-name"><code>end_headers</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Send the blank line ending the MIME headers.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle multiple requests if necessary.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request" class="summary-sig-name"><code>handle_one_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle a single HTTP request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string" class="summary-sig-name"><code>log_date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the current time formatted for logging.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error" class="summary-sig-name"><code>log_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-vararg">*args</span>)</span></code>
+<br />
+Log an error.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message" class="summary-sig-name"><code>log_message</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>format</span>,
+          <span class="summary-sig-vararg">*args</span>)</span></code>
+<br />
+Log an arbitrary message.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request" class="summary-sig-name"><code>log_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>size</span>)</span></code>
+<br />
+Log an accepted request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request" class="summary-sig-name"><code>parse_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Parse a request (internal).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error" class="summary-sig-name"><code>send_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>message</span>)</span></code>
+<br />
+Send and log an error reply.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header" class="summary-sig-name"><code>send_header</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>keyword</span>,
+          <span class=summary-sig-arg>value</span>)</span></code>
+<br />
+Send a MIME header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response" class="summary-sig-name"><code>send_response</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>message</span>)</span></code>
+<br />
+Send the response header and log the response code.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string" class="summary-sig-name"><code>version_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the server software version string.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>,
+          <span class=summary-sig-arg>server</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></b> = <span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"><code><span class="variable-quote">'</span>&lt;head&gt;\n&lt;title&gt;Error&nbsp;response&lt;/t<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></b> = <span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"><code>[None,&nbsp;'Jan',&nbsp;'Feb',&nbsp;'Mar',&nbsp;'Apr',&nbsp;'May',&nbsp;'J<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></b> = <span title="'HTTP/1.0'"><code><span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span>                            </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></b> = <span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '..."><code>{400:&nbsp;('Bad&nbsp;request',&nbsp;'Bad&nbsp;request&nbsp;syntax&nbsp;or<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></b> = <span title="'BaseHTTP/0.3'"><code><span class="variable-quote">'</span>BaseHTTP/0.3<span class="variable-quote">'</span>                          </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></b> = <span title="'Python/2.3.4'"><code><span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span>                             </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></b> = <span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"><code>['Mon',&nbsp;'Tue',&nbsp;'Wed',&nbsp;'Thu',&nbsp;'Fri',&nbsp;'Sat',<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="-1">-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.BaseHTTPServer.HTTPServer-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.BaseHTTPServer.HTTPServer-class.html
new file mode 100644
index 0000000000..1b84e7135c
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.BaseHTTPServer.HTTPServer-class.html
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.BaseHTTPServer.HTTPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.BaseHTTPServer-module.html">Module&nbsp;BaseHTTPServer</a> ::
+        Class&nbsp;HTTPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.BaseHTTPServer.HTTPServer-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.BaseHTTPServer.HTTPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class HTTPServer</h2>
+
+<pre class="base-tree">
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+        
+             |        
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+    
+                 |    
+        <a href="BaseHTTPServer.HTTPServer-class.html"><code>HTTPServer</code></a> --+
+                     |
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+       |
+             |       |
+    <a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+   |
+                 |   |
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+   |   |
+             |   |   |
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+   |
+                 |   |
+         <a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
+                     |
+                    <b>HTTPServer</b>
+</pre><br />
+
+<hr/>
+
+Same interface as Python class BaseHTTPServer.HTTPServer.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>session</span>,
+          <span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
+<br />
+Constructor.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from HTTPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.HTTPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Override server_bind to store the server name.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#close_request" class="summary-sig-name"><code>close_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>)</span></code>
+<br />
+Called to clean up an individual request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return socket file number.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the request and client address from the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_activate" class="summary-sig-name"><code>server_activate</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to activate the server.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_close" class="summary-sig-name"><code>server_close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called to clean-up the server.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#finish_request" class="summary-sig-name"><code>finish_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Finish one request by instantiating RequestHandlerClass.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_error" class="summary-sig-name"><code>handle_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Handle an error gracefully.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_request" class="summary-sig-name"><code>handle_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle one request, possibly blocking.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Call finish_request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#serve_forever" class="summary-sig-name"><code>serve_forever</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle one request at a time until doomsday.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#verify_request" class="summary-sig-name"><code>verify_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Verify the request.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from HTTPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="BaseHTTPServer.HTTPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.CGIHTTPServer-module.html b/apps/sam/python/doc/epydoc/html/private/i2p.CGIHTTPServer-module.html
new file mode 100644
index 0000000000..4fdcf0dd86
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.CGIHTTPServer-module.html
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.CGIHTTPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        Module&nbsp;CGIHTTPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.CGIHTTPServer-module.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.CGIHTTPServer-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF MODULE DESCRIPTION =========== -->
+<h2 class="module">Module i2p.CGIHTTPServer</h2>
+
+<p>Emulation of Python CGIHTTPServer module using I2P sockets.</p>
+<p>The Python module is described at 
+http://www.python.org/doc/current/lib/module-CGIHTTPServer.html</p>
+To get a server going, use:
+<pre class="doctestblock">
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">from</span> i2p <span class="py-keyword">import</span> CGIHTTPServer
+<span class="py-prompt">&gt;&gt;&gt; </span>CGIHTTPServer.test().</span></pre>
+<p>Consult the documentation for function test() to change basic server 
+settings, such as the session name.</p>
+A fully customizable example:
+<pre class="doctestblock">
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">from</span> i2p <span class="py-keyword">import</span> BaseHTTPServer, CGIHTTPServer
+<span class="py-prompt">&gt;&gt;&gt; </span>session = <span class="py-string">&quot;mytestxxx.i2p&quot;</span>      <span class="py-comment"># SAM session name</span>
+<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">class</span> MyServer(BaseHTTPServer.HTTPServer): <span class="py-keyword">pass</span>
+<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">class</span> MyRequestHandler(CGIHTTPServer.CGIHTTPRequestHandler): <span class="py-keyword">pass</span>
+<span class="py-prompt">&gt;&gt;&gt; </span>httpd = MyServer(session, MyRequestHandler)
+<span class="py-prompt">&gt;&gt;&gt; </span>httpd.socket.dest</span>
+<span class="py-output">(Base64 Destination of server)</span>
+
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>httpd.serve_forever()</span></pre>
+<hr/>
+
+<!-- =========== START OF CLASSES =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Classes</th></tr>
+<tr><td width="15%">
+  <b><a href="i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPRequestHandler</code></a></b></td>
+  <td>Same interface as Python class 
+CGIHTTPServer.CGIHTTPRequestHandler.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Function Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.CGIHTTPServer-module.html#test" class="summary-sig-name"><code>test</code></a>(<span class=summary-sig-arg>HandlerClass</span>,
+          <span class=summary-sig-arg>ServerClass</span>,
+          <span class=summary-sig-arg>session</span>)</span></code>
+<br />
+Test the HTTP CGI request handler class.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Function Details</th></tr>
+</table>
+
+<a name="test"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">test</span>(<span class=sig-arg>HandlerClass</span>=<span class=sig-default>&lt;class&nbsp;i2p.CGIHTTPServer.CGIHTTPRequestHandler&nbsp;at&nbsp;0x00A2D...</span>,
+          <span class=sig-arg>ServerClass</span>=<span class=sig-default>&lt;class&nbsp;i2p.BaseHTTPServer.HTTPServer&nbsp;at&nbsp;0x00A2D960&gt;</span>,
+          <span class=sig-arg>session</span>=<span class=sig-default>'mytestxxx.i2p'</span>)</span>
+  </h3>
+  <p>Test the HTTP CGI request handler class.</p>
+  This runs an I2P TCP server under SAM session 'session'. If a single 
+  command line argument is given, the argument is used instead as the SAM 
+  session name.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html
new file mode 100644
index 0000000000..107f5c44ed
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html
@@ -0,0 +1,286 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.CGIHTTPServer.CGIHTTPRequestHandler</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.CGIHTTPServer-module.html">Module&nbsp;CGIHTTPServer</a> ::
+        Class&nbsp;CGIHTTPRequestHandler
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class CGIHTTPRequestHandler</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+                
+                     |                
+  <a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+            
+                         |            
+    <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a> --+        
+                             |        
+      <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a> --+    
+                                 |    
+             <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPRequestHandler</code></a> --+
+                                     |
+                                    <b>CGIHTTPRequestHandler</b>
+</pre><br />
+
+<hr/>
+
+Same interface as Python class 
+CGIHTTPServer.CGIHTTPRequestHandler.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from CGIHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#do_POST" class="summary-sig-name"><code>do_POST</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Serve a POST request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_cgi" class="summary-sig-name"><code>is_cgi</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Test whether self.path corresponds to a CGI script.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_executable" class="summary-sig-name"><code>is_executable</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Test whether argument path is an executable file.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_python" class="summary-sig-name"><code>is_python</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Test whether argument path is a Python script.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#run_cgi" class="summary-sig-name"><code>run_cgi</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Execute a CGI script.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#send_head" class="summary-sig-name"><code>send_head</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Version of send_head that support CGI scripts</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from SimpleHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#copyfile" class="summary-sig-name"><code>copyfile</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>source</span>,
+          <span class=summary-sig-arg>outputfile</span>)</span></code>
+<br />
+Copy all data between two file objects.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_GET" class="summary-sig-name"><code>do_GET</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Serve a GET request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_HEAD" class="summary-sig-name"><code>do_HEAD</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Serve a HEAD request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#guess_type" class="summary-sig-name"><code>guess_type</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Guess the type of a file.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#list_directory" class="summary-sig-name"><code>list_directory</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Helper to produce a directory listing (absent index.html).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#translate_path" class="summary-sig-name"><code>translate_path</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Translate a /-separated PATH to the local filename syntax.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string" class="summary-sig-name"><code>address_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the client address formatted for logging.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string" class="summary-sig-name"><code>date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the current date and time formatted for a message header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers" class="summary-sig-name"><code>end_headers</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Send the blank line ending the MIME headers.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle multiple requests if necessary.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request" class="summary-sig-name"><code>handle_one_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle a single HTTP request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string" class="summary-sig-name"><code>log_date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the current time formatted for logging.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error" class="summary-sig-name"><code>log_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-vararg">*args</span>)</span></code>
+<br />
+Log an error.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message" class="summary-sig-name"><code>log_message</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>format</span>,
+          <span class="summary-sig-vararg">*args</span>)</span></code>
+<br />
+Log an arbitrary message.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request" class="summary-sig-name"><code>log_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>size</span>)</span></code>
+<br />
+Log an accepted request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request" class="summary-sig-name"><code>parse_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Parse a request (internal).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error" class="summary-sig-name"><code>send_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>message</span>)</span></code>
+<br />
+Send and log an error reply.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header" class="summary-sig-name"><code>send_header</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>keyword</span>,
+          <span class=summary-sig-arg>value</span>)</span></code>
+<br />
+Send a MIME header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response" class="summary-sig-name"><code>send_response</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>message</span>)</span></code>
+<br />
+Send the response header and log the response code.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string" class="summary-sig-name"><code>version_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the server software version string.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>,
+          <span class=summary-sig-arg>server</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from CGIHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#cgi_directories"><code>cgi_directories</code></a></b> = <span title="['/cgi-bin', '/htbin']"><code>['/cgi-bin',&nbsp;'/htbin']                 </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_fork"><code>have_fork</code></a></b> = <span title="False"><code>False                                        </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen2"><code>have_popen2</code></a></b> = <span title="True"><code>True                                       </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen3"><code>have_popen3</code></a></b> = <span title="True"><code>True                                       </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from SimpleHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
+<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></b> = <span title="{'': 'application/octet-stream', '.obj': 'application/octet-stream', '.ra': 'audio/x-pn-realaudio', '.sgm': 'text/x-sgml', '.texi': 'application/x-texinfo', '.mp2': 'audio/mpeg', '.bin': 'application/octet-stream', '.dll': 'application/octet-stream', '.xpm': 'image/x-xpixmap', '.mpeg': 'video/mpeg', '.ms': 'application/x-troff-ms', '.me': 'application/x-troff-me', '.rtx': 'text/richtext', '.ppt': 'application/vnd.ms-powerpoint', '.ras': 'image/x-cmu-raster', '.pps': 'application/vnd.ms-powerpoint', '.rgb': 'image/x-rgb', '.ram': 'application/x-pn-realaudio', '.ppm': 'image/x-portable-pixmap..."><code>{'':&nbsp;'application/octet-stream',&nbsp;'.obj'<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></b> = <span title="'SimpleHTTP/0.6'"><code><span class="variable-quote">'</span>SimpleHTTP/0.6<span class="variable-quote">'</span>                        </code>
+</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></b> = <span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"><code><span class="variable-quote">'</span>&lt;head&gt;\n&lt;title&gt;Error&nbsp;response&lt;/t<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></b> = <span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"><code>[None,&nbsp;'Jan',&nbsp;'Feb',&nbsp;'Mar',&nbsp;'Apr',&nbsp;'May',&nbsp;'J<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></b> = <span title="'HTTP/1.0'"><code><span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span>                            </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></b> = <span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '..."><code>{400:&nbsp;('Bad&nbsp;request',&nbsp;'Bad&nbsp;request&nbsp;syntax&nbsp;or<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></b> = <span title="'Python/2.3.4'"><code><span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span>                             </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></b> = <span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"><code>['Mon',&nbsp;'Tue',&nbsp;'Wed',&nbsp;'Thu',&nbsp;'Fri',&nbsp;'Sat',<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.Error-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.Error-class.html
new file mode 100644
index 0000000000..f11d26b887
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.Error-class.html
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.Error</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        Class&nbsp;Error
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<b>show&nbsp;private</b>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="..\private\i2p.Error-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class Error</h2>
+
+<pre class="base-tree">
+<a href="exceptions.Exception-class.html"><code>Exception</code></a> --+
+            |
+           <b>Error</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.socket.Error-class.html"><code>Error</code></a>,
+    <a href="..\private\i2p.RouterError-class.html"><code>RouterError</code></a></dd></dl>
+
+<hr/>
+
+Base class for all I2P errors.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Exception</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__str__" class="summary-sig-name"><code>__str__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.RouterError-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.RouterError-class.html
new file mode 100644
index 0000000000..5a2a14cec3
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.RouterError-class.html
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.RouterError</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        Class&nbsp;RouterError
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<b>show&nbsp;private</b>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="..\private\i2p.RouterError-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class RouterError</h2>
+
+<pre class="base-tree">
+<a href="exceptions.Exception-class.html"><code>Exception</code></a> --+    
+            |    
+        <a href="..\private\i2p.Error-class.html"><code>Error</code></a> --+
+                |
+               <b>RouterError</b>
+</pre><br />
+
+<hr/>
+
+Could not connect to router.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Exception</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__str__" class="summary-sig-name"><code>__str__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.SimpleHTTPServer-module.html b/apps/sam/python/doc/epydoc/html/private/i2p.SimpleHTTPServer-module.html
new file mode 100644
index 0000000000..fdaf6ba752
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.SimpleHTTPServer-module.html
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SimpleHTTPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        Module&nbsp;SimpleHTTPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SimpleHTTPServer-module.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SimpleHTTPServer-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF MODULE DESCRIPTION =========== -->
+<h2 class="module">Module i2p.SimpleHTTPServer</h2>
+
+<p>Emulation of Python SimpleHTTPServer module using I2P sockets.</p>
+<p>The Python module is described at 
+http://www.python.org/doc/current/lib/module-SimpleHTTPServer.html</p>
+To get a server going, use:
+<pre class="doctestblock">
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">from</span> i2p <span class="py-keyword">import</span> SimpleHTTPServer
+<span class="py-prompt">&gt;&gt;&gt; </span>SimpleHTTPServer.test().</span></pre>
+<p>Consult the documentation for function test() to change basic server 
+settings, such as the session name.</p>
+A fully customizable example:
+<pre class="doctestblock">
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">from</span> i2p <span class="py-keyword">import</span> BaseHTTPServer, SimpleHTTPServer
+<span class="py-prompt">&gt;&gt;&gt; </span>session = <span class="py-string">&quot;mytestxxx.i2p&quot;</span>      <span class="py-comment"># SAM session name</span>
+<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">class</span> MyServer(BaseHTTPServer.HTTPServer): <span class="py-keyword">pass</span>
+<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">class</span> MyRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler): <span class="py-keyword">pass</span>
+<span class="py-prompt">&gt;&gt;&gt; </span>httpd = MyServer(session, MyRequestHandler)
+<span class="py-prompt">&gt;&gt;&gt; </span>httpd.socket.dest</span>
+<span class="py-output">(Base64 Destination of server)</span>
+
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>httpd.serve_forever()</span></pre>
+<hr/>
+
+<!-- =========== START OF CLASSES =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Classes</th></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a></b></td>
+  <td>Same interface as Python class 
+SimpleHTTPServer.SimpleHTTPRequestHandler.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Function Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.SimpleHTTPServer-module.html#test" class="summary-sig-name"><code>test</code></a>(<span class=summary-sig-arg>HandlerClass</span>,
+          <span class=summary-sig-arg>ServerClass</span>,
+          <span class=summary-sig-arg>session</span>)</span></code>
+<br />
+Test the HTTP simple request handler class.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="..\private\i2p.SimpleHTTPServer-module.html#__version__"><code>__version__</code></a></b> = <span title="'0.1.0'"><code><span class="variable-quote">'</span>0.1.0<span class="variable-quote">'</span>                                    </code>
+</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Function Details</th></tr>
+</table>
+
+<a name="test"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">test</span>(<span class=sig-arg>HandlerClass</span>=<span class=sig-default>&lt;class&nbsp;i2p.SimpleHTTPServer.SimpleHTTPRequestHandler&nbsp;at&nbsp;0...</span>,
+          <span class=sig-arg>ServerClass</span>=<span class=sig-default>&lt;class&nbsp;i2p.BaseHTTPServer.HTTPServer&nbsp;at&nbsp;0x00A2D960&gt;</span>,
+          <span class=sig-arg>session</span>=<span class=sig-default>'mytestxxx.i2p'</span>)</span>
+  </h3>
+  <p>Test the HTTP simple request handler class.</p>
+  This runs an I2P TCP server under SAM session 'session'. If a single 
+  command line argument is given, the argument is used instead as the SAM 
+  session name.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="__version__"></a>
+<h3>__version__</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>str</code>
+
+      </dd>
+<span title="'0.1.0'">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+<span class="variable-quote">'</span>0.1.0<span class="variable-quote">'</span>                                                                </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html
new file mode 100644
index 0000000000..48815c4d40
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html
@@ -0,0 +1,246 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SimpleHTTPServer.SimpleHTTPRequestHandler</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SimpleHTTPServer-module.html">Module&nbsp;SimpleHTTPServer</a> ::
+        Class&nbsp;SimpleHTTPRequestHandler
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class SimpleHTTPRequestHandler</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+            
+                     |            
+  <a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+        
+                         |        
+    <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a> --+    
+                             |    
+      <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a> --+
+                                 |
+                                <b>SimpleHTTPRequestHandler</b>
+</pre><br />
+
+<hr/>
+
+Same interface as Python class 
+SimpleHTTPServer.SimpleHTTPRequestHandler.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from SimpleHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#copyfile" class="summary-sig-name"><code>copyfile</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>source</span>,
+          <span class=summary-sig-arg>outputfile</span>)</span></code>
+<br />
+Copy all data between two file objects.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_GET" class="summary-sig-name"><code>do_GET</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Serve a GET request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_HEAD" class="summary-sig-name"><code>do_HEAD</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Serve a HEAD request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#guess_type" class="summary-sig-name"><code>guess_type</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Guess the type of a file.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#list_directory" class="summary-sig-name"><code>list_directory</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Helper to produce a directory listing (absent index.html).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#send_head" class="summary-sig-name"><code>send_head</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Common code for GET and HEAD commands.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#translate_path" class="summary-sig-name"><code>translate_path</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Translate a /-separated PATH to the local filename syntax.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string" class="summary-sig-name"><code>address_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the client address formatted for logging.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string" class="summary-sig-name"><code>date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the current date and time formatted for a message header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers" class="summary-sig-name"><code>end_headers</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Send the blank line ending the MIME headers.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle multiple requests if necessary.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request" class="summary-sig-name"><code>handle_one_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle a single HTTP request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string" class="summary-sig-name"><code>log_date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the current time formatted for logging.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error" class="summary-sig-name"><code>log_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-vararg">*args</span>)</span></code>
+<br />
+Log an error.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message" class="summary-sig-name"><code>log_message</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>format</span>,
+          <span class="summary-sig-vararg">*args</span>)</span></code>
+<br />
+Log an arbitrary message.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request" class="summary-sig-name"><code>log_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>size</span>)</span></code>
+<br />
+Log an accepted request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request" class="summary-sig-name"><code>parse_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Parse a request (internal).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error" class="summary-sig-name"><code>send_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>message</span>)</span></code>
+<br />
+Send and log an error reply.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header" class="summary-sig-name"><code>send_header</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>keyword</span>,
+          <span class=summary-sig-arg>value</span>)</span></code>
+<br />
+Send a MIME header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response" class="summary-sig-name"><code>send_response</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>message</span>)</span></code>
+<br />
+Send the response header and log the response code.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string" class="summary-sig-name"><code>version_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the server software version string.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>,
+          <span class=summary-sig-arg>server</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from SimpleHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
+<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></b> = <span title="{'': 'application/octet-stream', '.obj': 'application/octet-stream', '.ra': 'audio/x-pn-realaudio', '.sgm': 'text/x-sgml', '.texi': 'application/x-texinfo', '.mp2': 'audio/mpeg', '.bin': 'application/octet-stream', '.dll': 'application/octet-stream', '.xpm': 'image/x-xpixmap', '.mpeg': 'video/mpeg', '.ms': 'application/x-troff-ms', '.me': 'application/x-troff-me', '.rtx': 'text/richtext', '.ppt': 'application/vnd.ms-powerpoint', '.ras': 'image/x-cmu-raster', '.pps': 'application/vnd.ms-powerpoint', '.rgb': 'image/x-rgb', '.ram': 'application/x-pn-realaudio', '.ppm': 'image/x-portable-pixmap..."><code>{'':&nbsp;'application/octet-stream',&nbsp;'.obj'<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></b> = <span title="'SimpleHTTP/0.6'"><code><span class="variable-quote">'</span>SimpleHTTP/0.6<span class="variable-quote">'</span>                        </code>
+</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></b> = <span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"><code><span class="variable-quote">'</span>&lt;head&gt;\n&lt;title&gt;Error&nbsp;response&lt;/t<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></b> = <span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"><code>[None,&nbsp;'Jan',&nbsp;'Feb',&nbsp;'Mar',&nbsp;'Apr',&nbsp;'May',&nbsp;'J<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></b> = <span title="'HTTP/1.0'"><code><span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span>                            </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></b> = <span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '..."><code>{400:&nbsp;('Bad&nbsp;request',&nbsp;'Bad&nbsp;request&nbsp;syntax&nbsp;or<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></b> = <span title="'Python/2.3.4'"><code><span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span>                             </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></b> = <span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"><code>['Mon',&nbsp;'Tue',&nbsp;'Wed',&nbsp;'Thu',&nbsp;'Fri',&nbsp;'Sat',<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="-1">-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer-module.html b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer-module.html
new file mode 100644
index 0000000000..ee32dd87bd
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer-module.html
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        Module&nbsp;SocketServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer-module.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF MODULE DESCRIPTION =========== -->
+<h2 class="module">Module i2p.SocketServer</h2>
+
+<p>Emulation of Python SocketServer module using I2P sockets.</p>
+The Python module is described at 
+http://www.python.org/doc/current/lib/module-SocketServer.html
+<hr/>
+
+<!-- =========== START OF CLASSES =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Classes</th></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SocketServer.DatagramRequestHandler-class.html"><code>DatagramRequestHandler</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SocketServer.ForkingTCPServer-class.html"><code>ForkingTCPServer</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SocketServer.ForkingUDPServer-class.html"><code>ForkingUDPServer</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SocketServer.ThreadingTCPServer-class.html"><code>ThreadingTCPServer</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SocketServer.ThreadingUDPServer-class.html"><code>ThreadingUDPServer</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SocketServer.UDPServer-class.html"><code>UDPServer</code></a></b></td>
+  <td>&nbsp;</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.BaseRequestHandler-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.BaseRequestHandler-class.html
new file mode 100644
index 0000000000..d76dbaf15d
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.BaseRequestHandler-class.html
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer.BaseRequestHandler</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
+        Class&nbsp;BaseRequestHandler
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer.BaseRequestHandler-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.BaseRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class BaseRequestHandler</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+
+                     |
+                    <b>BaseRequestHandler</b>
+</pre><br />
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>,
+          <span class=summary-sig-arg>server</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.BaseServer-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.BaseServer-class.html
new file mode 100644
index 0000000000..6084080338
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.BaseServer-class.html
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer.BaseServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
+        Class&nbsp;BaseServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer.BaseServer-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.BaseServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class BaseServer</h2>
+
+<pre class="base-tree">
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+
+             |
+            <b>BaseServer</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a></dd></dl>
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>server_address</span>,
+          <span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
+<br />
+Constructor.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#close_request" class="summary-sig-name"><code>close_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>)</span></code>
+<br />
+Called to clean up an individual request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#finish_request" class="summary-sig-name"><code>finish_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Finish one request by instantiating RequestHandlerClass.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_error" class="summary-sig-name"><code>handle_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Handle an error gracefully.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_request" class="summary-sig-name"><code>handle_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle one request, possibly blocking.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Call finish_request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#serve_forever" class="summary-sig-name"><code>serve_forever</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle one request at a time until doomsday.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#server_activate" class="summary-sig-name"><code>server_activate</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to activate the server.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#server_close" class="summary-sig-name"><code>server_close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called to clean-up the server.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#verify_request" class="summary-sig-name"><code>verify_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Verify the request.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.DatagramRequestHandler-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.DatagramRequestHandler-class.html
new file mode 100644
index 0000000000..697be8918f
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.DatagramRequestHandler-class.html
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer.DatagramRequestHandler</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
+        Class&nbsp;DatagramRequestHandler
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer.DatagramRequestHandler-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.DatagramRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class DatagramRequestHandler</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+    
+                     |    
+<a href="SocketServer.DatagramRequestHandler-class.html"><code>DatagramRequestHandler</code></a> --+
+                         |
+                        <b>DatagramRequestHandler</b>
+</pre><br />
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from DatagramRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.DatagramRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.DatagramRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>,
+          <span class=summary-sig-arg>server</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.ForkingMixIn-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.ForkingMixIn-class.html
new file mode 100644
index 0000000000..631f70f515
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.ForkingMixIn-class.html
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer.ForkingMixIn</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
+        Class&nbsp;ForkingMixIn
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer.ForkingMixIn-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.ForkingMixIn-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class ForkingMixIn</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a> --+
+               |
+              <b>ForkingMixIn</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.SocketServer.ForkingTCPServer-class.html"><code>ForkingTCPServer</code></a>,
+    <a href="i2p.SocketServer.ForkingUDPServer-class.html"><code>ForkingUDPServer</code></a></dd></dl>
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ForkingMixIn</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ForkingMixIn-class.html#collect_children" class="summary-sig-name"><code>collect_children</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Internal routine to wait for died children.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ForkingMixIn-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Fork a new subprocess to process the request.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ForkingMixIn</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>NoneType</code></font></td>
+<td><b><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></b> = <span title="None">None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></b> = <span title="40">40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.ForkingTCPServer-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.ForkingTCPServer-class.html
new file mode 100644
index 0000000000..0d566e67f8
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.ForkingTCPServer-class.html
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer.ForkingTCPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
+        Class&nbsp;ForkingTCPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer.ForkingTCPServer-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.ForkingTCPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class ForkingTCPServer</h2>
+
+<pre class="base-tree">
+  <a href="SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a> --+    
+                 |    
+      <a href="i2p.SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a> --+
+                     |
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+       |
+             |       |
+    <a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+   |
+                 |   |
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+   |   |
+             |   |   |
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+   |
+                 |   |
+         <a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
+                     |
+                    <b>ForkingTCPServer</b>
+</pre><br />
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ForkingMixIn</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ForkingMixIn-class.html#collect_children" class="summary-sig-name"><code>collect_children</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Internal routine to wait for died children.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ForkingMixIn-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Fork a new subprocess to process the request.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>session</span>,
+          <span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
+<br />
+Constructor.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#close_request" class="summary-sig-name"><code>close_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>)</span></code>
+<br />
+Called to clean up an individual request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return socket file number.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the request and client address from the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_activate" class="summary-sig-name"><code>server_activate</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to activate the server.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to bind the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_close" class="summary-sig-name"><code>server_close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called to clean-up the server.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#finish_request" class="summary-sig-name"><code>finish_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Finish one request by instantiating RequestHandlerClass.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_error" class="summary-sig-name"><code>handle_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Handle an error gracefully.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_request" class="summary-sig-name"><code>handle_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle one request, possibly blocking.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#serve_forever" class="summary-sig-name"><code>serve_forever</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle one request at a time until doomsday.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#verify_request" class="summary-sig-name"><code>verify_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Verify the request.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ForkingMixIn</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>NoneType</code></font></td>
+<td><b><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></b> = <span title="None">None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></b> = <span title="40">40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False                              </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.ForkingUDPServer-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.ForkingUDPServer-class.html
new file mode 100644
index 0000000000..173a933edf
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.ForkingUDPServer-class.html
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer.ForkingUDPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
+        Class&nbsp;ForkingUDPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer.ForkingUDPServer-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.ForkingUDPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class ForkingUDPServer</h2>
+
+<pre class="base-tree">
+      <a href="SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a> --+    
+                     |    
+          <a href="i2p.SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a> --+
+                         |
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+           |
+             |           |
+    <a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+       |
+                 |       |
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+   |       |
+             |   |       |
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+       |
+                 |       |
+         <a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+   |
+                     |   |
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+       |   |
+             |       |   |
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+   |   |
+                 |   |   |
+         <a href="SocketServer.UDPServer-class.html"><code>UDPServer</code></a> --+   |
+                     |   |
+             <a href="i2p.SocketServer.UDPServer-class.html"><code>UDPServer</code></a> --+
+                         |
+                        <b>ForkingUDPServer</b>
+</pre><br />
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ForkingMixIn</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ForkingMixIn-class.html#collect_children" class="summary-sig-name"><code>collect_children</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Internal routine to wait for died children.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ForkingMixIn-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Fork a new subprocess to process the request.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>session</span>,
+          <span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
+<br />
+Constructor.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from UDPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.UDPServer-class.html#close_request" class="summary-sig-name"><code>close_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>)</span></code>
+<br />
+Called to clean up an individual request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.UDPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the request and client address from the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.UDPServer-class.html#server_activate" class="summary-sig-name"><code>server_activate</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to activate the server.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return socket file number.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to bind the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_close" class="summary-sig-name"><code>server_close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called to clean-up the server.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#finish_request" class="summary-sig-name"><code>finish_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Finish one request by instantiating RequestHandlerClass.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_error" class="summary-sig-name"><code>handle_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Handle an error gracefully.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_request" class="summary-sig-name"><code>handle_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle one request, possibly blocking.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#serve_forever" class="summary-sig-name"><code>serve_forever</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle one request at a time until doomsday.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#verify_request" class="summary-sig-name"><code>verify_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Verify the request.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ForkingMixIn</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>NoneType</code></font></td>
+<td><b><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></b> = <span title="None">None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></b> = <span title="40">40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from UDPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False                              </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></b> = <span title="8192">8192&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.StreamRequestHandler-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.StreamRequestHandler-class.html
new file mode 100644
index 0000000000..7be5ca794d
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.StreamRequestHandler-class.html
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer.StreamRequestHandler</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
+        Class&nbsp;StreamRequestHandler
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer.StreamRequestHandler-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.StreamRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class StreamRequestHandler</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+    
+                     |    
+  <a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+
+                         |
+                        <b>StreamRequestHandler</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a></dd></dl>
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>,
+          <span class=summary-sig-arg>server</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="-1">-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.TCPServer-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.TCPServer-class.html
new file mode 100644
index 0000000000..810f73ddd9
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.TCPServer-class.html
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer.TCPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
+        Class&nbsp;TCPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer.TCPServer-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.TCPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class TCPServer</h2>
+
+<pre class="base-tree">
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+    
+             |    
+    <a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+
+                 |
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+   |
+             |   |
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
+                 |
+                <b>TCPServer</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.SocketServer.ForkingTCPServer-class.html"><code>ForkingTCPServer</code></a>,
+    <a href="i2p.BaseHTTPServer.HTTPServer-class.html"><code>HTTPServer</code></a>,
+    <a href="i2p.SocketServer.ThreadingTCPServer-class.html"><code>ThreadingTCPServer</code></a>,
+    <a href="i2p.SocketServer.UDPServer-class.html"><code>UDPServer</code></a></dd></dl>
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>session</span>,
+          <span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
+<br />
+Constructor.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#close_request" class="summary-sig-name"><code>close_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>)</span></code>
+<br />
+Called to clean up an individual request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return socket file number.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the request and client address from the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_activate" class="summary-sig-name"><code>server_activate</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to activate the server.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to bind the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_close" class="summary-sig-name"><code>server_close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called to clean-up the server.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#finish_request" class="summary-sig-name"><code>finish_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Finish one request by instantiating RequestHandlerClass.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_error" class="summary-sig-name"><code>handle_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Handle an error gracefully.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_request" class="summary-sig-name"><code>handle_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle one request, possibly blocking.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Call finish_request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#serve_forever" class="summary-sig-name"><code>serve_forever</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle one request at a time until doomsday.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#verify_request" class="summary-sig-name"><code>verify_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Verify the request.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False                              </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="__init__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__init__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>session</span>,
+          <span class=sig-arg>RequestHandlerClass</span>)</span>
+    <br /><i>(Constructor)</i>
+  </h3>
+  <p>Constructor. May be extended, do not override.</p>
+  The 'session' argument indicates the SAM session name that should be 
+  used for the server. See module i2p.socket for details on SAM 
+  sessions.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="SocketServer.TCPServer-class.html#__init__"><code>SocketServer.TCPServer.__init__</code></a></dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Class Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="socket_type"></a>
+<h3>socket_type</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>int</code>
+
+      </dd>
+<span title="1">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.ThreadingMixIn-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.ThreadingMixIn-class.html
new file mode 100644
index 0000000000..bd0c75e755
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.ThreadingMixIn-class.html
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer.ThreadingMixIn</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
+        Class&nbsp;ThreadingMixIn
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer.ThreadingMixIn-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.ThreadingMixIn-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class ThreadingMixIn</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a> --+
+                 |
+                <b>ThreadingMixIn</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.SocketServer.ThreadingTCPServer-class.html"><code>ThreadingTCPServer</code></a>,
+    <a href="i2p.SocketServer.ThreadingUDPServer-class.html"><code>ThreadingUDPServer</code></a></dd></dl>
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ThreadingMixIn</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ThreadingMixIn-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Start a new thread to process the request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ThreadingMixIn-class.html#process_request_thread" class="summary-sig-name"><code>process_request_thread</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Same as in BaseServer but as a thread.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ThreadingMixIn</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></b> = <span title="False"><code>False                                   </code>
+</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.ThreadingTCPServer-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.ThreadingTCPServer-class.html
new file mode 100644
index 0000000000..cf029f71a9
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.ThreadingTCPServer-class.html
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer.ThreadingTCPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
+        Class&nbsp;ThreadingTCPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer.ThreadingTCPServer-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.ThreadingTCPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class ThreadingTCPServer</h2>
+
+<pre class="base-tree">
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+        
+             |        
+    <a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+    
+                 |    
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+   |    
+             |   |    
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+    
+                 |    
+         <a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
+                     |
+<a href="SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a> --+   |
+                 |   |
+    <a href="i2p.SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a> --+
+                     |
+                    <b>ThreadingTCPServer</b>
+</pre><br />
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ThreadingMixIn</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ThreadingMixIn-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Start a new thread to process the request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ThreadingMixIn-class.html#process_request_thread" class="summary-sig-name"><code>process_request_thread</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Same as in BaseServer but as a thread.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>session</span>,
+          <span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
+<br />
+Constructor.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#close_request" class="summary-sig-name"><code>close_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>)</span></code>
+<br />
+Called to clean up an individual request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return socket file number.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the request and client address from the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_activate" class="summary-sig-name"><code>server_activate</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to activate the server.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to bind the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_close" class="summary-sig-name"><code>server_close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called to clean-up the server.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#finish_request" class="summary-sig-name"><code>finish_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Finish one request by instantiating RequestHandlerClass.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_error" class="summary-sig-name"><code>handle_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Handle an error gracefully.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_request" class="summary-sig-name"><code>handle_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle one request, possibly blocking.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#serve_forever" class="summary-sig-name"><code>serve_forever</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle one request at a time until doomsday.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#verify_request" class="summary-sig-name"><code>verify_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Verify the request.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ThreadingMixIn</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></b> = <span title="False"><code>False                                   </code>
+</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False                              </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.ThreadingUDPServer-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.ThreadingUDPServer-class.html
new file mode 100644
index 0000000000..a2eecae842
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.ThreadingUDPServer-class.html
@@ -0,0 +1,203 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer.ThreadingUDPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
+        Class&nbsp;ThreadingUDPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer.ThreadingUDPServer-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.ThreadingUDPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class ThreadingUDPServer</h2>
+
+<pre class="base-tree">
+    <a href="SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a> --+    
+                     |    
+        <a href="i2p.SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a> --+
+                         |
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+           |
+             |           |
+    <a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+       |
+                 |       |
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+   |       |
+             |   |       |
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+       |
+                 |       |
+         <a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+   |
+                     |   |
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+       |   |
+             |       |   |
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+   |   |
+                 |   |   |
+         <a href="SocketServer.UDPServer-class.html"><code>UDPServer</code></a> --+   |
+                     |   |
+             <a href="i2p.SocketServer.UDPServer-class.html"><code>UDPServer</code></a> --+
+                         |
+                        <b>ThreadingUDPServer</b>
+</pre><br />
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ThreadingMixIn</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ThreadingMixIn-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Start a new thread to process the request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ThreadingMixIn-class.html#process_request_thread" class="summary-sig-name"><code>process_request_thread</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Same as in BaseServer but as a thread.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>session</span>,
+          <span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
+<br />
+Constructor.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from UDPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.UDPServer-class.html#close_request" class="summary-sig-name"><code>close_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>)</span></code>
+<br />
+Called to clean up an individual request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.UDPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the request and client address from the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.UDPServer-class.html#server_activate" class="summary-sig-name"><code>server_activate</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to activate the server.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return socket file number.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to bind the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_close" class="summary-sig-name"><code>server_close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called to clean-up the server.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#finish_request" class="summary-sig-name"><code>finish_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Finish one request by instantiating RequestHandlerClass.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_error" class="summary-sig-name"><code>handle_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Handle an error gracefully.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_request" class="summary-sig-name"><code>handle_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle one request, possibly blocking.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#serve_forever" class="summary-sig-name"><code>serve_forever</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle one request at a time until doomsday.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#verify_request" class="summary-sig-name"><code>verify_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Verify the request.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ThreadingMixIn</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></b> = <span title="False"><code>False                                   </code>
+</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from UDPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False                              </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></b> = <span title="8192">8192&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.UDPServer-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.UDPServer-class.html
new file mode 100644
index 0000000000..f0966de03e
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.SocketServer.UDPServer-class.html
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer.UDPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
+        Class&nbsp;UDPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer.UDPServer-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.UDPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class UDPServer</h2>
+
+<pre class="base-tree">
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+        
+             |        
+    <a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+    
+                 |    
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+   |    
+             |   |    
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+    
+                 |    
+         <a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
+                     |
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+       |
+             |       |
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+   |
+                 |   |
+         <a href="SocketServer.UDPServer-class.html"><code>UDPServer</code></a> --+
+                     |
+                    <b>UDPServer</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.SocketServer.ForkingUDPServer-class.html"><code>ForkingUDPServer</code></a>,
+    <a href="i2p.SocketServer.ThreadingUDPServer-class.html"><code>ThreadingUDPServer</code></a></dd></dl>
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>session</span>,
+          <span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
+<br />
+Constructor.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from UDPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.UDPServer-class.html#close_request" class="summary-sig-name"><code>close_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>)</span></code>
+<br />
+Called to clean up an individual request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.UDPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the request and client address from the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.UDPServer-class.html#server_activate" class="summary-sig-name"><code>server_activate</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to activate the server.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return socket file number.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to bind the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_close" class="summary-sig-name"><code>server_close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called to clean-up the server.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#finish_request" class="summary-sig-name"><code>finish_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Finish one request by instantiating RequestHandlerClass.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_error" class="summary-sig-name"><code>handle_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Handle an error gracefully.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_request" class="summary-sig-name"><code>handle_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle one request, possibly blocking.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Call finish_request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#serve_forever" class="summary-sig-name"><code>serve_forever</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle one request at a time until doomsday.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#verify_request" class="summary-sig-name"><code>verify_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Verify the request.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from UDPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False                              </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></b> = <span title="8192">8192&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.eep-module.html b/apps/sam/python/doc/epydoc/html/private/i2p.eep-module.html
new file mode 100644
index 0000000000..cc6d25dbdc
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.eep-module.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.eep</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        Module&nbsp;eep
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.eep-module.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.eep-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF MODULE DESCRIPTION =========== -->
+<h2 class="module">Module i2p.eep</h2>
+
+Eeproxy access module
+<hr/>
+
+<!-- =========== START OF FUNCTION SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Function Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.eep-module.html#urlget" class="summary-sig-name"><code>urlget</code></a>(<span class=summary-sig-arg>url</span>,
+          <span class=summary-sig-arg>eepaddr</span>)</span></code>
+<br />
+Get contents of an eepsite.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.eep-module.html#urlopen" class="summary-sig-name"><code>urlopen</code></a>(<span class=summary-sig-arg>url</span>,
+          <span class=summary-sig-arg>eepaddr</span>)</span></code>
+<br />
+Like urllib2.urlopen(url), but only works for eep-sites.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Function Details</th></tr>
+</table>
+
+<a name="urlget"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">urlget</span>(<span class=sig-arg>url</span>,
+          <span class=sig-arg>eepaddr</span>=<span class=sig-default>'127.0.0.1:4444'</span>)</span>
+  </h3>
+  Get contents of an eepsite. Example: urlget('http://duck.i2p/').
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="urlopen"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">urlopen</span>(<span class=sig-arg>url</span>,
+          <span class=sig-arg>eepaddr</span>=<span class=sig-default>'127.0.0.1:4444'</span>)</span>
+  </h3>
+  Like urllib2.urlopen(url), but only works for eep-sites. Example: f 
+  = urlopen('http://duck.i2p/index.html')
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.pylib-module.html b/apps/sam/python/doc/epydoc/html/private/i2p.pylib-module.html
new file mode 100644
index 0000000000..061aa0c550
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.pylib-module.html
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.pylib</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        Package&nbsp;pylib
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<b>show&nbsp;private</b>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="..\private\i2p.pylib-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF PACKAGE DESCRIPTION =========== -->
+<h2 class="package">Package i2p.pylib</h2>
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.router-module.html b/apps/sam/python/doc/epydoc/html/private/i2p.router-module.html
new file mode 100644
index 0000000000..aa8303dfc2
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.router-module.html
@@ -0,0 +1,265 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.router</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        Module&nbsp;router
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.router-module.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.router-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF MODULE DESCRIPTION =========== -->
+<h2 class="module">Module i2p.router</h2>
+
+Router control module
+<hr/>
+
+<!-- =========== START OF FUNCTION SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Function Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.router-module.html#check" class="summary-sig-name"><code>check</code></a>(<span class=summary-sig-arg>dir</span>)</span></code>
+<br />
+Checks whether a locally installed router is running.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.router-module.html#find" class="summary-sig-name"><code>find</code></a>(<span class=summary-sig-arg>dir</span>)</span></code>
+<br />
+Find the absolute path to a locally installed I2P router.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.router-module.html#start" class="summary-sig-name"><code>start</code></a>(<span class=summary-sig-arg>dir</span>,
+          <span class=summary-sig-arg>hidden</span>)</span></code>
+<br />
+Start a locally installed I2P router.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.router-module.html#stop" class="summary-sig-name"><code>stop</code></a>(<span class=summary-sig-arg>dir</span>,
+          <span class=summary-sig-arg>force</span>)</span></code>
+<br />
+Stop a locally installed I2P router, if it was started by the current 
+Python program.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.router-module.html#_parse_config" class="summary-sig-name"><code>_parse_config</code></a>(<span class=summary-sig-arg>filename</span>)</span></code>
+<br />
+Return a dict with (name, value) items for the given I2P configuration 
+file.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.router-module.html#_run_program" class="summary-sig-name"><code>_run_program</code></a>(<span class=summary-sig-arg>filename</span>)</span></code>
+<br />
+Runs the given program in a new process and new terminal.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="i2p.router-module.html#check_addrlist"><code>check_addrlist</code></a></b> = <span title="['127.0.0.1:7656', '127.0.0.1:4444']"><code>['127.0.0.1:7656',&nbsp;'127.0.0.1:4444']    </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="i2p.router-module.html#our_router"><code>our_router</code></a></b> = <span title="False"><code>False                                       </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>lock</code></font></td>
+<td><b><a href="i2p.router-module.html#our_router_lock"><code>our_router_lock</code></a></b> = <span title="&lt;thread.lock object at 0x0089D120&gt;"><code>&lt;thread.lock&nbsp;object&nbsp;at&nbsp;0x0089D120&gt;     </code>
+</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Function Details</th></tr>
+</table>
+
+<a name="check"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">check</span>(<span class=sig-arg>dir</span>=<span class=sig-default>None</span>)</span>
+  </h3>
+  <p>Checks whether a locally installed router is running. Does nothing 
+  if successful, otherwise raises i2p.RouterError.</p>
+  An I2P installation is located by using find(dir). The router.config 
+  file is parsed for 'router.adminPort'. This port is queried to 
+  determine whether the router is running.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="find"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">find</span>(<span class=sig-arg>dir</span>=<span class=sig-default>None</span>)</span>
+  </h3>
+  <p>Find the absolute path to a locally installed I2P router.</p>
+  An I2P installation is located by looking in the environment I2P, 
+  then in PATH, then in the dir argument given to the function. It looks 
+  for startRouter.sh or startRouter.bat. Raises ValueError if an I2P 
+  installation could not be located.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="start"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">start</span>(<span class=sig-arg>dir</span>=<span class=sig-default>None</span>,
+          <span class=sig-arg>hidden</span>=<span class=sig-default>False</span>)</span>
+  </h3>
+  <p>Start a locally installed I2P router. Does nothing if the router has 
+  already been started.</p>
+  <p>An I2P installation is located by using find(dir).</p>
+  If hidden is True, do not show a terminal for the router.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="stop"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">stop</span>(<span class=sig-arg>dir</span>=<span class=sig-default>None</span>,
+          <span class=sig-arg>force</span>=<span class=sig-default>False</span>)</span>
+  </h3>
+  <p>Stop a locally installed I2P router, if it was started by the 
+  current Python program. If force is True, stop the router even if it 
+  was started by another process. Do nothing if force is False and the 
+  router was started by another program.</p>
+  <p>The file 'router.config' is located using the same search process 
+  used for find(dir). It is parsed for 'router.shutdownPassword' and 
+  'router.adminPort'. The router is shut down through the admin port.</p>
+  Raises i2p.RouterError if the I2P router is running but cannot be 
+  stopped. You must uncomment the 'router.shutdownPassword' line for this 
+  command to work.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="_parse_config"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_parse_config</span>(<span class=sig-arg>filename</span>)</span>
+  </h3>
+  Return a dict with (name, value) items for the given I2P 
+  configuration file.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="_run_program"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_run_program</span>(<span class=sig-arg>filename</span>)</span>
+  </h3>
+  Runs the given program in a new process and new terminal.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="check_addrlist"></a>
+<h3>check_addrlist</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>list</code>
+
+      </dd>
+<span title="['127.0.0.1:7656', '127.0.0.1:4444']">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+['127.0.0.1:7656', '127.0.0.1:4444']                                   </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="our_router"></a>
+<h3>our_router</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>bool</code>
+
+      </dd>
+<span title="False">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+False                                                                  </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="our_router_lock"></a>
+<h3>our_router_lock</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>lock</code>
+
+      </dd>
+<span title="&lt;thread.lock object at 0x0089D120&gt;">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+&lt;thread.lock object at 0x0089D120&gt;                                     </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.samclasses-module.html b/apps/sam/python/doc/epydoc/html/private/i2p.samclasses-module.html
new file mode 100644
index 0000000000..c5ad8a3483
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.samclasses-module.html
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.samclasses</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        Module&nbsp;samclasses
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<b>show&nbsp;private</b>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="..\private\i2p.samclasses-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF MODULE DESCRIPTION =========== -->
+<h2 class="module">Module i2p.samclasses</h2>
+
+<p>Lower-level SAM API, interfaces with SAM Bridge.</p>
+<p>For internal use only.</p>
+<p>Use the higher level i2p.socket module for your own programs.</p>
+<p>For details on SAM, see &quot;Simple Anonymous Messaging (SAM) 
+v1.0,&quot; as published by jrandom.</p>
+Class Overview:
+<ul>
+  <li>
+    SAMTerminal: Message sender/reader, talks to SAM Bridge.
+  </li>
+  <li>
+    StringBuffer: Queue for character data.
+  </li>
+  <li>
+    BaseSession: SAM session classes are derived from this.
+  </li>
+  <li>
+    StreamSession: SAM stream session class, threadsafe, high 
+    level.
+  </li>
+  <li>
+    DatagramSession: SAM datagram session, threadsafe, high level.
+  </li>
+  <li>
+    RawSession: SAM raw session, threadsafe, high level.
+  </li>
+</ul>
+<p>Note that a 'None' timeout is an infinite timeout: it blocks forever 
+if necessary.</p>
+Todo:
+<ul>
+  <li>
+    Error handling is a huge mess. Neaten it up. Subclass a ErrorMixin 
+    class, then use set_error(e), check_error(), get_error().
+  </li>
+  <li>
+    Streams are a huge mess. Neaten them up.
+  </li>
+  <li>
+    This whole interface is a tad confusing. Neaten it up.
+  </li>
+</ul>
+<hr/>
+
+<!-- =========== START OF CLASSES =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Classes</th></tr>
+<tr><td width="15%">
+  <b><a href="..\private\i2p.samclasses.BaseSession-class.html"><code>BaseSession</code></a></b></td>
+  <td>Base session, from which StreamSession, DatagramSession, and 
+RawSession are derived.</td></tr>
+<tr><td width="15%">
+  <b><a href="..\private\i2p.samclasses.DatagramSession-class.html"><code>DatagramSession</code></a></b></td>
+  <td>Datagram session.</td></tr>
+<tr><td width="15%">
+  <b><a href="..\private\i2p.samclasses.Deque-class.html"><code>Deque</code></a></b></td>
+  <td>A double-ended queue.</td></tr>
+<tr><td width="15%">
+  <b><a href="..\private\i2p.samclasses.RawSession-class.html"><code>RawSession</code></a></b></td>
+  <td>Raw session.</td></tr>
+<tr><td width="15%">
+  <b><a href="..\private\i2p.samclasses.SAMTerminal-class.html"><code>SAMTerminal</code></a></b></td>
+  <td>Message-by-message communication with SAM through a single 
+pysocket.</td></tr>
+<tr><td width="15%">
+  <b><a href="..\private\i2p.samclasses.Stream-class.html"><code>Stream</code></a></b></td>
+  <td>Receives and sends data for an individual stream.</td></tr>
+<tr><td width="15%">
+  <b><a href="..\private\i2p.samclasses.StreamSession-class.html"><code>StreamSession</code></a></b></td>
+  <td>Stream session.</td></tr>
+<tr><td width="15%">
+  <b><a href="..\private\i2p.samclasses.StringBuffer-class.html"><code>StringBuffer</code></a></b></td>
+  <td>A FIFO for characters.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Function Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="sleep"></a><span class="summary-sig"><span class="summary-sig-name">sleep</span>()</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.samclasses.BaseSession-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.samclasses.BaseSession-class.html
new file mode 100644
index 0000000000..9e39d4f51e
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.samclasses.BaseSession-class.html
@@ -0,0 +1,207 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.samclasses.BaseSession</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="..\private\i2p.samclasses-module.html">Module&nbsp;samclasses</a> ::
+        Class&nbsp;BaseSession
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<b>show&nbsp;private</b>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="..\private\i2p.samclasses.BaseSession-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class BaseSession</h2>
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="..\private\i2p.samclasses.DatagramSession-class.html"><code>DatagramSession</code></a>,
+    <a href="..\private\i2p.samclasses.RawSession-class.html"><code>RawSession</code></a>,
+    <a href="..\private\i2p.samclasses.StreamSession-class.html"><code>StreamSession</code></a></dd></dl>
+
+<hr/>
+
+Base session, from which StreamSession, DatagramSession, and 
+RawSession are derived.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>addr</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_encode_kwargs" class="summary-sig-name"><code>_encode_kwargs</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Internal command, encode extra kwargs for passing to SESSION 
+CREATE.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_hello" class="summary-sig-name"><code>_hello</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Internal command, handshake with SAM terminal.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_namelookup" class="summary-sig-name"><code>_namelookup</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Internal command, does a NAMING LOOKUP query.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_on_HELLO_REPLY" class="summary-sig-name"><code>_on_HELLO_REPLY</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Internal command, got HELLO REPLY.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_on_NAMING_REPLY" class="summary-sig-name"><code>_on_NAMING_REPLY</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Internal command, got NAMING REPLY.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_on_SESSION_STATUS" class="summary-sig-name"><code>_on_SESSION_STATUS</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Internal command, got SESSION STATUS.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_set_properties" class="summary-sig-name"><code>_set_properties</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Internal command, call at end of __init__ to set up properties.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#close" class="summary-sig-name"><code>close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Close the session.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="_encode_kwargs"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_encode_kwargs</span>(<span class=sig-arg>self</span>,
+          <span class="sig-kwarg">**kwargs</span>)</span>
+  </h3>
+  Internal command, encode extra kwargs for passing to SESSION 
+  CREATE.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="_hello"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_hello</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Internal command, handshake with SAM terminal.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="_namelookup"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_namelookup</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+  </h3>
+  Internal command, does a NAMING LOOKUP query.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="_on_HELLO_REPLY"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_on_HELLO_REPLY</span>(<span class=sig-arg>self</span>,
+          <span class="sig-kwarg">**kwargs</span>)</span>
+  </h3>
+  Internal command, got HELLO REPLY.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="_on_NAMING_REPLY"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_on_NAMING_REPLY</span>(<span class=sig-arg>self</span>,
+          <span class="sig-kwarg">**kwargs</span>)</span>
+  </h3>
+  Internal command, got NAMING REPLY.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="_on_SESSION_STATUS"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_on_SESSION_STATUS</span>(<span class=sig-arg>self</span>,
+          <span class="sig-kwarg">**kwargs</span>)</span>
+  </h3>
+  Internal command, got SESSION STATUS.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="_set_properties"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_set_properties</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Internal command, call at end of __init__ to set up properties.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="close"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">close</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Close the session.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.samclasses.DatagramSession-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.samclasses.DatagramSession-class.html
new file mode 100644
index 0000000000..e17e1cca7f
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.samclasses.DatagramSession-class.html
@@ -0,0 +1,198 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.samclasses.DatagramSession</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="..\private\i2p.samclasses-module.html">Module&nbsp;samclasses</a> ::
+        Class&nbsp;DatagramSession
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<b>show&nbsp;private</b>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="..\private\i2p.samclasses.DatagramSession-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class DatagramSession</h2>
+
+<pre class="base-tree">
+<a href="..\private\i2p.samclasses.BaseSession-class.html"><code>BaseSession</code></a> --+
+              |
+             <b>DatagramSession</b>
+</pre><br />
+
+<hr/>
+
+Datagram session. All methods are blocking and threadsafe.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>,
+          <span class=summary-sig-arg>addr</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.DatagramSession-class.html#__len__" class="summary-sig-name"><code>__len__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Number of packets in read buffer.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.DatagramSession-class.html#_on_DATAGRAM_RECEIVED" class="summary-sig-name"><code>_on_DATAGRAM_RECEIVED</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Internal method, got DATAGRAM RECEIVED.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.DatagramSession-class.html#recv" class="summary-sig-name"><code>recv</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>timeout</span>,
+          <span class=summary-sig-arg>peek</span>)</span></code>
+<br />
+Get a single packet.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.DatagramSession-class.html#send" class="summary-sig-name"><code>send</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>s</span>,
+          <span class=summary-sig-arg>dest</span>)</span></code>
+<br />
+Send packet with contents s to given destination.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseSession</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_encode_kwargs" class="summary-sig-name"><code>_encode_kwargs</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Internal command, encode extra kwargs for passing to SESSION 
+CREATE.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_hello" class="summary-sig-name"><code>_hello</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Internal command, handshake with SAM terminal.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_namelookup" class="summary-sig-name"><code>_namelookup</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Internal command, does a NAMING LOOKUP query.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_on_HELLO_REPLY" class="summary-sig-name"><code>_on_HELLO_REPLY</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Internal command, got HELLO REPLY.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_on_NAMING_REPLY" class="summary-sig-name"><code>_on_NAMING_REPLY</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Internal command, got NAMING REPLY.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_on_SESSION_STATUS" class="summary-sig-name"><code>_on_SESSION_STATUS</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Internal command, got SESSION STATUS.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_set_properties" class="summary-sig-name"><code>_set_properties</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Internal command, call at end of __init__ to set up properties.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#close" class="summary-sig-name"><code>close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Close the session.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="__len__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__len__</span>(<span class=sig-arg>self</span>)</span>
+    <br /><i>(Length operator)</i>
+  </h3>
+  Number of packets in read buffer.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="_on_DATAGRAM_RECEIVED"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_on_DATAGRAM_RECEIVED</span>(<span class=sig-arg>self</span>,
+          <span class="sig-kwarg">**kwargs</span>)</span>
+  </h3>
+  Internal method, got DATAGRAM RECEIVED.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="recv"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">recv</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>timeout</span>=<span class=sig-default>None</span>,
+          <span class=sig-arg>peek</span>=<span class=sig-default>False</span>)</span>
+  </h3>
+  Get a single packet. Blocks for up to timeout seconds if n &gt; 0 
+  and no packet is available (timeout=None means wait forever). If still 
+  no packet is available, raises BlockError or Timeout. Returns the pair 
+  (data, address). If peek is True, the data is not removed.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="send"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">send</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>s</span>,
+          <span class=sig-arg>dest</span>)</span>
+  </h3>
+  Send packet with contents s to given destination.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.samclasses.Deque-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.samclasses.Deque-class.html
new file mode 100644
index 0000000000..cb43be3eb5
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.samclasses.Deque-class.html
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.samclasses.Deque</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="..\private\i2p.samclasses-module.html">Module&nbsp;samclasses</a> ::
+        Class&nbsp;Deque
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<b>show&nbsp;private</b>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="..\private\i2p.samclasses.Deque-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class Deque</h2>
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="..\private\i2p.samclasses.StringBuffer-class.html"><code>StringBuffer</code></a></dd></dl>
+
+<hr/>
+
+A double-ended queue.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.Deque-class.html#__len__" class="summary-sig-name"><code>__len__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Number of items in the deque.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="_partition"></a><span class="summary-sig"><span class="summary-sig-name">_partition</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.Deque-class.html#pop_first" class="summary-sig-name"><code>pop_first</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Pop an item off the beginning of the deque, and return it.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.Deque-class.html#pop_last" class="summary-sig-name"><code>pop_last</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Pop an item off the end of the deque, and return it.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.Deque-class.html#push_first" class="summary-sig-name"><code>push_first</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>obj</span>)</span></code>
+<br />
+Prepend obj to the beginning of the deque.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.Deque-class.html#push_last" class="summary-sig-name"><code>push_last</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>obj</span>)</span></code>
+<br />
+Append obj to the end of the deque.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="__len__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__len__</span>(<span class=sig-arg>self</span>)</span>
+    <br /><i>(Length operator)</i>
+  </h3>
+  Number of items in the deque.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="pop_first"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">pop_first</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Pop an item off the beginning of the deque, and return it.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="pop_last"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">pop_last</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Pop an item off the end of the deque, and return it.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="push_first"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">push_first</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>obj</span>)</span>
+  </h3>
+  Prepend obj to the beginning of the deque.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="push_last"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">push_last</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>obj</span>)</span>
+  </h3>
+  Append obj to the end of the deque.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.samclasses.RawSession-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.samclasses.RawSession-class.html
new file mode 100644
index 0000000000..788ac7b6ba
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.samclasses.RawSession-class.html
@@ -0,0 +1,196 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.samclasses.RawSession</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="..\private\i2p.samclasses-module.html">Module&nbsp;samclasses</a> ::
+        Class&nbsp;RawSession
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<b>show&nbsp;private</b>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="..\private\i2p.samclasses.RawSession-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class RawSession</h2>
+
+<pre class="base-tree">
+<a href="..\private\i2p.samclasses.BaseSession-class.html"><code>BaseSession</code></a> --+
+              |
+             <b>RawSession</b>
+</pre><br />
+
+<hr/>
+
+Raw session. All methods are blocking and threadsafe.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>,
+          <span class=summary-sig-arg>addr</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.RawSession-class.html#__len__" class="summary-sig-name"><code>__len__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Number of packets in read buffer.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.RawSession-class.html#_on_RAW_RECEIVED" class="summary-sig-name"><code>_on_RAW_RECEIVED</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Internal method, got RAW RECEIVED.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.RawSession-class.html#recv" class="summary-sig-name"><code>recv</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>timeout</span>,
+          <span class=summary-sig-arg>peek</span>)</span></code>
+<br />
+Identical to DatagramSocket.recv.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.RawSession-class.html#send" class="summary-sig-name"><code>send</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>s</span>,
+          <span class=summary-sig-arg>dest</span>)</span></code>
+<br />
+Send packet with contents s to given destination.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseSession</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_encode_kwargs" class="summary-sig-name"><code>_encode_kwargs</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Internal command, encode extra kwargs for passing to SESSION 
+CREATE.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_hello" class="summary-sig-name"><code>_hello</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Internal command, handshake with SAM terminal.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_namelookup" class="summary-sig-name"><code>_namelookup</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Internal command, does a NAMING LOOKUP query.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_on_HELLO_REPLY" class="summary-sig-name"><code>_on_HELLO_REPLY</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Internal command, got HELLO REPLY.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_on_NAMING_REPLY" class="summary-sig-name"><code>_on_NAMING_REPLY</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Internal command, got NAMING REPLY.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_on_SESSION_STATUS" class="summary-sig-name"><code>_on_SESSION_STATUS</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Internal command, got SESSION STATUS.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_set_properties" class="summary-sig-name"><code>_set_properties</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Internal command, call at end of __init__ to set up properties.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#close" class="summary-sig-name"><code>close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Close the session.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="__len__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__len__</span>(<span class=sig-arg>self</span>)</span>
+    <br /><i>(Length operator)</i>
+  </h3>
+  Number of packets in read buffer.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="_on_RAW_RECEIVED"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_on_RAW_RECEIVED</span>(<span class=sig-arg>self</span>,
+          <span class="sig-kwarg">**kwargs</span>)</span>
+  </h3>
+  Internal method, got RAW RECEIVED.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="recv"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">recv</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>timeout</span>=<span class=sig-default>None</span>,
+          <span class=sig-arg>peek</span>=<span class=sig-default>False</span>)</span>
+  </h3>
+  Identical to DatagramSocket.recv. The from address is an empty 
+  string.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="send"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">send</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>s</span>,
+          <span class=sig-arg>dest</span>)</span>
+  </h3>
+  Send packet with contents s to given destination.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.samclasses.SAMTerminal-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.samclasses.SAMTerminal-class.html
new file mode 100644
index 0000000000..21c89c5779
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.samclasses.SAMTerminal-class.html
@@ -0,0 +1,210 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.samclasses.SAMTerminal</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="..\private\i2p.samclasses-module.html">Module&nbsp;samclasses</a> ::
+        Class&nbsp;SAMTerminal
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<b>show&nbsp;private</b>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="..\private\i2p.samclasses.SAMTerminal-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class SAMTerminal</h2>
+
+<hr/>
+
+Message-by-message communication with SAM through a single pysocket. 
+_on_* messages are dispatched to msgobj.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>addr</span>,
+          <span class=summary-sig-arg>msgobj</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#_poll_loop" class="summary-sig-name"><code>_poll_loop</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Polling loop for incoming messages.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#_samdecode" class="summary-sig-name"><code>_samdecode</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>s</span>)</span></code>
+<br />
+Given a SAM command, returns (a, b), where a is the string at the 
+beginning of the command, and b is a dictionary of name, value pairs for 
+the command.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#check" class="summary-sig-name"><code>check</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Raise an error if terminal was closed, otherwise do nothing.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#check_message" class="summary-sig-name"><code>check_message</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>kwargs</span>)</span></code>
+<br />
+Raises an error if kwargs['RESULT'] != 'OK'.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#close" class="summary-sig-name"><code>close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Close the SAM terminal.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#on_message" class="summary-sig-name"><code>on_message</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>msg</span>,
+          <span class=summary-sig-arg>kwargs</span>)</span></code>
+<br />
+Process a SAM message that was received.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#queue_get" class="summary-sig-name"><code>queue_get</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>q</span>)</span></code>
+<br />
+Identical to q.get() unless a call to self.check() fails, in which 
+case the waiting is cut short with an error.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#send_message" class="summary-sig-name"><code>send_message</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>msg</span>)</span></code>
+<br />
+Send a message to the SAM bridge.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="_poll_loop"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_poll_loop</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Polling loop for incoming messages.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="_samdecode"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_samdecode</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>s</span>)</span>
+  </h3>
+  Given a SAM command, returns (a, b), where a is the string at the 
+  beginning of the command, and b is a dictionary of name, value pairs 
+  for the command.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="check"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">check</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Raise an error if terminal was closed, otherwise do nothing.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="check_message"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">check_message</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>kwargs</span>)</span>
+  </h3>
+  Raises an error if kwargs['RESULT'] != 'OK'.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="close"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">close</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Close the SAM terminal.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="on_message"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">on_message</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>msg</span>,
+          <span class=sig-arg>kwargs</span>)</span>
+  </h3>
+  Process a SAM message that was received. Dispatch to 
+  self._on_MESSAGE_NAME(**kwargs).
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="queue_get"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">queue_get</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>q</span>)</span>
+  </h3>
+  Identical to q.get() unless a call to self.check() fails, in which 
+  case the waiting is cut short with an error.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="send_message"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">send_message</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>msg</span>)</span>
+  </h3>
+  Send a message to the SAM bridge. A newline will be automatically 
+  added if none is present.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.samclasses.Stream-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.samclasses.Stream-class.html
new file mode 100644
index 0000000000..ed64891580
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.samclasses.Stream-class.html
@@ -0,0 +1,168 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.samclasses.Stream</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="..\private\i2p.samclasses-module.html">Module&nbsp;samclasses</a> ::
+        Class&nbsp;Stream
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<b>show&nbsp;private</b>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="..\private\i2p.samclasses.Stream-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class Stream</h2>
+
+<hr/>
+
+Receives and sends data for an individual stream.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>parent</span>,
+          <span class=summary-sig-arg>remotedest</span>,
+          <span class=summary-sig-arg>id</span>,
+          <span class=summary-sig-arg>didconnect</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="__del__"></a><span class="summary-sig"><span class="summary-sig-name">__del__</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.Stream-class.html#__len__" class="summary-sig-name"><code>__len__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Current length of read buffer.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.Stream-class.html#close" class="summary-sig-name"><code>close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Close the stream.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="on_close"></a><span class="summary-sig"><span class="summary-sig-name">on_close</span>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>e</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="on_receive"></a><span class="summary-sig"><span class="summary-sig-name">on_receive</span>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>s</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.Stream-class.html#recv" class="summary-sig-name"><code>recv</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>n</span>,
+          <span class=summary-sig-arg>timeout</span>,
+          <span class=summary-sig-arg>peek</span>,
+          <span class=summary-sig-arg>waitall</span>)</span></code>
+<br />
+Reads up to n bytes in a manner identical to socket.recv.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.Stream-class.html#send" class="summary-sig-name"><code>send</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>s</span>)</span></code>
+<br />
+Sends the string s, blocking if necessary.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="__len__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__len__</span>(<span class=sig-arg>self</span>)</span>
+    <br /><i>(Length operator)</i>
+  </h3>
+  Current length of read buffer.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="close"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">close</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Close the stream. Threadsafe.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="recv"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">recv</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>n</span>,
+          <span class=sig-arg>timeout</span>=<span class=sig-default>None</span>,
+          <span class=sig-arg>peek</span>=<span class=sig-default>False</span>,
+          <span class=sig-arg>waitall</span>=<span class=sig-default>False</span>)</span>
+  </h3>
+  Reads up to n bytes in a manner identical to socket.recv. Blocks for 
+  up to timeout seconds if n &gt; 0 and no data is available 
+  (timeout=None means wait forever). If still no data is available, 
+  raises BlockError or Timeout. For a closed stream, recv will read the 
+  data stored in the buffer until EOF, at which point the read data will 
+  be truncated. If peek is True, the data is not removed. If waitall is 
+  True, reads exactly n bytes, or raises BlockError or Timeout as 
+  appropriate. Returns data.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="send"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">send</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>s</span>)</span>
+  </h3>
+  Sends the string s, blocking if necessary.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.samclasses.StreamSession-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.samclasses.StreamSession-class.html
new file mode 100644
index 0000000000..2baa98fef7
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.samclasses.StreamSession-class.html
@@ -0,0 +1,276 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.samclasses.StreamSession</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="..\private\i2p.samclasses-module.html">Module&nbsp;samclasses</a> ::
+        Class&nbsp;StreamSession
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<b>show&nbsp;private</b>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="..\private\i2p.samclasses.StreamSession-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class StreamSession</h2>
+
+<pre class="base-tree">
+<a href="..\private\i2p.samclasses.BaseSession-class.html"><code>BaseSession</code></a> --+
+              |
+             <b>StreamSession</b>
+</pre><br />
+
+<hr/>
+
+Stream session. All methods are blocking and threadsafe.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>,
+          <span class=summary-sig-arg>addr</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.StreamSession-class.html#__len__" class="summary-sig-name"><code>__len__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Unconnected session; has no read data available.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.StreamSession-class.html#_on_STREAM_CLOSED" class="summary-sig-name"><code>_on_STREAM_CLOSED</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Got STREAM CLOSED command.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.StreamSession-class.html#_on_STREAM_CONNECTED" class="summary-sig-name"><code>_on_STREAM_CONNECTED</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Got STREAM CONNECTED command.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.StreamSession-class.html#_on_STREAM_RECEIVED" class="summary-sig-name"><code>_on_STREAM_RECEIVED</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Got STREAM RECEIVED command.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.StreamSession-class.html#_on_STREAM_STATUS" class="summary-sig-name"><code>_on_STREAM_STATUS</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Internal command, got STREAM STATUS.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.StreamSession-class.html#_send_stream" class="summary-sig-name"><code>_send_stream</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>id</span>,
+          <span class=summary-sig-arg>data</span>)</span></code>
+<br />
+Internal command, send data to stream id.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.StreamSession-class.html#accept" class="summary-sig-name"><code>accept</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>timeout</span>)</span></code>
+<br />
+Wait for incoming connection, and return a Stream object for it.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.StreamSession-class.html#connect" class="summary-sig-name"><code>connect</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>dest</span>,
+          <span class=summary-sig-arg>timeout</span>)</span></code>
+<br />
+Create a stream connected to remote destination 'dest'.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.StreamSession-class.html#listen" class="summary-sig-name"><code>listen</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>backlog</span>)</span></code>
+<br />
+Set maximum number of queued connections.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseSession</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_encode_kwargs" class="summary-sig-name"><code>_encode_kwargs</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Internal command, encode extra kwargs for passing to SESSION 
+CREATE.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_hello" class="summary-sig-name"><code>_hello</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Internal command, handshake with SAM terminal.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_namelookup" class="summary-sig-name"><code>_namelookup</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Internal command, does a NAMING LOOKUP query.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_on_HELLO_REPLY" class="summary-sig-name"><code>_on_HELLO_REPLY</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Internal command, got HELLO REPLY.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_on_NAMING_REPLY" class="summary-sig-name"><code>_on_NAMING_REPLY</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Internal command, got NAMING REPLY.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_on_SESSION_STATUS" class="summary-sig-name"><code>_on_SESSION_STATUS</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Internal command, got SESSION STATUS.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#_set_properties" class="summary-sig-name"><code>_set_properties</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Internal command, call at end of __init__ to set up properties.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.BaseSession-class.html#close" class="summary-sig-name"><code>close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Close the session.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="__len__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__len__</span>(<span class=sig-arg>self</span>)</span>
+    <br /><i>(Length operator)</i>
+  </h3>
+  Unconnected session; has no read data available.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="_on_STREAM_CLOSED"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_on_STREAM_CLOSED</span>(<span class=sig-arg>self</span>,
+          <span class="sig-kwarg">**kwargs</span>)</span>
+  </h3>
+  Got STREAM CLOSED command. Call idmap[id].on_close(e) and delete 
+  idmap[id].
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="_on_STREAM_CONNECTED"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_on_STREAM_CONNECTED</span>(<span class=sig-arg>self</span>,
+          <span class="sig-kwarg">**kwargs</span>)</span>
+  </h3>
+  Got STREAM CONNECTED command. This is what accept() commands wait 
+  for.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="_on_STREAM_RECEIVED"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_on_STREAM_RECEIVED</span>(<span class=sig-arg>self</span>,
+          <span class="sig-kwarg">**kwargs</span>)</span>
+  </h3>
+  Got STREAM RECEIVED command. Dispatch to 
+  idmap[id].on_receive(s).
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="_on_STREAM_STATUS"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_on_STREAM_STATUS</span>(<span class=sig-arg>self</span>,
+          <span class="sig-kwarg">**kwargs</span>)</span>
+  </h3>
+  Internal command, got STREAM STATUS. Unblocks connect.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="_send_stream"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_send_stream</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>id</span>,
+          <span class=sig-arg>data</span>)</span>
+  </h3>
+  Internal command, send data to stream id. Use Stream.send in your 
+  code.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="accept"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">accept</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>timeout</span>=<span class=sig-default>None</span>)</span>
+  </h3>
+  Wait for incoming connection, and return a Stream object for it.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="connect"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">connect</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>dest</span>,
+          <span class=sig-arg>timeout</span>=<span class=sig-default>None</span>)</span>
+  </h3>
+  Create a stream connected to remote destination 'dest'. The id is 
+  random. If the timeout is exceeded, do NOT raise an error; rather, 
+  return a Stream object with .didconnect set to False.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="listen"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">listen</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>backlog</span>)</span>
+  </h3>
+  Set maximum number of queued connections.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.samclasses.StringBuffer-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.samclasses.StringBuffer-class.html
new file mode 100644
index 0000000000..f42b17ecb7
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.samclasses.StringBuffer-class.html
@@ -0,0 +1,210 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.samclasses.StringBuffer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="..\private\i2p.samclasses-module.html">Module&nbsp;samclasses</a> ::
+        Class&nbsp;StringBuffer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<b>show&nbsp;private</b>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="..\private\i2p.samclasses.StringBuffer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class StringBuffer</h2>
+
+<pre class="base-tree">
+<a href="..\private\i2p.samclasses.Deque-class.html"><code>Deque</code></a> --+
+        |
+       <b>StringBuffer</b>
+</pre><br />
+
+<hr/>
+
+<p>A FIFO for characters. Strings can be efficiently appended to the end, 
+and read from the beginning.</p>
+Example:
+<pre class="doctestblock">
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>B = StringBuffer(<span class="py-string">'Hello W'</span>)
+<span class="py-prompt">&gt;&gt;&gt; </span>B.append(<span class="py-string">'orld!'</span>)
+<span class="py-prompt">&gt;&gt;&gt; </span>B.read(5)</span>
+<span class="py-output">'Hello'</span>
+
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>B.read()</span>
+<span class="py-output">'World!'</span></pre>
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>s</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.StringBuffer-class.html#__len__" class="summary-sig-name"><code>__len__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Number of items in the deque.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="__repr__"></a><span class="summary-sig"><span class="summary-sig-name">__repr__</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="__str__"></a><span class="summary-sig"><span class="summary-sig-name">__str__</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.StringBuffer-class.html#append" class="summary-sig-name"><code>append</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>s</span>)</span></code>
+<br />
+Append string data to the end of the buffer.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.StringBuffer-class.html#peek" class="summary-sig-name"><code>peek</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>n</span>)</span></code>
+<br />
+Like read(), but do not remove the data that is returned.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.StringBuffer-class.html#prepend" class="summary-sig-name"><code>prepend</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>s</span>)</span></code>
+<br />
+Prepend string data to the beginning of the buffer.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.StringBuffer-class.html#read" class="summary-sig-name"><code>read</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>n</span>)</span></code>
+<br />
+Read n bytes of data (or less if less data available) from the 
+beginning of the buffer.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Deque</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.Deque-class.html#_partition" class="summary-sig-name"><code>_partition</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.Deque-class.html#pop_first" class="summary-sig-name"><code>pop_first</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Pop an item off the beginning of the deque, and return it.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.Deque-class.html#pop_last" class="summary-sig-name"><code>pop_last</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Pop an item off the end of the deque, and return it.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.Deque-class.html#push_first" class="summary-sig-name"><code>push_first</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>obj</span>)</span></code>
+<br />
+Prepend obj to the beginning of the deque.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.samclasses.Deque-class.html#push_last" class="summary-sig-name"><code>push_last</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>obj</span>)</span></code>
+<br />
+Append obj to the end of the deque.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="__len__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__len__</span>(<span class=sig-arg>self</span>)</span>
+    <br /><i>(Length operator)</i>
+  </h3>
+  Number of items in the deque.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="..\private\i2p.samclasses.Deque-class.html#__len__"><code>i2p.samclasses.Deque.__len__</code></a> <i>(inherited documentation)</i>
+</dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+
+<a name="append"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">append</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>s</span>)</span>
+  </h3>
+  Append string data to the end of the buffer.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="peek"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">peek</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>n</span>=<span class=sig-default>None</span>)</span>
+  </h3>
+  Like read(), but do not remove the data that is returned.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="prepend"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">prepend</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>s</span>)</span>
+  </h3>
+  Prepend string data to the beginning of the buffer.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="read"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">read</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>n</span>=<span class=sig-default>None</span>)</span>
+  </h3>
+  Read n bytes of data (or less if less data available) from the 
+  beginning of the buffer. The data is removed. If n is omitted, read the 
+  entire buffer.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.select-module.html b/apps/sam/python/doc/epydoc/html/private/i2p.select-module.html
new file mode 100644
index 0000000000..3be16d08e5
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.select-module.html
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.select</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        Module&nbsp;select
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.select-module.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.select-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF MODULE DESCRIPTION =========== -->
+<h2 class="module">Module i2p.select</h2>
+
+I2P Python API - Emulation of Python select module.
+<hr/>
+
+<!-- =========== START OF CLASSES =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Classes</th></tr>
+<tr><td width="15%">
+  <b><a href="i2p.select.Poll-class.html"><code>Poll</code></a></b></td>
+  <td>Class implementing poll interface.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Function Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.select-module.html#poll" class="summary-sig-name"><code>poll</code></a>()</span></code>
+<br />
+Returns a polling object.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.select-module.html#select" class="summary-sig-name"><code>select</code></a>(<span class=summary-sig-arg>readlist</span>,
+          <span class=summary-sig-arg>writelist</span>,
+          <span class=summary-sig-arg>errlist</span>,
+          <span class=summary-sig-arg>timeout</span>)</span></code>
+<br />
+Performs a select call.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Function Details</th></tr>
+</table>
+
+<a name="poll"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">poll</span>()</span>
+  </h3>
+  Returns a polling object. Works on SAM sockets and Python sockets. 
+  See select.poll() in the Python library for more information.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="select"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">select</span>(<span class=sig-arg>readlist</span>,
+          <span class=sig-arg>writelist</span>,
+          <span class=sig-arg>errlist</span>,
+          <span class=sig-arg>timeout</span>=<span class=sig-default>None</span>)</span>
+  </h3>
+  Performs a select call. Works on SAM sockets and Python sockets. See 
+  select.select() in the Python library for more information.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.select.Poll-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.select.Poll-class.html
new file mode 100644
index 0000000000..6a6959c0e0
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.select.Poll-class.html
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.select.Poll</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.select-module.html">Module&nbsp;select</a> ::
+        Class&nbsp;Poll
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.select.Poll-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.select.Poll-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class Poll</h2>
+
+<hr/>
+
+Class implementing poll interface. Works for Python sockets and SAM 
+sockets.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="poll"></a><span class="summary-sig"><span class="summary-sig-name">poll</span>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>timeout</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="register"></a><span class="summary-sig"><span class="summary-sig-name">register</span>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>fd</span>,
+          <span class=summary-sig-arg>eventmask</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="unregister"></a><span class="summary-sig"><span class="summary-sig-name">unregister</span>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>fd</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.select.Poll-class.html#_hash" class="summary-sig-name"><code>_hash</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>fd</span>)</span></code>
+<br />
+Get a unique number for each object.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="_hash"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_hash</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>fd</span>)</span>
+  </h3>
+  Get a unique number for each object.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.socket-module.html b/apps/sam/python/doc/epydoc/html/private/i2p.socket-module.html
new file mode 100644
index 0000000000..9c6f71674e
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.socket-module.html
@@ -0,0 +1,283 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.socket</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        Module&nbsp;socket
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.socket-module.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.socket-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF MODULE DESCRIPTION =========== -->
+<h2 class="module">Module i2p.socket</h2>
+
+Emulation of Python socket module using SAM.
+<hr/>
+
+<!-- =========== START OF CLASSES =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Classes</th></tr>
+<tr><td width="15%">
+  <b><a href="i2p.socket.Socket-class.html"><code>Socket</code></a></b></td>
+  <td>A socket object.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF EXCEPTIONS =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Exceptions</th></tr>
+<tr><td width="15%">
+  <b><a href="i2p.socket.BlockError-class.html"><code>BlockError</code></a></b></td>
+  <td>Socket call would have blocked.</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.socket.ClosedError-class.html"><code>ClosedError</code></a></b></td>
+  <td>A command was used on a socket that closed gracefully.</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.socket.Error-class.html"><code>Error</code></a></b></td>
+  <td>Base class for all SAM errors.</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.socket.NetworkError-class.html"><code>NetworkError</code></a></b></td>
+  <td>Network error occurred within I2P.</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.socket.Timeout-class.html"><code>Timeout</code></a></b></td>
+  <td>Time out occurred for a socket which had timeouts enabled via a prior 
+call to settimeout().</td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Function Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket-module.html#resolve" class="summary-sig-name"><code>resolve</code></a>(<span class=summary-sig-arg>host</span>,
+          <span class=summary-sig-arg>samaddr</span>)</span></code>
+<br />
+Resolve I2P host name --&gt; I2P Destination.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket-module.html#socket" class="summary-sig-name"><code>socket</code></a>(<span class=summary-sig-arg>session</span>,
+          <span class=summary-sig-arg>type</span>,
+          <span class=summary-sig-arg>samaddr</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Create a new socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.socket-module.html#_make_session" class="summary-sig-name"><code>_make_session</code></a>(<span class=summary-sig-arg>session</span>,
+          <span class=summary-sig-arg>type</span>,
+          <span class=summary-sig-arg>samaddr</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Make a session object (eg samclasses.StreamSession).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.socket-module.html#_wrap_stream" class="summary-sig-name"><code>_wrap_stream</code></a>(<span class=summary-sig-arg>stream</span>,
+          <span class=summary-sig-arg>parent_socket</span>)</span></code>
+<br />
+Wraps a Socket object around a samclasses.Stream object.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>lock</code></font></td>
+<td><b><a href="..\private\i2p.socket-module.html#_session_lock"><code>_session_lock</code></a></b> = <span title="&lt;thread.lock object at 0x0089D0E0&gt;"><code>&lt;thread.lock&nbsp;object&nbsp;at&nbsp;0x0089D0E0&gt;       </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
+<td><b><a href="..\private\i2p.socket-module.html#_sessions"><code>_sessions</code></a></b> = <span title="{}"><code>{}                                           </code>
+</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Function Details</th></tr>
+</table>
+
+<a name="resolve"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">resolve</span>(<span class=sig-arg>host</span>,
+          <span class=sig-arg>samaddr</span>=<span class=sig-default>'127.0.0.1:7656'</span>)</span>
+  </h3>
+  Resolve I2P host name --&gt; I2P Destination. Returns the same 
+  string if host is already a Destination.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="socket"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">socket</span>(<span class=sig-arg>session</span>,
+          <span class=sig-arg>type</span>,
+          <span class=sig-arg>samaddr</span>=<span class=sig-default>'127.0.0.1:7656'</span>,
+          <span class="sig-kwarg">**kwargs</span>)</span>
+  </h3>
+  <p>Create a new socket. Argument session should be a session name -- if 
+  the name has not yet been used, an I2P Destination will be created for 
+  it, otherwise, the existing Destination will be re-used. An empty 
+  session string causes a transient session to be created. Argument type 
+  is one of SOCK_STREAM, SOCK_DGRAM, or SOCK_RAW.</p>
+  I2P configuration keyword arguments:
+  <ul>
+    <li>
+      in_depth - depth of incoming tunnel (default 2)
+    </li>
+    <li>
+      out_depth - depth of outgoing tunnel (default 2)
+    </li>
+  </ul>
+  <p>A single session may be shared by more than one socket, if the 
+  sockets are the same type, and if the sockets are created within the 
+  same Python process. The socket objects are multithread-safe.</p>
+  Examples:
+<pre class="doctestblock">
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>a = i2p.socket(<span class="py-string">'Alice'</span>, i2p.SOCK_STREAM)
+<span class="py-prompt">&gt;&gt;&gt; </span>b = i2p.socket(<span class="py-string">'Bob'</span>,   i2p.SOCK_DGRAM,</span>
+<span class="py-output">in_depth=2, out_depth=5)</span></pre>
+  The created object behaves identically to a socket from module 
+  socket, with the following exceptions:
+  <ul>
+    <li>
+      I2P Destinations are used as address arguments [1].
+    </li>
+    <li>
+      bind is a no-op: sockets are always bound.
+    </li>
+    <li>
+      send* methods send all data and are non-blocking.
+    </li>
+  </ul>
+  <p>A given session name can only be open in a single Python program at 
+  a time. If you need to overcome this limitation, consider patching 
+  I2P.</p>
+  <p>[1]. Alternatively, a host name can be used as an address. It will 
+  be resolved using hosts.txt.</p>
+  <p>For details on how to use socket objects, see 
+  http://www.python.org/doc/current/lib/socket-objects.html</p>
+  See the examples directory for code examples.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="_make_session"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_make_session</span>(<span class=sig-arg>session</span>,
+          <span class=sig-arg>type</span>,
+          <span class=sig-arg>samaddr</span>,
+          <span class="sig-kwarg">**kwargs</span>)</span>
+  </h3>
+  Make a session object (eg samclasses.StreamSession). Same arguments 
+  as socket(). Return an existing session object if one has been 
+  previously created under the given name.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="_wrap_stream"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_wrap_stream</span>(<span class=sig-arg>stream</span>,
+          <span class=sig-arg>parent_socket</span>)</span>
+  </h3>
+  Wraps a Socket object around a samclasses.Stream object.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="_session_lock"></a>
+<h3>_session_lock</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>lock</code>
+
+      </dd>
+<span title="&lt;thread.lock object at 0x0089D0E0&gt;">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+&lt;thread.lock object at 0x0089D0E0&gt;                                     </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="_sessions"></a>
+<h3>_sessions</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>dict</code>
+
+      </dd>
+<span title="{}">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+{}                                                                     </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.socket.BlockError-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.socket.BlockError-class.html
new file mode 100644
index 0000000000..ad166a744d
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.socket.BlockError-class.html
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.socket.BlockError</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.socket-module.html">Module&nbsp;socket</a> ::
+        Class&nbsp;BlockError
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.socket.BlockError-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.socket.BlockError-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class BlockError</h2>
+
+<pre class="base-tree">
+<a href="exceptions.Exception-class.html"><code>Exception</code></a> --+        
+            |        
+        <a href="..\private\i2p.Error-class.html"><code>Error</code></a> --+    
+                |    
+            <a href="i2p.socket.Error-class.html"><code>Error</code></a> --+
+                    |
+                   <b>BlockError</b>
+</pre><br />
+
+<hr/>
+
+Socket call would have blocked.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Exception</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__str__" class="summary-sig-name"><code>__str__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.socket.ClosedError-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.socket.ClosedError-class.html
new file mode 100644
index 0000000000..f6b08ad0fe
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.socket.ClosedError-class.html
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.socket.ClosedError</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.socket-module.html">Module&nbsp;socket</a> ::
+        Class&nbsp;ClosedError
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.socket.ClosedError-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.socket.ClosedError-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class ClosedError</h2>
+
+<pre class="base-tree">
+<a href="exceptions.Exception-class.html"><code>Exception</code></a> --+        
+            |        
+        <a href="..\private\i2p.Error-class.html"><code>Error</code></a> --+    
+                |    
+            <a href="i2p.socket.Error-class.html"><code>Error</code></a> --+
+                    |
+                   <b>ClosedError</b>
+</pre><br />
+
+<hr/>
+
+A command was used on a socket that closed gracefully.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Exception</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__str__" class="summary-sig-name"><code>__str__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.socket.Error-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.socket.Error-class.html
new file mode 100644
index 0000000000..30a4a7cb04
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.socket.Error-class.html
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.socket.Error</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.socket-module.html">Module&nbsp;socket</a> ::
+        Class&nbsp;Error
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.socket.Error-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.socket.Error-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class Error</h2>
+
+<pre class="base-tree">
+<a href="exceptions.Exception-class.html"><code>Exception</code></a> --+    
+            |    
+        <a href="..\private\i2p.Error-class.html"><code>Error</code></a> --+
+                |
+               <b>Error</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.socket.BlockError-class.html"><code>BlockError</code></a>,
+    <a href="i2p.socket.ClosedError-class.html"><code>ClosedError</code></a>,
+    <a href="i2p.socket.NetworkError-class.html"><code>NetworkError</code></a>,
+    <a href="i2p.socket.Timeout-class.html"><code>Timeout</code></a></dd></dl>
+
+<hr/>
+
+Base class for all SAM errors.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Exception</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__str__" class="summary-sig-name"><code>__str__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.socket.NetworkError-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.socket.NetworkError-class.html
new file mode 100644
index 0000000000..ab3b394a84
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.socket.NetworkError-class.html
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.socket.NetworkError</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.socket-module.html">Module&nbsp;socket</a> ::
+        Class&nbsp;NetworkError
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.socket.NetworkError-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.socket.NetworkError-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class NetworkError</h2>
+
+<pre class="base-tree">
+<a href="exceptions.Exception-class.html"><code>Exception</code></a> --+        
+            |        
+        <a href="..\private\i2p.Error-class.html"><code>Error</code></a> --+    
+                |    
+            <a href="i2p.socket.Error-class.html"><code>Error</code></a> --+
+                    |
+                   <b>NetworkError</b>
+</pre><br />
+
+<hr/>
+
+Network error occurred within I2P. The error object is a 2-tuple: 
+(errtag, errdesc). errtag is a SAM error string, errdesc is a human 
+readable error description.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Exception</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__str__" class="summary-sig-name"><code>__str__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.socket.Socket-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.socket.Socket-class.html
new file mode 100644
index 0000000000..f626dbb5b1
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.socket.Socket-class.html
@@ -0,0 +1,563 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.socket.Socket</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.socket-module.html">Module&nbsp;socket</a> ::
+        Class&nbsp;Socket
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.socket.Socket-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.socket.Socket-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class Socket</h2>
+
+<hr/>
+
+A socket object.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>session</span>,
+          <span class=summary-sig-arg>type</span>,
+          <span class=summary-sig-arg>samaddr</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Equivalent to socket().</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#__copy__" class="summary-sig-name"><code>__copy__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Returns the original object.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#__deepcopy__" class="summary-sig-name"><code>__deepcopy__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>memo</span>)</span></code>
+<br />
+Returns the original object.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#accept" class="summary-sig-name"><code>accept</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Accept an incoming connection.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#bind" class="summary-sig-name"><code>bind</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>address</span>)</span></code>
+<br />
+Does nothing.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#close" class="summary-sig-name"><code>close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Closes the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#connect" class="summary-sig-name"><code>connect</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>address</span>)</span></code>
+<br />
+Connect to a remote dest, identified in local SAM bridge's hosts file 
+as host 'address'.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#connect_ex" class="summary-sig-name"><code>connect_ex</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>address</span>)</span></code>
+<br />
+Like connect(), but return any error that is raised.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#getpeername" class="summary-sig-name"><code>getpeername</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the remote Destination associated with the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#getsockname" class="summary-sig-name"><code>getsockname</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the local Destination associated with the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#gettimeout" class="summary-sig-name"><code>gettimeout</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the timeout value.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#listen" class="summary-sig-name"><code>listen</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>backlog</span>)</span></code>
+<br />
+Listen for connections made to the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#makefile" class="summary-sig-name"><code>makefile</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>mode</span>,
+          <span class=summary-sig-arg>bufsize</span>)</span></code>
+<br />
+Return a file object for the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#recv" class="summary-sig-name"><code>recv</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>bufsize</span>,
+          <span class=summary-sig-arg>flags</span>)</span></code>
+<br />
+Receive string data from the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#recvfrom" class="summary-sig-name"><code>recvfrom</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>bufsize</span>,
+          <span class=summary-sig-arg>flags</span>)</span></code>
+<br />
+Like recv(), but returns a tuple (data, remoteaddr), where data is the 
+string data received, and remoteaddr is the remote Destination.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#send" class="summary-sig-name"><code>send</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>string</span>,
+          <span class=summary-sig-arg>flags</span>)</span></code>
+<br />
+Sends string data to a remote Destination.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#sendall" class="summary-sig-name"><code>sendall</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>string</span>,
+          <span class=summary-sig-arg>flags</span>)</span></code>
+<br />
+Identical to send().</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#sendto" class="summary-sig-name"><code>sendto</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>string</span>,
+          <span class=summary-sig-arg>flags</span>,
+          <span class=summary-sig-arg>address</span>)</span></code>
+<br />
+Send a packet to the given Destination.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#setblocking" class="summary-sig-name"><code>setblocking</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>flag</span>)</span></code>
+<br />
+Set blocking or non-blocking mode for the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#settimeout" class="summary-sig-name"><code>settimeout</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>value</span>)</span></code>
+<br />
+Set a timeout for the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.socket.Socket-class.html#_verify_connected" class="summary-sig-name"><code>_verify_connected</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>needs_to_be_connected</span>)</span></code>
+<br />
+Raise an error if socket is not a connected stream socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.socket.Socket-class.html#_verify_not_connected" class="summary-sig-name"><code>_verify_not_connected</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Verify that the socket is not currently connected, and is not in the 
+process of connecting.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.socket.Socket-class.html#_verify_open" class="summary-sig-name"><code>_verify_open</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Verify that the socket has not been closed.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.socket.Socket-class.html#_verify_stream" class="summary-sig-name"><code>_verify_stream</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Raise an error if socket is not a SOCK_STREAM.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF PROPERTY SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Property Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><b><a href="i2p.socket.Socket-class.html#dest"><code>dest</code></a></b>: Local I2P Destination of socket</td></tr><tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><b><a href="i2p.socket.Socket-class.html#session"><code>session</code></a></b>: Session name</td></tr><tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><b><a href="i2p.socket.Socket-class.html#type"><code>type</code></a></b>: Socket type: SOCK_STREAM, SOCK_DGRAM, or SOCK_RAW.</td></tr></table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="__init__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__init__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>session</span>,
+          <span class=sig-arg>type</span>,
+          <span class=sig-arg>samaddr</span>=<span class=sig-default>'127.0.0.1:7656'</span>,
+          <span class="sig-kwarg">**kwargs</span>)</span>
+    <br /><i>(Constructor)</i>
+  </h3>
+  Equivalent to socket().
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="__copy__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__copy__</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Returns the original object.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="__deepcopy__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__deepcopy__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>memo</span>)</span>
+  </h3>
+  Returns the original object.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="accept"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">accept</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Accept an incoming connection. The socket must be type SOCK_STREAM, 
+  and listen() must be called prior to this command. The return value is 
+  (conn, remotedest), where conn is a new socket object made for the 
+  connection, and remotedest is the remote Destination from which the 
+  connection was made.</p>
+  Example:
+<pre class="doctestblock">
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">from</span> i2p <span class="py-keyword">import</span> socket
+<span class="py-prompt">&gt;&gt;&gt; </span>s = socket.socket(<span class="py-string">'Alice'</span>, socket.SOCK_STREAM)
+<span class="py-prompt">&gt;&gt;&gt; </span>s.listen(10)</span></pre>
+  This prepares the server. Now accept an incoming connection:
+<pre class="doctestblock">
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>c, remotedest = s.accept()
+<span class="py-prompt">&gt;&gt;&gt; </span>c.send(<span class="py-string">'hello world!'</span>)</span></pre>
+  If accept() is called on a socket that is in non-blocking mode or 
+  has a timeout, i2p.socket.BlockError or i2p.socket.Timeout may be 
+  raised. This indicates that no incoming connection is currently 
+  available.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="bind"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">bind</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>address</span>)</span>
+  </h3>
+  Does nothing. Provided for compatibility with the Python socket 
+  command bind(), which binds a server to a port.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="close"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">close</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Closes the socket. It is an error to call any method other than 
+  recv() or recvfrom() on a closed socket. For streams, the receive 
+  methods return data that was received prior to the closing of the 
+  socket. For datagram and raw sockets, the receive methods cannot be 
+  used on a closed socket.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="connect"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">connect</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>address</span>)</span>
+  </h3>
+  <p>Connect to a remote dest, identified in local SAM bridge's hosts 
+  file as host 'address'.</p>
+  For example:
+<pre class="doctestblock">
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>s.connect(<span class="py-string">'duck.i2p'</span>)</span></pre>
+  <p>Alternatively, you can use a full base64 Destination:</p>
+  Example:
+<pre class="doctestblock">
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>s.connect(<span class="py-string">'238797sdfh2k34kjh....AAAA'</span>)</span></pre>
+  If connect() is called on a socket that is in non-blocking mode or 
+  has a timeout, i2p.socket.BlockError or i2p.socket.Timeout may be 
+  raised. This indicates that the connection is still being initiated. 
+  Use i2p.select.select() to determine when the connection is ready.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="connect_ex"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">connect_ex</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>address</span>)</span>
+  </h3>
+  Like connect(), but return any error that is raised. Returns None if 
+  no error is raised.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="getpeername"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">getpeername</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Get the remote Destination associated with the socket. This is 
+  equivalent to s.remotedest, and is provided for compatibility with the 
+  Python socket module.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="getsockname"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">getsockname</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Get the local Destination associated with the socket. This is 
+  equivalent to s.dest, and is provided for compatibility with the Python 
+  socket module.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="gettimeout"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">gettimeout</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Get the timeout value.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="listen"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">listen</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>backlog</span>)</span>
+  </h3>
+  Listen for connections made to the socket. This method must be 
+  called before accept(). The backlog argument specifies the maximum 
+  number of queued incoming connections.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="makefile"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">makefile</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>mode</span>=<span class=sig-default>'r'</span>,
+          <span class=sig-arg>bufsize</span>=<span class=sig-default>-1</span>)</span>
+  </h3>
+  Return a file object for the socket. See socket.makefile() in the 
+  Python documentation for more information.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="recv"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">recv</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>bufsize</span>,
+          <span class=sig-arg>flags</span>=<span class=sig-default>0</span>)</span>
+  </h3>
+  <p>Receive string data from the socket.</p>
+  <p>The maximum amount of data to be received is given by bufsize. If 
+  bufsize is zero, this function returns an empty string immediately. If 
+  bufsize is nonzero, this function blocks until at least one character 
+  is available for reading. If the socket has been closed, an empty 
+  string is returned as an end of file indicator.</p>
+  <p>If recv() is called on a socket that is in non-blocking mode or has 
+  a timeout, i2p.socket.BlockError or i2p.socket.Timeout will be raised 
+  if data is not available within the given timeframe.</p>
+  <p>For a datagram or raw socket, the first bufsize characters of the 
+  packet are read, and the remainder of the packet is discarded. To read 
+  the entire packet, use bufsize = -1.</p>
+  <p>For datagram and raw sockets, the packet may originate from any 
+  Destination. Use recvfrom() with datagrams to determine the Destination 
+  from which the packet was received.</p>
+  The flags argument can be a bitwise OR of MSG_PEEK, MSG_WAITALL, 
+  and/or MSG_DONTWAIT. MSG_PEEK indicates that any data read should not 
+  be removed from the socket's incoming buffer. MSG_WAITALL indicates to 
+  wait for exactly bufsize characters or an error. MSG_DONTWAIT indicates 
+  that the recv() command should not block execution.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="recvfrom"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">recvfrom</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>bufsize</span>,
+          <span class=sig-arg>flags</span>=<span class=sig-default>0</span>)</span>
+  </h3>
+  Like recv(), but returns a tuple (data, remoteaddr), where data is 
+  the string data received, and remoteaddr is the remote Destination.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="send"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">send</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>string</span>,
+          <span class=sig-arg>flags</span>=<span class=sig-default>0</span>)</span>
+  </h3>
+  <p>Sends string data to a remote Destination.</p>
+  <p>For a stream, connect() must be called prior to send(). Once close() 
+  is called, no further data can be sent, and the stream cannot be 
+  re-opened.</p>
+  <p>For datagram and raw sockets, connect() only specifies a Destination 
+  to which packets are sent to. send() will then send a packet to the 
+  given Destination. connect() can be used multiple times.</p>
+  The send() command never blocks execution. The flags argument is 
+  ignored.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="sendall"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">sendall</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>string</span>,
+          <span class=sig-arg>flags</span>=<span class=sig-default>0</span>)</span>
+  </h3>
+  Identical to send().
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="sendto"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">sendto</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>string</span>,
+          <span class=sig-arg>flags</span>,
+          <span class=sig-arg>address</span>)</span>
+  </h3>
+  <p>Send a packet to the given Destination.</p>
+  <p>Only valid for datagram and raw sockets. The address argument should 
+  be either a name from the hosts file, or a base64 Destination.</p>
+  The sendto() command never blocks execution. The flags argument is 
+  ignored.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="setblocking"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">setblocking</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>flag</span>)</span>
+  </h3>
+  <p>Set blocking or non-blocking mode for the socket.</p>
+  <p>If flag is True, any method called on the socket will hang until the 
+  method has completed. If flag is False, all methods will raise 
+  i2p.socket.BlockError() if they cannot complete instantly.</p>
+  s.setblocking(False) is equivalent to s.settimeout(0); 
+  s.setblocking(True) is equivalent to s.settimeout(None).
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="settimeout"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">settimeout</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>value</span>)</span>
+  </h3>
+  <p>Set a timeout for the socket.</p>
+  <p>The value argument should be a timeout value in seconds, or None. 
+  None is equivalent to an infinite timeout.</p>
+  A socket operation will raise a i2p.socket.Timeout if the operation 
+  cannot complete within in the specified time limit.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="_verify_connected"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_verify_connected</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>needs_to_be_connected</span>=<span class=sig-default>True</span>)</span>
+  </h3>
+  Raise an error if socket is not a connected stream socket.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="_verify_not_connected"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_verify_not_connected</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Verify that the socket is not currently connected, and is not in the 
+  process of connecting.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="_verify_open"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_verify_open</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Verify that the socket has not been closed.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="_verify_stream"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_verify_stream</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Raise an error if socket is not a SOCK_STREAM.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF PROPERTY DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Property Details</th></tr>
+</table>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+
+<a name="dest"></a>
+<h3>dest</h3>
+Local I2P Destination of socket
+</td></tr></table><table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+
+<a name="session"></a>
+<h3>session</h3>
+Session name
+</td></tr></table><table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+
+<a name="type"></a>
+<h3>type</h3>
+Socket type: SOCK_STREAM, SOCK_DGRAM, or SOCK_RAW.
+</td></tr></table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.socket.Timeout-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.socket.Timeout-class.html
new file mode 100644
index 0000000000..1c240415ff
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.socket.Timeout-class.html
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.socket.Timeout</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.socket-module.html">Module&nbsp;socket</a> ::
+        Class&nbsp;Timeout
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.socket.Timeout-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.socket.Timeout-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class Timeout</h2>
+
+<pre class="base-tree">
+<a href="exceptions.Exception-class.html"><code>Exception</code></a> --+        
+            |        
+        <a href="..\private\i2p.Error-class.html"><code>Error</code></a> --+    
+                |    
+            <a href="i2p.socket.Error-class.html"><code>Error</code></a> --+
+                    |
+                   <b>Timeout</b>
+</pre><br />
+
+<hr/>
+
+Time out occurred for a socket which had timeouts enabled via a prior 
+call to settimeout().
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Exception</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__str__" class="summary-sig-name"><code>__str__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.tunnel-module.html b/apps/sam/python/doc/epydoc/html/private/i2p.tunnel-module.html
new file mode 100644
index 0000000000..c93af04e44
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.tunnel-module.html
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.tunnel</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        Module&nbsp;tunnel
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.tunnel-module.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.tunnel-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF MODULE DESCRIPTION =========== -->
+<h2 class="module">Module i2p.tunnel</h2>
+
+Exchange data between I2P and regular TCP sockets.
+<hr/>
+
+<!-- =========== START OF CLASSES =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Classes</th></tr>
+<tr><td width="15%">
+  <b><a href="i2p.tunnel.Tunnel-class.html"><code>Tunnel</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.tunnel.TunnelClient-class.html"><code>TunnelClient</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.tunnel.TunnelServer-class.html"><code>TunnelServer</code></a></b></td>
+  <td>&nbsp;</td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Function Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.tunnel-module.html#_exchange_data" class="summary-sig-name"><code>_exchange_data</code></a>(<span class=summary-sig-arg>A</span>,
+          <span class=summary-sig-arg>B</span>)</span></code>
+<br />
+Exchanges data A &lt;-&gt; B between open stream sockets A and B.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.tunnel-module.html#_test_connected" class="summary-sig-name"><code>_test_connected</code></a>(<span class=summary-sig-arg>B</span>)</span></code>
+<br />
+Raises an error if socket B is not yet connected.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Function Details</th></tr>
+</table>
+
+<a name="_exchange_data"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_exchange_data</span>(<span class=sig-arg>A</span>,
+          <span class=sig-arg>B</span>)</span>
+  </h3>
+  Exchanges data A &lt;-&gt; B between open stream sockets A and 
+  B.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="_test_connected"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_test_connected</span>(<span class=sig-arg>B</span>)</span>
+  </h3>
+  Raises an error if socket B is not yet connected.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.tunnel.Tunnel-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.tunnel.Tunnel-class.html
new file mode 100644
index 0000000000..d0759e8eeb
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.tunnel.Tunnel-class.html
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.tunnel.Tunnel</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.tunnel-module.html">Module&nbsp;tunnel</a> ::
+        Class&nbsp;Tunnel
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.tunnel.Tunnel-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.tunnel.Tunnel-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class Tunnel</h2>
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.tunnel.TunnelClient-class.html"><code>TunnelClient</code></a>,
+    <a href="i2p.tunnel.TunnelServer-class.html"><code>TunnelServer</code></a></dd></dl>
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.tunnel.Tunnel-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>receive</span>,
+          <span class=summary-sig-arg>make_send</span>,
+          <span class=summary-sig-arg>nconnect</span>,
+          <span class=summary-sig-arg>timeout</span>)</span></code>
+<br />
+A Tunnel relays connections from a 'receive' socket to one or more 
+'send' sockets.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.tunnel.Tunnel-class.html#close" class="summary-sig-name"><code>close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Close all connections made for this tunnel.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.tunnel.Tunnel-class.html#_run" class="summary-sig-name"><code>_run</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Manage the tunnel in a separate thread.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="__init__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__init__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>receive</span>,
+          <span class=sig-arg>make_send</span>,
+          <span class=sig-arg>nconnect</span>=<span class=sig-default>-1</span>,
+          <span class=sig-arg>timeout</span>=<span class=sig-default>60.0</span>)</span>
+    <br /><i>(Constructor)</i>
+  </h3>
+  <p>A Tunnel relays connections from a 'receive' socket to one or more 
+  'send' sockets. The receive socket must be bound and listening. For 
+  each incoming connection, a new send socket is created by calling 
+  make_send(). Data is then exchanged between the created streams until 
+  one socket is closed. nconnect is the maximum number of simultaneous 
+  connections (-1 for infinite), and timeout is the time that a single 
+  connection can last for (None allows a connection to last forever).</p>
+  <p>Sockets must accept stream traffic and support the Python socket 
+  interface. A separate daemonic thread is created to manage the tunnel. 
+  For high performance, make_send() should make a socket and connect in 
+  non-blocking mode (you should catch and discard the socket.BlockError 
+  or socket.error due to executing connect on a non-blocking socket).</p>
+  <p>Security Note: A firewall is needed to maintain the end user's 
+  anonymity. An attacker could keep a tunnel socket open by pinging it 
+  regularly. The accepted sockets from 'receive' must prevent this by 
+  closing down eventually.</p>
+  Socket errors do not cause the Tunnel to shut down.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="close"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">close</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Close all connections made for this tunnel.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="_run"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">_run</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Manage the tunnel in a separate thread.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.tunnel.TunnelClient-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.tunnel.TunnelClient-class.html
new file mode 100644
index 0000000000..439954effe
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.tunnel.TunnelClient-class.html
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.tunnel.TunnelClient</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.tunnel-module.html">Module&nbsp;tunnel</a> ::
+        Class&nbsp;TunnelClient
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.tunnel.TunnelClient-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.tunnel.TunnelClient-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class TunnelClient</h2>
+
+<pre class="base-tree">
+<a href="i2p.tunnel.Tunnel-class.html"><code>Tunnel</code></a> --+
+         |
+        <b>TunnelClient</b>
+</pre><br />
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.tunnel.TunnelClient-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>session</span>,
+          <span class=summary-sig-arg>port</span>,
+          <span class=summary-sig-arg>dest</span>,
+          <span class=summary-sig-arg>samaddr</span>,
+          <span class=summary-sig-arg>nconnect</span>,
+          <span class=summary-sig-arg>timeout</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Tunnels localhost:port --&gt; I2P Destination dest.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Tunnel</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.tunnel.Tunnel-class.html#close" class="summary-sig-name"><code>close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Close all connections made for this tunnel.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.tunnel.Tunnel-class.html#_run" class="summary-sig-name"><code>_run</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Manage the tunnel in a separate thread.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF PROPERTY SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Property Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><b><a href="i2p.tunnel.TunnelClient-class.html#dest"><code>dest</code></a></b></td></tr><tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><b><a href="i2p.tunnel.TunnelClient-class.html#remotedest"><code>remotedest</code></a></b>: Remote Destination.</td></tr><tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><b><a href="i2p.tunnel.TunnelClient-class.html#session"><code>session</code></a></b></td></tr></table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="__init__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__init__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>session</span>,
+          <span class=sig-arg>port</span>,
+          <span class=sig-arg>dest</span>,
+          <span class=sig-arg>samaddr</span>=<span class=sig-default>'127.0.0.1:7656'</span>,
+          <span class=sig-arg>nconnect</span>=<span class=sig-default>-1</span>,
+          <span class=sig-arg>timeout</span>=<span class=sig-default>None</span>,
+          <span class="sig-kwarg">**kwargs</span>)</span>
+    <br /><i>(Constructor)</i>
+  </h3>
+  <p>Tunnels localhost:port --&gt; I2P Destination dest.</p>
+  A session named 'session' is created locally, for purposes of 
+  routing to 'dest'. nconnect and timeout are the maximum number of 
+  connections and maximum time per connection. All other arguments are 
+  passed to socket.socket(). This call blocks until the tunnel is 
+  ready.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="i2p.tunnel.Tunnel-class.html#__init__"><code>i2p.tunnel.Tunnel.__init__</code></a></dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF PROPERTY DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Property Details</th></tr>
+</table>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+
+<a name="dest"></a>
+<h3>dest</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Get Method:</b></dt>
+      <dd><code><span class="variable-quote">'</span>Local&nbsp;Destination&nbsp;used&nbsp;for&nbsp;routing.<span class="variable-quote">'</span>    </code>
+
+      </dd>
+    </dl>
+  </dd>
+</dl></td></tr></table><table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+
+<a name="remotedest"></a>
+<h3>remotedest</h3>
+Remote Destination.
+</td></tr></table><table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+
+<a name="session"></a>
+<h3>session</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Get Method:</b></dt>
+      <dd><code><span class="variable-quote">'</span>Local&nbsp;Destination&nbsp;used&nbsp;for&nbsp;routing.<span class="variable-quote">'</span>    </code>
+
+      </dd>
+    </dl>
+  </dd>
+</dl></td></tr></table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/i2p.tunnel.TunnelServer-class.html b/apps/sam/python/doc/epydoc/html/private/i2p.tunnel.TunnelServer-class.html
new file mode 100644
index 0000000000..736f94b9d8
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/i2p.tunnel.TunnelServer-class.html
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.tunnel.TunnelServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.tunnel-module.html">Module&nbsp;tunnel</a> ::
+        Class&nbsp;TunnelServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.tunnel.TunnelServer-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.tunnel.TunnelServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class TunnelServer</h2>
+
+<pre class="base-tree">
+<a href="i2p.tunnel.Tunnel-class.html"><code>Tunnel</code></a> --+
+         |
+        <b>TunnelServer</b>
+</pre><br />
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.tunnel.TunnelServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>session</span>,
+          <span class=summary-sig-arg>port</span>,
+          <span class=summary-sig-arg>samaddr</span>,
+          <span class=summary-sig-arg>nconnect</span>,
+          <span class=summary-sig-arg>timeout</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Tunnels incoming SAM streams --&gt; localhost:port.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Tunnel</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.tunnel.Tunnel-class.html#close" class="summary-sig-name"><code>close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Close all connections made for this tunnel.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="..\private\i2p.tunnel.Tunnel-class.html#_run" class="summary-sig-name"><code>_run</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Manage the tunnel in a separate thread.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF PROPERTY SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Property Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><b><a href="i2p.tunnel.TunnelServer-class.html#dest"><code>dest</code></a></b>: I2P Destination of server.</td></tr><tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><b><a href="i2p.tunnel.TunnelServer-class.html#session"><code>session</code></a></b>: Session name for server.</td></tr></table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="__init__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__init__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>session</span>,
+          <span class=sig-arg>port</span>,
+          <span class=sig-arg>samaddr</span>=<span class=sig-default>'127.0.0.1:7656'</span>,
+          <span class=sig-arg>nconnect</span>=<span class=sig-default>-1</span>,
+          <span class=sig-arg>timeout</span>=<span class=sig-default>None</span>,
+          <span class="sig-kwarg">**kwargs</span>)</span>
+    <br /><i>(Constructor)</i>
+  </h3>
+  <p>Tunnels incoming SAM streams --&gt; localhost:port.</p>
+  nconnect and timeout are the maximum number of connections and 
+  maximum time per connection. All other arguments are passed to 
+  socket.socket(). This call blocks until the tunnel is ready.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="i2p.tunnel.Tunnel-class.html#__init__"><code>i2p.tunnel.Tunnel.__init__</code></a></dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF PROPERTY DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Property Details</th></tr>
+</table>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+
+<a name="dest"></a>
+<h3>dest</h3>
+I2P Destination of server.
+</td></tr></table><table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+
+<a name="session"></a>
+<h3>session</h3>
+Session name for server.
+</td></tr></table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/index.html b/apps/sam/python/doc/epydoc/html/private/index.html
new file mode 100644
index 0000000000..a4d252f7ba
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/index.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
+<html>
+<head>
+  <title> API Documentation </title>
+</head>
+<frameset cols="20%,80%">
+  <frameset rows="30%,70%">
+    <frame src="toc.html" name="moduleListFrame">
+    <frame src="toc-everything.html" name="moduleFrame">
+  </frameset>
+  <frame src="i2p-module.html" name="mainFrame">
+</frameset>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/indices.html b/apps/sam/python/doc/epydoc/html/private/indices.html
new file mode 100644
index 0000000000..7105d5e4e2
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/indices.html
@@ -0,0 +1,901 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Index</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Index&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/indices.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="indices.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+<br />
+
+<!-- =========== START OF IDENTIFIER INDEX =========== -->
+<table class="index" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="index">
+  <th colspan="2">Identifier Index</th></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#__contains__"><code>__contains__</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#__copy__"><code>__copy__</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#__deepcopy__"><code>__deepcopy__</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.Stream-class.html#__del__"><code>__del__</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.Stream-class.html"><code>i2p.samclasses.Stream</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#__delitem__"><code>__delitem__</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="exceptions.Exception-class.html#__getitem__"><code>__getitem__</code></a></td>
+    <td>Method in class <a href="exceptions.Exception-class.html"><code>exceptions.Exception</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#__getitem__"><code>__getitem__</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.BaseRequestHandler-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="SocketServer.BaseRequestHandler-class.html"><code>SocketServer.BaseRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\SocketServer.BaseServer-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="..\private\SocketServer.BaseServer-class.html"><code>SocketServer.BaseServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="exceptions.Exception-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="exceptions.Exception-class.html"><code>exceptions.Exception</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.BaseSession-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.BaseSession-class.html"><code>i2p.samclasses.BaseSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.DatagramSession-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.DatagramSession-class.html"><code>i2p.samclasses.DatagramSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.Deque-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.Deque-class.html"><code>i2p.samclasses.Deque</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.RawSession-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.RawSession-class.html"><code>i2p.samclasses.RawSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.SAMTerminal-class.html"><code>i2p.samclasses.SAMTerminal</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.Stream-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.Stream-class.html"><code>i2p.samclasses.Stream</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.StreamSession-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.StreamSession-class.html"><code>i2p.samclasses.StreamSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.StringBuffer-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.StringBuffer-class.html"><code>i2p.samclasses.StringBuffer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.select.Poll-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="i2p.select.Poll-class.html"><code>i2p.select.Poll</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel.Tunnel-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="i2p.tunnel.Tunnel-class.html"><code>i2p.tunnel.Tunnel</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel.TunnelClient-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="i2p.tunnel.TunnelClient-class.html"><code>i2p.tunnel.TunnelClient</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel.TunnelServer-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="i2p.tunnel.TunnelServer-class.html"><code>i2p.tunnel.TunnelServer</code></a></td></tr>
+  <tr><td width="15%"><a href="mimetools.Message-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.DatagramSession-class.html#__len__"><code>__len__</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.DatagramSession-class.html"><code>i2p.samclasses.DatagramSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.Deque-class.html#__len__"><code>__len__</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.Deque-class.html"><code>i2p.samclasses.Deque</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.RawSession-class.html#__len__"><code>__len__</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.RawSession-class.html"><code>i2p.samclasses.RawSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.Stream-class.html#__len__"><code>__len__</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.Stream-class.html"><code>i2p.samclasses.Stream</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.StreamSession-class.html#__len__"><code>__len__</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.StreamSession-class.html"><code>i2p.samclasses.StreamSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.StringBuffer-class.html#__len__"><code>__len__</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.StringBuffer-class.html"><code>i2p.samclasses.StringBuffer</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#__len__"><code>__len__</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.StringBuffer-class.html#__repr__"><code>__repr__</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.StringBuffer-class.html"><code>i2p.samclasses.StringBuffer</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#__setitem__"><code>__setitem__</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="exceptions.Exception-class.html#__str__"><code>__str__</code></a></td>
+    <td>Method in class <a href="exceptions.Exception-class.html"><code>exceptions.Exception</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.StringBuffer-class.html#__str__"><code>__str__</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.StringBuffer-class.html"><code>i2p.samclasses.StringBuffer</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#__str__"><code>__str__</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.BaseHTTPServer-module.html#__version__"><code>__version__</code></a></td>
+    <td>Variable in module <a href="i2p.BaseHTTPServer-module.html"><code>i2p.BaseHTTPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.SimpleHTTPServer-module.html#__version__"><code>__version__</code></a></td>
+    <td>Variable in module <a href="i2p.SimpleHTTPServer-module.html"><code>i2p.SimpleHTTPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.BaseSession-class.html#_encode_kwargs"><code>_encode_kwargs</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.BaseSession-class.html"><code>i2p.samclasses.BaseSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.tunnel-module.html#_exchange_data"><code>_exchange_data</code></a></td>
+    <td>Function in module <a href="i2p.tunnel-module.html"><code>i2p.tunnel</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.select.Poll-class.html#_hash"><code>_hash</code></a></td>
+    <td>Method in class <a href="i2p.select.Poll-class.html"><code>i2p.select.Poll</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.BaseSession-class.html#_hello"><code>_hello</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.BaseSession-class.html"><code>i2p.samclasses.BaseSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.socket-module.html#_make_session"><code>_make_session</code></a></td>
+    <td>Function in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.BaseSession-class.html#_namelookup"><code>_namelookup</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.BaseSession-class.html"><code>i2p.samclasses.BaseSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.DatagramSession-class.html#_on_DATAGRAM_RECEIVED"><code>_on_DATAGRAM_RECEIVED</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.DatagramSession-class.html"><code>i2p.samclasses.DatagramSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.BaseSession-class.html#_on_HELLO_REPLY"><code>_on_HELLO_REPLY</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.BaseSession-class.html"><code>i2p.samclasses.BaseSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.BaseSession-class.html#_on_NAMING_REPLY"><code>_on_NAMING_REPLY</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.BaseSession-class.html"><code>i2p.samclasses.BaseSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.RawSession-class.html#_on_RAW_RECEIVED"><code>_on_RAW_RECEIVED</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.RawSession-class.html"><code>i2p.samclasses.RawSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.BaseSession-class.html#_on_SESSION_STATUS"><code>_on_SESSION_STATUS</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.BaseSession-class.html"><code>i2p.samclasses.BaseSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.StreamSession-class.html#_on_STREAM_CLOSED"><code>_on_STREAM_CLOSED</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.StreamSession-class.html"><code>i2p.samclasses.StreamSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.StreamSession-class.html#_on_STREAM_CONNECTED"><code>_on_STREAM_CONNECTED</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.StreamSession-class.html"><code>i2p.samclasses.StreamSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.StreamSession-class.html#_on_STREAM_RECEIVED"><code>_on_STREAM_RECEIVED</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.StreamSession-class.html"><code>i2p.samclasses.StreamSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.StreamSession-class.html#_on_STREAM_STATUS"><code>_on_STREAM_STATUS</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.StreamSession-class.html"><code>i2p.samclasses.StreamSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.router-module.html#_parse_config"><code>_parse_config</code></a></td>
+    <td>Function in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.Deque-class.html#_partition"><code>_partition</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.Deque-class.html"><code>i2p.samclasses.Deque</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#_poll_loop"><code>_poll_loop</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.SAMTerminal-class.html"><code>i2p.samclasses.SAMTerminal</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.tunnel.Tunnel-class.html#_run"><code>_run</code></a></td>
+    <td>Method in class <a href="i2p.tunnel.Tunnel-class.html"><code>i2p.tunnel.Tunnel</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.router-module.html#_run_program"><code>_run_program</code></a></td>
+    <td>Function in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#_samdecode"><code>_samdecode</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.SAMTerminal-class.html"><code>i2p.samclasses.SAMTerminal</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.StreamSession-class.html#_send_stream"><code>_send_stream</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.StreamSession-class.html"><code>i2p.samclasses.StreamSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.socket-module.html#_session_lock"><code>_session_lock</code></a></td>
+    <td>Variable in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.socket-module.html#_sessions"><code>_sessions</code></a></td>
+    <td>Variable in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.BaseSession-class.html#_set_properties"><code>_set_properties</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.BaseSession-class.html"><code>i2p.samclasses.BaseSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.tunnel-module.html#_test_connected"><code>_test_connected</code></a></td>
+    <td>Function in module <a href="i2p.tunnel-module.html"><code>i2p.tunnel</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.socket.Socket-class.html#_verify_connected"><code>_verify_connected</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.socket.Socket-class.html#_verify_not_connected"><code>_verify_not_connected</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.socket.Socket-class.html#_verify_open"><code>_verify_open</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.socket.Socket-class.html#_verify_stream"><code>_verify_stream</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.socket-module.html#_wrap_stream"><code>_wrap_stream</code></a></td>
+    <td>Function in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.StreamSession-class.html#accept"><code>accept</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.StreamSession-class.html"><code>i2p.samclasses.StreamSession</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#accept"><code>accept</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></td>
+    <td>Variable in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></td>
+    <td>Variable in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></td>
+    <td>Variable in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></td>
+    <td>Variable in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string"><code>address_string</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.HTTPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.HTTPServer-class.html"><code>BaseHTTPServer.HTTPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.HTTPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.HTTPServer-class.html"><code>BaseHTTPServer.HTTPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
+    <td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
+    <td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
+    <td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
+    <td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.StringBuffer-class.html#append"><code>append</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.StringBuffer-class.html"><code>i2p.samclasses.StringBuffer</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a></td>
+    <td>Class in module <code>BaseHTTPServer</code></td></tr>
+  <tr><td width="15%"><a href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a></td>
+    <td>Class in module <a href="i2p.BaseHTTPServer-module.html"><code>i2p.BaseHTTPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.BaseHTTPServer-module.html"><code>BaseHTTPServer</code></a></td>
+    <td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a></td>
+    <td>Class in module <code>SocketServer</code></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a></td>
+    <td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a></td>
+    <td>Class in module <code>SocketServer</code></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a></td>
+    <td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.BaseSession-class.html"><code>BaseSession</code></a></td>
+    <td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#bind"><code>bind</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.BlockError-class.html"><code>BlockError</code></a></td>
+    <td>Class in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#cgi_directories"><code>cgi_directories</code></a></td>
+    <td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#cgi_directories"><code>cgi_directories</code></a></td>
+    <td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPRequestHandler</code></a></td>
+    <td>Class in module <code>CGIHTTPServer</code></td></tr>
+  <tr><td width="15%"><a href="i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPRequestHandler</code></a></td>
+    <td>Class in module <a href="i2p.CGIHTTPServer-module.html"><code>i2p.CGIHTTPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.CGIHTTPServer-module.html"><code>CGIHTTPServer</code></a></td>
+    <td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.router-module.html#check"><code>check</code></a></td>
+    <td>Function in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#check"><code>check</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.SAMTerminal-class.html"><code>i2p.samclasses.SAMTerminal</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.router-module.html#check_addrlist"><code>check_addrlist</code></a></td>
+    <td>Variable in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#check_message"><code>check_message</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.SAMTerminal-class.html"><code>i2p.samclasses.SAMTerminal</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.BaseSession-class.html#close"><code>close</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.BaseSession-class.html"><code>i2p.samclasses.BaseSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#close"><code>close</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.SAMTerminal-class.html"><code>i2p.samclasses.SAMTerminal</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.Stream-class.html#close"><code>close</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.Stream-class.html"><code>i2p.samclasses.Stream</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#close"><code>close</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel.Tunnel-class.html#close"><code>close</code></a></td>
+    <td>Method in class <a href="i2p.tunnel.Tunnel-class.html"><code>i2p.tunnel.Tunnel</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\SocketServer.BaseServer-class.html#close_request"><code>close_request</code></a></td>
+    <td>Method in class <a href="..\private\SocketServer.BaseServer-class.html"><code>SocketServer.BaseServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#close_request"><code>close_request</code></a></td>
+    <td>Method in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html#close_request"><code>close_request</code></a></td>
+    <td>Method in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.ClosedError-class.html"><code>ClosedError</code></a></td>
+    <td>Class in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#collect_children"><code>collect_children</code></a></td>
+    <td>Method in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.StreamSession-class.html#connect"><code>connect</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.StreamSession-class.html"><code>i2p.samclasses.StreamSession</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#connect"><code>connect</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#connect_ex"><code>connect_ex</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#copyfile"><code>copyfile</code></a></td>
+    <td>Method in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></td>
+    <td>Variable in class <a href="SocketServer.ThreadingMixIn-class.html"><code>SocketServer.ThreadingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></td>
+    <td>Variable in class <a href="SocketServer.ThreadingMixIn-class.html"><code>SocketServer.ThreadingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></td>
+    <td>Variable in class <a href="SocketServer.ThreadingMixIn-class.html"><code>SocketServer.ThreadingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></td>
+    <td>Variable in class <a href="SocketServer.ThreadingMixIn-class.html"><code>SocketServer.ThreadingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.DatagramRequestHandler-class.html"><code>DatagramRequestHandler</code></a></td>
+    <td>Class in module <code>SocketServer</code></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.DatagramRequestHandler-class.html"><code>DatagramRequestHandler</code></a></td>
+    <td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.DatagramSession-class.html"><code>DatagramSession</code></a></td>
+    <td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string"><code>date_time_string</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.BaseHTTPServer-module.html#DEFAULT_ERROR_MESSAGE"><code>DEFAULT_ERROR_MESSAGE</code></a></td>
+    <td>Variable in module <a href="i2p.BaseHTTPServer-module.html"><code>i2p.BaseHTTPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.Deque-class.html"><code>Deque</code></a></td>
+    <td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#dest"><code>dest</code></a></td>
+    <td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a> in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel.TunnelClient-class.html#dest"><code>dest</code></a></td>
+    <td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a> in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a> in class <a href="i2p.tunnel.TunnelClient-class.html"><code>i2p.tunnel.TunnelClient</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel.TunnelServer-class.html#dest"><code>dest</code></a></td>
+    <td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a> in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a> in class <a href="i2p.tunnel.TunnelClient-class.html"><code>i2p.tunnel.TunnelClient</code></a> in class <a href="i2p.tunnel.TunnelServer-class.html"><code>i2p.tunnel.TunnelServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_GET"><code>do_GET</code></a></td>
+    <td>Method in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_HEAD"><code>do_HEAD</code></a></td>
+    <td>Method in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#do_POST"><code>do_POST</code></a></td>
+    <td>Method in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.eep-module.html"><code>eep</code></a></td>
+    <td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers"><code>end_headers</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.Error-class.html"><code>Error</code></a></td>
+    <td>Class in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Error-class.html"><code>Error</code></a></td>
+    <td>Class in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="exceptions.Exception-class.html"><code>Exception</code></a></td>
+    <td>Class in module <code>exceptions</code></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></td>
+    <td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></td>
+    <td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></td>
+    <td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></td>
+    <td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#fileno"><code>fileno</code></a></td>
+    <td>Method in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.router-module.html#find"><code>find</code></a></td>
+    <td>Function in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.BaseRequestHandler-class.html#finish"><code>finish</code></a></td>
+    <td>Method in class <a href="SocketServer.BaseRequestHandler-class.html"><code>SocketServer.BaseRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.DatagramRequestHandler-class.html#finish"><code>finish</code></a></td>
+    <td>Method in class <a href="SocketServer.DatagramRequestHandler-class.html"><code>SocketServer.DatagramRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#finish"><code>finish</code></a></td>
+    <td>Method in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\SocketServer.BaseServer-class.html#finish_request"><code>finish_request</code></a></td>
+    <td>Method in class <a href="..\private\SocketServer.BaseServer-class.html"><code>SocketServer.BaseServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a></td>
+    <td>Class in module <code>SocketServer</code></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a></td>
+    <td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.ForkingTCPServer-class.html"><code>ForkingTCPServer</code></a></td>
+    <td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.ForkingUDPServer-class.html"><code>ForkingUDPServer</code></a></td>
+    <td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#get_request"><code>get_request</code></a></td>
+    <td>Method in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html#get_request"><code>get_request</code></a></td>
+    <td>Method in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#getaddr"><code>getaddr</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#getaddrlist"><code>getaddrlist</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#getallmatchingheaders"><code>getallmatchingheaders</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#getdate"><code>getdate</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#getdate_tz"><code>getdate_tz</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="mimetools.Message-class.html#getencoding"><code>getencoding</code></a></td>
+    <td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#getfirstmatchingheader"><code>getfirstmatchingheader</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#getheader"><code>getheader</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#getheaders"><code>getheaders</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="mimetools.Message-class.html#getmaintype"><code>getmaintype</code></a></td>
+    <td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="mimetools.Message-class.html#getparam"><code>getparam</code></a></td>
+    <td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="mimetools.Message-class.html#getparamnames"><code>getparamnames</code></a></td>
+    <td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#getpeername"><code>getpeername</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="mimetools.Message-class.html#getplist"><code>getplist</code></a></td>
+    <td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#getrawheader"><code>getrawheader</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#getsockname"><code>getsockname</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="mimetools.Message-class.html#getsubtype"><code>getsubtype</code></a></td>
+    <td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#gettimeout"><code>gettimeout</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="mimetools.Message-class.html#gettype"><code>gettype</code></a></td>
+    <td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#guess_type"><code>guess_type</code></a></td>
+    <td>Method in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle"><code>handle</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.BaseRequestHandler-class.html#handle"><code>handle</code></a></td>
+    <td>Method in class <a href="SocketServer.BaseRequestHandler-class.html"><code>SocketServer.BaseRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\SocketServer.BaseServer-class.html#handle_error"><code>handle_error</code></a></td>
+    <td>Method in class <a href="..\private\SocketServer.BaseServer-class.html"><code>SocketServer.BaseServer</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request"><code>handle_one_request</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\SocketServer.BaseServer-class.html#handle_request"><code>handle_request</code></a></td>
+    <td>Method in class <a href="..\private\SocketServer.BaseServer-class.html"><code>SocketServer.BaseServer</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#has_key"><code>has_key</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_fork"><code>have_fork</code></a></td>
+    <td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_fork"><code>have_fork</code></a></td>
+    <td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen2"><code>have_popen2</code></a></td>
+    <td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen2"><code>have_popen2</code></a></td>
+    <td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen3"><code>have_popen3</code></a></td>
+    <td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen3"><code>have_popen3</code></a></td>
+    <td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.HTTPServer-class.html"><code>HTTPServer</code></a></td>
+    <td>Class in module <code>BaseHTTPServer</code></td></tr>
+  <tr><td width="15%"><a href="i2p.BaseHTTPServer.HTTPServer-class.html"><code>HTTPServer</code></a></td>
+    <td>Class in module <a href="i2p.BaseHTTPServer-module.html"><code>i2p.BaseHTTPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p-module.html"><code>i2p</code></a></td>
+    <td>Package</td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_cgi"><code>is_cgi</code></a></td>
+    <td>Method in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_executable"><code>is_executable</code></a></td>
+    <td>Method in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_python"><code>is_python</code></a></td>
+    <td>Method in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#iscomment"><code>iscomment</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#isheader"><code>isheader</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#islast"><code>islast</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#items"><code>items</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#keys"><code>keys</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#list_directory"><code>list_directory</code></a></td>
+    <td>Method in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.StreamSession-class.html#listen"><code>listen</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.StreamSession-class.html"><code>i2p.samclasses.StreamSession</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#listen"><code>listen</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string"><code>log_date_time_string</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error"><code>log_error</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message"><code>log_message</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request"><code>log_request</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#makefile"><code>makefile</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></td>
+    <td>Variable in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></td>
+    <td>Variable in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></td>
+    <td>Variable in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></td>
+    <td>Variable in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="mimetools.Message-class.html"><code>Message</code></a></td>
+    <td>Class in module <code>mimetools</code></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html"><code>Message</code></a></td>
+    <td>Class in module <code>rfc822</code></td></tr>
+  <tr><td width="15%"><a href="mimetools.Message-class.html"><code>Message</code></a></td>
+    <td>Class in module <code>mimetools</code></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.NetworkError-class.html"><code>NetworkError</code></a></td>
+    <td>Class in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.Stream-class.html#on_close"><code>on_close</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.Stream-class.html"><code>i2p.samclasses.Stream</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#on_message"><code>on_message</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.SAMTerminal-class.html"><code>i2p.samclasses.SAMTerminal</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.Stream-class.html#on_receive"><code>on_receive</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.Stream-class.html"><code>i2p.samclasses.Stream</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.router-module.html#our_router"><code>our_router</code></a></td>
+    <td>Variable in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.router-module.html#our_router_lock"><code>our_router_lock</code></a></td>
+    <td>Variable in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request"><code>parse_request</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="mimetools.Message-class.html#parseplist"><code>parseplist</code></a></td>
+    <td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="mimetools.Message-class.html#parsetype"><code>parsetype</code></a></td>
+    <td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.StringBuffer-class.html#peek"><code>peek</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.StringBuffer-class.html"><code>i2p.samclasses.StringBuffer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.select.Poll-class.html"><code>Poll</code></a></td>
+    <td>Class in module <a href="i2p.select-module.html"><code>i2p.select</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.select.Poll-class.html#poll"><code>poll</code></a></td>
+    <td>Method in class <a href="i2p.select.Poll-class.html"><code>i2p.select.Poll</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.select-module.html#poll"><code>poll</code></a></td>
+    <td>Function in module <a href="i2p.select-module.html"><code>i2p.select</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.Deque-class.html#pop_first"><code>pop_first</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.Deque-class.html"><code>i2p.samclasses.Deque</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.Deque-class.html#pop_last"><code>pop_last</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.Deque-class.html"><code>i2p.samclasses.Deque</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.StringBuffer-class.html#prepend"><code>prepend</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.StringBuffer-class.html"><code>i2p.samclasses.StringBuffer</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\SocketServer.BaseServer-class.html#process_request"><code>process_request</code></a></td>
+    <td>Method in class <a href="..\private\SocketServer.BaseServer-class.html"><code>SocketServer.BaseServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#process_request"><code>process_request</code></a></td>
+    <td>Method in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ThreadingMixIn-class.html#process_request"><code>process_request</code></a></td>
+    <td>Method in class <a href="SocketServer.ThreadingMixIn-class.html"><code>SocketServer.ThreadingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ThreadingMixIn-class.html#process_request_thread"><code>process_request_thread</code></a></td>
+    <td>Method in class <a href="SocketServer.ThreadingMixIn-class.html"><code>SocketServer.ThreadingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.Deque-class.html#push_first"><code>push_first</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.Deque-class.html"><code>i2p.samclasses.Deque</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.Deque-class.html#push_last"><code>push_last</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.Deque-class.html"><code>i2p.samclasses.Deque</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.pylib-module.html"><code>pylib</code></a></td>
+    <td>Package in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#queue_get"><code>queue_get</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.SAMTerminal-class.html"><code>i2p.samclasses.SAMTerminal</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.RawSession-class.html"><code>RawSession</code></a></td>
+    <td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></td>
+    <td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></td>
+    <td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.StringBuffer-class.html#read"><code>read</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.StringBuffer-class.html"><code>i2p.samclasses.StringBuffer</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#readheaders"><code>readheaders</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.DatagramSession-class.html#recv"><code>recv</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.DatagramSession-class.html"><code>i2p.samclasses.DatagramSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.RawSession-class.html#recv"><code>recv</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.RawSession-class.html"><code>i2p.samclasses.RawSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.Stream-class.html#recv"><code>recv</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.Stream-class.html"><code>i2p.samclasses.Stream</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#recv"><code>recv</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#recvfrom"><code>recvfrom</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.select.Poll-class.html#register"><code>register</code></a></td>
+    <td>Method in class <a href="i2p.select.Poll-class.html"><code>i2p.select.Poll</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel.TunnelClient-class.html#remotedest"><code>remotedest</code></a></td>
+    <td>Method in class <a href="i2p.select.Poll-class.html"><code>i2p.select.Poll</code></a> in class <a href="i2p.tunnel.TunnelClient-class.html"><code>i2p.tunnel.TunnelClient</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket-module.html#resolve"><code>resolve</code></a></td>
+    <td>Function in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#rewindbody"><code>rewindbody</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.router-module.html"><code>router</code></a></td>
+    <td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.RouterError-class.html"><code>RouterError</code></a></td>
+    <td>Class in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#run_cgi"><code>run_cgi</code></a></td>
+    <td>Method in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses-module.html"><code>samclasses</code></a></td>
+    <td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.SAMTerminal-class.html"><code>SAMTerminal</code></a></td>
+    <td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.select-module.html"><code>select</code></a></td>
+    <td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.select-module.html#select"><code>select</code></a></td>
+    <td>Function in module <a href="i2p.select-module.html"><code>i2p.select</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.DatagramSession-class.html#send"><code>send</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.DatagramSession-class.html"><code>i2p.samclasses.DatagramSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.RawSession-class.html#send"><code>send</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.RawSession-class.html"><code>i2p.samclasses.RawSession</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.Stream-class.html#send"><code>send</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.Stream-class.html"><code>i2p.samclasses.Stream</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#send"><code>send</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error"><code>send_error</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#send_head"><code>send_head</code></a></td>
+    <td>Method in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#send_head"><code>send_head</code></a></td>
+    <td>Method in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header"><code>send_header</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#send_message"><code>send_message</code></a></td>
+    <td>Method in class <a href="..\private\i2p.samclasses.SAMTerminal-class.html"><code>i2p.samclasses.SAMTerminal</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response"><code>send_response</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#sendall"><code>sendall</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#sendto"><code>sendto</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\SocketServer.BaseServer-class.html#serve_forever"><code>serve_forever</code></a></td>
+    <td>Method in class <a href="..\private\SocketServer.BaseServer-class.html"><code>SocketServer.BaseServer</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\SocketServer.BaseServer-class.html#server_activate"><code>server_activate</code></a></td>
+    <td>Method in class <a href="..\private\SocketServer.BaseServer-class.html"><code>SocketServer.BaseServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#server_activate"><code>server_activate</code></a></td>
+    <td>Method in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html#server_activate"><code>server_activate</code></a></td>
+    <td>Method in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.HTTPServer-class.html#server_bind"><code>server_bind</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.HTTPServer-class.html"><code>BaseHTTPServer.HTTPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#server_bind"><code>server_bind</code></a></td>
+    <td>Method in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\SocketServer.BaseServer-class.html#server_close"><code>server_close</code></a></td>
+    <td>Method in class <a href="..\private\SocketServer.BaseServer-class.html"><code>SocketServer.BaseServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#server_close"><code>server_close</code></a></td>
+    <td>Method in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></td>
+    <td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></td>
+    <td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></td>
+    <td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></td>
+    <td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#session"><code>session</code></a></td>
+    <td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a> in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel.TunnelClient-class.html#session"><code>session</code></a></td>
+    <td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a> in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a> in class <a href="i2p.tunnel.TunnelClient-class.html"><code>i2p.tunnel.TunnelClient</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel.TunnelServer-class.html#session"><code>session</code></a></td>
+    <td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a> in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a> in class <a href="i2p.tunnel.TunnelClient-class.html"><code>i2p.tunnel.TunnelClient</code></a> in class <a href="i2p.tunnel.TunnelServer-class.html"><code>i2p.tunnel.TunnelServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#setblocking"><code>setblocking</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#setdefault"><code>setdefault</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#settimeout"><code>settimeout</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.BaseRequestHandler-class.html#setup"><code>setup</code></a></td>
+    <td>Method in class <a href="SocketServer.BaseRequestHandler-class.html"><code>SocketServer.BaseRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.DatagramRequestHandler-class.html#setup"><code>setup</code></a></td>
+    <td>Method in class <a href="SocketServer.DatagramRequestHandler-class.html"><code>SocketServer.DatagramRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#setup"><code>setup</code></a></td>
+    <td>Method in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a></td>
+    <td>Class in module <code>SimpleHTTPServer</code></td></tr>
+  <tr><td width="15%"><a href="i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a></td>
+    <td>Class in module <a href="i2p.SimpleHTTPServer-module.html"><code>i2p.SimpleHTTPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SimpleHTTPServer-module.html"><code>SimpleHTTPServer</code></a></td>
+    <td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses-module.html#sleep"><code>sleep</code></a></td>
+    <td>Function in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket-module.html"><code>socket</code></a></td>
+    <td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html"><code>Socket</code></a></td>
+    <td>Class in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket-module.html#socket"><code>socket</code></a></td>
+    <td>Function in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html#socket_type"><code>socket_type</code></a></td>
+    <td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
+    <td>Variable in class <a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
+    <td>Variable in class <a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
+    <td>Variable in class <a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
+    <td>Variable in class <a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
+    <td>Variable in class <a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
+    <td>Variable in class <a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
+    <td>Variable in class <a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer-module.html"><code>SocketServer</code></a></td>
+    <td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.router-module.html#start"><code>start</code></a></td>
+    <td>Function in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.router-module.html#stop"><code>stop</code></a></td>
+    <td>Function in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.Stream-class.html"><code>Stream</code></a></td>
+    <td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a></td>
+    <td>Class in module <code>SocketServer</code></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a></td>
+    <td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.StreamSession-class.html"><code>StreamSession</code></a></td>
+    <td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\i2p.samclasses.StringBuffer-class.html"><code>StringBuffer</code></a></td>
+    <td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a></td>
+    <td>Class in module <code>SocketServer</code></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a></td>
+    <td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.BaseHTTPServer-module.html#test"><code>test</code></a></td>
+    <td>Function in module <a href="i2p.BaseHTTPServer-module.html"><code>i2p.BaseHTTPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.CGIHTTPServer-module.html#test"><code>test</code></a></td>
+    <td>Function in module <a href="i2p.CGIHTTPServer-module.html"><code>i2p.CGIHTTPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SimpleHTTPServer-module.html#test"><code>test</code></a></td>
+    <td>Function in module <a href="i2p.SimpleHTTPServer-module.html"><code>i2p.SimpleHTTPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a></td>
+    <td>Class in module <code>SocketServer</code></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a></td>
+    <td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.ThreadingTCPServer-class.html"><code>ThreadingTCPServer</code></a></td>
+    <td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.ThreadingUDPServer-class.html"><code>ThreadingUDPServer</code></a></td>
+    <td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Timeout-class.html"><code>Timeout</code></a></td>
+    <td>Class in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#translate_path"><code>translate_path</code></a></td>
+    <td>Method in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel-module.html"><code>tunnel</code></a></td>
+    <td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel.Tunnel-class.html"><code>Tunnel</code></a></td>
+    <td>Class in module <a href="i2p.tunnel-module.html"><code>i2p.tunnel</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel.TunnelClient-class.html"><code>TunnelClient</code></a></td>
+    <td>Class in module <a href="i2p.tunnel-module.html"><code>i2p.tunnel</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel.TunnelServer-class.html"><code>TunnelServer</code></a></td>
+    <td>Class in module <a href="i2p.tunnel-module.html"><code>i2p.tunnel</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#type"><code>type</code></a></td>
+    <td>Class in module <a href="i2p.tunnel-module.html"><code>i2p.tunnel</code></a> in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html"><code>UDPServer</code></a></td>
+    <td>Class in module <code>SocketServer</code></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.UDPServer-class.html"><code>UDPServer</code></a></td>
+    <td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.select.Poll-class.html#unregister"><code>unregister</code></a></td>
+    <td>Method in class <a href="i2p.select.Poll-class.html"><code>i2p.select.Poll</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.eep-module.html#urlget"><code>urlget</code></a></td>
+    <td>Function in module <a href="i2p.eep-module.html"><code>i2p.eep</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.eep-module.html#urlopen"><code>urlopen</code></a></td>
+    <td>Function in module <a href="i2p.eep-module.html"><code>i2p.eep</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#values"><code>values</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="..\private\SocketServer.BaseServer-class.html#verify_request"><code>verify_request</code></a></td>
+    <td>Method in class <a href="..\private\SocketServer.BaseServer-class.html"><code>SocketServer.BaseServer</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string"><code>version_string</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+</table>
+<br />
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Index&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/mimetools.Message-class.html b/apps/sam/python/doc/epydoc/html/private/mimetools.Message-class.html
new file mode 100644
index 0000000000..426f0b0344
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/mimetools.Message-class.html
@@ -0,0 +1,263 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>mimetools.Message</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;mimetools ::
+        Class&nbsp;Message
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/mimetools.Message-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="mimetools.Message-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class Message</h2>
+
+<pre class="base-tree">
+<a href="rfc822.Message-class.html"><code>Message</code></a> --+
+          |
+         <b>Message</b>
+</pre><br />
+
+<hr/>
+
+A derived class of rfc822.Message that knows about MIME headers and 
+contains some hooks for decoding encoded and multipart messages.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="mimetools.Message-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>fp</span>,
+          <span class=summary-sig-arg>seekable</span>)</span></code>
+<br />
+Initialize the class instance and read the headers.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="getencoding"></a><span class="summary-sig"><span class="summary-sig-name">getencoding</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="getmaintype"></a><span class="summary-sig"><span class="summary-sig-name">getmaintype</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="getparam"></a><span class="summary-sig"><span class="summary-sig-name">getparam</span>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="getparamnames"></a><span class="summary-sig"><span class="summary-sig-name">getparamnames</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="getplist"></a><span class="summary-sig"><span class="summary-sig-name">getplist</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="getsubtype"></a><span class="summary-sig"><span class="summary-sig-name">getsubtype</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="gettype"></a><span class="summary-sig"><span class="summary-sig-name">gettype</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="parseplist"></a><span class="summary-sig"><span class="summary-sig-name">parseplist</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="parsetype"></a><span class="summary-sig"><span class="summary-sig-name">parsetype</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Message</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__contains__" class="summary-sig-name"><code>__contains__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Determine whether a message contains the named header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__delitem__" class="summary-sig-name"><code>__delitem__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Delete all occurrences of a specific header, if it is present.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Get a specific header, as from a dictionary.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__len__" class="summary-sig-name"><code>__len__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the number of headers in a message.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__setitem__" class="summary-sig-name"><code>__setitem__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>,
+          <span class=summary-sig-arg>value</span>)</span></code>
+<br />
+Set the value of a header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__str__" class="summary-sig-name"><code>__str__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getheader" class="summary-sig-name"><code>get</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>,
+          <span class=summary-sig-arg>default</span>)</span></code>
+<br />
+Get the header value for a name.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getaddr" class="summary-sig-name"><code>getaddr</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Get a single address from a header, as a tuple.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getaddrlist" class="summary-sig-name"><code>getaddrlist</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Get a list of addresses from a header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getallmatchingheaders" class="summary-sig-name"><code>getallmatchingheaders</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Find all header lines matching a given header name.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getdate" class="summary-sig-name"><code>getdate</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Retrieve a date field from a header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getdate_tz" class="summary-sig-name"><code>getdate_tz</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Retrieve a date field from a header as a 10-tuple.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getfirstmatchingheader" class="summary-sig-name"><code>getfirstmatchingheader</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Get the first header line matching name.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getheader" class="summary-sig-name"><code>getheader</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>,
+          <span class=summary-sig-arg>default</span>)</span></code>
+<br />
+Get the header value for a name.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getheaders" class="summary-sig-name"><code>getheaders</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Get all values for a header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getrawheader" class="summary-sig-name"><code>getrawheader</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+A higher-level interface to getfirstmatchingheader().</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#has_key" class="summary-sig-name"><code>has_key</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Determine whether a message contains the named header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#iscomment" class="summary-sig-name"><code>iscomment</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>line</span>)</span></code>
+<br />
+Determine whether a line should be skipped entirely.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#isheader" class="summary-sig-name"><code>isheader</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>line</span>)</span></code>
+<br />
+Determine whether a given line is a legal header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#islast" class="summary-sig-name"><code>islast</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>line</span>)</span></code>
+<br />
+Determine whether a line is a legal end of RFC 2822 headers.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#items" class="summary-sig-name"><code>items</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get all of a message's headers.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#keys" class="summary-sig-name"><code>keys</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get all of a message's header field names.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#readheaders" class="summary-sig-name"><code>readheaders</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Read header lines.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#rewindbody" class="summary-sig-name"><code>rewindbody</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Rewind the file to the start of the body (if seekable).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#setdefault" class="summary-sig-name"><code>setdefault</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>,
+          <span class=summary-sig-arg>default</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#values" class="summary-sig-name"><code>values</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get all of a message's header field values.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="__init__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__init__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>fp</span>,
+          <span class=sig-arg>seekable</span>=<span class=sig-default>1</span>)</span>
+    <br /><i>(Constructor)</i>
+  </h3>
+  Initialize the class instance and read the headers.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="rfc822.Message-class.html#__init__"><code>rfc822.Message.__init__</code></a> <i>(inherited documentation)</i>
+</dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/rfc822.Message-class.html b/apps/sam/python/doc/epydoc/html/private/rfc822.Message-class.html
new file mode 100644
index 0000000000..a82f21d033
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/rfc822.Message-class.html
@@ -0,0 +1,525 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>rfc822.Message</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;rfc822 ::
+        Class&nbsp;Message
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/rfc822.Message-class.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="rfc822.Message-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class Message</h2>
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="mimetools.Message-class.html"><code>Message</code></a></dd></dl>
+
+<hr/>
+
+Represents a single RFC 2822-compliant message.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>fp</span>,
+          <span class=summary-sig-arg>seekable</span>)</span></code>
+<br />
+Initialize the class instance and read the headers.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__contains__" class="summary-sig-name"><code>__contains__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Determine whether a message contains the named header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__delitem__" class="summary-sig-name"><code>__delitem__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Delete all occurrences of a specific header, if it is present.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Get a specific header, as from a dictionary.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__len__" class="summary-sig-name"><code>__len__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the number of headers in a message.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__setitem__" class="summary-sig-name"><code>__setitem__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>,
+          <span class=summary-sig-arg>value</span>)</span></code>
+<br />
+Set the value of a header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="__str__"></a><span class="summary-sig"><span class="summary-sig-name">__str__</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getheader" class="summary-sig-name"><code>get</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>,
+          <span class=summary-sig-arg>default</span>)</span></code>
+<br />
+Get the header value for a name.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getaddr" class="summary-sig-name"><code>getaddr</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Get a single address from a header, as a tuple.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getaddrlist" class="summary-sig-name"><code>getaddrlist</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Get a list of addresses from a header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getallmatchingheaders" class="summary-sig-name"><code>getallmatchingheaders</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Find all header lines matching a given header name.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getdate" class="summary-sig-name"><code>getdate</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Retrieve a date field from a header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getdate_tz" class="summary-sig-name"><code>getdate_tz</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Retrieve a date field from a header as a 10-tuple.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getfirstmatchingheader" class="summary-sig-name"><code>getfirstmatchingheader</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Get the first header line matching name.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getheader" class="summary-sig-name"><code>getheader</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>,
+          <span class=summary-sig-arg>default</span>)</span></code>
+<br />
+Get the header value for a name.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getheaders" class="summary-sig-name"><code>getheaders</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Get all values for a header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getrawheader" class="summary-sig-name"><code>getrawheader</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+A higher-level interface to getfirstmatchingheader().</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#has_key" class="summary-sig-name"><code>has_key</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Determine whether a message contains the named header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#iscomment" class="summary-sig-name"><code>iscomment</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>line</span>)</span></code>
+<br />
+Determine whether a line should be skipped entirely.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#isheader" class="summary-sig-name"><code>isheader</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>line</span>)</span></code>
+<br />
+Determine whether a given line is a legal header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#islast" class="summary-sig-name"><code>islast</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>line</span>)</span></code>
+<br />
+Determine whether a line is a legal end of RFC 2822 headers.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#items" class="summary-sig-name"><code>items</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get all of a message's headers.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#keys" class="summary-sig-name"><code>keys</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get all of a message's header field names.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#readheaders" class="summary-sig-name"><code>readheaders</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Read header lines.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#rewindbody" class="summary-sig-name"><code>rewindbody</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Rewind the file to the start of the body (if seekable).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="setdefault"></a><span class="summary-sig"><span class="summary-sig-name">setdefault</span>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>,
+          <span class=summary-sig-arg>default</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#values" class="summary-sig-name"><code>values</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get all of a message's header field values.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="__init__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__init__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>fp</span>,
+          <span class=sig-arg>seekable</span>=<span class=sig-default>1</span>)</span>
+    <br /><i>(Constructor)</i>
+  </h3>
+  Initialize the class instance and read the headers.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="__contains__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__contains__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+    <br /><i>(In operator)</i>
+  </h3>
+  Determine whether a message contains the named header.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="__delitem__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__delitem__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+    <br /><i>(Index deletion operator)</i>
+  </h3>
+  Delete all occurrences of a specific header, if it is present.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="__getitem__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__getitem__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+    <br /><i>(Indexing operator)</i>
+  </h3>
+  Get a specific header, as from a dictionary.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="__len__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__len__</span>(<span class=sig-arg>self</span>)</span>
+    <br /><i>(Length operator)</i>
+  </h3>
+  Get the number of headers in a message.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="__setitem__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__setitem__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>,
+          <span class=sig-arg>value</span>)</span>
+    <br /><i>(Index assignment operator)</i>
+  </h3>
+  <p>Set the value of a header.</p>
+  Note: This is not a perfect inversion of __getitem__, because any 
+  changed headers get stuck at the end of the raw-headers list rather 
+  than where the altered header was.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="getheader"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">get</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>,
+          <span class=sig-arg>default</span>=<span class=sig-default>None</span>)</span>
+  </h3>
+  <p>Get the header value for a name.</p>
+  This is the normal interface: it returns a stripped version of the 
+  header value for a given header name, or None if it doesn't exist. This 
+  uses the dictionary version which finds the *last* such header.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="getaddr"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">getaddr</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+  </h3>
+  <p>Get a single address from a header, as a tuple.</p>
+  An example return value: ('Guido van Rossum', 
+  'guido&#64;cwi.nl')
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="getaddrlist"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">getaddrlist</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+  </h3>
+  <p>Get a list of addresses from a header.</p>
+  Retrieves a list of addresses from a header, where each address is a 
+  tuple as returned by getaddr(). Scans all named headers, so it works 
+  properly with multiple To: or Cc: headers for example.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="getallmatchingheaders"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">getallmatchingheaders</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+  </h3>
+  <p>Find all header lines matching a given header name.</p>
+  Look through the list of headers and find all lines matching a given 
+  header name (and their continuation lines). A list of the lines is 
+  returned, without interpretation. If the header does not occur, an 
+  empty list is returned. If the header occurs multiple times, all 
+  occurrences are returned. Case is not important in the header name.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="getdate"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">getdate</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+  </h3>
+  <p>Retrieve a date field from a header.</p>
+  Retrieves a date field from the named header, returning a tuple 
+  compatible with time.mktime().
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="getdate_tz"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">getdate_tz</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+  </h3>
+  <p>Retrieve a date field from a header as a 10-tuple.</p>
+  The first 9 elements make up a tuple compatible with time.mktime(), 
+  and the 10th is the offset of the poster's time zone from GMT/UTC.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="getfirstmatchingheader"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">getfirstmatchingheader</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+  </h3>
+  <p>Get the first header line matching name.</p>
+  This is similar to getallmatchingheaders, but it returns only the 
+  first matching header (and its continuation lines).
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="getheader"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">getheader</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>,
+          <span class=sig-arg>default</span>=<span class=sig-default>None</span>)</span>
+  </h3>
+  <p>Get the header value for a name.</p>
+  This is the normal interface: it returns a stripped version of the 
+  header value for a given header name, or None if it doesn't exist. This 
+  uses the dictionary version which finds the *last* such header.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="getheaders"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">getheaders</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+  </h3>
+  <p>Get all values for a header.</p>
+  This returns a list of values for headers given more than once; each 
+  value in the result list is stripped in the same way as the result of 
+  getheader(). If the header is not given, return an empty list.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="getrawheader"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">getrawheader</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+  </h3>
+  <p>A higher-level interface to getfirstmatchingheader().</p>
+  Return a string containing the literal text of the header but with 
+  the keyword stripped. All leading, trailing and embedded whitespace is 
+  kept in the string, however. Return None if the header does not 
+  occur.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="has_key"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">has_key</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+  </h3>
+  Determine whether a message contains the named header.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="iscomment"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">iscomment</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>line</span>)</span>
+  </h3>
+  <p>Determine whether a line should be skipped entirely.</p>
+  You may override this method in order to use Message parsing on 
+  tagged data in RFC 2822-like formats that support embedded comments or 
+  free-text data.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="isheader"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">isheader</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>line</span>)</span>
+  </h3>
+  <p>Determine whether a given line is a legal header.</p>
+  This method should return the header name, suitably canonicalized. 
+  You may override this method in order to use Message parsing on tagged 
+  data in RFC 2822-like formats with special header formats.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="islast"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">islast</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>line</span>)</span>
+  </h3>
+<pre class="literalblock">
+Determine whether a line is a legal end of RFC 2822 headers.
+
+       You may override this method if your application wants to bend the
+       rules, e.g. to strip trailing whitespace, or to recognize MH template
+       separators ('--------').  For convenience (e.g. for code reading from
+       sockets) a line consisting of 
+also matches.
+</pre>
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="items"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">items</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Get all of a message's headers.</p>
+  Returns a list of name, value tuples.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="keys"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">keys</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Get all of a message's header field names.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="readheaders"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">readheaders</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Read header lines.</p>
+  <p>Read header lines up to the entirely blank line that terminates 
+  them. The (normally blank) line that ends the headers is skipped, but 
+  not included in the returned list. If a non-header line ends the 
+  headers, (which is an error), an attempt is made to backspace over it; 
+  it is never included in the returned list.</p>
+  The variable self.status is set to the empty string if all went 
+  well, otherwise it is an error message. The variable self.headers is a 
+  completely uninterpreted list of lines contained in the header (so 
+  printing them will reproduce the header exactly as it appears in the 
+  file).
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="rewindbody"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">rewindbody</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Rewind the file to the start of the body (if seekable).
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="values"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">values</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Get all of a message's header field values.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/toc-everything.html b/apps/sam/python/doc/epydoc/html/private/toc-everything.html
new file mode 100644
index 0000000000..823bbf4601
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/toc-everything.html
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Everything</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b>Everything</b></font></center>
+<hr>
+
+<!-- =========== START OF ALL CLASSES =========== -->
+<font size="+1"><b>All&nbsp;Classes</b></font><br />
+<a target="mainFrame" href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html">i2p.BaseHTTPServer.BaseHTTPRequestHandler</a><br />
+<a target="mainFrame" href="i2p.BaseHTTPServer.HTTPServer-class.html">i2p.BaseHTTPServer.HTTPServer</a><br />
+<a target="mainFrame" href="i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html">i2p.CGIHTTPServer.CGIHTTPRequestHandler</a><br />
+<a target="mainFrame" href="..\private\i2p.samclasses.BaseSession-class.html">i2p.samclasses.BaseSession</a><br />
+<a target="mainFrame" href="..\private\i2p.samclasses.DatagramSession-class.html">i2p.samclasses.DatagramSession</a><br />
+<a target="mainFrame" href="..\private\i2p.samclasses.Deque-class.html">i2p.samclasses.Deque</a><br />
+<a target="mainFrame" href="..\private\i2p.samclasses.RawSession-class.html">i2p.samclasses.RawSession</a><br />
+<a target="mainFrame" href="..\private\i2p.samclasses.SAMTerminal-class.html">i2p.samclasses.SAMTerminal</a><br />
+<a target="mainFrame" href="..\private\i2p.samclasses.Stream-class.html">i2p.samclasses.Stream</a><br />
+<a target="mainFrame" href="..\private\i2p.samclasses.StreamSession-class.html">i2p.samclasses.StreamSession</a><br />
+<a target="mainFrame" href="..\private\i2p.samclasses.StringBuffer-class.html">i2p.samclasses.StringBuffer</a><br />
+<a target="mainFrame" href="i2p.select.Poll-class.html">i2p.select.Poll</a><br />
+<a target="mainFrame" href="i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html">i2p.SimpleHTTPServer.SimpleHTTPRequestHandler</a><br />
+<a target="mainFrame" href="i2p.socket.Socket-class.html">i2p.socket.Socket</a><br />
+<a target="mainFrame" href="i2p.SocketServer.BaseRequestHandler-class.html">i2p.SocketServer.BaseRequestHandler</a><br />
+<a target="mainFrame" href="i2p.SocketServer.BaseServer-class.html">i2p.SocketServer.BaseServer</a><br />
+<a target="mainFrame" href="i2p.SocketServer.DatagramRequestHandler-class.html">i2p.SocketServer.DatagramRequestHandler</a><br />
+<a target="mainFrame" href="i2p.SocketServer.ForkingMixIn-class.html">i2p.SocketServer.ForkingMixIn</a><br />
+<a target="mainFrame" href="i2p.SocketServer.ForkingTCPServer-class.html">i2p.SocketServer.ForkingTCPServer</a><br />
+<a target="mainFrame" href="i2p.SocketServer.ForkingUDPServer-class.html">i2p.SocketServer.ForkingUDPServer</a><br />
+<a target="mainFrame" href="i2p.SocketServer.StreamRequestHandler-class.html">i2p.SocketServer.StreamRequestHandler</a><br />
+<a target="mainFrame" href="i2p.SocketServer.TCPServer-class.html">i2p.SocketServer.TCPServer</a><br />
+<a target="mainFrame" href="i2p.SocketServer.ThreadingMixIn-class.html">i2p.SocketServer.ThreadingMixIn</a><br />
+<a target="mainFrame" href="i2p.SocketServer.ThreadingTCPServer-class.html">i2p.SocketServer.ThreadingTCPServer</a><br />
+<a target="mainFrame" href="i2p.SocketServer.ThreadingUDPServer-class.html">i2p.SocketServer.ThreadingUDPServer</a><br />
+<a target="mainFrame" href="i2p.SocketServer.UDPServer-class.html">i2p.SocketServer.UDPServer</a><br />
+<a target="mainFrame" href="i2p.tunnel.Tunnel-class.html">i2p.tunnel.Tunnel</a><br />
+<a target="mainFrame" href="i2p.tunnel.TunnelClient-class.html">i2p.tunnel.TunnelClient</a><br />
+<a target="mainFrame" href="i2p.tunnel.TunnelServer-class.html">i2p.tunnel.TunnelServer</a><br />
+<br />
+
+<!-- =========== START OF ALL EXCEPTIONS =========== -->
+<font size="+1"><b>All&nbsp;Exceptions</b></font><br />
+<a target="mainFrame" href="..\private\i2p.Error-class.html">i2p.Error</a><br />
+<a target="mainFrame" href="..\private\i2p.RouterError-class.html">i2p.RouterError</a><br />
+<a target="mainFrame" href="i2p.socket.BlockError-class.html">i2p.socket.BlockError</a><br />
+<a target="mainFrame" href="i2p.socket.ClosedError-class.html">i2p.socket.ClosedError</a><br />
+<a target="mainFrame" href="i2p.socket.Error-class.html">i2p.socket.Error</a><br />
+<a target="mainFrame" href="i2p.socket.NetworkError-class.html">i2p.socket.NetworkError</a><br />
+<a target="mainFrame" href="i2p.socket.Timeout-class.html">i2p.socket.Timeout</a><br />
+<br />
+
+<!-- =========== START OF ALL FUNCTIONS =========== -->
+<font size="+1"><b>All&nbsp;Functions</b></font><br />
+<a target="mainFrame" href="..\private\i2p.tunnel-module.html#_exchange_data">_exchange_data</a><br />
+<a target="mainFrame" href="..\private\i2p.socket-module.html#_make_session">_make_session</a><br />
+<a target="mainFrame" href="..\private\i2p.router-module.html#_parse_config">_parse_config</a><br />
+<a target="mainFrame" href="..\private\i2p.router-module.html#_run_program">_run_program</a><br />
+<a target="mainFrame" href="..\private\i2p.tunnel-module.html#_test_connected">_test_connected</a><br />
+<a target="mainFrame" href="..\private\i2p.socket-module.html#_wrap_stream">_wrap_stream</a><br />
+<a target="mainFrame" href="i2p.router-module.html#check">check</a><br />
+<a target="mainFrame" href="i2p.router-module.html#find">find</a><br />
+<a target="mainFrame" href="i2p.select-module.html#poll">poll</a><br />
+<a target="mainFrame" href="i2p.socket-module.html#resolve">resolve</a><br />
+<a target="mainFrame" href="i2p.select-module.html#select">select</a><br />
+<a target="mainFrame" href="..\private\i2p.samclasses-module.html#sleep">sleep</a><br />
+<a target="mainFrame" href="i2p.socket-module.html#socket">socket</a><br />
+<a target="mainFrame" href="i2p.router-module.html#start">start</a><br />
+<a target="mainFrame" href="i2p.router-module.html#stop">stop</a><br />
+<a target="mainFrame" href="i2p.BaseHTTPServer-module.html#test">test</a><br />
+<a target="mainFrame" href="i2p.CGIHTTPServer-module.html#test">test</a><br />
+<a target="mainFrame" href="i2p.SimpleHTTPServer-module.html#test">test</a><br />
+<a target="mainFrame" href="i2p.eep-module.html#urlget">urlget</a><br />
+<a target="mainFrame" href="i2p.eep-module.html#urlopen">urlopen</a><br />
+<br />
+
+<!-- =========== START OF ALL VARIABLES =========== -->
+<font size="+1"><b>All&nbsp;Variables</b></font><br />
+<a target="mainFrame" href="..\private\i2p.BaseHTTPServer-module.html#__version__">__version__</a><br />
+<a target="mainFrame" href="..\private\i2p.SimpleHTTPServer-module.html#__version__">__version__</a><br />
+<a target="mainFrame" href="..\private\i2p.socket-module.html#_session_lock">_session_lock</a><br />
+<a target="mainFrame" href="..\private\i2p.socket-module.html#_sessions">_sessions</a><br />
+<a target="mainFrame" href="i2p.router-module.html#check_addrlist">check_addrlist</a><br />
+<a target="mainFrame" href="..\private\i2p.BaseHTTPServer-module.html#DEFAULT_ERROR_MESSAGE">DEFAULT_ERROR_MESSAGE</a><br />
+<a target="mainFrame" href="i2p.router-module.html#our_router">our_router</a><br />
+<a target="mainFrame" href="i2p.router-module.html#our_router_lock">our_router_lock</a><br />
+<br />
+
+<hr>
+<font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/toc-everything.html">hide&nbsp;private</a>]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/toc-i2p-module.html b/apps/sam/python/doc/epydoc/html/private/toc-i2p-module.html
new file mode 100644
index 0000000000..1518eea492
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/toc-i2p-module.html
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b><a target="mainFrame" href="i2p-module.html">i2p</a></b></font></center>
+<hr>
+
+<!-- =========== START OF MODULES =========== -->
+<font size="+1"><b>Modules</b></font><br />
+<a target="mainFrame" href="i2p.BaseHTTPServer-module.html">BaseHTTPServer</a><br />
+<a target="mainFrame" href="i2p.CGIHTTPServer-module.html">CGIHTTPServer</a><br />
+<a target="mainFrame" href="i2p.eep-module.html">eep</a><br />
+<a target="mainFrame" href="..\private\i2p.pylib-module.html">pylib</a><br />
+<a target="mainFrame" href="i2p.router-module.html">router</a><br />
+<a target="mainFrame" href="..\private\i2p.samclasses-module.html">samclasses</a><br />
+<a target="mainFrame" href="i2p.select-module.html">select</a><br />
+<a target="mainFrame" href="i2p.SimpleHTTPServer-module.html">SimpleHTTPServer</a><br />
+<a target="mainFrame" href="i2p.socket-module.html">socket</a><br />
+<a target="mainFrame" href="i2p.SocketServer-module.html">SocketServer</a><br />
+<a target="mainFrame" href="i2p.tunnel-module.html">tunnel</a><br />
+<br />
+
+<!-- =========== START OF EXCEPTIONS =========== -->
+<font size="+1"><b>Exceptions</b></font><br />
+<a target="mainFrame" href="..\private\i2p.Error-class.html">Error</a><br />
+<a target="mainFrame" href="..\private\i2p.RouterError-class.html">RouterError</a><br />
+<br />
+
+<hr>
+<font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/toc-i2p-module.html">hide&nbsp;private</a>]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/toc-i2p.BaseHTTPServer-module.html b/apps/sam/python/doc/epydoc/html/private/toc-i2p.BaseHTTPServer-module.html
new file mode 100644
index 0000000000..361a2f28b0
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/toc-i2p.BaseHTTPServer-module.html
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.BaseHTTPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b><a target="mainFrame" href="i2p.BaseHTTPServer-module.html">BaseHTTPServer</a></b></font></center>
+<hr>
+
+<!-- =========== START OF CLASSES =========== -->
+<font size="+1"><b>Classes</b></font><br />
+<a target="mainFrame" href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html">BaseHTTPRequestHandler</a><br />
+<a target="mainFrame" href="i2p.BaseHTTPServer.HTTPServer-class.html">HTTPServer</a><br />
+<br />
+
+<!-- =========== START OF FUNCTIONS =========== -->
+<font size="+1"><b>Functions</b></font><br />
+<a target="mainFrame" href="i2p.BaseHTTPServer-module.html#test">test</a><br />
+<br />
+
+<!-- =========== START OF VARIABLES =========== -->
+<font size="+1"><b>Variables</b></font><br />
+<a target="mainFrame" href="..\private\i2p.BaseHTTPServer-module.html#__version__">__version__</a><br />
+<a target="mainFrame" href="..\private\i2p.BaseHTTPServer-module.html#DEFAULT_ERROR_MESSAGE">DEFAULT_ERROR_MESSAGE</a><br />
+<br />
+
+<hr>
+<font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/toc-i2p.BaseHTTPServer-module.html">hide&nbsp;private</a>]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/toc-i2p.CGIHTTPServer-module.html b/apps/sam/python/doc/epydoc/html/private/toc-i2p.CGIHTTPServer-module.html
new file mode 100644
index 0000000000..529e96d715
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/toc-i2p.CGIHTTPServer-module.html
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.CGIHTTPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b><a target="mainFrame" href="i2p.CGIHTTPServer-module.html">CGIHTTPServer</a></b></font></center>
+<hr>
+
+<!-- =========== START OF CLASSES =========== -->
+<font size="+1"><b>Classes</b></font><br />
+<a target="mainFrame" href="i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html">CGIHTTPRequestHandler</a><br />
+<br />
+
+<!-- =========== START OF FUNCTIONS =========== -->
+<font size="+1"><b>Functions</b></font><br />
+<a target="mainFrame" href="i2p.CGIHTTPServer-module.html#test">test</a><br />
+<br />
+
+<hr>
+<font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/toc-i2p.CGIHTTPServer-module.html">hide&nbsp;private</a>]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/toc-i2p.SimpleHTTPServer-module.html b/apps/sam/python/doc/epydoc/html/private/toc-i2p.SimpleHTTPServer-module.html
new file mode 100644
index 0000000000..083d22f6b6
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/toc-i2p.SimpleHTTPServer-module.html
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SimpleHTTPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b><a target="mainFrame" href="i2p.SimpleHTTPServer-module.html">SimpleHTTPServer</a></b></font></center>
+<hr>
+
+<!-- =========== START OF CLASSES =========== -->
+<font size="+1"><b>Classes</b></font><br />
+<a target="mainFrame" href="i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html">SimpleHTTPRequestHandler</a><br />
+<br />
+
+<!-- =========== START OF FUNCTIONS =========== -->
+<font size="+1"><b>Functions</b></font><br />
+<a target="mainFrame" href="i2p.SimpleHTTPServer-module.html#test">test</a><br />
+<br />
+
+<!-- =========== START OF VARIABLES =========== -->
+<font size="+1"><b>Variables</b></font><br />
+<a target="mainFrame" href="..\private\i2p.SimpleHTTPServer-module.html#__version__">__version__</a><br />
+<br />
+
+<hr>
+<font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/toc-i2p.SimpleHTTPServer-module.html">hide&nbsp;private</a>]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/toc-i2p.SocketServer-module.html b/apps/sam/python/doc/epydoc/html/private/toc-i2p.SocketServer-module.html
new file mode 100644
index 0000000000..5c053de2a5
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/toc-i2p.SocketServer-module.html
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b><a target="mainFrame" href="i2p.SocketServer-module.html">SocketServer</a></b></font></center>
+<hr>
+
+<!-- =========== START OF CLASSES =========== -->
+<font size="+1"><b>Classes</b></font><br />
+<a target="mainFrame" href="i2p.SocketServer.BaseRequestHandler-class.html">BaseRequestHandler</a><br />
+<a target="mainFrame" href="i2p.SocketServer.BaseServer-class.html">BaseServer</a><br />
+<a target="mainFrame" href="i2p.SocketServer.DatagramRequestHandler-class.html">DatagramRequestHandler</a><br />
+<a target="mainFrame" href="i2p.SocketServer.ForkingMixIn-class.html">ForkingMixIn</a><br />
+<a target="mainFrame" href="i2p.SocketServer.ForkingTCPServer-class.html">ForkingTCPServer</a><br />
+<a target="mainFrame" href="i2p.SocketServer.ForkingUDPServer-class.html">ForkingUDPServer</a><br />
+<a target="mainFrame" href="i2p.SocketServer.StreamRequestHandler-class.html">StreamRequestHandler</a><br />
+<a target="mainFrame" href="i2p.SocketServer.TCPServer-class.html">TCPServer</a><br />
+<a target="mainFrame" href="i2p.SocketServer.ThreadingMixIn-class.html">ThreadingMixIn</a><br />
+<a target="mainFrame" href="i2p.SocketServer.ThreadingTCPServer-class.html">ThreadingTCPServer</a><br />
+<a target="mainFrame" href="i2p.SocketServer.ThreadingUDPServer-class.html">ThreadingUDPServer</a><br />
+<a target="mainFrame" href="i2p.SocketServer.UDPServer-class.html">UDPServer</a><br />
+<br />
+
+<hr>
+<font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/toc-i2p.SocketServer-module.html">hide&nbsp;private</a>]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/toc-i2p.eep-module.html b/apps/sam/python/doc/epydoc/html/private/toc-i2p.eep-module.html
new file mode 100644
index 0000000000..c4f6eb8784
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/toc-i2p.eep-module.html
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.eep</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b><a target="mainFrame" href="i2p.eep-module.html">eep</a></b></font></center>
+<hr>
+
+<!-- =========== START OF FUNCTIONS =========== -->
+<font size="+1"><b>Functions</b></font><br />
+<a target="mainFrame" href="i2p.eep-module.html#urlget">urlget</a><br />
+<a target="mainFrame" href="i2p.eep-module.html#urlopen">urlopen</a><br />
+<br />
+
+<hr>
+<font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/toc-i2p.eep-module.html">hide&nbsp;private</a>]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/toc-i2p.pylib-module.html b/apps/sam/python/doc/epydoc/html/private/toc-i2p.pylib-module.html
new file mode 100644
index 0000000000..0113c8469a
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/toc-i2p.pylib-module.html
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.pylib</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b><a target="mainFrame" href="..\private\i2p.pylib-module.html">pylib</a></b></font></center>
+<hr>
+
+<hr>
+<font size="-2">[<b>show&nbsp;private</b>&nbsp;|&nbsp;hide&nbsp;private]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/toc-i2p.router-module.html b/apps/sam/python/doc/epydoc/html/private/toc-i2p.router-module.html
new file mode 100644
index 0000000000..ff80c7f7fd
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/toc-i2p.router-module.html
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.router</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b><a target="mainFrame" href="i2p.router-module.html">router</a></b></font></center>
+<hr>
+
+<!-- =========== START OF FUNCTIONS =========== -->
+<font size="+1"><b>Functions</b></font><br />
+<a target="mainFrame" href="..\private\i2p.router-module.html#_parse_config">_parse_config</a><br />
+<a target="mainFrame" href="..\private\i2p.router-module.html#_run_program">_run_program</a><br />
+<a target="mainFrame" href="i2p.router-module.html#check">check</a><br />
+<a target="mainFrame" href="i2p.router-module.html#find">find</a><br />
+<a target="mainFrame" href="i2p.router-module.html#start">start</a><br />
+<a target="mainFrame" href="i2p.router-module.html#stop">stop</a><br />
+<br />
+
+<!-- =========== START OF VARIABLES =========== -->
+<font size="+1"><b>Variables</b></font><br />
+<a target="mainFrame" href="i2p.router-module.html#check_addrlist">check_addrlist</a><br />
+<a target="mainFrame" href="i2p.router-module.html#our_router">our_router</a><br />
+<a target="mainFrame" href="i2p.router-module.html#our_router_lock">our_router_lock</a><br />
+<br />
+
+<hr>
+<font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/toc-i2p.router-module.html">hide&nbsp;private</a>]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/toc-i2p.samclasses-module.html b/apps/sam/python/doc/epydoc/html/private/toc-i2p.samclasses-module.html
new file mode 100644
index 0000000000..7bc6cbabbf
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/toc-i2p.samclasses-module.html
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.samclasses</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b><a target="mainFrame" href="..\private\i2p.samclasses-module.html">samclasses</a></b></font></center>
+<hr>
+
+<!-- =========== START OF CLASSES =========== -->
+<font size="+1"><b>Classes</b></font><br />
+<a target="mainFrame" href="..\private\i2p.samclasses.BaseSession-class.html">BaseSession</a><br />
+<a target="mainFrame" href="..\private\i2p.samclasses.DatagramSession-class.html">DatagramSession</a><br />
+<a target="mainFrame" href="..\private\i2p.samclasses.Deque-class.html">Deque</a><br />
+<a target="mainFrame" href="..\private\i2p.samclasses.RawSession-class.html">RawSession</a><br />
+<a target="mainFrame" href="..\private\i2p.samclasses.SAMTerminal-class.html">SAMTerminal</a><br />
+<a target="mainFrame" href="..\private\i2p.samclasses.Stream-class.html">Stream</a><br />
+<a target="mainFrame" href="..\private\i2p.samclasses.StreamSession-class.html">StreamSession</a><br />
+<a target="mainFrame" href="..\private\i2p.samclasses.StringBuffer-class.html">StringBuffer</a><br />
+<br />
+
+<!-- =========== START OF FUNCTIONS =========== -->
+<font size="+1"><b>Functions</b></font><br />
+<a target="mainFrame" href="..\private\i2p.samclasses-module.html#sleep">sleep</a><br />
+<br />
+
+<hr>
+<font size="-2">[<b>show&nbsp;private</b>&nbsp;|&nbsp;hide&nbsp;private]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/toc-i2p.select-module.html b/apps/sam/python/doc/epydoc/html/private/toc-i2p.select-module.html
new file mode 100644
index 0000000000..4f5df3bdec
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/toc-i2p.select-module.html
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.select</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b><a target="mainFrame" href="i2p.select-module.html">select</a></b></font></center>
+<hr>
+
+<!-- =========== START OF CLASSES =========== -->
+<font size="+1"><b>Classes</b></font><br />
+<a target="mainFrame" href="i2p.select.Poll-class.html">Poll</a><br />
+<br />
+
+<!-- =========== START OF FUNCTIONS =========== -->
+<font size="+1"><b>Functions</b></font><br />
+<a target="mainFrame" href="i2p.select-module.html#poll">poll</a><br />
+<a target="mainFrame" href="i2p.select-module.html#select">select</a><br />
+<br />
+
+<hr>
+<font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/toc-i2p.select-module.html">hide&nbsp;private</a>]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/toc-i2p.socket-module.html b/apps/sam/python/doc/epydoc/html/private/toc-i2p.socket-module.html
new file mode 100644
index 0000000000..d08825524c
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/toc-i2p.socket-module.html
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.socket</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b><a target="mainFrame" href="i2p.socket-module.html">socket</a></b></font></center>
+<hr>
+
+<!-- =========== START OF CLASSES =========== -->
+<font size="+1"><b>Classes</b></font><br />
+<a target="mainFrame" href="i2p.socket.Socket-class.html">Socket</a><br />
+<br />
+
+<!-- =========== START OF EXCEPTIONS =========== -->
+<font size="+1"><b>Exceptions</b></font><br />
+<a target="mainFrame" href="i2p.socket.BlockError-class.html">BlockError</a><br />
+<a target="mainFrame" href="i2p.socket.ClosedError-class.html">ClosedError</a><br />
+<a target="mainFrame" href="i2p.socket.Error-class.html">Error</a><br />
+<a target="mainFrame" href="i2p.socket.NetworkError-class.html">NetworkError</a><br />
+<a target="mainFrame" href="i2p.socket.Timeout-class.html">Timeout</a><br />
+<br />
+
+<!-- =========== START OF FUNCTIONS =========== -->
+<font size="+1"><b>Functions</b></font><br />
+<a target="mainFrame" href="..\private\i2p.socket-module.html#_make_session">_make_session</a><br />
+<a target="mainFrame" href="..\private\i2p.socket-module.html#_wrap_stream">_wrap_stream</a><br />
+<a target="mainFrame" href="i2p.socket-module.html#resolve">resolve</a><br />
+<a target="mainFrame" href="i2p.socket-module.html#socket">socket</a><br />
+<br />
+
+<!-- =========== START OF VARIABLES =========== -->
+<font size="+1"><b>Variables</b></font><br />
+<a target="mainFrame" href="..\private\i2p.socket-module.html#_session_lock">_session_lock</a><br />
+<a target="mainFrame" href="..\private\i2p.socket-module.html#_sessions">_sessions</a><br />
+<br />
+
+<hr>
+<font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/toc-i2p.socket-module.html">hide&nbsp;private</a>]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/toc-i2p.tunnel-module.html b/apps/sam/python/doc/epydoc/html/private/toc-i2p.tunnel-module.html
new file mode 100644
index 0000000000..d7ef2d08b8
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/toc-i2p.tunnel-module.html
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.tunnel</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b><a target="mainFrame" href="i2p.tunnel-module.html">tunnel</a></b></font></center>
+<hr>
+
+<!-- =========== START OF CLASSES =========== -->
+<font size="+1"><b>Classes</b></font><br />
+<a target="mainFrame" href="i2p.tunnel.Tunnel-class.html">Tunnel</a><br />
+<a target="mainFrame" href="i2p.tunnel.TunnelClient-class.html">TunnelClient</a><br />
+<a target="mainFrame" href="i2p.tunnel.TunnelServer-class.html">TunnelServer</a><br />
+<br />
+
+<!-- =========== START OF FUNCTIONS =========== -->
+<font size="+1"><b>Functions</b></font><br />
+<a target="mainFrame" href="..\private\i2p.tunnel-module.html#_exchange_data">_exchange_data</a><br />
+<a target="mainFrame" href="..\private\i2p.tunnel-module.html#_test_connected">_test_connected</a><br />
+<br />
+
+<hr>
+<font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/toc-i2p.tunnel-module.html">hide&nbsp;private</a>]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/toc.html b/apps/sam/python/doc/epydoc/html/private/toc.html
new file mode 100644
index 0000000000..e0634aa0ff
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/toc.html
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Table of Contents</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b>Table&nbsp;of&nbsp;Contents</b></font></center>
+<hr>
+<a target="moduleFrame" href="toc-everything.html">Everything</a><br />
+
+<!-- =========== START OF PACKAGES =========== -->
+<br /><font size="+1"><b>Packages</b></font><br />
+<a target="moduleFrame" href="toc-i2p-module.html">i2p</a><br />
+<a target="moduleFrame" href="toc-i2p.pylib-module.html">i2p.pylib</a><br />
+
+<!-- =========== START OF MODULES =========== -->
+<br /><font size="+1"><b>Modules</b></font><br />
+<a target="moduleFrame" href="toc-i2p.BaseHTTPServer-module.html">i2p.BaseHTTPServer</a><br />
+<a target="moduleFrame" href="toc-i2p.CGIHTTPServer-module.html">i2p.CGIHTTPServer</a><br />
+<a target="moduleFrame" href="toc-i2p.eep-module.html">i2p.eep</a><br />
+<a target="moduleFrame" href="toc-i2p.router-module.html">i2p.router</a><br />
+<a target="moduleFrame" href="toc-i2p.samclasses-module.html">i2p.samclasses</a><br />
+<a target="moduleFrame" href="toc-i2p.select-module.html">i2p.select</a><br />
+<a target="moduleFrame" href="toc-i2p.SimpleHTTPServer-module.html">i2p.SimpleHTTPServer</a><br />
+<a target="moduleFrame" href="toc-i2p.socket-module.html">i2p.socket</a><br />
+<a target="moduleFrame" href="toc-i2p.SocketServer-module.html">i2p.SocketServer</a><br />
+<a target="moduleFrame" href="toc-i2p.tunnel-module.html">i2p.tunnel</a><br />
+
+<br /><hr>
+<font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/toc.html">hide&nbsp;private</a>]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/private/trees.html b/apps/sam/python/doc/epydoc/html/private/trees.html
new file mode 100644
index 0000000000..fe02a5e9f0
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/private/trees.html
@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Module and Class Hierarchies</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Trees&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/trees.html">hide&nbsp;private</a>]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="trees.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF MODULE HIERARCHY =========== -->
+<h2>Module Hierarchy</h2>
+<ul>
+<li> <b><a href="i2p-module.html"><code>i2p</code></a></b>: <i>i2p -- I2P Python interface</i>
+  <ul>
+    <li> <b><a href="i2p.BaseHTTPServer-module.html"><code>BaseHTTPServer</code></a></b>: <i>Emulation of Python BaseHTTPServer module using I2P sockets.</i>
+    <li> <b><a href="i2p.CGIHTTPServer-module.html"><code>CGIHTTPServer</code></a></b>: <i>Emulation of Python CGIHTTPServer module using I2P sockets.</i>
+    <li> <b><a href="i2p.eep-module.html"><code>eep</code></a></b>: <i>Eeproxy access module</i>
+    <li> <b><a href="i2p.router-module.html"><code>router</code></a></b>: <i>Router control module</i>
+    <li> <b><a href="i2p.select-module.html"><code>select</code></a></b>: <i>I2P Python API - Emulation of Python select module.</i>
+    <li> <b><a href="i2p.SimpleHTTPServer-module.html"><code>SimpleHTTPServer</code></a></b>: <i>Emulation of Python SimpleHTTPServer module using I2P sockets.</i>
+    <li> <b><a href="i2p.socket-module.html"><code>socket</code></a></b>: <i>Emulation of Python socket module using SAM.</i>
+    <li> <b><a href="i2p.SocketServer-module.html"><code>SocketServer</code></a></b>: <i>Emulation of Python SocketServer module using I2P sockets.</i>
+    <li> <b><a href="i2p.tunnel-module.html"><code>tunnel</code></a></b>: <i>Exchange data between I2P and regular TCP sockets.</i>
+    <li> <b><a href="..\private\i2p.pylib-module.html"><code>pylib</code></a></b>
+    <li> <b><a href="..\private\i2p.samclasses-module.html"><code>samclasses</code></a></b>: <i>Lower-level SAM API, interfaces with SAM Bridge.</i>
+  </ul>
+</ul>
+
+<!-- =========== START OF CLASS HIERARCHY =========== -->
+<h2>Class Hierarchy</h2>
+<ul>
+  <li> <b><a href="SocketServer.BaseRequestHandler-class.html"><code>SocketServer.BaseRequestHandler</code></a></b>: <i>
+Base class for request handler classes.</i>
+    <ul>
+  <li> <b><a href="i2p.SocketServer.BaseRequestHandler-class.html"><code>i2p.SocketServer.BaseRequestHandler</code></a></b>
+  <li> <b><a href="SocketServer.DatagramRequestHandler-class.html"><code>SocketServer.DatagramRequestHandler</code></a></b>: <i>
+Define self.rfile and self.wfile for datagram sockets.</i>
+    <ul>
+  <li> <b><a href="i2p.SocketServer.DatagramRequestHandler-class.html"><code>i2p.SocketServer.DatagramRequestHandler</code></a></b>
+    </ul>
+  <li> <b><a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></b>: <i>
+Define self.rfile and self.wfile for stream sockets.</i>
+    <ul>
+  <li> <b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></b>: <i>
+HTTP request handler base class.</i>
+    <ul>
+  <li> <b><a href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>i2p.BaseHTTPServer.BaseHTTPRequestHandler</code></a></b>: <i>
+Same interface as Python class 
+BaseHTTPServer.BaseHTTPRequestHandler.</i>
+  <li> <b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></b>: <i>
+Simple HTTP request handler with GET and HEAD commands.</i>
+    <ul>
+  <li> <b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></b>: <i>
+Complete HTTP server with GET, HEAD and POST commands.</i>
+    <ul>
+  <li> <b><a href="i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>i2p.CGIHTTPServer.CGIHTTPRequestHandler</code></a></b>: <i>
+Same interface as Python class 
+CGIHTTPServer.CGIHTTPRequestHandler.</i>
+    </ul>
+  <li> <b><a href="i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>i2p.SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></b>: <i>
+Same interface as Python class 
+SimpleHTTPServer.SimpleHTTPRequestHandler.</i>
+    </ul>
+    </ul>
+  <li> <b><a href="i2p.SocketServer.StreamRequestHandler-class.html"><code>i2p.SocketServer.StreamRequestHandler</code></a></b>
+    <ul>
+  <li> <b><a href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>i2p.BaseHTTPServer.BaseHTTPRequestHandler</code></a></b>: <i>
+Same interface as Python class 
+BaseHTTPServer.BaseHTTPRequestHandler.</i>
+    </ul>
+    </ul>
+    </ul>
+  <li> <b><a href="..\private\SocketServer.BaseServer-class.html"><code>SocketServer.BaseServer</code></a></b>: <i>
+Base class for server classes.</i>
+    <ul>
+  <li> <b><a href="i2p.SocketServer.BaseServer-class.html"><code>i2p.SocketServer.BaseServer</code></a></b>
+    <ul>
+  <li> <b><a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></b>
+    <ul>
+  <li> <b><a href="i2p.SocketServer.ForkingTCPServer-class.html"><code>i2p.SocketServer.ForkingTCPServer</code></a></b>
+  <li> <b><a href="i2p.BaseHTTPServer.HTTPServer-class.html"><code>i2p.BaseHTTPServer.HTTPServer</code></a></b>: <i>
+Same interface as Python class BaseHTTPServer.HTTPServer.</i>
+  <li> <b><a href="i2p.SocketServer.ThreadingTCPServer-class.html"><code>i2p.SocketServer.ThreadingTCPServer</code></a></b>
+  <li> <b><a href="i2p.SocketServer.UDPServer-class.html"><code>i2p.SocketServer.UDPServer</code></a></b>
+    <ul>
+  <li> <b><a href="i2p.SocketServer.ForkingUDPServer-class.html"><code>i2p.SocketServer.ForkingUDPServer</code></a></b>
+  <li> <b><a href="i2p.SocketServer.ThreadingUDPServer-class.html"><code>i2p.SocketServer.ThreadingUDPServer</code></a></b>
+    </ul>
+    </ul>
+    </ul>
+  <li> <b><a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></b>: <i>
+Base class for various socket-based server classes.</i>
+    <ul>
+  <li> <b><a href="BaseHTTPServer.HTTPServer-class.html"><code>BaseHTTPServer.HTTPServer</code></a></b>
+    <ul>
+  <li> <b><a href="i2p.BaseHTTPServer.HTTPServer-class.html"><code>i2p.BaseHTTPServer.HTTPServer</code></a></b>: <i>
+Same interface as Python class BaseHTTPServer.HTTPServer.</i>
+    </ul>
+  <li> <b><a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></b>
+    <ul>
+  <li> <b><a href="i2p.SocketServer.ForkingTCPServer-class.html"><code>i2p.SocketServer.ForkingTCPServer</code></a></b>
+  <li> <b><a href="i2p.BaseHTTPServer.HTTPServer-class.html"><code>i2p.BaseHTTPServer.HTTPServer</code></a></b>: <i>
+Same interface as Python class BaseHTTPServer.HTTPServer.</i>
+  <li> <b><a href="i2p.SocketServer.ThreadingTCPServer-class.html"><code>i2p.SocketServer.ThreadingTCPServer</code></a></b>
+  <li> <b><a href="i2p.SocketServer.UDPServer-class.html"><code>i2p.SocketServer.UDPServer</code></a></b>
+    <ul>
+  <li> <b><a href="i2p.SocketServer.ForkingUDPServer-class.html"><code>i2p.SocketServer.ForkingUDPServer</code></a></b>
+  <li> <b><a href="i2p.SocketServer.ThreadingUDPServer-class.html"><code>i2p.SocketServer.ThreadingUDPServer</code></a></b>
+    </ul>
+    </ul>
+  <li> <b><a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></b>: <i>
+UDP server class.</i>
+    <ul>
+  <li> <b><a href="i2p.SocketServer.UDPServer-class.html"><code>i2p.SocketServer.UDPServer</code></a></b>
+    <ul>
+  <li> <b><a href="i2p.SocketServer.ForkingUDPServer-class.html"><code>i2p.SocketServer.ForkingUDPServer</code></a></b>
+  <li> <b><a href="i2p.SocketServer.ThreadingUDPServer-class.html"><code>i2p.SocketServer.ThreadingUDPServer</code></a></b>
+    </ul>
+    </ul>
+    </ul>
+    </ul>
+  <li> <b><a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></b>: <i>
+Mix-in class to handle each request in a new process.</i>
+    <ul>
+  <li> <b><a href="i2p.SocketServer.ForkingMixIn-class.html"><code>i2p.SocketServer.ForkingMixIn</code></a></b>
+    <ul>
+  <li> <b><a href="i2p.SocketServer.ForkingTCPServer-class.html"><code>i2p.SocketServer.ForkingTCPServer</code></a></b>
+  <li> <b><a href="i2p.SocketServer.ForkingUDPServer-class.html"><code>i2p.SocketServer.ForkingUDPServer</code></a></b>
+    </ul>
+    </ul>
+  <li> <b><a href="SocketServer.ThreadingMixIn-class.html"><code>SocketServer.ThreadingMixIn</code></a></b>: <i>
+Mix-in class to handle each request in a new thread.</i>
+    <ul>
+  <li> <b><a href="i2p.SocketServer.ThreadingMixIn-class.html"><code>i2p.SocketServer.ThreadingMixIn</code></a></b>
+    <ul>
+  <li> <b><a href="i2p.SocketServer.ThreadingTCPServer-class.html"><code>i2p.SocketServer.ThreadingTCPServer</code></a></b>
+  <li> <b><a href="i2p.SocketServer.ThreadingUDPServer-class.html"><code>i2p.SocketServer.ThreadingUDPServer</code></a></b>
+    </ul>
+    </ul>
+  <li> <b><a href="exceptions.Exception-class.html"><code>exceptions.Exception</code></a></b>: <i>
+Common base class for all exceptions.</i>
+    <ul>
+  <li> <b><a href="..\private\i2p.Error-class.html"><code>i2p.Error</code></a></b>: <i>
+Base class for all I2P errors.</i>
+    <ul>
+  <li> <b><a href="i2p.socket.Error-class.html"><code>i2p.socket.Error</code></a></b>: <i>
+Base class for all SAM errors.</i>
+    <ul>
+  <li> <b><a href="i2p.socket.BlockError-class.html"><code>i2p.socket.BlockError</code></a></b>: <i>
+Socket call would have blocked.</i>
+  <li> <b><a href="i2p.socket.ClosedError-class.html"><code>i2p.socket.ClosedError</code></a></b>: <i>
+A command was used on a socket that closed gracefully.</i>
+  <li> <b><a href="i2p.socket.NetworkError-class.html"><code>i2p.socket.NetworkError</code></a></b>: <i>
+Network error occurred within I2P.</i>
+  <li> <b><a href="i2p.socket.Timeout-class.html"><code>i2p.socket.Timeout</code></a></b>: <i>
+Time out occurred for a socket which had timeouts enabled via a prior 
+call to settimeout().</i>
+    </ul>
+  <li> <b><a href="..\private\i2p.RouterError-class.html"><code>i2p.RouterError</code></a></b>: <i>
+Could not connect to router.</i>
+    </ul>
+    </ul>
+  <li> <b><a href="..\private\i2p.samclasses.BaseSession-class.html"><code>i2p.samclasses.BaseSession</code></a></b>: <i>
+Base session, from which StreamSession, DatagramSession, and 
+RawSession are derived.</i>
+    <ul>
+  <li> <b><a href="..\private\i2p.samclasses.DatagramSession-class.html"><code>i2p.samclasses.DatagramSession</code></a></b>: <i>
+Datagram session.</i>
+  <li> <b><a href="..\private\i2p.samclasses.RawSession-class.html"><code>i2p.samclasses.RawSession</code></a></b>: <i>
+Raw session.</i>
+  <li> <b><a href="..\private\i2p.samclasses.StreamSession-class.html"><code>i2p.samclasses.StreamSession</code></a></b>: <i>
+Stream session.</i>
+    </ul>
+  <li> <b><a href="..\private\i2p.samclasses.Deque-class.html"><code>i2p.samclasses.Deque</code></a></b>: <i>
+A double-ended queue.</i>
+    <ul>
+  <li> <b><a href="..\private\i2p.samclasses.StringBuffer-class.html"><code>i2p.samclasses.StringBuffer</code></a></b>: <i>
+A FIFO for characters.</i>
+    </ul>
+  <li> <b><a href="..\private\i2p.samclasses.SAMTerminal-class.html"><code>i2p.samclasses.SAMTerminal</code></a></b>: <i>
+Message-by-message communication with SAM through a single 
+pysocket.</i>
+  <li> <b><a href="..\private\i2p.samclasses.Stream-class.html"><code>i2p.samclasses.Stream</code></a></b>: <i>
+Receives and sends data for an individual stream.</i>
+  <li> <b><a href="i2p.select.Poll-class.html"><code>i2p.select.Poll</code></a></b>: <i>
+Class implementing poll interface.</i>
+  <li> <b><a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></b>: <i>
+A socket object.</i>
+  <li> <b><a href="i2p.tunnel.Tunnel-class.html"><code>i2p.tunnel.Tunnel</code></a></b>
+    <ul>
+  <li> <b><a href="i2p.tunnel.TunnelClient-class.html"><code>i2p.tunnel.TunnelClient</code></a></b>
+  <li> <b><a href="i2p.tunnel.TunnelServer-class.html"><code>i2p.tunnel.TunnelServer</code></a></b>
+    </ul>
+  <li> <b><a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></b>: <i>
+Represents a single RFC 2822-compliant message.</i>
+    <ul>
+  <li> <b><a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></b>: <i>
+A derived class of rfc822.Message that knows about MIME headers and 
+contains some hooks for decoding encoded and multipart messages.</i>
+    </ul>
+</ul>
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/BaseHTTPServer.BaseHTTPRequestHandler-class.html b/apps/sam/python/doc/epydoc/html/public/BaseHTTPServer.BaseHTTPRequestHandler-class.html
new file mode 100644
index 0000000000..dd3197c8b4
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/BaseHTTPServer.BaseHTTPRequestHandler-class.html
@@ -0,0 +1,645 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>BaseHTTPServer.BaseHTTPRequestHandler</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;BaseHTTPServer ::
+        Class&nbsp;BaseHTTPRequestHandler
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/BaseHTTPServer.BaseHTTPRequestHandler-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class BaseHTTPRequestHandler</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+    
+                     |    
+  <a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+
+                         |
+                        <b>BaseHTTPRequestHandler</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a>,
+    <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a></dd></dl>
+
+<hr/>
+
+<pre class="literalblock">
+HTTP request handler base class.
+
+The following explanation of HTTP serves to guide you through the
+code as well as to expose any misunderstandings I may have about
+HTTP (so you don't need to read the code to figure out I'm wrong
+:-).
+
+HTTP (HyperText Transfer Protocol) is an extensible protocol on
+top of a reliable stream transport (e.g. TCP/IP).  The protocol
+recognizes three parts to a request:
+
+1. One line identifying the request type and path
+2. An optional set of RFC-822-style headers
+3. An optional data part
+
+The headers and data are separated by a blank line.
+
+The first line of the request has the form
+
+&lt;command&gt; &lt;path&gt; &lt;version&gt;
+
+where &lt;command&gt; is a (case-sensitive) keyword such as GET or POST,
+&lt;path&gt; is a string containing path information for the request,
+and &lt;version&gt; should be the string &quot;HTTP/1.0&quot; or &quot;HTTP/1.1&quot;.
+&lt;path&gt; is encoded using the URL encoding scheme (using %xx to signify
+the ASCII character with hex code xx).
+
+The specification specifies that lines are separated by CRLF but
+for compatibility with the widest range of clients recommends
+servers also handle LF.  Similarly, whitespace in the request line
+is treated sensibly (allowing multiple spaces between components
+and allowing trailing whitespace).
+
+Similarly, for output, lines ought to be separated by CRLF pairs
+but most clients grok LF characters just fine.
+
+If the first line of the request has the form
+
+&lt;command&gt; &lt;path&gt;
+
+(i.e. &lt;version&gt; is left out) then this is assumed to be an HTTP
+0.9 request; this form has no optional headers and data part and
+the reply consists of just the data.
+
+The reply form of the HTTP 1.x protocol again has three parts:
+
+1. One line giving the response code
+2. An optional set of RFC-822-style headers
+3. The data
+
+Again, the headers and data are separated by a blank line.
+
+The response code line has the form
+
+&lt;version&gt; &lt;responsecode&gt; &lt;responsestring&gt;
+
+where &lt;version&gt; is the protocol version (&quot;HTTP/1.0&quot; or &quot;HTTP/1.1&quot;),
+&lt;responsecode&gt; is a 3-digit response code indicating success or
+failure of the request, and &lt;responsestring&gt; is an optional
+human-readable string explaining what the response code means.
+
+This server parses the request and the headers, and then calls a
+function specific to the request type (&lt;command&gt;).  Specifically,
+a request SPAM will be handled by a method do_SPAM().  If no
+such method exists the server sends an error response to the
+client.  If it exists, it is called with no arguments:
+
+do_SPAM()
+
+Note that the request name is case sensitive (i.e. SPAM and spam
+are different requests).
+
+The various request details are stored in instance variables:
+
+- client_address is the client IP address in the form (host,
+port);
+
+- command, path and version are the broken-down request line;
+
+- headers is an instance of mimetools.Message (or a derived
+class) containing the header information;
+
+- rfile is a file object open for reading positioned at the
+start of the optional input data part;
+
+- wfile is a file object open for writing.
+
+IT IS IMPORTANT TO ADHERE TO THE PROTOCOL FOR WRITING!
+
+The first thing to be written must be the response line.  Then
+follow 0 or more header lines, then a blank line, and then the
+actual data (if any).  The meaning of the header lines depends on
+the command executed by the server; in most cases, when data is
+returned, there should be at least one header line of the form
+
+Content-type: &lt;type&gt;/&lt;subtype&gt;
+
+where &lt;type&gt; and &lt;subtype&gt; should be registered MIME types,
+e.g. &quot;text/html&quot; or &quot;text/plain&quot;.
+</pre>
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string" class="summary-sig-name"><code>address_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the client address formatted for logging.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string" class="summary-sig-name"><code>date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the current date and time formatted for a message header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers" class="summary-sig-name"><code>end_headers</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Send the blank line ending the MIME headers.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle multiple requests if necessary.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request" class="summary-sig-name"><code>handle_one_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle a single HTTP request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string" class="summary-sig-name"><code>log_date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the current time formatted for logging.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error" class="summary-sig-name"><code>log_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-vararg">*args</span>)</span></code>
+<br />
+Log an error.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message" class="summary-sig-name"><code>log_message</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>format</span>,
+          <span class="summary-sig-vararg">*args</span>)</span></code>
+<br />
+Log an arbitrary message.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request" class="summary-sig-name"><code>log_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>size</span>)</span></code>
+<br />
+Log an accepted request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request" class="summary-sig-name"><code>parse_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Parse a request (internal).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error" class="summary-sig-name"><code>send_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>message</span>)</span></code>
+<br />
+Send and log an error reply.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header" class="summary-sig-name"><code>send_header</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>keyword</span>,
+          <span class=summary-sig-arg>value</span>)</span></code>
+<br />
+Send a MIME header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response" class="summary-sig-name"><code>send_response</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>message</span>)</span></code>
+<br />
+Send the response header and log the response code.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string" class="summary-sig-name"><code>version_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the server software version string.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>,
+          <span class=summary-sig-arg>server</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></b> = <span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"><code><span class="variable-quote">'</span>&lt;head&gt;\n&lt;title&gt;Error&nbsp;response&lt;/t<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>classobj</code></font></td>
+  <td><a name="MessageClass"></a><b><code>MessageClass</code></b> = <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></b> = <span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"><code>[None,&nbsp;'Jan',&nbsp;'Feb',&nbsp;'Mar',&nbsp;'Apr',&nbsp;'May',&nbsp;'J<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></b> = <span title="'HTTP/1.0'"><code><span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span>                            </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></b> = <span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '..."><code>{400:&nbsp;('Bad&nbsp;request',&nbsp;'Bad&nbsp;request&nbsp;syntax&nbsp;or<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></b> = <span title="'BaseHTTP/0.3'"><code><span class="variable-quote">'</span>BaseHTTP/0.3<span class="variable-quote">'</span>                          </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></b> = <span title="'Python/2.3.4'"><code><span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span>                             </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></b> = <span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"><code>['Mon',&nbsp;'Tue',&nbsp;'Wed',&nbsp;'Thu',&nbsp;'Fri',&nbsp;'Sat',<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="-1">-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="address_string"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">address_string</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Return the client address formatted for logging.</p>
+  This version looks up the full hostname using gethostbyaddr(), and 
+  tries to find a name that contains at least one dot.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="date_time_string"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">date_time_string</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Return the current date and time formatted for a message header.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="end_headers"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">end_headers</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Send the blank line ending the MIME headers.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="handle"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">handle</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Handle multiple requests if necessary.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="SocketServer.BaseRequestHandler-class.html#handle"><code>SocketServer.BaseRequestHandler.handle</code></a></dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+
+<a name="handle_one_request"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">handle_one_request</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Handle a single HTTP request.</p>
+  You normally don't need to override this method; see the class 
+  __doc__ string for information on how to handle specific HTTP commands 
+  such as GET and POST.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="log_date_time_string"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">log_date_time_string</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Return the current time formatted for logging.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="log_error"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">log_error</span>(<span class=sig-arg>self</span>,
+          <span class="sig-vararg">*args</span>)</span>
+  </h3>
+  <p>Log an error.</p>
+  <p>This is called when a request cannot be fulfilled. By default it 
+  passes the message on to log_message().</p>
+  <p>Arguments are the same as for log_message().</p>
+  XXX This should go to the separate error log.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="log_message"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">log_message</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>format</span>,
+          <span class="sig-vararg">*args</span>)</span>
+  </h3>
+  <p>Log an arbitrary message.</p>
+  <p>This is used by all other logging functions. Override it if you have 
+  specific logging wishes.</p>
+  <p>The first argument, FORMAT, is a format string for the message to be 
+  logged. If the format string contains any % escapes requiring 
+  parameters, they should be specified as subsequent arguments (it's just 
+  like printf!).</p>
+  The client host and current date/time are prefixed to every 
+  message.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="log_request"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">log_request</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>code</span>=<span class=sig-default>'-'</span>,
+          <span class=sig-arg>size</span>=<span class=sig-default>'-'</span>)</span>
+  </h3>
+  <p>Log an accepted request.</p>
+  This is called by send_reponse().
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="parse_request"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">parse_request</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Parse a request (internal).</p>
+  <p>The request should be stored in self.raw_requestline; the results 
+  are in self.command, self.path, self.request_version and 
+  self.headers.</p>
+  Return True for success, False for failure; on failure, an error is 
+  sent back.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="send_error"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">send_error</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>code</span>,
+          <span class=sig-arg>message</span>=<span class=sig-default>None</span>)</span>
+  </h3>
+  <p>Send and log an error reply.</p>
+  <p>Arguments are the error code, and a detailed message. The detailed 
+  message defaults to the short entry matching the response code.</p>
+  This sends an error response (so it must be called before any output 
+  has been generated), logs the error, and finally sends a piece of HTML 
+  explaining the error to the user.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="send_header"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">send_header</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>keyword</span>,
+          <span class=sig-arg>value</span>)</span>
+  </h3>
+  Send a MIME header.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="send_response"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">send_response</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>code</span>,
+          <span class=sig-arg>message</span>=<span class=sig-default>None</span>)</span>
+  </h3>
+  <p>Send the response header and log the response code.</p>
+  Also send two standard headers with the server software version and 
+  the current date.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="version_string"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">version_string</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Return the server software version string.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Class Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="error_message_format"></a>
+<h3>error_message_format</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>str</code>
+
+      </dd>
+<span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+<span class="variable-quote">'''</span>&lt;head&gt;
+&lt;title&gt;Error response&lt;/title&gt;
+&lt;/head&gt;
+&lt;body&gt;
+&lt;h1&gt;Error response&lt;/h1&gt;
+&lt;p&gt;Error code %(code)d.
+&lt;p&gt;Message: %(message)s.
+&lt;p&gt;Error code explanation: %(code)s = %(explain)s.
+<span class="variable-ellipsis">...</span>                                                                    </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="monthname"></a>
+<h3>monthname</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>list</code>
+
+      </dd>
+<span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug']         </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="protocol_version"></a>
+<h3>protocol_version</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>str</code>
+
+      </dd>
+<span title="'HTTP/1.0'">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+<span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span>                                                             </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="responses"></a>
+<h3>responses</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>dict</code>
+
+      </dd>
+<span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '...">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+{100: ('Continue', 'Request received, please continue'),
+ 101: ('Switching Protocols',
+       'Switching to new protocol; obey Upgrade header'),
+ 200: ('OK', 'Request fulfilled, document follows'),
+ 201: ('Created', 'Document created, URL follows'),
+ 202: ('Accepted', 'Request accepted, processing continues off-line'),
+ 203: ('Non-Authoritative Information', 'Request fulfilled from cache'<span class="variable-linewrap">\</span>
+),
+<span class="variable-ellipsis">...</span>                                                                    </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="server_version"></a>
+<h3>server_version</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>str</code>
+
+      </dd>
+<span title="'BaseHTTP/0.3'">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+<span class="variable-quote">'</span>BaseHTTP/0.3<span class="variable-quote">'</span>                                                         </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="sys_version"></a>
+<h3>sys_version</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>str</code>
+
+      </dd>
+<span title="'Python/2.3.4'">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+<span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span>                                                         </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="weekdayname"></a>
+<h3>weekdayname</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>list</code>
+
+      </dd>
+<span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']                      </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/BaseHTTPServer.HTTPServer-class.html b/apps/sam/python/doc/epydoc/html/public/BaseHTTPServer.HTTPServer-class.html
new file mode 100644
index 0000000000..04dee65bbc
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/BaseHTTPServer.HTTPServer-class.html
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>BaseHTTPServer.HTTPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;BaseHTTPServer ::
+        Class&nbsp;HTTPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/BaseHTTPServer.HTTPServer-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="BaseHTTPServer.HTTPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class HTTPServer</h2>
+
+<pre class="base-tree">
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+    
+             |    
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
+                 |
+                <b>HTTPServer</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.BaseHTTPServer.HTTPServer-class.html"><code>HTTPServer</code></a></dd></dl>
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.HTTPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Override server_bind to store the server name.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>server_address</span>,
+          <span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
+<br />
+Constructor.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#close_request" class="summary-sig-name"><code>close_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>)</span></code>
+<br />
+Called to clean up an individual request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return socket file number.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the request and client address from the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_activate" class="summary-sig-name"><code>server_activate</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to activate the server.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_close" class="summary-sig-name"><code>server_close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called to clean-up the server.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="BaseHTTPServer.HTTPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="server_bind"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">server_bind</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Override server_bind to store the server name.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="SocketServer.TCPServer-class.html#server_bind"><code>SocketServer.TCPServer.server_bind</code></a></dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Class Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="allow_reuse_address"></a>
+<h3>allow_reuse_address</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>int</code>
+
+      </dd>
+<span title="1">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/CGIHTTPServer.CGIHTTPRequestHandler-class.html b/apps/sam/python/doc/epydoc/html/public/CGIHTTPServer.CGIHTTPRequestHandler-class.html
new file mode 100644
index 0000000000..29f15f7bbb
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/CGIHTTPServer.CGIHTTPRequestHandler-class.html
@@ -0,0 +1,466 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>CGIHTTPServer.CGIHTTPRequestHandler</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;CGIHTTPServer ::
+        Class&nbsp;CGIHTTPRequestHandler
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/CGIHTTPServer.CGIHTTPRequestHandler-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class CGIHTTPRequestHandler</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+            
+                     |            
+  <a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+        
+                         |        
+    <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a> --+    
+                             |    
+      <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a> --+
+                                 |
+                                <b>CGIHTTPRequestHandler</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPRequestHandler</code></a></dd></dl>
+
+<hr/>
+
+<p>Complete HTTP server with GET, HEAD and POST commands.</p>
+<p>GET and HEAD also support running CGI scripts.</p>
+The POST command is *only* implemented for CGI scripts.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#do_POST" class="summary-sig-name"><code>do_POST</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Serve a POST request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_cgi" class="summary-sig-name"><code>is_cgi</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Test whether self.path corresponds to a CGI script.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_executable" class="summary-sig-name"><code>is_executable</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Test whether argument path is an executable file.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_python" class="summary-sig-name"><code>is_python</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Test whether argument path is a Python script.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#run_cgi" class="summary-sig-name"><code>run_cgi</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Execute a CGI script.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#send_head" class="summary-sig-name"><code>send_head</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Version of send_head that support CGI scripts</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from SimpleHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#copyfile" class="summary-sig-name"><code>copyfile</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>source</span>,
+          <span class=summary-sig-arg>outputfile</span>)</span></code>
+<br />
+Copy all data between two file objects.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_GET" class="summary-sig-name"><code>do_GET</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Serve a GET request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_HEAD" class="summary-sig-name"><code>do_HEAD</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Serve a HEAD request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#guess_type" class="summary-sig-name"><code>guess_type</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Guess the type of a file.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#list_directory" class="summary-sig-name"><code>list_directory</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Helper to produce a directory listing (absent index.html).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#translate_path" class="summary-sig-name"><code>translate_path</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Translate a /-separated PATH to the local filename syntax.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string" class="summary-sig-name"><code>address_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the client address formatted for logging.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string" class="summary-sig-name"><code>date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the current date and time formatted for a message header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers" class="summary-sig-name"><code>end_headers</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Send the blank line ending the MIME headers.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle multiple requests if necessary.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request" class="summary-sig-name"><code>handle_one_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle a single HTTP request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string" class="summary-sig-name"><code>log_date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the current time formatted for logging.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error" class="summary-sig-name"><code>log_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-vararg">*args</span>)</span></code>
+<br />
+Log an error.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message" class="summary-sig-name"><code>log_message</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>format</span>,
+          <span class="summary-sig-vararg">*args</span>)</span></code>
+<br />
+Log an arbitrary message.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request" class="summary-sig-name"><code>log_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>size</span>)</span></code>
+<br />
+Log an accepted request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request" class="summary-sig-name"><code>parse_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Parse a request (internal).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error" class="summary-sig-name"><code>send_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>message</span>)</span></code>
+<br />
+Send and log an error reply.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header" class="summary-sig-name"><code>send_header</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>keyword</span>,
+          <span class=summary-sig-arg>value</span>)</span></code>
+<br />
+Send a MIME header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response" class="summary-sig-name"><code>send_response</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>message</span>)</span></code>
+<br />
+Send the response header and log the response code.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string" class="summary-sig-name"><code>version_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the server software version string.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>,
+          <span class=summary-sig-arg>server</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#cgi_directories"><code>cgi_directories</code></a></b> = <span title="['/cgi-bin', '/htbin']"><code>['/cgi-bin',&nbsp;'/htbin']                 </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_fork"><code>have_fork</code></a></b> = <span title="False"><code>False                                        </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen2"><code>have_popen2</code></a></b> = <span title="True"><code>True                                       </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen3"><code>have_popen3</code></a></b> = <span title="True"><code>True                                       </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from SimpleHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
+<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></b> = <span title="{'': 'application/octet-stream', '.obj': 'application/octet-stream', '.ra': 'audio/x-pn-realaudio', '.sgm': 'text/x-sgml', '.texi': 'application/x-texinfo', '.mp2': 'audio/mpeg', '.bin': 'application/octet-stream', '.dll': 'application/octet-stream', '.xpm': 'image/x-xpixmap', '.mpeg': 'video/mpeg', '.ms': 'application/x-troff-ms', '.me': 'application/x-troff-me', '.rtx': 'text/richtext', '.ppt': 'application/vnd.ms-powerpoint', '.ras': 'image/x-cmu-raster', '.pps': 'application/vnd.ms-powerpoint', '.rgb': 'image/x-rgb', '.ram': 'application/x-pn-realaudio', '.ppm': 'image/x-portable-pixmap..."><code>{'':&nbsp;'application/octet-stream',&nbsp;'.obj'<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></b> = <span title="'SimpleHTTP/0.6'"><code><span class="variable-quote">'</span>SimpleHTTP/0.6<span class="variable-quote">'</span>                        </code>
+</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></b> = <span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"><code><span class="variable-quote">'</span>&lt;head&gt;\n&lt;title&gt;Error&nbsp;response&lt;/t<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></b> = <span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"><code>[None,&nbsp;'Jan',&nbsp;'Feb',&nbsp;'Mar',&nbsp;'Apr',&nbsp;'May',&nbsp;'J<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></b> = <span title="'HTTP/1.0'"><code><span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span>                            </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></b> = <span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '..."><code>{400:&nbsp;('Bad&nbsp;request',&nbsp;'Bad&nbsp;request&nbsp;syntax&nbsp;or<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></b> = <span title="'Python/2.3.4'"><code><span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span>                             </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></b> = <span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"><code>['Mon',&nbsp;'Tue',&nbsp;'Wed',&nbsp;'Thu',&nbsp;'Fri',&nbsp;'Sat',<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="do_POST"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">do_POST</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Serve a POST request.</p>
+  This is only implemented for CGI scripts.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="is_cgi"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">is_cgi</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Test whether self.path corresponds to a CGI script.</p>
+  <p>Return a tuple (dir, rest) if self.path requires running a CGI 
+  script, None if not. Note that rest begins with a slash if it is not 
+  empty.</p>
+  The default implementation tests whether the path begins with one of 
+  the strings in the list self.cgi_directories (and the next character is 
+  a '/' or the end of the string).
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="is_executable"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">is_executable</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>path</span>)</span>
+  </h3>
+  Test whether argument path is an executable file.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="is_python"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">is_python</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>path</span>)</span>
+  </h3>
+  Test whether argument path is a Python script.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="run_cgi"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">run_cgi</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Execute a CGI script.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="send_head"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">send_head</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Version of send_head that support CGI scripts
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#send_head"><code>SimpleHTTPServer.SimpleHTTPRequestHandler.send_head</code></a></dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Class Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="cgi_directories"></a>
+<h3>cgi_directories</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>list</code>
+
+      </dd>
+<span title="['/cgi-bin', '/htbin']">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+['/cgi-bin', '/htbin']                                                 </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="have_fork"></a>
+<h3>have_fork</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>bool</code>
+
+      </dd>
+<span title="False">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+False                                                                  </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="have_popen2"></a>
+<h3>have_popen2</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>bool</code>
+
+      </dd>
+<span title="True">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+True                                                                   </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="have_popen3"></a>
+<h3>have_popen3</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>bool</code>
+
+      </dd>
+<span title="True">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+True                                                                   </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="rbufsize"></a>
+<h3>rbufsize</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>int</code>
+
+      </dd>
+<span title="0">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/SimpleHTTPServer.SimpleHTTPRequestHandler-class.html b/apps/sam/python/doc/epydoc/html/public/SimpleHTTPServer.SimpleHTTPRequestHandler-class.html
new file mode 100644
index 0000000000..49948b0643
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/SimpleHTTPServer.SimpleHTTPRequestHandler-class.html
@@ -0,0 +1,405 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>SimpleHTTPServer.SimpleHTTPRequestHandler</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;SimpleHTTPServer ::
+        Class&nbsp;SimpleHTTPRequestHandler
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/SimpleHTTPServer.SimpleHTTPRequestHandler-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class SimpleHTTPRequestHandler</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+        
+                     |        
+  <a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+    
+                         |    
+    <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a> --+
+                             |
+                            <b>SimpleHTTPRequestHandler</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPRequestHandler</code></a>,
+    <a href="i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a></dd></dl>
+
+<hr/>
+
+<p>Simple HTTP request handler with GET and HEAD commands.</p>
+<p>This serves files from the current directory and any of its 
+subdirectories. It assumes that all files are plain text files unless 
+they have the extension &quot;.html&quot; in which case it assumes they 
+are HTML files.</p>
+The GET and HEAD requests are identical except that the HEAD request 
+omits the actual contents of the file.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#copyfile" class="summary-sig-name"><code>copyfile</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>source</span>,
+          <span class=summary-sig-arg>outputfile</span>)</span></code>
+<br />
+Copy all data between two file objects.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_GET" class="summary-sig-name"><code>do_GET</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Serve a GET request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_HEAD" class="summary-sig-name"><code>do_HEAD</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Serve a HEAD request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#guess_type" class="summary-sig-name"><code>guess_type</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Guess the type of a file.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#list_directory" class="summary-sig-name"><code>list_directory</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Helper to produce a directory listing (absent index.html).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#send_head" class="summary-sig-name"><code>send_head</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Common code for GET and HEAD commands.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#translate_path" class="summary-sig-name"><code>translate_path</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Translate a /-separated PATH to the local filename syntax.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string" class="summary-sig-name"><code>address_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the client address formatted for logging.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string" class="summary-sig-name"><code>date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the current date and time formatted for a message header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers" class="summary-sig-name"><code>end_headers</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Send the blank line ending the MIME headers.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle multiple requests if necessary.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request" class="summary-sig-name"><code>handle_one_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle a single HTTP request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string" class="summary-sig-name"><code>log_date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the current time formatted for logging.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error" class="summary-sig-name"><code>log_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-vararg">*args</span>)</span></code>
+<br />
+Log an error.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message" class="summary-sig-name"><code>log_message</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>format</span>,
+          <span class="summary-sig-vararg">*args</span>)</span></code>
+<br />
+Log an arbitrary message.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request" class="summary-sig-name"><code>log_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>size</span>)</span></code>
+<br />
+Log an accepted request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request" class="summary-sig-name"><code>parse_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Parse a request (internal).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error" class="summary-sig-name"><code>send_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>message</span>)</span></code>
+<br />
+Send and log an error reply.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header" class="summary-sig-name"><code>send_header</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>keyword</span>,
+          <span class=summary-sig-arg>value</span>)</span></code>
+<br />
+Send a MIME header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response" class="summary-sig-name"><code>send_response</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>message</span>)</span></code>
+<br />
+Send the response header and log the response code.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string" class="summary-sig-name"><code>version_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the server software version string.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>,
+          <span class=summary-sig-arg>server</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
+<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></b> = <span title="{'': 'application/octet-stream', '.obj': 'application/octet-stream', '.ra': 'audio/x-pn-realaudio', '.sgm': 'text/x-sgml', '.texi': 'application/x-texinfo', '.mp2': 'audio/mpeg', '.bin': 'application/octet-stream', '.dll': 'application/octet-stream', '.xpm': 'image/x-xpixmap', '.mpeg': 'video/mpeg', '.ms': 'application/x-troff-ms', '.me': 'application/x-troff-me', '.rtx': 'text/richtext', '.ppt': 'application/vnd.ms-powerpoint', '.ras': 'image/x-cmu-raster', '.pps': 'application/vnd.ms-powerpoint', '.rgb': 'image/x-rgb', '.ram': 'application/x-pn-realaudio', '.ppm': 'image/x-portable-pixmap..."><code>{'':&nbsp;'application/octet-stream',&nbsp;'.obj'<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></b> = <span title="'SimpleHTTP/0.6'"><code><span class="variable-quote">'</span>SimpleHTTP/0.6<span class="variable-quote">'</span>                        </code>
+</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></b> = <span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"><code><span class="variable-quote">'</span>&lt;head&gt;\n&lt;title&gt;Error&nbsp;response&lt;/t<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></b> = <span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"><code>[None,&nbsp;'Jan',&nbsp;'Feb',&nbsp;'Mar',&nbsp;'Apr',&nbsp;'May',&nbsp;'J<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></b> = <span title="'HTTP/1.0'"><code><span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span>                            </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></b> = <span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '..."><code>{400:&nbsp;('Bad&nbsp;request',&nbsp;'Bad&nbsp;request&nbsp;syntax&nbsp;or<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></b> = <span title="'Python/2.3.4'"><code><span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span>                             </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></b> = <span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"><code>['Mon',&nbsp;'Tue',&nbsp;'Wed',&nbsp;'Thu',&nbsp;'Fri',&nbsp;'Sat',<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="-1">-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="copyfile"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">copyfile</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>source</span>,
+          <span class=sig-arg>outputfile</span>)</span>
+  </h3>
+  <p>Copy all data between two file objects.</p>
+  <p>The SOURCE argument is a file object open for reading (or anything 
+  with a read() method) and the DESTINATION argument is a file object 
+  open for writing (or anything with a write() method).</p>
+  The only reason for overriding this would be to change the block 
+  size or perhaps to replace newlines by CRLF -- note however that this 
+  the default server uses this to copy binary data as well.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="do_GET"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">do_GET</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Serve a GET request.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="do_HEAD"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">do_HEAD</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Serve a HEAD request.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="guess_type"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">guess_type</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>path</span>)</span>
+  </h3>
+  <p>Guess the type of a file.</p>
+  <p>Argument is a PATH (a filename).</p>
+  <p>Return value is a string of the form type/subtype, usable for a MIME 
+  Content-type header.</p>
+  The default implementation looks the file's extension up in the 
+  table self.extensions_map, using text/plain as a default; however it 
+  would be permissible (if slow) to look inside the data to make a better 
+  guess.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="list_directory"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">list_directory</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>path</span>)</span>
+  </h3>
+  <p>Helper to produce a directory listing (absent index.html).</p>
+  Return value is either a file object, or None (indicating an error). 
+  In either case, the headers are sent, making the interface the same as 
+  for send_head().
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="send_head"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">send_head</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Common code for GET and HEAD commands.</p>
+  <p>This sends the response code and MIME headers.</p>
+  Return value is either a file object (which has to be copied to the 
+  outputfile by the caller unless the command was HEAD, and must be 
+  closed by the caller under all circumstances), or None, in which case 
+  the caller has nothing further to do.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="translate_path"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">translate_path</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>path</span>)</span>
+  </h3>
+  <p>Translate a /-separated PATH to the local filename syntax.</p>
+  Components that mean special things to the local file system (e.g. 
+  drive or directory names) are ignored. (XXX They should probably be 
+  diagnosed.)
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Class Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="extensions_map"></a>
+<h3>extensions_map</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>dict</code>
+
+      </dd>
+<span title="{'': 'application/octet-stream', '.obj': 'application/octet-stream', '.ra': 'audio/x-pn-realaudio', '.sgm': 'text/x-sgml', '.texi': 'application/x-texinfo', '.mp2': 'audio/mpeg', '.bin': 'application/octet-stream', '.dll': 'application/octet-stream', '.xpm': 'image/x-xpixmap', '.mpeg': 'video/mpeg', '.ms': 'application/x-troff-ms', '.me': 'application/x-troff-me', '.rtx': 'text/richtext', '.ppt': 'application/vnd.ms-powerpoint', '.ras': 'image/x-cmu-raster', '.pps': 'application/vnd.ms-powerpoint', '.rgb': 'image/x-rgb', '.ram': 'application/x-pn-realaudio', '.ppm': 'image/x-portable-pixmap...">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+{'': 'application/octet-stream',
+ '.bin': 'application/octet-stream',
+ '.dll': 'application/octet-stream',
+ '.mp2': 'audio/mpeg',
+ '.obj': 'application/octet-stream',
+ '.ra': 'audio/x-pn-realaudio',
+ '.sgm': 'text/x-sgml',
+ '.texi': 'application/x-texinfo',
+<span class="variable-ellipsis">...</span>                                                                    </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="server_version"></a>
+<h3>server_version</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>str</code>
+
+      </dd>
+<span title="'SimpleHTTP/0.6'">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+<span class="variable-quote">'</span>SimpleHTTP/0.6<span class="variable-quote">'</span>                                                       </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/SocketServer.BaseRequestHandler-class.html b/apps/sam/python/doc/epydoc/html/public/SocketServer.BaseRequestHandler-class.html
new file mode 100644
index 0000000000..96ab88ed7f
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/SocketServer.BaseRequestHandler-class.html
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>SocketServer.BaseRequestHandler</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;SocketServer ::
+        Class&nbsp;BaseRequestHandler
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/SocketServer.BaseRequestHandler-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SocketServer.BaseRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class BaseRequestHandler</h2>
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a>,
+    <a href="SocketServer.DatagramRequestHandler-class.html"><code>DatagramRequestHandler</code></a>,
+    <a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a></dd></dl>
+
+<hr/>
+
+<p>Base class for request handler classes.</p>
+<p>This class is instantiated for each request to be handled. The 
+constructor sets the instance variables request, client_address and 
+server, and then calls the handle() method. To implement a specific 
+service, all you need to do is to derive a class which defines a handle() 
+method.</p>
+The handle() method can find the request as self.request, the client 
+address as self.client_address, and the server (in case it needs access 
+to per-server information) as self.server. Since a separate instance is 
+created for each request, the handle() method can define arbitrary other 
+instance variariables.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>,
+          <span class=summary-sig-arg>server</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="finish"></a><span class="summary-sig"><span class="summary-sig-name">finish</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="handle"></a><span class="summary-sig"><span class="summary-sig-name">handle</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="setup"></a><span class="summary-sig"><span class="summary-sig-name">setup</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/SocketServer.DatagramRequestHandler-class.html b/apps/sam/python/doc/epydoc/html/public/SocketServer.DatagramRequestHandler-class.html
new file mode 100644
index 0000000000..590633df2d
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/SocketServer.DatagramRequestHandler-class.html
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>SocketServer.DatagramRequestHandler</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;SocketServer ::
+        Class&nbsp;DatagramRequestHandler
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/SocketServer.DatagramRequestHandler-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SocketServer.DatagramRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class DatagramRequestHandler</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+
+                     |
+                    <b>DatagramRequestHandler</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.SocketServer.DatagramRequestHandler-class.html"><code>DatagramRequestHandler</code></a></dd></dl>
+
+<hr/>
+
+Define self.rfile and self.wfile for datagram sockets.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="finish"></a><span class="summary-sig"><span class="summary-sig-name">finish</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="setup"></a><span class="summary-sig"><span class="summary-sig-name">setup</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>,
+          <span class=summary-sig-arg>server</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/SocketServer.ForkingMixIn-class.html b/apps/sam/python/doc/epydoc/html/public/SocketServer.ForkingMixIn-class.html
new file mode 100644
index 0000000000..2f27f85ecf
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/SocketServer.ForkingMixIn-class.html
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>SocketServer.ForkingMixIn</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;SocketServer ::
+        Class&nbsp;ForkingMixIn
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/SocketServer.ForkingMixIn-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SocketServer.ForkingMixIn-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class ForkingMixIn</h2>
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a></dd></dl>
+
+<hr/>
+
+Mix-in class to handle each request in a new process.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ForkingMixIn-class.html#collect_children" class="summary-sig-name"><code>collect_children</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Internal routine to wait for died children.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ForkingMixIn-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Fork a new subprocess to process the request.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>NoneType</code></font></td>
+<td><b><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></b> = <span title="None">None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></b> = <span title="40">40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="collect_children"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">collect_children</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Internal routine to wait for died children.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="process_request"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">process_request</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>request</span>,
+          <span class=sig-arg>client_address</span>)</span>
+  </h3>
+  Fork a new subprocess to process the request.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Class Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="active_children"></a>
+<h3>active_children</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>NoneType</code>
+
+      </dd>
+<span title="None">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="max_children"></a>
+<h3>max_children</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>int</code>
+
+      </dd>
+<span title="40">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/SocketServer.StreamRequestHandler-class.html b/apps/sam/python/doc/epydoc/html/public/SocketServer.StreamRequestHandler-class.html
new file mode 100644
index 0000000000..de7d07a3b2
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/SocketServer.StreamRequestHandler-class.html
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>SocketServer.StreamRequestHandler</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;SocketServer ::
+        Class&nbsp;StreamRequestHandler
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/SocketServer.StreamRequestHandler-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SocketServer.StreamRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class StreamRequestHandler</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+
+                     |
+                    <b>StreamRequestHandler</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a>,
+    <a href="i2p.SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a></dd></dl>
+
+<hr/>
+
+Define self.rfile and self.wfile for stream sockets.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="finish"></a><span class="summary-sig"><span class="summary-sig-name">finish</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="setup"></a><span class="summary-sig"><span class="summary-sig-name">setup</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>,
+          <span class=summary-sig-arg>server</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="-1">-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Class Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="rbufsize"></a>
+<h3>rbufsize</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>int</code>
+
+      </dd>
+<span title="-1">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="wbufsize"></a>
+<h3>wbufsize</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>int</code>
+
+      </dd>
+<span title="0">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/SocketServer.TCPServer-class.html b/apps/sam/python/doc/epydoc/html/public/SocketServer.TCPServer-class.html
new file mode 100644
index 0000000000..59fbc55d86
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/SocketServer.TCPServer-class.html
@@ -0,0 +1,349 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>SocketServer.TCPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;SocketServer ::
+        Class&nbsp;TCPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/SocketServer.TCPServer-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SocketServer.TCPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class TCPServer</h2>
+
+<pre class="base-tree">
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+
+             |
+            <b>TCPServer</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="BaseHTTPServer.HTTPServer-class.html"><code>HTTPServer</code></a>,
+    <a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a>,
+    <a href="SocketServer.UDPServer-class.html"><code>UDPServer</code></a></dd></dl>
+
+<hr/>
+
+<pre class="literalblock">
+Base class for various socket-based server classes.
+
+Defaults to synchronous IP stream (i.e., TCP).
+
+Methods for the caller:
+
+- __init__(server_address, RequestHandlerClass)
+- serve_forever()
+- handle_request()  # if you don't use serve_forever()
+- fileno() -&gt; int   # for select()
+
+Methods that may be overridden:
+
+- server_bind()
+- server_activate()
+- get_request() -&gt; request, client_address
+- verify_request(request, client_address)
+- process_request(request, client_address)
+- close_request(request)
+- handle_error()
+
+Methods for derived classes:
+
+- finish_request(request, client_address)
+
+Class variables that may be overridden by derived classes or
+instances:
+
+- address_family
+- socket_type
+- request_queue_size (only for stream sockets)
+- allow_reuse_address
+
+Instance variables:
+
+- server_address
+- RequestHandlerClass
+- socket
+</pre>
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>server_address</span>,
+          <span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
+<br />
+Constructor.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#close_request" class="summary-sig-name"><code>close_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>)</span></code>
+<br />
+Called to clean up an individual request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return socket file number.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the request and client address from the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_activate" class="summary-sig-name"><code>server_activate</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to activate the server.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to bind the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_close" class="summary-sig-name"><code>server_close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called to clean-up the server.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False                              </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="__init__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__init__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>server_address</span>,
+          <span class=sig-arg>RequestHandlerClass</span>)</span>
+    <br /><i>(Constructor)</i>
+  </h3>
+  Constructor. May be extended, do not override.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="..\private\SocketServer.BaseServer-class.html#__init__"><code>SocketServer.BaseServer.__init__</code></a></dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+
+<a name="close_request"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">close_request</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>request</span>)</span>
+  </h3>
+  Called to clean up an individual request.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="..\private\SocketServer.BaseServer-class.html#close_request"><code>SocketServer.BaseServer.close_request</code></a></dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+
+<a name="fileno"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">fileno</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Return socket file number.</p>
+  Interface required by select().
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="get_request"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">get_request</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Get the request and client address from the socket.</p>
+  May be overridden.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="server_activate"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">server_activate</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Called by constructor to activate the server.</p>
+  May be overridden.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="..\private\SocketServer.BaseServer-class.html#server_activate"><code>SocketServer.BaseServer.server_activate</code></a></dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+
+<a name="server_bind"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">server_bind</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Called by constructor to bind the socket.</p>
+  May be overridden.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="server_close"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">server_close</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Called to clean-up the server.</p>
+  May be overridden.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="..\private\SocketServer.BaseServer-class.html#server_close"><code>SocketServer.BaseServer.server_close</code></a></dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Class Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="address_family"></a>
+<h3>address_family</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>int</code>
+
+      </dd>
+<span title="2">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="allow_reuse_address"></a>
+<h3>allow_reuse_address</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>bool</code>
+
+      </dd>
+<span title="False">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+False                                                                  </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="request_queue_size"></a>
+<h3>request_queue_size</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>int</code>
+
+      </dd>
+<span title="5">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="socket_type"></a>
+<h3>socket_type</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>int</code>
+
+      </dd>
+<span title="1">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/SocketServer.ThreadingMixIn-class.html b/apps/sam/python/doc/epydoc/html/public/SocketServer.ThreadingMixIn-class.html
new file mode 100644
index 0000000000..609abd5b7a
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/SocketServer.ThreadingMixIn-class.html
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>SocketServer.ThreadingMixIn</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;SocketServer ::
+        Class&nbsp;ThreadingMixIn
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/SocketServer.ThreadingMixIn-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SocketServer.ThreadingMixIn-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class ThreadingMixIn</h2>
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a></dd></dl>
+
+<hr/>
+
+Mix-in class to handle each request in a new thread.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ThreadingMixIn-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Start a new thread to process the request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ThreadingMixIn-class.html#process_request_thread" class="summary-sig-name"><code>process_request_thread</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Same as in BaseServer but as a thread.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></b> = <span title="False"><code>False                                   </code>
+</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="process_request"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">process_request</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>request</span>,
+          <span class=sig-arg>client_address</span>)</span>
+  </h3>
+  Start a new thread to process the request.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="process_request_thread"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">process_request_thread</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>request</span>,
+          <span class=sig-arg>client_address</span>)</span>
+  </h3>
+  <p>Same as in BaseServer but as a thread.</p>
+  In addition, exception handling is done here.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Class Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="daemon_threads"></a>
+<h3>daemon_threads</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>bool</code>
+
+      </dd>
+<span title="False">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+False                                                                  </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/SocketServer.UDPServer-class.html b/apps/sam/python/doc/epydoc/html/public/SocketServer.UDPServer-class.html
new file mode 100644
index 0000000000..20ea278085
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/SocketServer.UDPServer-class.html
@@ -0,0 +1,254 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>SocketServer.UDPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;SocketServer ::
+        Class&nbsp;UDPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/SocketServer.UDPServer-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SocketServer.UDPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class UDPServer</h2>
+
+<pre class="base-tree">
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+    
+             |    
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
+                 |
+                <b>UDPServer</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.SocketServer.UDPServer-class.html"><code>UDPServer</code></a></dd></dl>
+
+<hr/>
+
+UDP server class.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.UDPServer-class.html#close_request" class="summary-sig-name"><code>close_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>)</span></code>
+<br />
+Called to clean up an individual request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.UDPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the request and client address from the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.UDPServer-class.html#server_activate" class="summary-sig-name"><code>server_activate</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to activate the server.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>server_address</span>,
+          <span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
+<br />
+Constructor.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return socket file number.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to bind the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_close" class="summary-sig-name"><code>server_close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called to clean-up the server.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False                              </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></b> = <span title="8192">8192&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.UDPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="close_request"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">close_request</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>request</span>)</span>
+  </h3>
+  Called to clean up an individual request.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="SocketServer.TCPServer-class.html#close_request"><code>SocketServer.TCPServer.close_request</code></a> <i>(inherited documentation)</i>
+</dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+
+<a name="get_request"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">get_request</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Get the request and client address from the socket.</p>
+  May be overridden.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="SocketServer.TCPServer-class.html#get_request"><code>SocketServer.TCPServer.get_request</code></a> <i>(inherited documentation)</i>
+</dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+
+<a name="server_activate"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">server_activate</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Called by constructor to activate the server.</p>
+  May be overridden.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="SocketServer.TCPServer-class.html#server_activate"><code>SocketServer.TCPServer.server_activate</code></a> <i>(inherited documentation)</i>
+</dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Class Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="allow_reuse_address"></a>
+<h3>allow_reuse_address</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>bool</code>
+
+      </dd>
+<span title="False">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+False                                                                  </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="max_packet_size"></a>
+<h3>max_packet_size</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>int</code>
+
+      </dd>
+<span title="8192">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+8192&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="socket_type"></a>
+<h3>socket_type</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>int</code>
+
+      </dd>
+<span title="2">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/epydoc.css b/apps/sam/python/doc/epydoc/html/public/epydoc.css
new file mode 100644
index 0000000000..46080bd0d5
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/epydoc.css
@@ -0,0 +1,100 @@
+
+/* Body color */ 
+body               { background: #ffffff; color: #000000; } 
+ 
+/* Tables */ 
+table.summary, table.details, table.index
+                   { background: #e8f0f8; color: #000000; } 
+tr.summary, tr.details, tr.index
+                   { background: #70b0f0; color: #000000;  
+                     text-align: left; font-size: 120%; } 
+tr.group           { background: #c0e0f8; color: #000000;
+                     text-align: left; font-size: 120%;
+                     font-style: italic; } 
+
+/* Documentation page titles */
+h2.module          { margin-top: 0.2em; }
+h2.class           { margin-top: 0.2em; }
+ 
+/* Headings */
+h1.heading         { font-size: +140%; font-style: italic;
+                     font-weight: bold; }
+h2.heading         { font-size: +125%; font-style: italic;
+                     font-weight: bold; }
+h3.heading         { font-size: +110%; font-style: italic;
+                     font-weight: normal; }
+                    
+/* Base tree */
+pre.base-tree      { font-size: 80%; margin: 0; }
+
+/* Details Sections */
+table.func-details { background: #e8f0f8; color: #000000;
+                     border: 2px groove #c0d0d0;
+                     padding: 0 1em 0 1em; margin: 0.4em 0 0 0; }
+h3.func-detail     { background: transparent; color: #000000;
+                     margin: 0 0 1em 0; }
+
+table.var-details  { background: #e8f0f8; color: #000000;
+                     border: 2px groove #c0d0d0;
+                     padding: 0 1em 0 1em; margin: 0.4em 0 0 0; }
+h3.var-details     { background: transparent; color: #000000;
+                     margin: 0 0 1em 0; }
+
+/* Function signatures */
+.sig               { background: transparent; color: #000000;
+                     font-weight: bold; }  
+.sig-name          { background: transparent; color: #006080; }  
+.sig-arg, .sig-kwarg, .sig-vararg
+                   { background: transparent; color: #008060; }  
+.sig-default       { background: transparent; color: #602000; }  
+.summary-sig       { background: transparent; color: #000000; }  
+.summary-sig-name  { background: transparent; color: #204080; }
+.summary-sig-arg, .summary-sig-kwarg, .summary-sig-vararg
+                   { background: transparent; color: #008060; }  
+
+/* Doctest blocks */
+.py-src            { background: transparent; color: #000000; }
+.py-prompt         { background: transparent; color: #005050;
+                     font-weight: bold;}
+.py-string         { background: transparent; color: #006030; }
+.py-comment        { background: transparent; color: #003060; }
+.py-keyword        { background: transparent; color: #600000; }
+.py-output         { background: transparent; color: #404040; }
+pre.doctestblock   { background: #f4faff; color: #000000; 
+                     padding: .5em; margin: 1em;
+                     border: 1px solid #708890; }
+table pre.doctestblock
+                   { background: #dce4ec; color: #000000; 
+                     padding: .5em; margin: 1em;
+                     border: 1px solid #708890; }
+
+/* Variable values */
+pre.variable       { background: #dce4ec; color: #000000;
+                     padding: .5em; margin: 0;
+                     border: 1px solid #708890; }
+.variable-linewrap { background: transparent; color: #604000; }
+.variable-ellipsis { background: transparent; color: #604000; }
+.variable-quote    { background: transparent; color: #604000; }
+.re                { background: transparent; color: #000000; }
+.re-char           { background: transparent; color: #006030; }
+.re-op             { background: transparent; color: #600000; }
+.re-group          { background: transparent; color: #003060; }
+.re-ref            { background: transparent; color: #404040; }
+
+/* Navigation bar */ 
+table.navbar       { background: #a0c0ff; color: #0000ff;
+                     border: 2px groove #c0d0d0; }
+th.navbar          { background: #a0c0ff; color: #0000ff; } 
+th.navselect       { background: #70b0ff; color: #000000; } 
+.nomargin          { margin: 0; }
+
+/* Links */ 
+a:link             { background: transparent; color: #0000ff; }  
+a:visited          { background: transparent; color: #204080; }  
+a.navbar:link      { background: transparent; color: #0000ff; 
+                     text-decoration: none; }  
+a.navbar:visited   { background: transparent; color: #204080; 
+                     text-decoration: none; }  
+
+/* Lists */
+ul { margin-top: 0; }
diff --git a/apps/sam/python/doc/epydoc/html/public/exceptions.Exception-class.html b/apps/sam/python/doc/epydoc/html/public/exceptions.Exception-class.html
new file mode 100644
index 0000000000..84147af7b3
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/exceptions.Exception-class.html
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>exceptions.Exception</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;exceptions ::
+        Class&nbsp;Exception
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/exceptions.Exception-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="exceptions.Exception-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class Exception</h2>
+
+<hr/>
+
+Common base class for all exceptions.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="__getitem__"></a><span class="summary-sig"><span class="summary-sig-name">__getitem__</span>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="__str__"></a><span class="summary-sig"><span class="summary-sig-name">__str__</span>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/frames.html b/apps/sam/python/doc/epydoc/html/public/frames.html
new file mode 100644
index 0000000000..a4d252f7ba
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/frames.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
+<html>
+<head>
+  <title> API Documentation </title>
+</head>
+<frameset cols="20%,80%">
+  <frameset rows="30%,70%">
+    <frame src="toc.html" name="moduleListFrame">
+    <frame src="toc-everything.html" name="moduleFrame">
+  </frameset>
+  <frame src="i2p-module.html" name="mainFrame">
+</frameset>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/help.html b/apps/sam/python/doc/epydoc/html/public/help.html
new file mode 100644
index 0000000000..9549eae0cc
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/help.html
@@ -0,0 +1,224 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Help</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Help&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/help.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="help.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<center><h2> API Documentation </h2></center>
+
+<p> This document contains the API (Application Programming Interface)
+documentation for this project.  Documentation for the Python
+objects defined by the project is divided into separate pages for each
+package, module, and class.  The API documentation also includes two
+pages containing information about the project as a whole: a trees
+page, and an index page.  </p>
+
+<h2> Object Documentation </h2>
+
+  <p>Each <b>Package Documentation</b> page contains: 
+  <ul>
+    <li> A description of the package. </li>
+    <li> A list of the modules and sub-packages contained by the
+    package.  </li>
+    <li> A summary of the classes defined by the package. </li>
+    <li> A summary of the functions defined by the package. </li>
+    <li> A summary of the variables defined by the package. </li>
+    <li> A detailed description of each function defined by the
+    package. </li>
+    <li> A detailed description of each variable defined by the
+    package. </li>
+  </ul></p>
+  
+  <p>Each <b>Module Documentation</b> page contains:
+  <ul>
+    <li> A description of the module. </li>
+    <li> A summary of the classes defined by the module. </li>
+    <li> A summary of the functions defined by the module. </li>
+    <li> A summary of the variables defined by the module. </li>
+    <li> A detailed description of each function defined by the
+    module. </li>
+    <li> A detailed description of each variable defined by the
+    module. </li>
+  </ul></p>
+  
+  <p>Each <b>Class Documentation</b> page contains:
+  <ul>
+    <li> A class inheritance diagram. </li>
+    <li> A list of known subclasses. </li>
+    <li> A description of the class. </li>
+    <li> A summary of the methods defined by the class. </li>
+    <li> A summary of the instance variables defined by the class. </li>
+    <li> A summary of the class (static) variables defined by the
+    class. </li> 
+    <li> A detailed description of each method defined by the
+    class. </li>
+    <li> A detailed description of each instance variable defined by the
+    class. </li> 
+    <li> A detailed description of each class (static) variable defined
+    by the class. </li> 
+  </ul></p>
+
+<h2> Project Documentation </h2>
+
+  <p> The <b>Trees</b> page contains the module and class hierarchies:
+  <ul>
+    <li> The <i>module hierarchy</i> lists every package and module, with
+    modules grouped into packages.  At the top level, and within each
+    package, modules and sub-packages are listed alphabetically. </li>
+    <li> The <i>class hierarchy</i> lists every class, grouped by base
+    class.  If a class has more than one base class, then it will be
+    listed under each base class.  At the top level, and under each base
+    class, classes are listed alphabetically. </li>
+  </ul></p>
+  
+  <p> The <b>Index</b> page contains indices of terms and
+  identifiers: 
+  <ul>
+    <li> The <i>term index</i> lists every term indexed by any object's
+    documentation.  For each term, the index provides links to each
+    place where the term is indexed. </li>
+    <li> The <i>identifier index</i> lists the (short) name of every package,
+    module, class, method, function, variable, and parameter.  For each
+    identifier, the index provides a short description, and a link to
+    its documentation. </li>
+  </ul></p>
+
+<h2> The Table of Contents </h2>
+
+<p> The table of contents occupies the two frames on the left side of
+the window.  The upper-left frame displays the <i>project
+contents</i>, and the lower-left frame displays the <i>module
+contents</i>: </p>
+
+<center>
+<table class="summary" border="1" cellspacing="0" cellpadding="3">
+  <tr heigh="30%">
+    <td align="center">
+       <font size="-1">Project<br>Contents<hr>...</font></td>
+    <td align="center" rowspan="2" width="70%">
+      API<br>Documentation<br>Frame<br><br><br>
+    </td>
+  </tr>
+  <tr>
+    <td align="center">
+      <font size="-1">Module<br>Contents<hr>&nbsp;<br>...<br>&nbsp;</font>
+    </td>
+  </tr>
+</table><br>
+</center>
+
+<p> The <b>project contents frame</b> contains a list of all packages
+and modules that are defined by the project.  Clicking on an entry
+will display its contents in the module contents frame.  Clicking on a
+special entry, labeled "Everything," will display the contents of
+the entire project. </p>
+
+<p> The <b>module contents frame</b> contains a list of every
+submodule, class, type, exception, function, and variable defined by a
+module or package.  Clicking on an entry will display its
+documentation in the API documentation frame.  Clicking on the name of
+the module, at the top of the frame, will display the documentation
+for the module itself. </p>
+
+<p> The "<b>frames</b>" and "<b>no frames</b>" buttons below the top
+navigation bar can be used to control whether the table of contents is
+displayed or not. </p>
+
+<h2> The Navigation Bar </h2>
+
+<p> A navigation bar is located at the top and bottom of every page.
+It indicates what type of page you are currently viewing, and allows
+you to go to related pages.  The following table describes the labels
+on the navigation bar.  Note that not some labels (such as
+[Parent]) are not displayed on all pages. </p>
+
+<table class="summary" border="1" cellspacing="0" cellpadding="3" width="100%">
+<tr class="summary">
+  <th>Label</th>
+  <th>Highlighted when...</th>
+  <th>Links to...</th>
+</tr>
+  <tr><td valign="top"><b>[Parent]</b></td>
+      <td valign="top"><i>(never highlighted)</i></td>
+      <td valign="top"> the parent of the current package </td></tr>
+  <tr><td valign="top"><b>[Package]</b></td>
+      <td valign="top">viewing a package</td>
+      <td valign="top">the package containing the current object
+      </td></tr>
+  <tr><td valign="top"><b>[Module]</b></td>
+      <td valign="top">viewing a module</td>
+      <td valign="top">the module containing the current object
+      </td></tr> 
+  <tr><td valign="top"><b>[Class]</b></td>
+      <td valign="top">viewing a class </td>
+      <td valign="top">the class containing the current object</td></tr>
+  <tr><td valign="top"><b>[Trees]</b></td>
+      <td valign="top">viewing the trees page</td>
+      <td valign="top"> the trees page </td></tr>
+  <tr><td valign="top"><b>[Index]</b></td>
+      <td valign="top">viewing the index page</td>
+      <td valign="top"> the index page </td></tr>
+  <tr><td valign="top"><b>[Help]</b></td>
+      <td valign="top">viewing the help page</td>
+      <td valign="top"> the help page </td></tr>
+</table>
+
+<p> The "<b>show private</b>" and "<b>hide private</b>" buttons below
+the top navigation bar can be used to control whether documentation
+for private objects is displayed.  Private objects are usually defined
+as objects whose (short) names begin with a single underscore, but do
+not end with an underscore.  For example, "<code>_x</code>",
+"<code>__pprint</code>", and "<code>epydoc.epytext._tokenize</code>"
+are private objects; but "<code>re.sub</code>",
+"<code>__init__</code>", and "<code>type_</code>" are not.  However,
+if a module defines the "<code>__all__</code>" variable, then its
+contents are used to decide which objects are private. </p>
+
+<p> A timestamp below the bottom navigation bar indicates when each
+page was last updated. </p>
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Help&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p-module.html b/apps/sam/python/doc/epydoc/html/public/i2p-module.html
new file mode 100644
index 0000000000..1f847d67dc
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p-module.html
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Home&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Package&nbsp;i2p
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p-module.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF PACKAGE DESCRIPTION =========== -->
+<h2 class="package">Package i2p</h2>
+
+i2p -- I2P Python interface
+<hr/>
+
+<!-- =========== START OF SUBMODULES =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Submodules</th></tr>
+  <tr><td><ul>
+<li> <b><a href="i2p.BaseHTTPServer-module.html"><code>BaseHTTPServer</code></a></b>: <i>Emulation of Python BaseHTTPServer module using I2P sockets.</i>
+<li> <b><a href="i2p.CGIHTTPServer-module.html"><code>CGIHTTPServer</code></a></b>: <i>Emulation of Python CGIHTTPServer module using I2P sockets.</i>
+<li> <b><a href="i2p.eep-module.html"><code>eep</code></a></b>: <i>Eeproxy access module</i>
+<li> <b><a href="i2p.router-module.html"><code>router</code></a></b>: <i>Router control module</i>
+<li> <b><a href="i2p.select-module.html"><code>select</code></a></b>: <i>I2P Python API - Emulation of Python select module.</i>
+<li> <b><a href="i2p.SimpleHTTPServer-module.html"><code>SimpleHTTPServer</code></a></b>: <i>Emulation of Python SimpleHTTPServer module using I2P sockets.</i>
+<li> <b><a href="i2p.socket-module.html"><code>socket</code></a></b>: <i>Emulation of Python socket module using SAM.</i>
+<li> <b><a href="i2p.SocketServer-module.html"><code>SocketServer</code></a></b>: <i>Emulation of Python SocketServer module using I2P sockets.</i>
+<li> <b><a href="i2p.tunnel-module.html"><code>tunnel</code></a></b>: <i>Exchange data between I2P and regular TCP sockets.</i>
+  </ul></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Home&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.BaseHTTPServer-module.html b/apps/sam/python/doc/epydoc/html/public/i2p.BaseHTTPServer-module.html
new file mode 100644
index 0000000000..b0339af351
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.BaseHTTPServer-module.html
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.BaseHTTPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        Module&nbsp;BaseHTTPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.BaseHTTPServer-module.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.BaseHTTPServer-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF MODULE DESCRIPTION =========== -->
+<h2 class="module">Module i2p.BaseHTTPServer</h2>
+
+<p>Emulation of Python BaseHTTPServer module using I2P sockets.</p>
+<p>The Python module is described at 
+http://www.python.org/doc/current/lib/module-BaseHTTPServer.html</p>
+To get a server going, use:
+<pre class="doctestblock">
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">from</span> i2p <span class="py-keyword">import</span> BaseHTTPServer
+<span class="py-prompt">&gt;&gt;&gt; </span>BaseHTTPServer.test().</span></pre>
+<p>Consult the documentation for function test() to change basic server 
+settings, such as the session name.</p>
+A fully customizable example:
+<pre class="doctestblock">
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">from</span> i2p <span class="py-keyword">import</span> BaseHTTPServer
+<span class="py-prompt">&gt;&gt;&gt; </span>session = <span class="py-string">&quot;mytestxxx.i2p&quot;</span>      <span class="py-comment"># SAM session name</span>
+<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">class</span> MyServer(BaseHTTPServer.HTTPServer): <span class="py-keyword">pass</span>
+<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">class</span> MyRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): <span class="py-keyword">pass</span>
+<span class="py-prompt">&gt;&gt;&gt; </span>httpd = MyServer(session, MyRequestHandler)
+<span class="py-prompt">&gt;&gt;&gt; </span>httpd.socket.dest</span>
+<span class="py-output">(Base64 Destination of server)</span>
+
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>httpd.serve_forever()</span></pre>
+<hr/>
+
+<!-- =========== START OF CLASSES =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Classes</th></tr>
+<tr><td width="15%">
+  <b><a href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a></b></td>
+  <td>Same interface as Python class 
+BaseHTTPServer.BaseHTTPRequestHandler.</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.BaseHTTPServer.HTTPServer-class.html"><code>HTTPServer</code></a></b></td>
+  <td>Same interface as Python class BaseHTTPServer.HTTPServer.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Function Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.BaseHTTPServer-module.html#test" class="summary-sig-name"><code>test</code></a>(<span class=summary-sig-arg>HandlerClass</span>,
+          <span class=summary-sig-arg>ServerClass</span>,
+          <span class=summary-sig-arg>protocol</span>,
+          <span class=summary-sig-arg>session</span>)</span></code>
+<br />
+Test the HTTP request handler class.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Function Details</th></tr>
+</table>
+
+<a name="test"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">test</span>(<span class=sig-arg>HandlerClass</span>=<span class=sig-default>&lt;class&nbsp;i2p.BaseHTTPServer.BaseHTTPRequestHandler&nbsp;at&nbsp;0x00A...</span>,
+          <span class=sig-arg>ServerClass</span>=<span class=sig-default>&lt;class&nbsp;i2p.BaseHTTPServer.HTTPServer&nbsp;at&nbsp;0x00A2D960&gt;</span>,
+          <span class=sig-arg>protocol</span>=<span class=sig-default>'HTTP/1.0'</span>,
+          <span class=sig-arg>session</span>=<span class=sig-default>'mytestxxx.i2p'</span>)</span>
+  </h3>
+  <p>Test the HTTP request handler class.</p>
+  This runs an I2P TCP server under SAM session 'session'. If a single 
+  command line argument is given, the argument is used instead as the SAM 
+  session name.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html
new file mode 100644
index 0000000000..7182008658
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html
@@ -0,0 +1,210 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.BaseHTTPServer.BaseHTTPRequestHandler</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.BaseHTTPServer-module.html">Module&nbsp;BaseHTTPServer</a> ::
+        Class&nbsp;BaseHTTPRequestHandler
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class BaseHTTPRequestHandler</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+        
+                     |        
+  <a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+    
+                         |    
+    <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a> --+
+                             |
+<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+       |
+                     |       |
+  <a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+   |
+                         |   |
+      <a href="i2p.SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+
+                             |
+                            <b>BaseHTTPRequestHandler</b>
+</pre><br />
+
+<hr/>
+
+Same interface as Python class 
+BaseHTTPServer.BaseHTTPRequestHandler.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string" class="summary-sig-name"><code>address_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the client address formatted for logging.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string" class="summary-sig-name"><code>date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the current date and time formatted for a message header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers" class="summary-sig-name"><code>end_headers</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Send the blank line ending the MIME headers.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle multiple requests if necessary.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request" class="summary-sig-name"><code>handle_one_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle a single HTTP request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string" class="summary-sig-name"><code>log_date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the current time formatted for logging.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error" class="summary-sig-name"><code>log_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-vararg">*args</span>)</span></code>
+<br />
+Log an error.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message" class="summary-sig-name"><code>log_message</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>format</span>,
+          <span class="summary-sig-vararg">*args</span>)</span></code>
+<br />
+Log an arbitrary message.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request" class="summary-sig-name"><code>log_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>size</span>)</span></code>
+<br />
+Log an accepted request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request" class="summary-sig-name"><code>parse_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Parse a request (internal).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error" class="summary-sig-name"><code>send_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>message</span>)</span></code>
+<br />
+Send and log an error reply.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header" class="summary-sig-name"><code>send_header</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>keyword</span>,
+          <span class=summary-sig-arg>value</span>)</span></code>
+<br />
+Send a MIME header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response" class="summary-sig-name"><code>send_response</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>message</span>)</span></code>
+<br />
+Send the response header and log the response code.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string" class="summary-sig-name"><code>version_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the server software version string.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>,
+          <span class=summary-sig-arg>server</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></b> = <span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"><code><span class="variable-quote">'</span>&lt;head&gt;\n&lt;title&gt;Error&nbsp;response&lt;/t<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></b> = <span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"><code>[None,&nbsp;'Jan',&nbsp;'Feb',&nbsp;'Mar',&nbsp;'Apr',&nbsp;'May',&nbsp;'J<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></b> = <span title="'HTTP/1.0'"><code><span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span>                            </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></b> = <span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '..."><code>{400:&nbsp;('Bad&nbsp;request',&nbsp;'Bad&nbsp;request&nbsp;syntax&nbsp;or<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></b> = <span title="'BaseHTTP/0.3'"><code><span class="variable-quote">'</span>BaseHTTP/0.3<span class="variable-quote">'</span>                          </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></b> = <span title="'Python/2.3.4'"><code><span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span>                             </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></b> = <span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"><code>['Mon',&nbsp;'Tue',&nbsp;'Wed',&nbsp;'Thu',&nbsp;'Fri',&nbsp;'Sat',<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="-1">-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.BaseHTTPServer.HTTPServer-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.BaseHTTPServer.HTTPServer-class.html
new file mode 100644
index 0000000000..2334eb6d14
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.BaseHTTPServer.HTTPServer-class.html
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.BaseHTTPServer.HTTPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.BaseHTTPServer-module.html">Module&nbsp;BaseHTTPServer</a> ::
+        Class&nbsp;HTTPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.BaseHTTPServer.HTTPServer-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.BaseHTTPServer.HTTPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class HTTPServer</h2>
+
+<pre class="base-tree">
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+        
+             |        
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+    
+                 |    
+        <a href="BaseHTTPServer.HTTPServer-class.html"><code>HTTPServer</code></a> --+
+                     |
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+       |
+             |       |
+    <a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+   |
+                 |   |
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+   |   |
+             |   |   |
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+   |
+                 |   |
+         <a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
+                     |
+                    <b>HTTPServer</b>
+</pre><br />
+
+<hr/>
+
+Same interface as Python class BaseHTTPServer.HTTPServer.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>session</span>,
+          <span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
+<br />
+Constructor.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from HTTPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.HTTPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Override server_bind to store the server name.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#close_request" class="summary-sig-name"><code>close_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>)</span></code>
+<br />
+Called to clean up an individual request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return socket file number.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the request and client address from the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_activate" class="summary-sig-name"><code>server_activate</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to activate the server.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_close" class="summary-sig-name"><code>server_close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called to clean-up the server.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from HTTPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="BaseHTTPServer.HTTPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.CGIHTTPServer-module.html b/apps/sam/python/doc/epydoc/html/public/i2p.CGIHTTPServer-module.html
new file mode 100644
index 0000000000..5d78fe3eb0
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.CGIHTTPServer-module.html
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.CGIHTTPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        Module&nbsp;CGIHTTPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.CGIHTTPServer-module.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.CGIHTTPServer-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF MODULE DESCRIPTION =========== -->
+<h2 class="module">Module i2p.CGIHTTPServer</h2>
+
+<p>Emulation of Python CGIHTTPServer module using I2P sockets.</p>
+<p>The Python module is described at 
+http://www.python.org/doc/current/lib/module-CGIHTTPServer.html</p>
+To get a server going, use:
+<pre class="doctestblock">
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">from</span> i2p <span class="py-keyword">import</span> CGIHTTPServer
+<span class="py-prompt">&gt;&gt;&gt; </span>CGIHTTPServer.test().</span></pre>
+<p>Consult the documentation for function test() to change basic server 
+settings, such as the session name.</p>
+A fully customizable example:
+<pre class="doctestblock">
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">from</span> i2p <span class="py-keyword">import</span> BaseHTTPServer, CGIHTTPServer
+<span class="py-prompt">&gt;&gt;&gt; </span>session = <span class="py-string">&quot;mytestxxx.i2p&quot;</span>      <span class="py-comment"># SAM session name</span>
+<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">class</span> MyServer(BaseHTTPServer.HTTPServer): <span class="py-keyword">pass</span>
+<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">class</span> MyRequestHandler(CGIHTTPServer.CGIHTTPRequestHandler): <span class="py-keyword">pass</span>
+<span class="py-prompt">&gt;&gt;&gt; </span>httpd = MyServer(session, MyRequestHandler)
+<span class="py-prompt">&gt;&gt;&gt; </span>httpd.socket.dest</span>
+<span class="py-output">(Base64 Destination of server)</span>
+
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>httpd.serve_forever()</span></pre>
+<hr/>
+
+<!-- =========== START OF CLASSES =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Classes</th></tr>
+<tr><td width="15%">
+  <b><a href="i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPRequestHandler</code></a></b></td>
+  <td>Same interface as Python class 
+CGIHTTPServer.CGIHTTPRequestHandler.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Function Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.CGIHTTPServer-module.html#test" class="summary-sig-name"><code>test</code></a>(<span class=summary-sig-arg>HandlerClass</span>,
+          <span class=summary-sig-arg>ServerClass</span>,
+          <span class=summary-sig-arg>session</span>)</span></code>
+<br />
+Test the HTTP CGI request handler class.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Function Details</th></tr>
+</table>
+
+<a name="test"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">test</span>(<span class=sig-arg>HandlerClass</span>=<span class=sig-default>&lt;class&nbsp;i2p.CGIHTTPServer.CGIHTTPRequestHandler&nbsp;at&nbsp;0x00A2D...</span>,
+          <span class=sig-arg>ServerClass</span>=<span class=sig-default>&lt;class&nbsp;i2p.BaseHTTPServer.HTTPServer&nbsp;at&nbsp;0x00A2D960&gt;</span>,
+          <span class=sig-arg>session</span>=<span class=sig-default>'mytestxxx.i2p'</span>)</span>
+  </h3>
+  <p>Test the HTTP CGI request handler class.</p>
+  This runs an I2P TCP server under SAM session 'session'. If a single 
+  command line argument is given, the argument is used instead as the SAM 
+  session name.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html
new file mode 100644
index 0000000000..7783d8cf0b
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html
@@ -0,0 +1,286 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.CGIHTTPServer.CGIHTTPRequestHandler</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.CGIHTTPServer-module.html">Module&nbsp;CGIHTTPServer</a> ::
+        Class&nbsp;CGIHTTPRequestHandler
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class CGIHTTPRequestHandler</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+                
+                     |                
+  <a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+            
+                         |            
+    <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a> --+        
+                             |        
+      <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a> --+    
+                                 |    
+             <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPRequestHandler</code></a> --+
+                                     |
+                                    <b>CGIHTTPRequestHandler</b>
+</pre><br />
+
+<hr/>
+
+Same interface as Python class 
+CGIHTTPServer.CGIHTTPRequestHandler.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from CGIHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#do_POST" class="summary-sig-name"><code>do_POST</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Serve a POST request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_cgi" class="summary-sig-name"><code>is_cgi</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Test whether self.path corresponds to a CGI script.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_executable" class="summary-sig-name"><code>is_executable</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Test whether argument path is an executable file.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_python" class="summary-sig-name"><code>is_python</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Test whether argument path is a Python script.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#run_cgi" class="summary-sig-name"><code>run_cgi</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Execute a CGI script.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#send_head" class="summary-sig-name"><code>send_head</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Version of send_head that support CGI scripts</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from SimpleHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#copyfile" class="summary-sig-name"><code>copyfile</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>source</span>,
+          <span class=summary-sig-arg>outputfile</span>)</span></code>
+<br />
+Copy all data between two file objects.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_GET" class="summary-sig-name"><code>do_GET</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Serve a GET request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_HEAD" class="summary-sig-name"><code>do_HEAD</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Serve a HEAD request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#guess_type" class="summary-sig-name"><code>guess_type</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Guess the type of a file.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#list_directory" class="summary-sig-name"><code>list_directory</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Helper to produce a directory listing (absent index.html).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#translate_path" class="summary-sig-name"><code>translate_path</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Translate a /-separated PATH to the local filename syntax.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string" class="summary-sig-name"><code>address_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the client address formatted for logging.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string" class="summary-sig-name"><code>date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the current date and time formatted for a message header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers" class="summary-sig-name"><code>end_headers</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Send the blank line ending the MIME headers.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle multiple requests if necessary.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request" class="summary-sig-name"><code>handle_one_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle a single HTTP request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string" class="summary-sig-name"><code>log_date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the current time formatted for logging.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error" class="summary-sig-name"><code>log_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-vararg">*args</span>)</span></code>
+<br />
+Log an error.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message" class="summary-sig-name"><code>log_message</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>format</span>,
+          <span class="summary-sig-vararg">*args</span>)</span></code>
+<br />
+Log an arbitrary message.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request" class="summary-sig-name"><code>log_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>size</span>)</span></code>
+<br />
+Log an accepted request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request" class="summary-sig-name"><code>parse_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Parse a request (internal).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error" class="summary-sig-name"><code>send_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>message</span>)</span></code>
+<br />
+Send and log an error reply.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header" class="summary-sig-name"><code>send_header</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>keyword</span>,
+          <span class=summary-sig-arg>value</span>)</span></code>
+<br />
+Send a MIME header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response" class="summary-sig-name"><code>send_response</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>message</span>)</span></code>
+<br />
+Send the response header and log the response code.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string" class="summary-sig-name"><code>version_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the server software version string.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>,
+          <span class=summary-sig-arg>server</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from CGIHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#cgi_directories"><code>cgi_directories</code></a></b> = <span title="['/cgi-bin', '/htbin']"><code>['/cgi-bin',&nbsp;'/htbin']                 </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_fork"><code>have_fork</code></a></b> = <span title="False"><code>False                                        </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen2"><code>have_popen2</code></a></b> = <span title="True"><code>True                                       </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen3"><code>have_popen3</code></a></b> = <span title="True"><code>True                                       </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from SimpleHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
+<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></b> = <span title="{'': 'application/octet-stream', '.obj': 'application/octet-stream', '.ra': 'audio/x-pn-realaudio', '.sgm': 'text/x-sgml', '.texi': 'application/x-texinfo', '.mp2': 'audio/mpeg', '.bin': 'application/octet-stream', '.dll': 'application/octet-stream', '.xpm': 'image/x-xpixmap', '.mpeg': 'video/mpeg', '.ms': 'application/x-troff-ms', '.me': 'application/x-troff-me', '.rtx': 'text/richtext', '.ppt': 'application/vnd.ms-powerpoint', '.ras': 'image/x-cmu-raster', '.pps': 'application/vnd.ms-powerpoint', '.rgb': 'image/x-rgb', '.ram': 'application/x-pn-realaudio', '.ppm': 'image/x-portable-pixmap..."><code>{'':&nbsp;'application/octet-stream',&nbsp;'.obj'<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></b> = <span title="'SimpleHTTP/0.6'"><code><span class="variable-quote">'</span>SimpleHTTP/0.6<span class="variable-quote">'</span>                        </code>
+</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></b> = <span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"><code><span class="variable-quote">'</span>&lt;head&gt;\n&lt;title&gt;Error&nbsp;response&lt;/t<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></b> = <span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"><code>[None,&nbsp;'Jan',&nbsp;'Feb',&nbsp;'Mar',&nbsp;'Apr',&nbsp;'May',&nbsp;'J<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></b> = <span title="'HTTP/1.0'"><code><span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span>                            </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></b> = <span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '..."><code>{400:&nbsp;('Bad&nbsp;request',&nbsp;'Bad&nbsp;request&nbsp;syntax&nbsp;or<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></b> = <span title="'Python/2.3.4'"><code><span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span>                             </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></b> = <span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"><code>['Mon',&nbsp;'Tue',&nbsp;'Wed',&nbsp;'Thu',&nbsp;'Fri',&nbsp;'Sat',<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.SimpleHTTPServer-module.html b/apps/sam/python/doc/epydoc/html/public/i2p.SimpleHTTPServer-module.html
new file mode 100644
index 0000000000..09ea516c44
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.SimpleHTTPServer-module.html
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SimpleHTTPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        Module&nbsp;SimpleHTTPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.SimpleHTTPServer-module.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SimpleHTTPServer-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF MODULE DESCRIPTION =========== -->
+<h2 class="module">Module i2p.SimpleHTTPServer</h2>
+
+<p>Emulation of Python SimpleHTTPServer module using I2P sockets.</p>
+<p>The Python module is described at 
+http://www.python.org/doc/current/lib/module-SimpleHTTPServer.html</p>
+To get a server going, use:
+<pre class="doctestblock">
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">from</span> i2p <span class="py-keyword">import</span> SimpleHTTPServer
+<span class="py-prompt">&gt;&gt;&gt; </span>SimpleHTTPServer.test().</span></pre>
+<p>Consult the documentation for function test() to change basic server 
+settings, such as the session name.</p>
+A fully customizable example:
+<pre class="doctestblock">
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">from</span> i2p <span class="py-keyword">import</span> BaseHTTPServer, SimpleHTTPServer
+<span class="py-prompt">&gt;&gt;&gt; </span>session = <span class="py-string">&quot;mytestxxx.i2p&quot;</span>      <span class="py-comment"># SAM session name</span>
+<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">class</span> MyServer(BaseHTTPServer.HTTPServer): <span class="py-keyword">pass</span>
+<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">class</span> MyRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler): <span class="py-keyword">pass</span>
+<span class="py-prompt">&gt;&gt;&gt; </span>httpd = MyServer(session, MyRequestHandler)
+<span class="py-prompt">&gt;&gt;&gt; </span>httpd.socket.dest</span>
+<span class="py-output">(Base64 Destination of server)</span>
+
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>httpd.serve_forever()</span></pre>
+<hr/>
+
+<!-- =========== START OF CLASSES =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Classes</th></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a></b></td>
+  <td>Same interface as Python class 
+SimpleHTTPServer.SimpleHTTPRequestHandler.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Function Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.SimpleHTTPServer-module.html#test" class="summary-sig-name"><code>test</code></a>(<span class=summary-sig-arg>HandlerClass</span>,
+          <span class=summary-sig-arg>ServerClass</span>,
+          <span class=summary-sig-arg>session</span>)</span></code>
+<br />
+Test the HTTP simple request handler class.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Function Details</th></tr>
+</table>
+
+<a name="test"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">test</span>(<span class=sig-arg>HandlerClass</span>=<span class=sig-default>&lt;class&nbsp;i2p.SimpleHTTPServer.SimpleHTTPRequestHandler&nbsp;at&nbsp;0...</span>,
+          <span class=sig-arg>ServerClass</span>=<span class=sig-default>&lt;class&nbsp;i2p.BaseHTTPServer.HTTPServer&nbsp;at&nbsp;0x00A2D960&gt;</span>,
+          <span class=sig-arg>session</span>=<span class=sig-default>'mytestxxx.i2p'</span>)</span>
+  </h3>
+  <p>Test the HTTP simple request handler class.</p>
+  This runs an I2P TCP server under SAM session 'session'. If a single 
+  command line argument is given, the argument is used instead as the SAM 
+  session name.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html
new file mode 100644
index 0000000000..27477b434a
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html
@@ -0,0 +1,246 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SimpleHTTPServer.SimpleHTTPRequestHandler</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SimpleHTTPServer-module.html">Module&nbsp;SimpleHTTPServer</a> ::
+        Class&nbsp;SimpleHTTPRequestHandler
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class SimpleHTTPRequestHandler</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+            
+                     |            
+  <a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+        
+                         |        
+    <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a> --+    
+                             |    
+      <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a> --+
+                                 |
+                                <b>SimpleHTTPRequestHandler</b>
+</pre><br />
+
+<hr/>
+
+Same interface as Python class 
+SimpleHTTPServer.SimpleHTTPRequestHandler.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from SimpleHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#copyfile" class="summary-sig-name"><code>copyfile</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>source</span>,
+          <span class=summary-sig-arg>outputfile</span>)</span></code>
+<br />
+Copy all data between two file objects.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_GET" class="summary-sig-name"><code>do_GET</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Serve a GET request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_HEAD" class="summary-sig-name"><code>do_HEAD</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Serve a HEAD request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#guess_type" class="summary-sig-name"><code>guess_type</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Guess the type of a file.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#list_directory" class="summary-sig-name"><code>list_directory</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Helper to produce a directory listing (absent index.html).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#send_head" class="summary-sig-name"><code>send_head</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Common code for GET and HEAD commands.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#translate_path" class="summary-sig-name"><code>translate_path</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>path</span>)</span></code>
+<br />
+Translate a /-separated PATH to the local filename syntax.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string" class="summary-sig-name"><code>address_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the client address formatted for logging.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string" class="summary-sig-name"><code>date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the current date and time formatted for a message header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers" class="summary-sig-name"><code>end_headers</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Send the blank line ending the MIME headers.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle multiple requests if necessary.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request" class="summary-sig-name"><code>handle_one_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Handle a single HTTP request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string" class="summary-sig-name"><code>log_date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the current time formatted for logging.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error" class="summary-sig-name"><code>log_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class="summary-sig-vararg">*args</span>)</span></code>
+<br />
+Log an error.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message" class="summary-sig-name"><code>log_message</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>format</span>,
+          <span class="summary-sig-vararg">*args</span>)</span></code>
+<br />
+Log an arbitrary message.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request" class="summary-sig-name"><code>log_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>size</span>)</span></code>
+<br />
+Log an accepted request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request" class="summary-sig-name"><code>parse_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Parse a request (internal).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error" class="summary-sig-name"><code>send_error</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>message</span>)</span></code>
+<br />
+Send and log an error reply.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header" class="summary-sig-name"><code>send_header</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>keyword</span>,
+          <span class=summary-sig-arg>value</span>)</span></code>
+<br />
+Send a MIME header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response" class="summary-sig-name"><code>send_response</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>code</span>,
+          <span class=summary-sig-arg>message</span>)</span></code>
+<br />
+Send the response header and log the response code.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string" class="summary-sig-name"><code>version_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return the server software version string.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>,
+          <span class=summary-sig-arg>server</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from SimpleHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
+<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></b> = <span title="{'': 'application/octet-stream', '.obj': 'application/octet-stream', '.ra': 'audio/x-pn-realaudio', '.sgm': 'text/x-sgml', '.texi': 'application/x-texinfo', '.mp2': 'audio/mpeg', '.bin': 'application/octet-stream', '.dll': 'application/octet-stream', '.xpm': 'image/x-xpixmap', '.mpeg': 'video/mpeg', '.ms': 'application/x-troff-ms', '.me': 'application/x-troff-me', '.rtx': 'text/richtext', '.ppt': 'application/vnd.ms-powerpoint', '.ras': 'image/x-cmu-raster', '.pps': 'application/vnd.ms-powerpoint', '.rgb': 'image/x-rgb', '.ram': 'application/x-pn-realaudio', '.ppm': 'image/x-portable-pixmap..."><code>{'':&nbsp;'application/octet-stream',&nbsp;'.obj'<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></b> = <span title="'SimpleHTTP/0.6'"><code><span class="variable-quote">'</span>SimpleHTTP/0.6<span class="variable-quote">'</span>                        </code>
+</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></b> = <span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"><code><span class="variable-quote">'</span>&lt;head&gt;\n&lt;title&gt;Error&nbsp;response&lt;/t<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></b> = <span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"><code>[None,&nbsp;'Jan',&nbsp;'Feb',&nbsp;'Mar',&nbsp;'Apr',&nbsp;'May',&nbsp;'J<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></b> = <span title="'HTTP/1.0'"><code><span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span>                            </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></b> = <span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '..."><code>{400:&nbsp;('Bad&nbsp;request',&nbsp;'Bad&nbsp;request&nbsp;syntax&nbsp;or<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></b> = <span title="'Python/2.3.4'"><code><span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span>                             </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></b> = <span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"><code>['Mon',&nbsp;'Tue',&nbsp;'Wed',&nbsp;'Thu',&nbsp;'Fri',&nbsp;'Sat',<span class="variable-ellipsis">...</span></code>
+</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="-1">-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer-module.html b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer-module.html
new file mode 100644
index 0000000000..81942678b3
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer-module.html
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        Module&nbsp;SocketServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.SocketServer-module.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF MODULE DESCRIPTION =========== -->
+<h2 class="module">Module i2p.SocketServer</h2>
+
+<p>Emulation of Python SocketServer module using I2P sockets.</p>
+The Python module is described at 
+http://www.python.org/doc/current/lib/module-SocketServer.html
+<hr/>
+
+<!-- =========== START OF CLASSES =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Classes</th></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SocketServer.DatagramRequestHandler-class.html"><code>DatagramRequestHandler</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SocketServer.ForkingTCPServer-class.html"><code>ForkingTCPServer</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SocketServer.ForkingUDPServer-class.html"><code>ForkingUDPServer</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SocketServer.ThreadingTCPServer-class.html"><code>ThreadingTCPServer</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SocketServer.ThreadingUDPServer-class.html"><code>ThreadingUDPServer</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.SocketServer.UDPServer-class.html"><code>UDPServer</code></a></b></td>
+  <td>&nbsp;</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.BaseRequestHandler-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.BaseRequestHandler-class.html
new file mode 100644
index 0000000000..b20184f645
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.BaseRequestHandler-class.html
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer.BaseRequestHandler</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
+        Class&nbsp;BaseRequestHandler
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.SocketServer.BaseRequestHandler-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.BaseRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class BaseRequestHandler</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+
+                     |
+                    <b>BaseRequestHandler</b>
+</pre><br />
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>,
+          <span class=summary-sig-arg>server</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.BaseServer-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.BaseServer-class.html
new file mode 100644
index 0000000000..e08c061ac6
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.BaseServer-class.html
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer.BaseServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
+        Class&nbsp;BaseServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.SocketServer.BaseServer-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.BaseServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class BaseServer</h2>
+
+<pre class="base-tree">
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+
+             |
+            <b>BaseServer</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a></dd></dl>
+
+<hr/>
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.DatagramRequestHandler-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.DatagramRequestHandler-class.html
new file mode 100644
index 0000000000..8890a85e78
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.DatagramRequestHandler-class.html
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer.DatagramRequestHandler</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
+        Class&nbsp;DatagramRequestHandler
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.SocketServer.DatagramRequestHandler-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.DatagramRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class DatagramRequestHandler</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+    
+                     |    
+<a href="SocketServer.DatagramRequestHandler-class.html"><code>DatagramRequestHandler</code></a> --+
+                         |
+                        <b>DatagramRequestHandler</b>
+</pre><br />
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from DatagramRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.DatagramRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.DatagramRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>,
+          <span class=summary-sig-arg>server</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.ForkingMixIn-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.ForkingMixIn-class.html
new file mode 100644
index 0000000000..06b816ef35
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.ForkingMixIn-class.html
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer.ForkingMixIn</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
+        Class&nbsp;ForkingMixIn
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.SocketServer.ForkingMixIn-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.ForkingMixIn-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class ForkingMixIn</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a> --+
+               |
+              <b>ForkingMixIn</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.SocketServer.ForkingTCPServer-class.html"><code>ForkingTCPServer</code></a>,
+    <a href="i2p.SocketServer.ForkingUDPServer-class.html"><code>ForkingUDPServer</code></a></dd></dl>
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ForkingMixIn</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ForkingMixIn-class.html#collect_children" class="summary-sig-name"><code>collect_children</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Internal routine to wait for died children.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ForkingMixIn-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Fork a new subprocess to process the request.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ForkingMixIn</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>NoneType</code></font></td>
+<td><b><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></b> = <span title="None">None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></b> = <span title="40">40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.ForkingTCPServer-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.ForkingTCPServer-class.html
new file mode 100644
index 0000000000..cd83a33495
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.ForkingTCPServer-class.html
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer.ForkingTCPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
+        Class&nbsp;ForkingTCPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.SocketServer.ForkingTCPServer-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.ForkingTCPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class ForkingTCPServer</h2>
+
+<pre class="base-tree">
+  <a href="SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a> --+    
+                 |    
+      <a href="i2p.SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a> --+
+                     |
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+       |
+             |       |
+    <a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+   |
+                 |   |
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+   |   |
+             |   |   |
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+   |
+                 |   |
+         <a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
+                     |
+                    <b>ForkingTCPServer</b>
+</pre><br />
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ForkingMixIn</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ForkingMixIn-class.html#collect_children" class="summary-sig-name"><code>collect_children</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Internal routine to wait for died children.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ForkingMixIn-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Fork a new subprocess to process the request.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>session</span>,
+          <span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
+<br />
+Constructor.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#close_request" class="summary-sig-name"><code>close_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>)</span></code>
+<br />
+Called to clean up an individual request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return socket file number.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the request and client address from the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_activate" class="summary-sig-name"><code>server_activate</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to activate the server.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to bind the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_close" class="summary-sig-name"><code>server_close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called to clean-up the server.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ForkingMixIn</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>NoneType</code></font></td>
+<td><b><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></b> = <span title="None">None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></b> = <span title="40">40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False                              </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.ForkingUDPServer-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.ForkingUDPServer-class.html
new file mode 100644
index 0000000000..05447233ab
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.ForkingUDPServer-class.html
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer.ForkingUDPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
+        Class&nbsp;ForkingUDPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.SocketServer.ForkingUDPServer-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.ForkingUDPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class ForkingUDPServer</h2>
+
+<pre class="base-tree">
+      <a href="SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a> --+    
+                     |    
+          <a href="i2p.SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a> --+
+                         |
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+           |
+             |           |
+    <a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+       |
+                 |       |
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+   |       |
+             |   |       |
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+       |
+                 |       |
+         <a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+   |
+                     |   |
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+       |   |
+             |       |   |
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+   |   |
+                 |   |   |
+         <a href="SocketServer.UDPServer-class.html"><code>UDPServer</code></a> --+   |
+                     |   |
+             <a href="i2p.SocketServer.UDPServer-class.html"><code>UDPServer</code></a> --+
+                         |
+                        <b>ForkingUDPServer</b>
+</pre><br />
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ForkingMixIn</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ForkingMixIn-class.html#collect_children" class="summary-sig-name"><code>collect_children</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Internal routine to wait for died children.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ForkingMixIn-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Fork a new subprocess to process the request.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>session</span>,
+          <span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
+<br />
+Constructor.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from UDPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.UDPServer-class.html#close_request" class="summary-sig-name"><code>close_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>)</span></code>
+<br />
+Called to clean up an individual request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.UDPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the request and client address from the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.UDPServer-class.html#server_activate" class="summary-sig-name"><code>server_activate</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to activate the server.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return socket file number.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to bind the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_close" class="summary-sig-name"><code>server_close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called to clean-up the server.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ForkingMixIn</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>NoneType</code></font></td>
+<td><b><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></b> = <span title="None">None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></b> = <span title="40">40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from UDPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False                              </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></b> = <span title="8192">8192&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.StreamRequestHandler-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.StreamRequestHandler-class.html
new file mode 100644
index 0000000000..9a60447f80
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.StreamRequestHandler-class.html
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer.StreamRequestHandler</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
+        Class&nbsp;StreamRequestHandler
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.SocketServer.StreamRequestHandler-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.StreamRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class StreamRequestHandler</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+    
+                     |    
+  <a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+
+                         |
+                        <b>StreamRequestHandler</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a></dd></dl>
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>,
+          <span class=summary-sig-arg>server</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="-1">-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.TCPServer-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.TCPServer-class.html
new file mode 100644
index 0000000000..bd4bf3a918
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.TCPServer-class.html
@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer.TCPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
+        Class&nbsp;TCPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.SocketServer.TCPServer-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.TCPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class TCPServer</h2>
+
+<pre class="base-tree">
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+    
+             |    
+    <a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+
+                 |
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+   |
+             |   |
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
+                 |
+                <b>TCPServer</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.SocketServer.ForkingTCPServer-class.html"><code>ForkingTCPServer</code></a>,
+    <a href="i2p.BaseHTTPServer.HTTPServer-class.html"><code>HTTPServer</code></a>,
+    <a href="i2p.SocketServer.ThreadingTCPServer-class.html"><code>ThreadingTCPServer</code></a>,
+    <a href="i2p.SocketServer.UDPServer-class.html"><code>UDPServer</code></a></dd></dl>
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>session</span>,
+          <span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
+<br />
+Constructor.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#close_request" class="summary-sig-name"><code>close_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>)</span></code>
+<br />
+Called to clean up an individual request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return socket file number.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the request and client address from the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_activate" class="summary-sig-name"><code>server_activate</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to activate the server.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to bind the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_close" class="summary-sig-name"><code>server_close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called to clean-up the server.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False                              </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="__init__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__init__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>session</span>,
+          <span class=sig-arg>RequestHandlerClass</span>)</span>
+    <br /><i>(Constructor)</i>
+  </h3>
+  <p>Constructor. May be extended, do not override.</p>
+  The 'session' argument indicates the SAM session name that should be 
+  used for the server. See module i2p.socket for details on SAM 
+  sessions.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="SocketServer.TCPServer-class.html#__init__"><code>SocketServer.TCPServer.__init__</code></a></dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Class Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="socket_type"></a>
+<h3>socket_type</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>int</code>
+
+      </dd>
+<span title="1">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.ThreadingMixIn-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.ThreadingMixIn-class.html
new file mode 100644
index 0000000000..452791eed5
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.ThreadingMixIn-class.html
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer.ThreadingMixIn</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
+        Class&nbsp;ThreadingMixIn
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.SocketServer.ThreadingMixIn-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.ThreadingMixIn-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class ThreadingMixIn</h2>
+
+<pre class="base-tree">
+<a href="SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a> --+
+                 |
+                <b>ThreadingMixIn</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.SocketServer.ThreadingTCPServer-class.html"><code>ThreadingTCPServer</code></a>,
+    <a href="i2p.SocketServer.ThreadingUDPServer-class.html"><code>ThreadingUDPServer</code></a></dd></dl>
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ThreadingMixIn</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ThreadingMixIn-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Start a new thread to process the request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ThreadingMixIn-class.html#process_request_thread" class="summary-sig-name"><code>process_request_thread</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Same as in BaseServer but as a thread.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ThreadingMixIn</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></b> = <span title="False"><code>False                                   </code>
+</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.ThreadingTCPServer-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.ThreadingTCPServer-class.html
new file mode 100644
index 0000000000..807994dc29
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.ThreadingTCPServer-class.html
@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer.ThreadingTCPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
+        Class&nbsp;ThreadingTCPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.SocketServer.ThreadingTCPServer-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.ThreadingTCPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class ThreadingTCPServer</h2>
+
+<pre class="base-tree">
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+        
+             |        
+    <a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+    
+                 |    
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+   |    
+             |   |    
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+    
+                 |    
+         <a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
+                     |
+<a href="SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a> --+   |
+                 |   |
+    <a href="i2p.SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a> --+
+                     |
+                    <b>ThreadingTCPServer</b>
+</pre><br />
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ThreadingMixIn</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ThreadingMixIn-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Start a new thread to process the request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ThreadingMixIn-class.html#process_request_thread" class="summary-sig-name"><code>process_request_thread</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Same as in BaseServer but as a thread.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>session</span>,
+          <span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
+<br />
+Constructor.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#close_request" class="summary-sig-name"><code>close_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>)</span></code>
+<br />
+Called to clean up an individual request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return socket file number.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the request and client address from the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_activate" class="summary-sig-name"><code>server_activate</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to activate the server.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to bind the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_close" class="summary-sig-name"><code>server_close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called to clean-up the server.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ThreadingMixIn</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></b> = <span title="False"><code>False                                   </code>
+</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False                              </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.ThreadingUDPServer-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.ThreadingUDPServer-class.html
new file mode 100644
index 0000000000..8514ca5c9d
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.ThreadingUDPServer-class.html
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer.ThreadingUDPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
+        Class&nbsp;ThreadingUDPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.SocketServer.ThreadingUDPServer-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.ThreadingUDPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class ThreadingUDPServer</h2>
+
+<pre class="base-tree">
+    <a href="SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a> --+    
+                     |    
+        <a href="i2p.SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a> --+
+                         |
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+           |
+             |           |
+    <a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+       |
+                 |       |
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+   |       |
+             |   |       |
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+       |
+                 |       |
+         <a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+   |
+                     |   |
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+       |   |
+             |       |   |
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+   |   |
+                 |   |   |
+         <a href="SocketServer.UDPServer-class.html"><code>UDPServer</code></a> --+   |
+                     |   |
+             <a href="i2p.SocketServer.UDPServer-class.html"><code>UDPServer</code></a> --+
+                         |
+                        <b>ThreadingUDPServer</b>
+</pre><br />
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ThreadingMixIn</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ThreadingMixIn-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Start a new thread to process the request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.ThreadingMixIn-class.html#process_request_thread" class="summary-sig-name"><code>process_request_thread</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>,
+          <span class=summary-sig-arg>client_address</span>)</span></code>
+<br />
+Same as in BaseServer but as a thread.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>session</span>,
+          <span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
+<br />
+Constructor.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from UDPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.UDPServer-class.html#close_request" class="summary-sig-name"><code>close_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>)</span></code>
+<br />
+Called to clean up an individual request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.UDPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the request and client address from the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.UDPServer-class.html#server_activate" class="summary-sig-name"><code>server_activate</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to activate the server.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return socket file number.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to bind the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_close" class="summary-sig-name"><code>server_close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called to clean-up the server.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ThreadingMixIn</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></b> = <span title="False"><code>False                                   </code>
+</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from UDPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False                              </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></b> = <span title="8192">8192&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.UDPServer-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.UDPServer-class.html
new file mode 100644
index 0000000000..87cbbd4dc4
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.SocketServer.UDPServer-class.html
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer.UDPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
+        Class&nbsp;UDPServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.SocketServer.UDPServer-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.UDPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class UDPServer</h2>
+
+<pre class="base-tree">
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+        
+             |        
+    <a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+    
+                 |    
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+   |    
+             |   |    
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+    
+                 |    
+         <a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
+                     |
+<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+       |
+             |       |
+     <a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+   |
+                 |   |
+         <a href="SocketServer.UDPServer-class.html"><code>UDPServer</code></a> --+
+                     |
+                    <b>UDPServer</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.SocketServer.ForkingUDPServer-class.html"><code>ForkingUDPServer</code></a>,
+    <a href="i2p.SocketServer.ThreadingUDPServer-class.html"><code>ThreadingUDPServer</code></a></dd></dl>
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>session</span>,
+          <span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
+<br />
+Constructor.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from UDPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.UDPServer-class.html#close_request" class="summary-sig-name"><code>close_request</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>request</span>)</span></code>
+<br />
+Called to clean up an individual request.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.UDPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the request and client address from the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.UDPServer-class.html#server_activate" class="summary-sig-name"><code>server_activate</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to activate the server.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Return socket file number.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called by constructor to bind the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_close" class="summary-sig-name"><code>server_close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Called to clean-up the server.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Class Variable Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from UDPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False                              </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></b> = <span title="8192">8192&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
+<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.eep-module.html b/apps/sam/python/doc/epydoc/html/public/i2p.eep-module.html
new file mode 100644
index 0000000000..d225cd3fb4
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.eep-module.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.eep</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        Module&nbsp;eep
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.eep-module.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.eep-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF MODULE DESCRIPTION =========== -->
+<h2 class="module">Module i2p.eep</h2>
+
+Eeproxy access module
+<hr/>
+
+<!-- =========== START OF FUNCTION SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Function Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.eep-module.html#urlget" class="summary-sig-name"><code>urlget</code></a>(<span class=summary-sig-arg>url</span>,
+          <span class=summary-sig-arg>eepaddr</span>)</span></code>
+<br />
+Get contents of an eepsite.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.eep-module.html#urlopen" class="summary-sig-name"><code>urlopen</code></a>(<span class=summary-sig-arg>url</span>,
+          <span class=summary-sig-arg>eepaddr</span>)</span></code>
+<br />
+Like urllib2.urlopen(url), but only works for eep-sites.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Function Details</th></tr>
+</table>
+
+<a name="urlget"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">urlget</span>(<span class=sig-arg>url</span>,
+          <span class=sig-arg>eepaddr</span>=<span class=sig-default>'127.0.0.1:4444'</span>)</span>
+  </h3>
+  Get contents of an eepsite. Example: urlget('http://duck.i2p/').
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="urlopen"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">urlopen</span>(<span class=sig-arg>url</span>,
+          <span class=sig-arg>eepaddr</span>=<span class=sig-default>'127.0.0.1:4444'</span>)</span>
+  </h3>
+  Like urllib2.urlopen(url), but only works for eep-sites. Example: f 
+  = urlopen('http://duck.i2p/index.html')
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.pylib-module.html b/apps/sam/python/doc/epydoc/html/public/i2p.pylib-module.html
new file mode 100644
index 0000000000..0a2e8b1eed
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.pylib-module.html
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.pylib</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        Package&nbsp;pylib
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.pylib-module.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.pylib-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF PACKAGE DESCRIPTION =========== -->
+<h2 class="package">Package i2p.pylib</h2>
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Sun Aug 01 16:31:47 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.router-module.html b/apps/sam/python/doc/epydoc/html/public/i2p.router-module.html
new file mode 100644
index 0000000000..a859d5111d
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.router-module.html
@@ -0,0 +1,237 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.router</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        Module&nbsp;router
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.router-module.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.router-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF MODULE DESCRIPTION =========== -->
+<h2 class="module">Module i2p.router</h2>
+
+Router control module
+<hr/>
+
+<!-- =========== START OF FUNCTION SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Function Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.router-module.html#check" class="summary-sig-name"><code>check</code></a>(<span class=summary-sig-arg>dir</span>)</span></code>
+<br />
+Checks whether a locally installed router is running.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.router-module.html#find" class="summary-sig-name"><code>find</code></a>(<span class=summary-sig-arg>dir</span>)</span></code>
+<br />
+Find the absolute path to a locally installed I2P router.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.router-module.html#start" class="summary-sig-name"><code>start</code></a>(<span class=summary-sig-arg>dir</span>,
+          <span class=summary-sig-arg>hidden</span>)</span></code>
+<br />
+Start a locally installed I2P router.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.router-module.html#stop" class="summary-sig-name"><code>stop</code></a>(<span class=summary-sig-arg>dir</span>,
+          <span class=summary-sig-arg>force</span>)</span></code>
+<br />
+Stop a locally installed I2P router, if it was started by the current 
+Python program.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF VARIABLE SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Variable Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
+<td><b><a href="i2p.router-module.html#check_addrlist"><code>check_addrlist</code></a></b> = <span title="['127.0.0.1:7656', '127.0.0.1:4444']"><code>['127.0.0.1:7656',&nbsp;'127.0.0.1:4444']    </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
+<td><b><a href="i2p.router-module.html#our_router"><code>our_router</code></a></b> = <span title="False"><code>False                                       </code>
+</span></td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1"><code>lock</code></font></td>
+<td><b><a href="i2p.router-module.html#our_router_lock"><code>our_router_lock</code></a></b> = <span title="&lt;thread.lock object at 0x0089D120&gt;"><code>&lt;thread.lock&nbsp;object&nbsp;at&nbsp;0x0089D120&gt;     </code>
+</span></td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Function Details</th></tr>
+</table>
+
+<a name="check"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">check</span>(<span class=sig-arg>dir</span>=<span class=sig-default>None</span>)</span>
+  </h3>
+  <p>Checks whether a locally installed router is running. Does nothing 
+  if successful, otherwise raises i2p.RouterError.</p>
+  An I2P installation is located by using find(dir). The router.config 
+  file is parsed for 'router.adminPort'. This port is queried to 
+  determine whether the router is running.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="find"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">find</span>(<span class=sig-arg>dir</span>=<span class=sig-default>None</span>)</span>
+  </h3>
+  <p>Find the absolute path to a locally installed I2P router.</p>
+  An I2P installation is located by looking in the environment I2P, 
+  then in PATH, then in the dir argument given to the function. It looks 
+  for startRouter.sh or startRouter.bat. Raises ValueError if an I2P 
+  installation could not be located.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="start"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">start</span>(<span class=sig-arg>dir</span>=<span class=sig-default>None</span>,
+          <span class=sig-arg>hidden</span>=<span class=sig-default>False</span>)</span>
+  </h3>
+  <p>Start a locally installed I2P router. Does nothing if the router has 
+  already been started.</p>
+  <p>An I2P installation is located by using find(dir).</p>
+  If hidden is True, do not show a terminal for the router.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="stop"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">stop</span>(<span class=sig-arg>dir</span>=<span class=sig-default>None</span>,
+          <span class=sig-arg>force</span>=<span class=sig-default>False</span>)</span>
+  </h3>
+  <p>Stop a locally installed I2P router, if it was started by the 
+  current Python program. If force is True, stop the router even if it 
+  was started by another process. Do nothing if force is False and the 
+  router was started by another program.</p>
+  <p>The file 'router.config' is located using the same search process 
+  used for find(dir). It is parsed for 'router.shutdownPassword' and 
+  'router.adminPort'. The router is shut down through the admin port.</p>
+  Raises i2p.RouterError if the I2P router is running but cannot be 
+  stopped. You must uncomment the 'router.shutdownPassword' line for this 
+  command to work.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF VARIABLE DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Variable Details</th></tr>
+</table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="check_addrlist"></a>
+<h3>check_addrlist</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>list</code>
+
+      </dd>
+<span title="['127.0.0.1:7656', '127.0.0.1:4444']">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+['127.0.0.1:7656', '127.0.0.1:4444']                                   </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="our_router"></a>
+<h3>our_router</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>bool</code>
+
+      </dd>
+<span title="False">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+False                                                                  </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
+<a name="our_router_lock"></a>
+<h3>our_router_lock</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Type:</b></dt>
+      <dd>
+          <code>lock</code>
+
+      </dd>
+<span title="&lt;thread.lock object at 0x0089D120&gt;">      <dt><b>Value:</b></dt>
+      <dd><table><tr><td>
+<pre class="variable">
+&lt;thread.lock object at 0x0089D120&gt;                                     </pre>
+        </td></tr></table></dd>
+</span>    </dl>
+  </dd>
+</dl></td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.select-module.html b/apps/sam/python/doc/epydoc/html/public/i2p.select-module.html
new file mode 100644
index 0000000000..fa9bbd2c02
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.select-module.html
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.select</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        Module&nbsp;select
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.select-module.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.select-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF MODULE DESCRIPTION =========== -->
+<h2 class="module">Module i2p.select</h2>
+
+I2P Python API - Emulation of Python select module.
+<hr/>
+
+<!-- =========== START OF CLASSES =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Classes</th></tr>
+<tr><td width="15%">
+  <b><a href="i2p.select.Poll-class.html"><code>Poll</code></a></b></td>
+  <td>Class implementing poll interface.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Function Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.select-module.html#poll" class="summary-sig-name"><code>poll</code></a>()</span></code>
+<br />
+Returns a polling object.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.select-module.html#select" class="summary-sig-name"><code>select</code></a>(<span class=summary-sig-arg>readlist</span>,
+          <span class=summary-sig-arg>writelist</span>,
+          <span class=summary-sig-arg>errlist</span>,
+          <span class=summary-sig-arg>timeout</span>)</span></code>
+<br />
+Performs a select call.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Function Details</th></tr>
+</table>
+
+<a name="poll"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">poll</span>()</span>
+  </h3>
+  Returns a polling object. Works on SAM sockets and Python sockets. 
+  See select.poll() in the Python library for more information.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="select"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">select</span>(<span class=sig-arg>readlist</span>,
+          <span class=sig-arg>writelist</span>,
+          <span class=sig-arg>errlist</span>,
+          <span class=sig-arg>timeout</span>=<span class=sig-default>None</span>)</span>
+  </h3>
+  Performs a select call. Works on SAM sockets and Python sockets. See 
+  select.select() in the Python library for more information.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.select.Poll-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.select.Poll-class.html
new file mode 100644
index 0000000000..dc8a7b43b4
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.select.Poll-class.html
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.select.Poll</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.select-module.html">Module&nbsp;select</a> ::
+        Class&nbsp;Poll
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.select.Poll-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.select.Poll-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class Poll</h2>
+
+<hr/>
+
+Class implementing poll interface. Works for Python sockets and SAM 
+sockets.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="poll"></a><span class="summary-sig"><span class="summary-sig-name">poll</span>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>timeout</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="register"></a><span class="summary-sig"><span class="summary-sig-name">register</span>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>fd</span>,
+          <span class=summary-sig-arg>eventmask</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="unregister"></a><span class="summary-sig"><span class="summary-sig-name">unregister</span>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>fd</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.socket-module.html b/apps/sam/python/doc/epydoc/html/public/i2p.socket-module.html
new file mode 100644
index 0000000000..3b9b381382
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.socket-module.html
@@ -0,0 +1,186 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.socket</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        Module&nbsp;socket
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.socket-module.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.socket-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF MODULE DESCRIPTION =========== -->
+<h2 class="module">Module i2p.socket</h2>
+
+Emulation of Python socket module using SAM.
+<hr/>
+
+<!-- =========== START OF CLASSES =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Classes</th></tr>
+<tr><td width="15%">
+  <b><a href="i2p.socket.Socket-class.html"><code>Socket</code></a></b></td>
+  <td>A socket object.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF EXCEPTIONS =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Exceptions</th></tr>
+<tr><td width="15%">
+  <b><a href="i2p.socket.BlockError-class.html"><code>BlockError</code></a></b></td>
+  <td>Socket call would have blocked.</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.socket.ClosedError-class.html"><code>ClosedError</code></a></b></td>
+  <td>A command was used on a socket that closed gracefully.</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.socket.Error-class.html"><code>Error</code></a></b></td>
+  <td>Base class for all SAM errors.</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.socket.NetworkError-class.html"><code>NetworkError</code></a></b></td>
+  <td>Network error occurred within I2P.</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.socket.Timeout-class.html"><code>Timeout</code></a></b></td>
+  <td>Time out occurred for a socket which had timeouts enabled via a prior 
+call to settimeout().</td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Function Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket-module.html#resolve" class="summary-sig-name"><code>resolve</code></a>(<span class=summary-sig-arg>host</span>,
+          <span class=summary-sig-arg>samaddr</span>)</span></code>
+<br />
+Resolve I2P host name --&gt; I2P Destination.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket-module.html#socket" class="summary-sig-name"><code>socket</code></a>(<span class=summary-sig-arg>session</span>,
+          <span class=summary-sig-arg>type</span>,
+          <span class=summary-sig-arg>samaddr</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Create a new socket.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF FUNCTION DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Function Details</th></tr>
+</table>
+
+<a name="resolve"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">resolve</span>(<span class=sig-arg>host</span>,
+          <span class=sig-arg>samaddr</span>=<span class=sig-default>'127.0.0.1:7656'</span>)</span>
+  </h3>
+  Resolve I2P host name --&gt; I2P Destination. Returns the same 
+  string if host is already a Destination.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="socket"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">socket</span>(<span class=sig-arg>session</span>,
+          <span class=sig-arg>type</span>,
+          <span class=sig-arg>samaddr</span>=<span class=sig-default>'127.0.0.1:7656'</span>,
+          <span class="sig-kwarg">**kwargs</span>)</span>
+  </h3>
+  <p>Create a new socket. Argument session should be a session name -- if 
+  the name has not yet been used, an I2P Destination will be created for 
+  it, otherwise, the existing Destination will be re-used. An empty 
+  session string causes a transient session to be created. Argument type 
+  is one of SOCK_STREAM, SOCK_DGRAM, or SOCK_RAW.</p>
+  I2P configuration keyword arguments:
+  <ul>
+    <li>
+      in_depth - depth of incoming tunnel (default 2)
+    </li>
+    <li>
+      out_depth - depth of outgoing tunnel (default 2)
+    </li>
+  </ul>
+  <p>A single session may be shared by more than one socket, if the 
+  sockets are the same type, and if the sockets are created within the 
+  same Python process. The socket objects are multithread-safe.</p>
+  Examples:
+<pre class="doctestblock">
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>a = i2p.socket(<span class="py-string">'Alice'</span>, i2p.SOCK_STREAM)
+<span class="py-prompt">&gt;&gt;&gt; </span>b = i2p.socket(<span class="py-string">'Bob'</span>,   i2p.SOCK_DGRAM,</span>
+<span class="py-output">in_depth=2, out_depth=5)</span></pre>
+  The created object behaves identically to a socket from module 
+  socket, with the following exceptions:
+  <ul>
+    <li>
+      I2P Destinations are used as address arguments [1].
+    </li>
+    <li>
+      bind is a no-op: sockets are always bound.
+    </li>
+    <li>
+      send* methods send all data and are non-blocking.
+    </li>
+  </ul>
+  <p>A given session name can only be open in a single Python program at 
+  a time. If you need to overcome this limitation, consider patching 
+  I2P.</p>
+  <p>[1]. Alternatively, a host name can be used as an address. It will 
+  be resolved using hosts.txt.</p>
+  <p>For details on how to use socket objects, see 
+  http://www.python.org/doc/current/lib/socket-objects.html</p>
+  See the examples directory for code examples.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.socket.BlockError-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.socket.BlockError-class.html
new file mode 100644
index 0000000000..989bd9d1fa
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.socket.BlockError-class.html
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.socket.BlockError</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.socket-module.html">Module&nbsp;socket</a> ::
+        Class&nbsp;BlockError
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.socket.BlockError-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.socket.BlockError-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class BlockError</h2>
+
+<pre class="base-tree">
+<a href="exceptions.Exception-class.html"><code>Exception</code></a> --+        
+            |        
+        <a href="..\private\i2p.Error-class.html"><code>Error</code></a> --+    
+                |    
+            <a href="i2p.socket.Error-class.html"><code>Error</code></a> --+
+                    |
+                   <b>BlockError</b>
+</pre><br />
+
+<hr/>
+
+Socket call would have blocked.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Exception</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__str__" class="summary-sig-name"><code>__str__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.socket.ClosedError-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.socket.ClosedError-class.html
new file mode 100644
index 0000000000..bd1605bcd4
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.socket.ClosedError-class.html
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.socket.ClosedError</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.socket-module.html">Module&nbsp;socket</a> ::
+        Class&nbsp;ClosedError
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.socket.ClosedError-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.socket.ClosedError-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class ClosedError</h2>
+
+<pre class="base-tree">
+<a href="exceptions.Exception-class.html"><code>Exception</code></a> --+        
+            |        
+        <a href="..\private\i2p.Error-class.html"><code>Error</code></a> --+    
+                |    
+            <a href="i2p.socket.Error-class.html"><code>Error</code></a> --+
+                    |
+                   <b>ClosedError</b>
+</pre><br />
+
+<hr/>
+
+A command was used on a socket that closed gracefully.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Exception</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__str__" class="summary-sig-name"><code>__str__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.socket.Error-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.socket.Error-class.html
new file mode 100644
index 0000000000..69a305ae4c
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.socket.Error-class.html
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.socket.Error</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.socket-module.html">Module&nbsp;socket</a> ::
+        Class&nbsp;Error
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.socket.Error-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.socket.Error-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class Error</h2>
+
+<pre class="base-tree">
+<a href="exceptions.Exception-class.html"><code>Exception</code></a> --+    
+            |    
+        <a href="..\private\i2p.Error-class.html"><code>Error</code></a> --+
+                |
+               <b>Error</b>
+</pre><br />
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.socket.BlockError-class.html"><code>BlockError</code></a>,
+    <a href="i2p.socket.ClosedError-class.html"><code>ClosedError</code></a>,
+    <a href="i2p.socket.NetworkError-class.html"><code>NetworkError</code></a>,
+    <a href="i2p.socket.Timeout-class.html"><code>Timeout</code></a></dd></dl>
+
+<hr/>
+
+Base class for all SAM errors.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Exception</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__str__" class="summary-sig-name"><code>__str__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.socket.NetworkError-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.socket.NetworkError-class.html
new file mode 100644
index 0000000000..6555bac0c2
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.socket.NetworkError-class.html
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.socket.NetworkError</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.socket-module.html">Module&nbsp;socket</a> ::
+        Class&nbsp;NetworkError
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.socket.NetworkError-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.socket.NetworkError-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class NetworkError</h2>
+
+<pre class="base-tree">
+<a href="exceptions.Exception-class.html"><code>Exception</code></a> --+        
+            |        
+        <a href="..\private\i2p.Error-class.html"><code>Error</code></a> --+    
+                |    
+            <a href="i2p.socket.Error-class.html"><code>Error</code></a> --+
+                    |
+                   <b>NetworkError</b>
+</pre><br />
+
+<hr/>
+
+Network error occurred within I2P. The error object is a 2-tuple: 
+(errtag, errdesc). errtag is a SAM error string, errdesc is a human 
+readable error description.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Exception</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__str__" class="summary-sig-name"><code>__str__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.socket.Socket-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.socket.Socket-class.html
new file mode 100644
index 0000000000..794522e48b
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.socket.Socket-class.html
@@ -0,0 +1,507 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.socket.Socket</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.socket-module.html">Module&nbsp;socket</a> ::
+        Class&nbsp;Socket
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.socket.Socket-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.socket.Socket-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class Socket</h2>
+
+<hr/>
+
+A socket object.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>session</span>,
+          <span class=summary-sig-arg>type</span>,
+          <span class=summary-sig-arg>samaddr</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Equivalent to socket().</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#__copy__" class="summary-sig-name"><code>__copy__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Returns the original object.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#__deepcopy__" class="summary-sig-name"><code>__deepcopy__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>memo</span>)</span></code>
+<br />
+Returns the original object.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#accept" class="summary-sig-name"><code>accept</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Accept an incoming connection.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#bind" class="summary-sig-name"><code>bind</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>address</span>)</span></code>
+<br />
+Does nothing.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#close" class="summary-sig-name"><code>close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Closes the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#connect" class="summary-sig-name"><code>connect</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>address</span>)</span></code>
+<br />
+Connect to a remote dest, identified in local SAM bridge's hosts file 
+as host 'address'.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#connect_ex" class="summary-sig-name"><code>connect_ex</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>address</span>)</span></code>
+<br />
+Like connect(), but return any error that is raised.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#getpeername" class="summary-sig-name"><code>getpeername</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the remote Destination associated with the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#getsockname" class="summary-sig-name"><code>getsockname</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the local Destination associated with the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#gettimeout" class="summary-sig-name"><code>gettimeout</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the timeout value.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#listen" class="summary-sig-name"><code>listen</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>backlog</span>)</span></code>
+<br />
+Listen for connections made to the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#makefile" class="summary-sig-name"><code>makefile</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>mode</span>,
+          <span class=summary-sig-arg>bufsize</span>)</span></code>
+<br />
+Return a file object for the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#recv" class="summary-sig-name"><code>recv</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>bufsize</span>,
+          <span class=summary-sig-arg>flags</span>)</span></code>
+<br />
+Receive string data from the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#recvfrom" class="summary-sig-name"><code>recvfrom</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>bufsize</span>,
+          <span class=summary-sig-arg>flags</span>)</span></code>
+<br />
+Like recv(), but returns a tuple (data, remoteaddr), where data is the 
+string data received, and remoteaddr is the remote Destination.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#send" class="summary-sig-name"><code>send</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>string</span>,
+          <span class=summary-sig-arg>flags</span>)</span></code>
+<br />
+Sends string data to a remote Destination.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#sendall" class="summary-sig-name"><code>sendall</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>string</span>,
+          <span class=summary-sig-arg>flags</span>)</span></code>
+<br />
+Identical to send().</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#sendto" class="summary-sig-name"><code>sendto</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>string</span>,
+          <span class=summary-sig-arg>flags</span>,
+          <span class=summary-sig-arg>address</span>)</span></code>
+<br />
+Send a packet to the given Destination.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#setblocking" class="summary-sig-name"><code>setblocking</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>flag</span>)</span></code>
+<br />
+Set blocking or non-blocking mode for the socket.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#settimeout" class="summary-sig-name"><code>settimeout</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>value</span>)</span></code>
+<br />
+Set a timeout for the socket.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF PROPERTY SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Property Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><b><a href="i2p.socket.Socket-class.html#dest"><code>dest</code></a></b>: Local I2P Destination of socket</td></tr><tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><b><a href="i2p.socket.Socket-class.html#session"><code>session</code></a></b>: Session name</td></tr><tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><b><a href="i2p.socket.Socket-class.html#type"><code>type</code></a></b>: Socket type: SOCK_STREAM, SOCK_DGRAM, or SOCK_RAW.</td></tr></table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="__init__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__init__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>session</span>,
+          <span class=sig-arg>type</span>,
+          <span class=sig-arg>samaddr</span>=<span class=sig-default>'127.0.0.1:7656'</span>,
+          <span class="sig-kwarg">**kwargs</span>)</span>
+    <br /><i>(Constructor)</i>
+  </h3>
+  Equivalent to socket().
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="__copy__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__copy__</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Returns the original object.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="__deepcopy__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__deepcopy__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>memo</span>)</span>
+  </h3>
+  Returns the original object.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="accept"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">accept</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Accept an incoming connection. The socket must be type SOCK_STREAM, 
+  and listen() must be called prior to this command. The return value is 
+  (conn, remotedest), where conn is a new socket object made for the 
+  connection, and remotedest is the remote Destination from which the 
+  connection was made.</p>
+  Example:
+<pre class="doctestblock">
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">from</span> i2p <span class="py-keyword">import</span> socket
+<span class="py-prompt">&gt;&gt;&gt; </span>s = socket.socket(<span class="py-string">'Alice'</span>, socket.SOCK_STREAM)
+<span class="py-prompt">&gt;&gt;&gt; </span>s.listen(10)</span></pre>
+  This prepares the server. Now accept an incoming connection:
+<pre class="doctestblock">
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>c, remotedest = s.accept()
+<span class="py-prompt">&gt;&gt;&gt; </span>c.send(<span class="py-string">'hello world!'</span>)</span></pre>
+  If accept() is called on a socket that is in non-blocking mode or 
+  has a timeout, i2p.socket.BlockError or i2p.socket.Timeout may be 
+  raised. This indicates that no incoming connection is currently 
+  available.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="bind"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">bind</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>address</span>)</span>
+  </h3>
+  Does nothing. Provided for compatibility with the Python socket 
+  command bind(), which binds a server to a port.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="close"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">close</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Closes the socket. It is an error to call any method other than 
+  recv() or recvfrom() on a closed socket. For streams, the receive 
+  methods return data that was received prior to the closing of the 
+  socket. For datagram and raw sockets, the receive methods cannot be 
+  used on a closed socket.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="connect"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">connect</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>address</span>)</span>
+  </h3>
+  <p>Connect to a remote dest, identified in local SAM bridge's hosts 
+  file as host 'address'.</p>
+  For example:
+<pre class="doctestblock">
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>s.connect(<span class="py-string">'duck.i2p'</span>)</span></pre>
+  <p>Alternatively, you can use a full base64 Destination:</p>
+  Example:
+<pre class="doctestblock">
+<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>s.connect(<span class="py-string">'238797sdfh2k34kjh....AAAA'</span>)</span></pre>
+  If connect() is called on a socket that is in non-blocking mode or 
+  has a timeout, i2p.socket.BlockError or i2p.socket.Timeout may be 
+  raised. This indicates that the connection is still being initiated. 
+  Use i2p.select.select() to determine when the connection is ready.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="connect_ex"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">connect_ex</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>address</span>)</span>
+  </h3>
+  Like connect(), but return any error that is raised. Returns None if 
+  no error is raised.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="getpeername"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">getpeername</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Get the remote Destination associated with the socket. This is 
+  equivalent to s.remotedest, and is provided for compatibility with the 
+  Python socket module.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="getsockname"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">getsockname</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Get the local Destination associated with the socket. This is 
+  equivalent to s.dest, and is provided for compatibility with the Python 
+  socket module.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="gettimeout"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">gettimeout</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Get the timeout value.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="listen"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">listen</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>backlog</span>)</span>
+  </h3>
+  Listen for connections made to the socket. This method must be 
+  called before accept(). The backlog argument specifies the maximum 
+  number of queued incoming connections.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="makefile"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">makefile</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>mode</span>=<span class=sig-default>'r'</span>,
+          <span class=sig-arg>bufsize</span>=<span class=sig-default>-1</span>)</span>
+  </h3>
+  Return a file object for the socket. See socket.makefile() in the 
+  Python documentation for more information.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="recv"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">recv</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>bufsize</span>,
+          <span class=sig-arg>flags</span>=<span class=sig-default>0</span>)</span>
+  </h3>
+  <p>Receive string data from the socket.</p>
+  <p>The maximum amount of data to be received is given by bufsize. If 
+  bufsize is zero, this function returns an empty string immediately. If 
+  bufsize is nonzero, this function blocks until at least one character 
+  is available for reading. If the socket has been closed, an empty 
+  string is returned as an end of file indicator.</p>
+  <p>If recv() is called on a socket that is in non-blocking mode or has 
+  a timeout, i2p.socket.BlockError or i2p.socket.Timeout will be raised 
+  if data is not available within the given timeframe.</p>
+  <p>For a datagram or raw socket, the first bufsize characters of the 
+  packet are read, and the remainder of the packet is discarded. To read 
+  the entire packet, use bufsize = -1.</p>
+  <p>For datagram and raw sockets, the packet may originate from any 
+  Destination. Use recvfrom() with datagrams to determine the Destination 
+  from which the packet was received.</p>
+  The flags argument can be a bitwise OR of MSG_PEEK, MSG_WAITALL, 
+  and/or MSG_DONTWAIT. MSG_PEEK indicates that any data read should not 
+  be removed from the socket's incoming buffer. MSG_WAITALL indicates to 
+  wait for exactly bufsize characters or an error. MSG_DONTWAIT indicates 
+  that the recv() command should not block execution.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="recvfrom"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">recvfrom</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>bufsize</span>,
+          <span class=sig-arg>flags</span>=<span class=sig-default>0</span>)</span>
+  </h3>
+  Like recv(), but returns a tuple (data, remoteaddr), where data is 
+  the string data received, and remoteaddr is the remote Destination.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="send"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">send</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>string</span>,
+          <span class=sig-arg>flags</span>=<span class=sig-default>0</span>)</span>
+  </h3>
+  <p>Sends string data to a remote Destination.</p>
+  <p>For a stream, connect() must be called prior to send(). Once close() 
+  is called, no further data can be sent, and the stream cannot be 
+  re-opened.</p>
+  <p>For datagram and raw sockets, connect() only specifies a Destination 
+  to which packets are sent to. send() will then send a packet to the 
+  given Destination. connect() can be used multiple times.</p>
+  The send() command never blocks execution. The flags argument is 
+  ignored.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="sendall"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">sendall</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>string</span>,
+          <span class=sig-arg>flags</span>=<span class=sig-default>0</span>)</span>
+  </h3>
+  Identical to send().
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="sendto"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">sendto</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>string</span>,
+          <span class=sig-arg>flags</span>,
+          <span class=sig-arg>address</span>)</span>
+  </h3>
+  <p>Send a packet to the given Destination.</p>
+  <p>Only valid for datagram and raw sockets. The address argument should 
+  be either a name from the hosts file, or a base64 Destination.</p>
+  The sendto() command never blocks execution. The flags argument is 
+  ignored.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="setblocking"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">setblocking</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>flag</span>)</span>
+  </h3>
+  <p>Set blocking or non-blocking mode for the socket.</p>
+  <p>If flag is True, any method called on the socket will hang until the 
+  method has completed. If flag is False, all methods will raise 
+  i2p.socket.BlockError() if they cannot complete instantly.</p>
+  s.setblocking(False) is equivalent to s.settimeout(0); 
+  s.setblocking(True) is equivalent to s.settimeout(None).
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="settimeout"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">settimeout</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>value</span>)</span>
+  </h3>
+  <p>Set a timeout for the socket.</p>
+  <p>The value argument should be a timeout value in seconds, or None. 
+  None is equivalent to an infinite timeout.</p>
+  A socket operation will raise a i2p.socket.Timeout if the operation 
+  cannot complete within in the specified time limit.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF PROPERTY DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Property Details</th></tr>
+</table>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+
+<a name="dest"></a>
+<h3>dest</h3>
+Local I2P Destination of socket
+</td></tr></table><table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+
+<a name="session"></a>
+<h3>session</h3>
+Session name
+</td></tr></table><table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+
+<a name="type"></a>
+<h3>type</h3>
+Socket type: SOCK_STREAM, SOCK_DGRAM, or SOCK_RAW.
+</td></tr></table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.socket.Timeout-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.socket.Timeout-class.html
new file mode 100644
index 0000000000..adafd79260
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.socket.Timeout-class.html
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.socket.Timeout</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.socket-module.html">Module&nbsp;socket</a> ::
+        Class&nbsp;Timeout
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.socket.Timeout-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.socket.Timeout-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class Timeout</h2>
+
+<pre class="base-tree">
+<a href="exceptions.Exception-class.html"><code>Exception</code></a> --+        
+            |        
+        <a href="..\private\i2p.Error-class.html"><code>Error</code></a> --+    
+                |    
+            <a href="i2p.socket.Error-class.html"><code>Error</code></a> --+
+                    |
+                   <b>Timeout</b>
+</pre><br />
+
+<hr/>
+
+Time out occurred for a socket which had timeouts enabled via a prior 
+call to settimeout().
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Exception</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__str__" class="summary-sig-name"><code>__str__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
+</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.tunnel-module.html b/apps/sam/python/doc/epydoc/html/public/i2p.tunnel-module.html
new file mode 100644
index 0000000000..2d110a7163
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.tunnel-module.html
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.tunnel</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        Module&nbsp;tunnel
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.tunnel-module.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.tunnel-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF MODULE DESCRIPTION =========== -->
+<h2 class="module">Module i2p.tunnel</h2>
+
+Exchange data between I2P and regular TCP sockets.
+<hr/>
+
+<!-- =========== START OF CLASSES =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Classes</th></tr>
+<tr><td width="15%">
+  <b><a href="i2p.tunnel.Tunnel-class.html"><code>Tunnel</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.tunnel.TunnelClient-class.html"><code>TunnelClient</code></a></b></td>
+  <td>&nbsp;</td></tr>
+<tr><td width="15%">
+  <b><a href="i2p.tunnel.TunnelServer-class.html"><code>TunnelServer</code></a></b></td>
+  <td>&nbsp;</td></tr>
+</table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.tunnel.Tunnel-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.tunnel.Tunnel-class.html
new file mode 100644
index 0000000000..e3a14ed42b
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.tunnel.Tunnel-class.html
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.tunnel.Tunnel</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.tunnel-module.html">Module&nbsp;tunnel</a> ::
+        Class&nbsp;Tunnel
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.tunnel.Tunnel-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.tunnel.Tunnel-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class Tunnel</h2>
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="i2p.tunnel.TunnelClient-class.html"><code>TunnelClient</code></a>,
+    <a href="i2p.tunnel.TunnelServer-class.html"><code>TunnelServer</code></a></dd></dl>
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.tunnel.Tunnel-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>receive</span>,
+          <span class=summary-sig-arg>make_send</span>,
+          <span class=summary-sig-arg>nconnect</span>,
+          <span class=summary-sig-arg>timeout</span>)</span></code>
+<br />
+A Tunnel relays connections from a 'receive' socket to one or more 
+'send' sockets.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.tunnel.Tunnel-class.html#close" class="summary-sig-name"><code>close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Close all connections made for this tunnel.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="__init__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__init__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>receive</span>,
+          <span class=sig-arg>make_send</span>,
+          <span class=sig-arg>nconnect</span>=<span class=sig-default>-1</span>,
+          <span class=sig-arg>timeout</span>=<span class=sig-default>60.0</span>)</span>
+    <br /><i>(Constructor)</i>
+  </h3>
+  <p>A Tunnel relays connections from a 'receive' socket to one or more 
+  'send' sockets. The receive socket must be bound and listening. For 
+  each incoming connection, a new send socket is created by calling 
+  make_send(). Data is then exchanged between the created streams until 
+  one socket is closed. nconnect is the maximum number of simultaneous 
+  connections (-1 for infinite), and timeout is the time that a single 
+  connection can last for (None allows a connection to last forever).</p>
+  <p>Sockets must accept stream traffic and support the Python socket 
+  interface. A separate daemonic thread is created to manage the tunnel. 
+  For high performance, make_send() should make a socket and connect in 
+  non-blocking mode (you should catch and discard the socket.BlockError 
+  or socket.error due to executing connect on a non-blocking socket).</p>
+  <p>Security Note: A firewall is needed to maintain the end user's 
+  anonymity. An attacker could keep a tunnel socket open by pinging it 
+  regularly. The accepted sockets from 'receive' must prevent this by 
+  closing down eventually.</p>
+  Socket errors do not cause the Tunnel to shut down.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="close"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">close</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Close all connections made for this tunnel.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.tunnel.TunnelClient-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.tunnel.TunnelClient-class.html
new file mode 100644
index 0000000000..60f977715e
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.tunnel.TunnelClient-class.html
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.tunnel.TunnelClient</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.tunnel-module.html">Module&nbsp;tunnel</a> ::
+        Class&nbsp;TunnelClient
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.tunnel.TunnelClient-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.tunnel.TunnelClient-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class TunnelClient</h2>
+
+<pre class="base-tree">
+<a href="i2p.tunnel.Tunnel-class.html"><code>Tunnel</code></a> --+
+         |
+        <b>TunnelClient</b>
+</pre><br />
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.tunnel.TunnelClient-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>session</span>,
+          <span class=summary-sig-arg>port</span>,
+          <span class=summary-sig-arg>dest</span>,
+          <span class=summary-sig-arg>samaddr</span>,
+          <span class=summary-sig-arg>nconnect</span>,
+          <span class=summary-sig-arg>timeout</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Tunnels localhost:port --&gt; I2P Destination dest.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Tunnel</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.tunnel.Tunnel-class.html#close" class="summary-sig-name"><code>close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Close all connections made for this tunnel.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF PROPERTY SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Property Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><b><a href="i2p.tunnel.TunnelClient-class.html#dest"><code>dest</code></a></b></td></tr><tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><b><a href="i2p.tunnel.TunnelClient-class.html#remotedest"><code>remotedest</code></a></b>: Remote Destination.</td></tr><tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><b><a href="i2p.tunnel.TunnelClient-class.html#session"><code>session</code></a></b></td></tr></table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="__init__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__init__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>session</span>,
+          <span class=sig-arg>port</span>,
+          <span class=sig-arg>dest</span>,
+          <span class=sig-arg>samaddr</span>=<span class=sig-default>'127.0.0.1:7656'</span>,
+          <span class=sig-arg>nconnect</span>=<span class=sig-default>-1</span>,
+          <span class=sig-arg>timeout</span>=<span class=sig-default>None</span>,
+          <span class="sig-kwarg">**kwargs</span>)</span>
+    <br /><i>(Constructor)</i>
+  </h3>
+  <p>Tunnels localhost:port --&gt; I2P Destination dest.</p>
+  A session named 'session' is created locally, for purposes of 
+  routing to 'dest'. nconnect and timeout are the maximum number of 
+  connections and maximum time per connection. All other arguments are 
+  passed to socket.socket(). This call blocks until the tunnel is 
+  ready.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="i2p.tunnel.Tunnel-class.html#__init__"><code>i2p.tunnel.Tunnel.__init__</code></a></dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF PROPERTY DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Property Details</th></tr>
+</table>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+
+<a name="dest"></a>
+<h3>dest</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Get Method:</b></dt>
+      <dd><code><span class="variable-quote">'</span>Local&nbsp;Destination&nbsp;used&nbsp;for&nbsp;routing.<span class="variable-quote">'</span>    </code>
+
+      </dd>
+    </dl>
+  </dd>
+</dl></td></tr></table><table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+
+<a name="remotedest"></a>
+<h3>remotedest</h3>
+Remote Destination.
+</td></tr></table><table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+
+<a name="session"></a>
+<h3>session</h3>
+<dl>
+  <dt></dt>
+  <dd>
+    <dl>
+      <dt><b>Get Method:</b></dt>
+      <dd><code><span class="variable-quote">'</span>Local&nbsp;Destination&nbsp;used&nbsp;for&nbsp;routing.<span class="variable-quote">'</span>    </code>
+
+      </dd>
+    </dl>
+  </dd>
+</dl></td></tr></table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/i2p.tunnel.TunnelServer-class.html b/apps/sam/python/doc/epydoc/html/public/i2p.tunnel.TunnelServer-class.html
new file mode 100644
index 0000000000..c635773bbe
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/i2p.tunnel.TunnelServer-class.html
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.tunnel.TunnelServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        <a href="i2p-module.html">Package&nbsp;i2p</a> ::
+        <a href="i2p.tunnel-module.html">Module&nbsp;tunnel</a> ::
+        Class&nbsp;TunnelServer
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/i2p.tunnel.TunnelServer-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.tunnel.TunnelServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class TunnelServer</h2>
+
+<pre class="base-tree">
+<a href="i2p.tunnel.Tunnel-class.html"><code>Tunnel</code></a> --+
+         |
+        <b>TunnelServer</b>
+</pre><br />
+
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.tunnel.TunnelServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>session</span>,
+          <span class=summary-sig-arg>port</span>,
+          <span class=summary-sig-arg>samaddr</span>,
+          <span class=summary-sig-arg>nconnect</span>,
+          <span class=summary-sig-arg>timeout</span>,
+          <span class="summary-sig-kwarg">**kwargs</span>)</span></code>
+<br />
+Tunnels incoming SAM streams --&gt; localhost:port.</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Tunnel</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="i2p.tunnel.Tunnel-class.html#close" class="summary-sig-name"><code>close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Close all connections made for this tunnel.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF PROPERTY SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Property Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><b><a href="i2p.tunnel.TunnelServer-class.html#dest"><code>dest</code></a></b>: I2P Destination of server.</td></tr><tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><b><a href="i2p.tunnel.TunnelServer-class.html#session"><code>session</code></a></b>: Session name for server.</td></tr></table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="__init__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__init__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>session</span>,
+          <span class=sig-arg>port</span>,
+          <span class=sig-arg>samaddr</span>=<span class=sig-default>'127.0.0.1:7656'</span>,
+          <span class=sig-arg>nconnect</span>=<span class=sig-default>-1</span>,
+          <span class=sig-arg>timeout</span>=<span class=sig-default>None</span>,
+          <span class="sig-kwarg">**kwargs</span>)</span>
+    <br /><i>(Constructor)</i>
+  </h3>
+  <p>Tunnels incoming SAM streams --&gt; localhost:port.</p>
+  nconnect and timeout are the maximum number of connections and 
+  maximum time per connection. All other arguments are passed to 
+  socket.socket(). This call blocks until the tunnel is ready.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="i2p.tunnel.Tunnel-class.html#__init__"><code>i2p.tunnel.Tunnel.__init__</code></a></dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF PROPERTY DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Property Details</th></tr>
+</table>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+
+<a name="dest"></a>
+<h3>dest</h3>
+I2P Destination of server.
+</td></tr></table><table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+
+<a name="session"></a>
+<h3>session</h3>
+Session name for server.
+</td></tr></table><br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/index.html b/apps/sam/python/doc/epydoc/html/public/index.html
new file mode 100644
index 0000000000..a4d252f7ba
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/index.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
+<html>
+<head>
+  <title> API Documentation </title>
+</head>
+<frameset cols="20%,80%">
+  <frameset rows="30%,70%">
+    <frame src="toc.html" name="moduleListFrame">
+    <frame src="toc-everything.html" name="moduleFrame">
+  </frameset>
+  <frame src="i2p-module.html" name="mainFrame">
+</frameset>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/indices.html b/apps/sam/python/doc/epydoc/html/public/indices.html
new file mode 100644
index 0000000000..c1398b8d36
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/indices.html
@@ -0,0 +1,697 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Index</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Index&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/indices.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="indices.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+<br />
+
+<!-- =========== START OF IDENTIFIER INDEX =========== -->
+<table class="index" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="index">
+  <th colspan="2">Identifier Index</th></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#__contains__"><code>__contains__</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#__copy__"><code>__copy__</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#__deepcopy__"><code>__deepcopy__</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#__delitem__"><code>__delitem__</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="exceptions.Exception-class.html#__getitem__"><code>__getitem__</code></a></td>
+    <td>Method in class <a href="exceptions.Exception-class.html"><code>exceptions.Exception</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#__getitem__"><code>__getitem__</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.BaseRequestHandler-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="SocketServer.BaseRequestHandler-class.html"><code>SocketServer.BaseRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="exceptions.Exception-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="exceptions.Exception-class.html"><code>exceptions.Exception</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.select.Poll-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="i2p.select.Poll-class.html"><code>i2p.select.Poll</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel.Tunnel-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="i2p.tunnel.Tunnel-class.html"><code>i2p.tunnel.Tunnel</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel.TunnelClient-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="i2p.tunnel.TunnelClient-class.html"><code>i2p.tunnel.TunnelClient</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel.TunnelServer-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="i2p.tunnel.TunnelServer-class.html"><code>i2p.tunnel.TunnelServer</code></a></td></tr>
+  <tr><td width="15%"><a href="mimetools.Message-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#__init__"><code>__init__</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#__len__"><code>__len__</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#__setitem__"><code>__setitem__</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="exceptions.Exception-class.html#__str__"><code>__str__</code></a></td>
+    <td>Method in class <a href="exceptions.Exception-class.html"><code>exceptions.Exception</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#__str__"><code>__str__</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#accept"><code>accept</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></td>
+    <td>Variable in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></td>
+    <td>Variable in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></td>
+    <td>Variable in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></td>
+    <td>Variable in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string"><code>address_string</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.HTTPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.HTTPServer-class.html"><code>BaseHTTPServer.HTTPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.HTTPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.HTTPServer-class.html"><code>BaseHTTPServer.HTTPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
+    <td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
+    <td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
+    <td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
+    <td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a></td>
+    <td>Class in module <code>BaseHTTPServer</code></td></tr>
+  <tr><td width="15%"><a href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a></td>
+    <td>Class in module <a href="i2p.BaseHTTPServer-module.html"><code>i2p.BaseHTTPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.BaseHTTPServer-module.html"><code>BaseHTTPServer</code></a></td>
+    <td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a></td>
+    <td>Class in module <code>SocketServer</code></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a></td>
+    <td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a></td>
+    <td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#bind"><code>bind</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.BlockError-class.html"><code>BlockError</code></a></td>
+    <td>Class in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#cgi_directories"><code>cgi_directories</code></a></td>
+    <td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#cgi_directories"><code>cgi_directories</code></a></td>
+    <td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPRequestHandler</code></a></td>
+    <td>Class in module <code>CGIHTTPServer</code></td></tr>
+  <tr><td width="15%"><a href="i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPRequestHandler</code></a></td>
+    <td>Class in module <a href="i2p.CGIHTTPServer-module.html"><code>i2p.CGIHTTPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.CGIHTTPServer-module.html"><code>CGIHTTPServer</code></a></td>
+    <td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.router-module.html#check"><code>check</code></a></td>
+    <td>Function in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.router-module.html#check_addrlist"><code>check_addrlist</code></a></td>
+    <td>Variable in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#close"><code>close</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel.Tunnel-class.html#close"><code>close</code></a></td>
+    <td>Method in class <a href="i2p.tunnel.Tunnel-class.html"><code>i2p.tunnel.Tunnel</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#close_request"><code>close_request</code></a></td>
+    <td>Method in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html#close_request"><code>close_request</code></a></td>
+    <td>Method in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.ClosedError-class.html"><code>ClosedError</code></a></td>
+    <td>Class in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#collect_children"><code>collect_children</code></a></td>
+    <td>Method in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#connect"><code>connect</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#connect_ex"><code>connect_ex</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#copyfile"><code>copyfile</code></a></td>
+    <td>Method in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></td>
+    <td>Variable in class <a href="SocketServer.ThreadingMixIn-class.html"><code>SocketServer.ThreadingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></td>
+    <td>Variable in class <a href="SocketServer.ThreadingMixIn-class.html"><code>SocketServer.ThreadingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></td>
+    <td>Variable in class <a href="SocketServer.ThreadingMixIn-class.html"><code>SocketServer.ThreadingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></td>
+    <td>Variable in class <a href="SocketServer.ThreadingMixIn-class.html"><code>SocketServer.ThreadingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.DatagramRequestHandler-class.html"><code>DatagramRequestHandler</code></a></td>
+    <td>Class in module <code>SocketServer</code></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.DatagramRequestHandler-class.html"><code>DatagramRequestHandler</code></a></td>
+    <td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string"><code>date_time_string</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#dest"><code>dest</code></a></td>
+    <td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a> in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel.TunnelClient-class.html#dest"><code>dest</code></a></td>
+    <td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a> in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a> in class <a href="i2p.tunnel.TunnelClient-class.html"><code>i2p.tunnel.TunnelClient</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel.TunnelServer-class.html#dest"><code>dest</code></a></td>
+    <td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a> in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a> in class <a href="i2p.tunnel.TunnelClient-class.html"><code>i2p.tunnel.TunnelClient</code></a> in class <a href="i2p.tunnel.TunnelServer-class.html"><code>i2p.tunnel.TunnelServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_GET"><code>do_GET</code></a></td>
+    <td>Method in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_HEAD"><code>do_HEAD</code></a></td>
+    <td>Method in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#do_POST"><code>do_POST</code></a></td>
+    <td>Method in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.eep-module.html"><code>eep</code></a></td>
+    <td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers"><code>end_headers</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Error-class.html"><code>Error</code></a></td>
+    <td>Class in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="exceptions.Exception-class.html"><code>Exception</code></a></td>
+    <td>Class in module <code>exceptions</code></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></td>
+    <td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></td>
+    <td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></td>
+    <td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></td>
+    <td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#fileno"><code>fileno</code></a></td>
+    <td>Method in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.router-module.html#find"><code>find</code></a></td>
+    <td>Function in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.BaseRequestHandler-class.html#finish"><code>finish</code></a></td>
+    <td>Method in class <a href="SocketServer.BaseRequestHandler-class.html"><code>SocketServer.BaseRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.DatagramRequestHandler-class.html#finish"><code>finish</code></a></td>
+    <td>Method in class <a href="SocketServer.DatagramRequestHandler-class.html"><code>SocketServer.DatagramRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#finish"><code>finish</code></a></td>
+    <td>Method in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a></td>
+    <td>Class in module <code>SocketServer</code></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a></td>
+    <td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.ForkingTCPServer-class.html"><code>ForkingTCPServer</code></a></td>
+    <td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.ForkingUDPServer-class.html"><code>ForkingUDPServer</code></a></td>
+    <td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#get_request"><code>get_request</code></a></td>
+    <td>Method in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html#get_request"><code>get_request</code></a></td>
+    <td>Method in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#getaddr"><code>getaddr</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#getaddrlist"><code>getaddrlist</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#getallmatchingheaders"><code>getallmatchingheaders</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#getdate"><code>getdate</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#getdate_tz"><code>getdate_tz</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="mimetools.Message-class.html#getencoding"><code>getencoding</code></a></td>
+    <td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#getfirstmatchingheader"><code>getfirstmatchingheader</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#getheader"><code>getheader</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#getheaders"><code>getheaders</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="mimetools.Message-class.html#getmaintype"><code>getmaintype</code></a></td>
+    <td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="mimetools.Message-class.html#getparam"><code>getparam</code></a></td>
+    <td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="mimetools.Message-class.html#getparamnames"><code>getparamnames</code></a></td>
+    <td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#getpeername"><code>getpeername</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="mimetools.Message-class.html#getplist"><code>getplist</code></a></td>
+    <td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#getrawheader"><code>getrawheader</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#getsockname"><code>getsockname</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="mimetools.Message-class.html#getsubtype"><code>getsubtype</code></a></td>
+    <td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#gettimeout"><code>gettimeout</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="mimetools.Message-class.html#gettype"><code>gettype</code></a></td>
+    <td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#guess_type"><code>guess_type</code></a></td>
+    <td>Method in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle"><code>handle</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.BaseRequestHandler-class.html#handle"><code>handle</code></a></td>
+    <td>Method in class <a href="SocketServer.BaseRequestHandler-class.html"><code>SocketServer.BaseRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request"><code>handle_one_request</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#has_key"><code>has_key</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_fork"><code>have_fork</code></a></td>
+    <td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_fork"><code>have_fork</code></a></td>
+    <td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen2"><code>have_popen2</code></a></td>
+    <td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen2"><code>have_popen2</code></a></td>
+    <td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen3"><code>have_popen3</code></a></td>
+    <td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen3"><code>have_popen3</code></a></td>
+    <td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.HTTPServer-class.html"><code>HTTPServer</code></a></td>
+    <td>Class in module <code>BaseHTTPServer</code></td></tr>
+  <tr><td width="15%"><a href="i2p.BaseHTTPServer.HTTPServer-class.html"><code>HTTPServer</code></a></td>
+    <td>Class in module <a href="i2p.BaseHTTPServer-module.html"><code>i2p.BaseHTTPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p-module.html"><code>i2p</code></a></td>
+    <td>Package</td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_cgi"><code>is_cgi</code></a></td>
+    <td>Method in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_executable"><code>is_executable</code></a></td>
+    <td>Method in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_python"><code>is_python</code></a></td>
+    <td>Method in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#iscomment"><code>iscomment</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#isheader"><code>isheader</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#islast"><code>islast</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#items"><code>items</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#keys"><code>keys</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#list_directory"><code>list_directory</code></a></td>
+    <td>Method in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#listen"><code>listen</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string"><code>log_date_time_string</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error"><code>log_error</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message"><code>log_message</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request"><code>log_request</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#makefile"><code>makefile</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></td>
+    <td>Variable in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></td>
+    <td>Variable in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></td>
+    <td>Variable in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></td>
+    <td>Variable in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="mimetools.Message-class.html"><code>Message</code></a></td>
+    <td>Class in module <code>mimetools</code></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html"><code>Message</code></a></td>
+    <td>Class in module <code>rfc822</code></td></tr>
+  <tr><td width="15%"><a href="mimetools.Message-class.html"><code>Message</code></a></td>
+    <td>Class in module <code>mimetools</code></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.NetworkError-class.html"><code>NetworkError</code></a></td>
+    <td>Class in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.router-module.html#our_router"><code>our_router</code></a></td>
+    <td>Variable in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.router-module.html#our_router_lock"><code>our_router_lock</code></a></td>
+    <td>Variable in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request"><code>parse_request</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="mimetools.Message-class.html#parseplist"><code>parseplist</code></a></td>
+    <td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="mimetools.Message-class.html#parsetype"><code>parsetype</code></a></td>
+    <td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.select.Poll-class.html"><code>Poll</code></a></td>
+    <td>Class in module <a href="i2p.select-module.html"><code>i2p.select</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.select.Poll-class.html#poll"><code>poll</code></a></td>
+    <td>Method in class <a href="i2p.select.Poll-class.html"><code>i2p.select.Poll</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.select-module.html#poll"><code>poll</code></a></td>
+    <td>Function in module <a href="i2p.select-module.html"><code>i2p.select</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#process_request"><code>process_request</code></a></td>
+    <td>Method in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ThreadingMixIn-class.html#process_request"><code>process_request</code></a></td>
+    <td>Method in class <a href="SocketServer.ThreadingMixIn-class.html"><code>SocketServer.ThreadingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ThreadingMixIn-class.html#process_request_thread"><code>process_request_thread</code></a></td>
+    <td>Method in class <a href="SocketServer.ThreadingMixIn-class.html"><code>SocketServer.ThreadingMixIn</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></td>
+    <td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></td>
+    <td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#readheaders"><code>readheaders</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#recv"><code>recv</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#recvfrom"><code>recvfrom</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.select.Poll-class.html#register"><code>register</code></a></td>
+    <td>Method in class <a href="i2p.select.Poll-class.html"><code>i2p.select.Poll</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel.TunnelClient-class.html#remotedest"><code>remotedest</code></a></td>
+    <td>Method in class <a href="i2p.select.Poll-class.html"><code>i2p.select.Poll</code></a> in class <a href="i2p.tunnel.TunnelClient-class.html"><code>i2p.tunnel.TunnelClient</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket-module.html#resolve"><code>resolve</code></a></td>
+    <td>Function in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#rewindbody"><code>rewindbody</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.router-module.html"><code>router</code></a></td>
+    <td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#run_cgi"><code>run_cgi</code></a></td>
+    <td>Method in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.select-module.html"><code>select</code></a></td>
+    <td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.select-module.html#select"><code>select</code></a></td>
+    <td>Function in module <a href="i2p.select-module.html"><code>i2p.select</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#send"><code>send</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error"><code>send_error</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#send_head"><code>send_head</code></a></td>
+    <td>Method in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#send_head"><code>send_head</code></a></td>
+    <td>Method in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header"><code>send_header</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response"><code>send_response</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#sendall"><code>sendall</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#sendto"><code>sendto</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#server_activate"><code>server_activate</code></a></td>
+    <td>Method in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html#server_activate"><code>server_activate</code></a></td>
+    <td>Method in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.HTTPServer-class.html#server_bind"><code>server_bind</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.HTTPServer-class.html"><code>BaseHTTPServer.HTTPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#server_bind"><code>server_bind</code></a></td>
+    <td>Method in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#server_close"><code>server_close</code></a></td>
+    <td>Method in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></td>
+    <td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></td>
+    <td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></td>
+    <td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></td>
+    <td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#session"><code>session</code></a></td>
+    <td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a> in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel.TunnelClient-class.html#session"><code>session</code></a></td>
+    <td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a> in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a> in class <a href="i2p.tunnel.TunnelClient-class.html"><code>i2p.tunnel.TunnelClient</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel.TunnelServer-class.html#session"><code>session</code></a></td>
+    <td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a> in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a> in class <a href="i2p.tunnel.TunnelClient-class.html"><code>i2p.tunnel.TunnelClient</code></a> in class <a href="i2p.tunnel.TunnelServer-class.html"><code>i2p.tunnel.TunnelServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#setblocking"><code>setblocking</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#setdefault"><code>setdefault</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#settimeout"><code>settimeout</code></a></td>
+    <td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.BaseRequestHandler-class.html#setup"><code>setup</code></a></td>
+    <td>Method in class <a href="SocketServer.BaseRequestHandler-class.html"><code>SocketServer.BaseRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.DatagramRequestHandler-class.html#setup"><code>setup</code></a></td>
+    <td>Method in class <a href="SocketServer.DatagramRequestHandler-class.html"><code>SocketServer.DatagramRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#setup"><code>setup</code></a></td>
+    <td>Method in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a></td>
+    <td>Class in module <code>SimpleHTTPServer</code></td></tr>
+  <tr><td width="15%"><a href="i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a></td>
+    <td>Class in module <a href="i2p.SimpleHTTPServer-module.html"><code>i2p.SimpleHTTPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SimpleHTTPServer-module.html"><code>SimpleHTTPServer</code></a></td>
+    <td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket-module.html"><code>socket</code></a></td>
+    <td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html"><code>Socket</code></a></td>
+    <td>Class in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket-module.html#socket"><code>socket</code></a></td>
+    <td>Function in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
+    <td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html#socket_type"><code>socket_type</code></a></td>
+    <td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
+    <td>Variable in class <a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
+    <td>Variable in class <a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
+    <td>Variable in class <a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
+    <td>Variable in class <a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
+    <td>Variable in class <a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
+    <td>Variable in class <a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
+    <td>Variable in class <a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer-module.html"><code>SocketServer</code></a></td>
+    <td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.router-module.html#start"><code>start</code></a></td>
+    <td>Function in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.router-module.html#stop"><code>stop</code></a></td>
+    <td>Function in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a></td>
+    <td>Class in module <code>SocketServer</code></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a></td>
+    <td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a></td>
+    <td>Class in module <code>SocketServer</code></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a></td>
+    <td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.BaseHTTPServer-module.html#test"><code>test</code></a></td>
+    <td>Function in module <a href="i2p.BaseHTTPServer-module.html"><code>i2p.BaseHTTPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.CGIHTTPServer-module.html#test"><code>test</code></a></td>
+    <td>Function in module <a href="i2p.CGIHTTPServer-module.html"><code>i2p.CGIHTTPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SimpleHTTPServer-module.html#test"><code>test</code></a></td>
+    <td>Function in module <a href="i2p.SimpleHTTPServer-module.html"><code>i2p.SimpleHTTPServer</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a></td>
+    <td>Class in module <code>SocketServer</code></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a></td>
+    <td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.ThreadingTCPServer-class.html"><code>ThreadingTCPServer</code></a></td>
+    <td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.ThreadingUDPServer-class.html"><code>ThreadingUDPServer</code></a></td>
+    <td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Timeout-class.html"><code>Timeout</code></a></td>
+    <td>Class in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
+  <tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#translate_path"><code>translate_path</code></a></td>
+    <td>Method in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel-module.html"><code>tunnel</code></a></td>
+    <td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel.Tunnel-class.html"><code>Tunnel</code></a></td>
+    <td>Class in module <a href="i2p.tunnel-module.html"><code>i2p.tunnel</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel.TunnelClient-class.html"><code>TunnelClient</code></a></td>
+    <td>Class in module <a href="i2p.tunnel-module.html"><code>i2p.tunnel</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.tunnel.TunnelServer-class.html"><code>TunnelServer</code></a></td>
+    <td>Class in module <a href="i2p.tunnel-module.html"><code>i2p.tunnel</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.socket.Socket-class.html#type"><code>type</code></a></td>
+    <td>Class in module <a href="i2p.tunnel-module.html"><code>i2p.tunnel</code></a> in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.UDPServer-class.html"><code>UDPServer</code></a></td>
+    <td>Class in module <code>SocketServer</code></td></tr>
+  <tr><td width="15%"><a href="i2p.SocketServer.UDPServer-class.html"><code>UDPServer</code></a></td>
+    <td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.select.Poll-class.html#unregister"><code>unregister</code></a></td>
+    <td>Method in class <a href="i2p.select.Poll-class.html"><code>i2p.select.Poll</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.eep-module.html#urlget"><code>urlget</code></a></td>
+    <td>Function in module <a href="i2p.eep-module.html"><code>i2p.eep</code></a></td></tr>
+  <tr><td width="15%"><a href="i2p.eep-module.html#urlopen"><code>urlopen</code></a></td>
+    <td>Function in module <a href="i2p.eep-module.html"><code>i2p.eep</code></a></td></tr>
+  <tr><td width="15%"><a href="rfc822.Message-class.html#values"><code>values</code></a></td>
+    <td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string"><code>version_string</code></a></td>
+    <td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></td>
+    <td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+  <tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></td>
+    <td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
+</table>
+<br />
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Index&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/mimetools.Message-class.html b/apps/sam/python/doc/epydoc/html/public/mimetools.Message-class.html
new file mode 100644
index 0000000000..7471d4430b
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/mimetools.Message-class.html
@@ -0,0 +1,263 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>mimetools.Message</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;mimetools ::
+        Class&nbsp;Message
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/mimetools.Message-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="mimetools.Message-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class Message</h2>
+
+<pre class="base-tree">
+<a href="rfc822.Message-class.html"><code>Message</code></a> --+
+          |
+         <b>Message</b>
+</pre><br />
+
+<hr/>
+
+A derived class of rfc822.Message that knows about MIME headers and 
+contains some hooks for decoding encoded and multipart messages.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="mimetools.Message-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>fp</span>,
+          <span class=summary-sig-arg>seekable</span>)</span></code>
+<br />
+Initialize the class instance and read the headers.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="getencoding"></a><span class="summary-sig"><span class="summary-sig-name">getencoding</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="getmaintype"></a><span class="summary-sig"><span class="summary-sig-name">getmaintype</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="getparam"></a><span class="summary-sig"><span class="summary-sig-name">getparam</span>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="getparamnames"></a><span class="summary-sig"><span class="summary-sig-name">getparamnames</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="getplist"></a><span class="summary-sig"><span class="summary-sig-name">getplist</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="getsubtype"></a><span class="summary-sig"><span class="summary-sig-name">getsubtype</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="gettype"></a><span class="summary-sig"><span class="summary-sig-name">gettype</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="parseplist"></a><span class="summary-sig"><span class="summary-sig-name">parseplist</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="parsetype"></a><span class="summary-sig"><span class="summary-sig-name">parsetype</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr bgcolor="#e8f0f8" class="group">
+  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Message</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__contains__" class="summary-sig-name"><code>__contains__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Determine whether a message contains the named header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__delitem__" class="summary-sig-name"><code>__delitem__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Delete all occurrences of a specific header, if it is present.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Get a specific header, as from a dictionary.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__len__" class="summary-sig-name"><code>__len__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the number of headers in a message.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__setitem__" class="summary-sig-name"><code>__setitem__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>,
+          <span class=summary-sig-arg>value</span>)</span></code>
+<br />
+Set the value of a header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__str__" class="summary-sig-name"><code>__str__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getheader" class="summary-sig-name"><code>get</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>,
+          <span class=summary-sig-arg>default</span>)</span></code>
+<br />
+Get the header value for a name.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getaddr" class="summary-sig-name"><code>getaddr</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Get a single address from a header, as a tuple.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getaddrlist" class="summary-sig-name"><code>getaddrlist</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Get a list of addresses from a header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getallmatchingheaders" class="summary-sig-name"><code>getallmatchingheaders</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Find all header lines matching a given header name.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getdate" class="summary-sig-name"><code>getdate</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Retrieve a date field from a header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getdate_tz" class="summary-sig-name"><code>getdate_tz</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Retrieve a date field from a header as a 10-tuple.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getfirstmatchingheader" class="summary-sig-name"><code>getfirstmatchingheader</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Get the first header line matching name.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getheader" class="summary-sig-name"><code>getheader</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>,
+          <span class=summary-sig-arg>default</span>)</span></code>
+<br />
+Get the header value for a name.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getheaders" class="summary-sig-name"><code>getheaders</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Get all values for a header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getrawheader" class="summary-sig-name"><code>getrawheader</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+A higher-level interface to getfirstmatchingheader().</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#has_key" class="summary-sig-name"><code>has_key</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Determine whether a message contains the named header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#iscomment" class="summary-sig-name"><code>iscomment</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>line</span>)</span></code>
+<br />
+Determine whether a line should be skipped entirely.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#isheader" class="summary-sig-name"><code>isheader</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>line</span>)</span></code>
+<br />
+Determine whether a given line is a legal header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#islast" class="summary-sig-name"><code>islast</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>line</span>)</span></code>
+<br />
+Determine whether a line is a legal end of RFC 2822 headers.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#items" class="summary-sig-name"><code>items</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get all of a message's headers.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#keys" class="summary-sig-name"><code>keys</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get all of a message's header field names.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#readheaders" class="summary-sig-name"><code>readheaders</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Read header lines.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#rewindbody" class="summary-sig-name"><code>rewindbody</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Rewind the file to the start of the body (if seekable).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#setdefault" class="summary-sig-name"><code>setdefault</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>,
+          <span class=summary-sig-arg>default</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#values" class="summary-sig-name"><code>values</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get all of a message's header field values.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="__init__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__init__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>fp</span>,
+          <span class=sig-arg>seekable</span>=<span class=sig-default>1</span>)</span>
+    <br /><i>(Constructor)</i>
+  </h3>
+  Initialize the class instance and read the headers.
+  <dl><dt></dt><dd>
+    <dl><dt><b>Overrides:</b></dt>
+      <dd><a href="rfc822.Message-class.html#__init__"><code>rfc822.Message.__init__</code></a> <i>(inherited documentation)</i>
+</dd>
+    </dl>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/rfc822.Message-class.html b/apps/sam/python/doc/epydoc/html/public/rfc822.Message-class.html
new file mode 100644
index 0000000000..7afe6d1af7
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/rfc822.Message-class.html
@@ -0,0 +1,525 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>rfc822.Message</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <font size="-1"><b class="breadcrumbs">
+        Module&nbsp;rfc822 ::
+        Class&nbsp;Message
+      </b></font></br>
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/rfc822.Message-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="rfc822.Message-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF CLASS DESCRIPTION =========== -->
+<h2 class="class">Class Message</h2>
+
+<dl><dt><b>Known Subclasses:</b></dt>
+<dd>
+    <a href="mimetools.Message-class.html"><code>Message</code></a></dd></dl>
+
+<hr/>
+
+Represents a single RFC 2822-compliant message.
+<hr/>
+
+
+<!-- =========== START OF METHOD SUMMARY =========== -->
+<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="summary">
+  <th colspan="2">Method Summary</th></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>fp</span>,
+          <span class=summary-sig-arg>seekable</span>)</span></code>
+<br />
+Initialize the class instance and read the headers.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__contains__" class="summary-sig-name"><code>__contains__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Determine whether a message contains the named header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__delitem__" class="summary-sig-name"><code>__delitem__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Delete all occurrences of a specific header, if it is present.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Get a specific header, as from a dictionary.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__len__" class="summary-sig-name"><code>__len__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get the number of headers in a message.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__setitem__" class="summary-sig-name"><code>__setitem__</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>,
+          <span class=summary-sig-arg>value</span>)</span></code>
+<br />
+Set the value of a header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="__str__"></a><span class="summary-sig"><span class="summary-sig-name">__str__</span>(<span class=summary-sig-arg>self</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getheader" class="summary-sig-name"><code>get</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>,
+          <span class=summary-sig-arg>default</span>)</span></code>
+<br />
+Get the header value for a name.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getaddr" class="summary-sig-name"><code>getaddr</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Get a single address from a header, as a tuple.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getaddrlist" class="summary-sig-name"><code>getaddrlist</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Get a list of addresses from a header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getallmatchingheaders" class="summary-sig-name"><code>getallmatchingheaders</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Find all header lines matching a given header name.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getdate" class="summary-sig-name"><code>getdate</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Retrieve a date field from a header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getdate_tz" class="summary-sig-name"><code>getdate_tz</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Retrieve a date field from a header as a 10-tuple.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getfirstmatchingheader" class="summary-sig-name"><code>getfirstmatchingheader</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Get the first header line matching name.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getheader" class="summary-sig-name"><code>getheader</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>,
+          <span class=summary-sig-arg>default</span>)</span></code>
+<br />
+Get the header value for a name.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getheaders" class="summary-sig-name"><code>getheaders</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Get all values for a header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getrawheader" class="summary-sig-name"><code>getrawheader</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+A higher-level interface to getfirstmatchingheader().</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#has_key" class="summary-sig-name"><code>has_key</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>)</span></code>
+<br />
+Determine whether a message contains the named header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#iscomment" class="summary-sig-name"><code>iscomment</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>line</span>)</span></code>
+<br />
+Determine whether a line should be skipped entirely.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#isheader" class="summary-sig-name"><code>isheader</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>line</span>)</span></code>
+<br />
+Determine whether a given line is a legal header.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#islast" class="summary-sig-name"><code>islast</code></a>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>line</span>)</span></code>
+<br />
+Determine whether a line is a legal end of RFC 2822 headers.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#items" class="summary-sig-name"><code>items</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get all of a message's headers.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#keys" class="summary-sig-name"><code>keys</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get all of a message's header field names.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#readheaders" class="summary-sig-name"><code>readheaders</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Read header lines.</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#rewindbody" class="summary-sig-name"><code>rewindbody</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Rewind the file to the start of the body (if seekable).</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><a name="setdefault"></a><span class="summary-sig"><span class="summary-sig-name">setdefault</span>(<span class=summary-sig-arg>self</span>,
+          <span class=summary-sig-arg>name</span>,
+          <span class=summary-sig-arg>default</span>)</span></code>
+</td></tr>
+<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
+  <td><code><span class="summary-sig"><a href="rfc822.Message-class.html#values" class="summary-sig-name"><code>values</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
+<br />
+Get all of a message's header field values.</td></tr>
+</table><br />
+
+
+<!-- =========== START OF METHOD DETAILS =========== -->
+<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="details">
+  <th colspan="2">Method Details</th></tr>
+</table>
+
+<a name="__init__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__init__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>fp</span>,
+          <span class=sig-arg>seekable</span>=<span class=sig-default>1</span>)</span>
+    <br /><i>(Constructor)</i>
+  </h3>
+  Initialize the class instance and read the headers.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="__contains__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__contains__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+    <br /><i>(In operator)</i>
+  </h3>
+  Determine whether a message contains the named header.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="__delitem__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__delitem__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+    <br /><i>(Index deletion operator)</i>
+  </h3>
+  Delete all occurrences of a specific header, if it is present.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="__getitem__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__getitem__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+    <br /><i>(Indexing operator)</i>
+  </h3>
+  Get a specific header, as from a dictionary.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="__len__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__len__</span>(<span class=sig-arg>self</span>)</span>
+    <br /><i>(Length operator)</i>
+  </h3>
+  Get the number of headers in a message.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="__setitem__"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">__setitem__</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>,
+          <span class=sig-arg>value</span>)</span>
+    <br /><i>(Index assignment operator)</i>
+  </h3>
+  <p>Set the value of a header.</p>
+  Note: This is not a perfect inversion of __getitem__, because any 
+  changed headers get stuck at the end of the raw-headers list rather 
+  than where the altered header was.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="getheader"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">get</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>,
+          <span class=sig-arg>default</span>=<span class=sig-default>None</span>)</span>
+  </h3>
+  <p>Get the header value for a name.</p>
+  This is the normal interface: it returns a stripped version of the 
+  header value for a given header name, or None if it doesn't exist. This 
+  uses the dictionary version which finds the *last* such header.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="getaddr"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">getaddr</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+  </h3>
+  <p>Get a single address from a header, as a tuple.</p>
+  An example return value: ('Guido van Rossum', 
+  'guido&#64;cwi.nl')
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="getaddrlist"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">getaddrlist</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+  </h3>
+  <p>Get a list of addresses from a header.</p>
+  Retrieves a list of addresses from a header, where each address is a 
+  tuple as returned by getaddr(). Scans all named headers, so it works 
+  properly with multiple To: or Cc: headers for example.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="getallmatchingheaders"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">getallmatchingheaders</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+  </h3>
+  <p>Find all header lines matching a given header name.</p>
+  Look through the list of headers and find all lines matching a given 
+  header name (and their continuation lines). A list of the lines is 
+  returned, without interpretation. If the header does not occur, an 
+  empty list is returned. If the header occurs multiple times, all 
+  occurrences are returned. Case is not important in the header name.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="getdate"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">getdate</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+  </h3>
+  <p>Retrieve a date field from a header.</p>
+  Retrieves a date field from the named header, returning a tuple 
+  compatible with time.mktime().
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="getdate_tz"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">getdate_tz</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+  </h3>
+  <p>Retrieve a date field from a header as a 10-tuple.</p>
+  The first 9 elements make up a tuple compatible with time.mktime(), 
+  and the 10th is the offset of the poster's time zone from GMT/UTC.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="getfirstmatchingheader"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">getfirstmatchingheader</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+  </h3>
+  <p>Get the first header line matching name.</p>
+  This is similar to getallmatchingheaders, but it returns only the 
+  first matching header (and its continuation lines).
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="getheader"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">getheader</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>,
+          <span class=sig-arg>default</span>=<span class=sig-default>None</span>)</span>
+  </h3>
+  <p>Get the header value for a name.</p>
+  This is the normal interface: it returns a stripped version of the 
+  header value for a given header name, or None if it doesn't exist. This 
+  uses the dictionary version which finds the *last* such header.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="getheaders"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">getheaders</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+  </h3>
+  <p>Get all values for a header.</p>
+  This returns a list of values for headers given more than once; each 
+  value in the result list is stripped in the same way as the result of 
+  getheader(). If the header is not given, return an empty list.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="getrawheader"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">getrawheader</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+  </h3>
+  <p>A higher-level interface to getfirstmatchingheader().</p>
+  Return a string containing the literal text of the header but with 
+  the keyword stripped. All leading, trailing and embedded whitespace is 
+  kept in the string, however. Return None if the header does not 
+  occur.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="has_key"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">has_key</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>name</span>)</span>
+  </h3>
+  Determine whether a message contains the named header.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="iscomment"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">iscomment</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>line</span>)</span>
+  </h3>
+  <p>Determine whether a line should be skipped entirely.</p>
+  You may override this method in order to use Message parsing on 
+  tagged data in RFC 2822-like formats that support embedded comments or 
+  free-text data.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="isheader"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">isheader</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>line</span>)</span>
+  </h3>
+  <p>Determine whether a given line is a legal header.</p>
+  This method should return the header name, suitably canonicalized. 
+  You may override this method in order to use Message parsing on tagged 
+  data in RFC 2822-like formats with special header formats.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="islast"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">islast</span>(<span class=sig-arg>self</span>,
+          <span class=sig-arg>line</span>)</span>
+  </h3>
+<pre class="literalblock">
+Determine whether a line is a legal end of RFC 2822 headers.
+
+       You may override this method if your application wants to bend the
+       rules, e.g. to strip trailing whitespace, or to recognize MH template
+       separators ('--------').  For convenience (e.g. for code reading from
+       sockets) a line consisting of 
+also matches.
+</pre>
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="items"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">items</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Get all of a message's headers.</p>
+  Returns a list of name, value tuples.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="keys"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">keys</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Get all of a message's header field names.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="readheaders"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">readheaders</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  <p>Read header lines.</p>
+  <p>Read header lines up to the entirely blank line that terminates 
+  them. The (normally blank) line that ends the headers is skipped, but 
+  not included in the returned list. If a non-header line ends the 
+  headers, (which is an error), an attempt is made to backspace over it; 
+  it is never included in the returned list.</p>
+  The variable self.status is set to the empty string if all went 
+  well, otherwise it is an error message. The variable self.headers is a 
+  completely uninterpreted list of lines contained in the header (so 
+  printing them will reproduce the header exactly as it appears in the 
+  file).
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="rewindbody"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">rewindbody</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Rewind the file to the start of the body (if seekable).
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+
+<a name="values"></a>
+<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
+  <h3><span class="sig"><span class="sig-name">values</span>(<span class=sig-arg>self</span>)</span>
+  </h3>
+  Get all of a message's header field values.
+  <dl><dt></dt><dd>
+  </dd></dl>
+</td></tr></table>
+<br />
+
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/toc-everything.html b/apps/sam/python/doc/epydoc/html/public/toc-everything.html
new file mode 100644
index 0000000000..73379e8230
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/toc-everything.html
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Everything</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b>Everything</b></font></center>
+<hr>
+
+<!-- =========== START OF ALL CLASSES =========== -->
+<font size="+1"><b>All&nbsp;Classes</b></font><br />
+<a target="mainFrame" href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html">i2p.BaseHTTPServer.BaseHTTPRequestHandler</a><br />
+<a target="mainFrame" href="i2p.BaseHTTPServer.HTTPServer-class.html">i2p.BaseHTTPServer.HTTPServer</a><br />
+<a target="mainFrame" href="i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html">i2p.CGIHTTPServer.CGIHTTPRequestHandler</a><br />
+<a target="mainFrame" href="i2p.select.Poll-class.html">i2p.select.Poll</a><br />
+<a target="mainFrame" href="i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html">i2p.SimpleHTTPServer.SimpleHTTPRequestHandler</a><br />
+<a target="mainFrame" href="i2p.socket.Socket-class.html">i2p.socket.Socket</a><br />
+<a target="mainFrame" href="i2p.SocketServer.BaseRequestHandler-class.html">i2p.SocketServer.BaseRequestHandler</a><br />
+<a target="mainFrame" href="i2p.SocketServer.BaseServer-class.html">i2p.SocketServer.BaseServer</a><br />
+<a target="mainFrame" href="i2p.SocketServer.DatagramRequestHandler-class.html">i2p.SocketServer.DatagramRequestHandler</a><br />
+<a target="mainFrame" href="i2p.SocketServer.ForkingMixIn-class.html">i2p.SocketServer.ForkingMixIn</a><br />
+<a target="mainFrame" href="i2p.SocketServer.ForkingTCPServer-class.html">i2p.SocketServer.ForkingTCPServer</a><br />
+<a target="mainFrame" href="i2p.SocketServer.ForkingUDPServer-class.html">i2p.SocketServer.ForkingUDPServer</a><br />
+<a target="mainFrame" href="i2p.SocketServer.StreamRequestHandler-class.html">i2p.SocketServer.StreamRequestHandler</a><br />
+<a target="mainFrame" href="i2p.SocketServer.TCPServer-class.html">i2p.SocketServer.TCPServer</a><br />
+<a target="mainFrame" href="i2p.SocketServer.ThreadingMixIn-class.html">i2p.SocketServer.ThreadingMixIn</a><br />
+<a target="mainFrame" href="i2p.SocketServer.ThreadingTCPServer-class.html">i2p.SocketServer.ThreadingTCPServer</a><br />
+<a target="mainFrame" href="i2p.SocketServer.ThreadingUDPServer-class.html">i2p.SocketServer.ThreadingUDPServer</a><br />
+<a target="mainFrame" href="i2p.SocketServer.UDPServer-class.html">i2p.SocketServer.UDPServer</a><br />
+<a target="mainFrame" href="i2p.tunnel.Tunnel-class.html">i2p.tunnel.Tunnel</a><br />
+<a target="mainFrame" href="i2p.tunnel.TunnelClient-class.html">i2p.tunnel.TunnelClient</a><br />
+<a target="mainFrame" href="i2p.tunnel.TunnelServer-class.html">i2p.tunnel.TunnelServer</a><br />
+<br />
+
+<!-- =========== START OF ALL EXCEPTIONS =========== -->
+<font size="+1"><b>All&nbsp;Exceptions</b></font><br />
+<a target="mainFrame" href="i2p.socket.BlockError-class.html">i2p.socket.BlockError</a><br />
+<a target="mainFrame" href="i2p.socket.ClosedError-class.html">i2p.socket.ClosedError</a><br />
+<a target="mainFrame" href="i2p.socket.Error-class.html">i2p.socket.Error</a><br />
+<a target="mainFrame" href="i2p.socket.NetworkError-class.html">i2p.socket.NetworkError</a><br />
+<a target="mainFrame" href="i2p.socket.Timeout-class.html">i2p.socket.Timeout</a><br />
+<br />
+
+<!-- =========== START OF ALL FUNCTIONS =========== -->
+<font size="+1"><b>All&nbsp;Functions</b></font><br />
+<a target="mainFrame" href="i2p.router-module.html#check">check</a><br />
+<a target="mainFrame" href="i2p.router-module.html#find">find</a><br />
+<a target="mainFrame" href="i2p.select-module.html#poll">poll</a><br />
+<a target="mainFrame" href="i2p.socket-module.html#resolve">resolve</a><br />
+<a target="mainFrame" href="i2p.select-module.html#select">select</a><br />
+<a target="mainFrame" href="i2p.socket-module.html#socket">socket</a><br />
+<a target="mainFrame" href="i2p.router-module.html#start">start</a><br />
+<a target="mainFrame" href="i2p.router-module.html#stop">stop</a><br />
+<a target="mainFrame" href="i2p.BaseHTTPServer-module.html#test">test</a><br />
+<a target="mainFrame" href="i2p.CGIHTTPServer-module.html#test">test</a><br />
+<a target="mainFrame" href="i2p.SimpleHTTPServer-module.html#test">test</a><br />
+<a target="mainFrame" href="i2p.eep-module.html#urlget">urlget</a><br />
+<a target="mainFrame" href="i2p.eep-module.html#urlopen">urlopen</a><br />
+<br />
+
+<!-- =========== START OF ALL VARIABLES =========== -->
+<font size="+1"><b>All&nbsp;Variables</b></font><br />
+<a target="mainFrame" href="i2p.router-module.html#check_addrlist">check_addrlist</a><br />
+<a target="mainFrame" href="i2p.router-module.html#our_router">our_router</a><br />
+<a target="mainFrame" href="i2p.router-module.html#our_router_lock">our_router_lock</a><br />
+<br />
+
+<hr>
+<font size="-2">[<a href="../private/toc-everything.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/toc-i2p-module.html b/apps/sam/python/doc/epydoc/html/public/toc-i2p-module.html
new file mode 100644
index 0000000000..0c78929c73
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/toc-i2p-module.html
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b><a target="mainFrame" href="i2p-module.html">i2p</a></b></font></center>
+<hr>
+
+<!-- =========== START OF MODULES =========== -->
+<font size="+1"><b>Modules</b></font><br />
+<a target="mainFrame" href="i2p.BaseHTTPServer-module.html">BaseHTTPServer</a><br />
+<a target="mainFrame" href="i2p.CGIHTTPServer-module.html">CGIHTTPServer</a><br />
+<a target="mainFrame" href="i2p.eep-module.html">eep</a><br />
+<a target="mainFrame" href="i2p.router-module.html">router</a><br />
+<a target="mainFrame" href="i2p.select-module.html">select</a><br />
+<a target="mainFrame" href="i2p.SimpleHTTPServer-module.html">SimpleHTTPServer</a><br />
+<a target="mainFrame" href="i2p.socket-module.html">socket</a><br />
+<a target="mainFrame" href="i2p.SocketServer-module.html">SocketServer</a><br />
+<a target="mainFrame" href="i2p.tunnel-module.html">tunnel</a><br />
+<br />
+
+<!-- =========== START OF EXCEPTIONS =========== -->
+<font size="+1"><b>Exceptions</b></font><br />
+<br />
+
+<hr>
+<font size="-2">[<a href="../private/toc-i2p-module.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/toc-i2p.BaseHTTPServer-module.html b/apps/sam/python/doc/epydoc/html/public/toc-i2p.BaseHTTPServer-module.html
new file mode 100644
index 0000000000..aa1eba9902
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/toc-i2p.BaseHTTPServer-module.html
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.BaseHTTPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b><a target="mainFrame" href="i2p.BaseHTTPServer-module.html">BaseHTTPServer</a></b></font></center>
+<hr>
+
+<!-- =========== START OF CLASSES =========== -->
+<font size="+1"><b>Classes</b></font><br />
+<a target="mainFrame" href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html">BaseHTTPRequestHandler</a><br />
+<a target="mainFrame" href="i2p.BaseHTTPServer.HTTPServer-class.html">HTTPServer</a><br />
+<br />
+
+<!-- =========== START OF FUNCTIONS =========== -->
+<font size="+1"><b>Functions</b></font><br />
+<a target="mainFrame" href="i2p.BaseHTTPServer-module.html#test">test</a><br />
+<br />
+
+<!-- =========== START OF VARIABLES =========== -->
+<font size="+1"><b>Variables</b></font><br />
+<br />
+
+<hr>
+<font size="-2">[<a href="../private/toc-i2p.BaseHTTPServer-module.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/toc-i2p.CGIHTTPServer-module.html b/apps/sam/python/doc/epydoc/html/public/toc-i2p.CGIHTTPServer-module.html
new file mode 100644
index 0000000000..fd82bb177a
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/toc-i2p.CGIHTTPServer-module.html
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.CGIHTTPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b><a target="mainFrame" href="i2p.CGIHTTPServer-module.html">CGIHTTPServer</a></b></font></center>
+<hr>
+
+<!-- =========== START OF CLASSES =========== -->
+<font size="+1"><b>Classes</b></font><br />
+<a target="mainFrame" href="i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html">CGIHTTPRequestHandler</a><br />
+<br />
+
+<!-- =========== START OF FUNCTIONS =========== -->
+<font size="+1"><b>Functions</b></font><br />
+<a target="mainFrame" href="i2p.CGIHTTPServer-module.html#test">test</a><br />
+<br />
+
+<hr>
+<font size="-2">[<a href="../private/toc-i2p.CGIHTTPServer-module.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/toc-i2p.SimpleHTTPServer-module.html b/apps/sam/python/doc/epydoc/html/public/toc-i2p.SimpleHTTPServer-module.html
new file mode 100644
index 0000000000..c1de5d30e7
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/toc-i2p.SimpleHTTPServer-module.html
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SimpleHTTPServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b><a target="mainFrame" href="i2p.SimpleHTTPServer-module.html">SimpleHTTPServer</a></b></font></center>
+<hr>
+
+<!-- =========== START OF CLASSES =========== -->
+<font size="+1"><b>Classes</b></font><br />
+<a target="mainFrame" href="i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html">SimpleHTTPRequestHandler</a><br />
+<br />
+
+<!-- =========== START OF FUNCTIONS =========== -->
+<font size="+1"><b>Functions</b></font><br />
+<a target="mainFrame" href="i2p.SimpleHTTPServer-module.html#test">test</a><br />
+<br />
+
+<!-- =========== START OF VARIABLES =========== -->
+<font size="+1"><b>Variables</b></font><br />
+<br />
+
+<hr>
+<font size="-2">[<a href="../private/toc-i2p.SimpleHTTPServer-module.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/toc-i2p.SocketServer-module.html b/apps/sam/python/doc/epydoc/html/public/toc-i2p.SocketServer-module.html
new file mode 100644
index 0000000000..29e9b07ee1
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/toc-i2p.SocketServer-module.html
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.SocketServer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b><a target="mainFrame" href="i2p.SocketServer-module.html">SocketServer</a></b></font></center>
+<hr>
+
+<!-- =========== START OF CLASSES =========== -->
+<font size="+1"><b>Classes</b></font><br />
+<a target="mainFrame" href="i2p.SocketServer.BaseRequestHandler-class.html">BaseRequestHandler</a><br />
+<a target="mainFrame" href="i2p.SocketServer.BaseServer-class.html">BaseServer</a><br />
+<a target="mainFrame" href="i2p.SocketServer.DatagramRequestHandler-class.html">DatagramRequestHandler</a><br />
+<a target="mainFrame" href="i2p.SocketServer.ForkingMixIn-class.html">ForkingMixIn</a><br />
+<a target="mainFrame" href="i2p.SocketServer.ForkingTCPServer-class.html">ForkingTCPServer</a><br />
+<a target="mainFrame" href="i2p.SocketServer.ForkingUDPServer-class.html">ForkingUDPServer</a><br />
+<a target="mainFrame" href="i2p.SocketServer.StreamRequestHandler-class.html">StreamRequestHandler</a><br />
+<a target="mainFrame" href="i2p.SocketServer.TCPServer-class.html">TCPServer</a><br />
+<a target="mainFrame" href="i2p.SocketServer.ThreadingMixIn-class.html">ThreadingMixIn</a><br />
+<a target="mainFrame" href="i2p.SocketServer.ThreadingTCPServer-class.html">ThreadingTCPServer</a><br />
+<a target="mainFrame" href="i2p.SocketServer.ThreadingUDPServer-class.html">ThreadingUDPServer</a><br />
+<a target="mainFrame" href="i2p.SocketServer.UDPServer-class.html">UDPServer</a><br />
+<br />
+
+<hr>
+<font size="-2">[<a href="../private/toc-i2p.SocketServer-module.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/toc-i2p.eep-module.html b/apps/sam/python/doc/epydoc/html/public/toc-i2p.eep-module.html
new file mode 100644
index 0000000000..91862fd6a9
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/toc-i2p.eep-module.html
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.eep</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b><a target="mainFrame" href="i2p.eep-module.html">eep</a></b></font></center>
+<hr>
+
+<!-- =========== START OF FUNCTIONS =========== -->
+<font size="+1"><b>Functions</b></font><br />
+<a target="mainFrame" href="i2p.eep-module.html#urlget">urlget</a><br />
+<a target="mainFrame" href="i2p.eep-module.html#urlopen">urlopen</a><br />
+<br />
+
+<hr>
+<font size="-2">[<a href="../private/toc-i2p.eep-module.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/toc-i2p.pylib-module.html b/apps/sam/python/doc/epydoc/html/public/toc-i2p.pylib-module.html
new file mode 100644
index 0000000000..75c326800c
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/toc-i2p.pylib-module.html
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.pylib</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b><a target="mainFrame" href="i2p.pylib-module.html">pylib</a></b></font></center>
+<hr>
+
+<hr>
+<font size="-2">[<a href="../private/toc-i2p.pylib-module.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/toc-i2p.router-module.html b/apps/sam/python/doc/epydoc/html/public/toc-i2p.router-module.html
new file mode 100644
index 0000000000..b71a025501
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/toc-i2p.router-module.html
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.router</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b><a target="mainFrame" href="i2p.router-module.html">router</a></b></font></center>
+<hr>
+
+<!-- =========== START OF FUNCTIONS =========== -->
+<font size="+1"><b>Functions</b></font><br />
+<a target="mainFrame" href="i2p.router-module.html#check">check</a><br />
+<a target="mainFrame" href="i2p.router-module.html#find">find</a><br />
+<a target="mainFrame" href="i2p.router-module.html#start">start</a><br />
+<a target="mainFrame" href="i2p.router-module.html#stop">stop</a><br />
+<br />
+
+<!-- =========== START OF VARIABLES =========== -->
+<font size="+1"><b>Variables</b></font><br />
+<a target="mainFrame" href="i2p.router-module.html#check_addrlist">check_addrlist</a><br />
+<a target="mainFrame" href="i2p.router-module.html#our_router">our_router</a><br />
+<a target="mainFrame" href="i2p.router-module.html#our_router_lock">our_router_lock</a><br />
+<br />
+
+<hr>
+<font size="-2">[<a href="../private/toc-i2p.router-module.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/toc-i2p.select-module.html b/apps/sam/python/doc/epydoc/html/public/toc-i2p.select-module.html
new file mode 100644
index 0000000000..00958899f0
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/toc-i2p.select-module.html
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.select</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b><a target="mainFrame" href="i2p.select-module.html">select</a></b></font></center>
+<hr>
+
+<!-- =========== START OF CLASSES =========== -->
+<font size="+1"><b>Classes</b></font><br />
+<a target="mainFrame" href="i2p.select.Poll-class.html">Poll</a><br />
+<br />
+
+<!-- =========== START OF FUNCTIONS =========== -->
+<font size="+1"><b>Functions</b></font><br />
+<a target="mainFrame" href="i2p.select-module.html#poll">poll</a><br />
+<a target="mainFrame" href="i2p.select-module.html#select">select</a><br />
+<br />
+
+<hr>
+<font size="-2">[<a href="../private/toc-i2p.select-module.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/toc-i2p.socket-module.html b/apps/sam/python/doc/epydoc/html/public/toc-i2p.socket-module.html
new file mode 100644
index 0000000000..d0a4a2b2da
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/toc-i2p.socket-module.html
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.socket</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b><a target="mainFrame" href="i2p.socket-module.html">socket</a></b></font></center>
+<hr>
+
+<!-- =========== START OF CLASSES =========== -->
+<font size="+1"><b>Classes</b></font><br />
+<a target="mainFrame" href="i2p.socket.Socket-class.html">Socket</a><br />
+<br />
+
+<!-- =========== START OF EXCEPTIONS =========== -->
+<font size="+1"><b>Exceptions</b></font><br />
+<a target="mainFrame" href="i2p.socket.BlockError-class.html">BlockError</a><br />
+<a target="mainFrame" href="i2p.socket.ClosedError-class.html">ClosedError</a><br />
+<a target="mainFrame" href="i2p.socket.Error-class.html">Error</a><br />
+<a target="mainFrame" href="i2p.socket.NetworkError-class.html">NetworkError</a><br />
+<a target="mainFrame" href="i2p.socket.Timeout-class.html">Timeout</a><br />
+<br />
+
+<!-- =========== START OF FUNCTIONS =========== -->
+<font size="+1"><b>Functions</b></font><br />
+<a target="mainFrame" href="i2p.socket-module.html#resolve">resolve</a><br />
+<a target="mainFrame" href="i2p.socket-module.html#socket">socket</a><br />
+<br />
+
+<!-- =========== START OF VARIABLES =========== -->
+<font size="+1"><b>Variables</b></font><br />
+<br />
+
+<hr>
+<font size="-2">[<a href="../private/toc-i2p.socket-module.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/toc-i2p.tunnel-module.html b/apps/sam/python/doc/epydoc/html/public/toc-i2p.tunnel-module.html
new file mode 100644
index 0000000000..8e861ffc8e
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/toc-i2p.tunnel-module.html
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>i2p.tunnel</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b><a target="mainFrame" href="i2p.tunnel-module.html">tunnel</a></b></font></center>
+<hr>
+
+<!-- =========== START OF CLASSES =========== -->
+<font size="+1"><b>Classes</b></font><br />
+<a target="mainFrame" href="i2p.tunnel.Tunnel-class.html">Tunnel</a><br />
+<a target="mainFrame" href="i2p.tunnel.TunnelClient-class.html">TunnelClient</a><br />
+<a target="mainFrame" href="i2p.tunnel.TunnelServer-class.html">TunnelServer</a><br />
+<br />
+
+<!-- =========== START OF FUNCTIONS =========== -->
+<font size="+1"><b>Functions</b></font><br />
+<br />
+
+<hr>
+<font size="-2">[<a href="../private/toc-i2p.tunnel-module.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/toc.html b/apps/sam/python/doc/epydoc/html/public/toc.html
new file mode 100644
index 0000000000..db6484529a
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/toc.html
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Table of Contents</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<center><font size="+1"><b>Table&nbsp;of&nbsp;Contents</b></font></center>
+<hr>
+<a target="moduleFrame" href="toc-everything.html">Everything</a><br />
+
+<!-- =========== START OF PACKAGES =========== -->
+<br /><font size="+1"><b>Packages</b></font><br />
+<a target="moduleFrame" href="toc-i2p-module.html">i2p</a><br />
+
+<!-- =========== START OF MODULES =========== -->
+<br /><font size="+1"><b>Modules</b></font><br />
+<a target="moduleFrame" href="toc-i2p.BaseHTTPServer-module.html">i2p.BaseHTTPServer</a><br />
+<a target="moduleFrame" href="toc-i2p.CGIHTTPServer-module.html">i2p.CGIHTTPServer</a><br />
+<a target="moduleFrame" href="toc-i2p.eep-module.html">i2p.eep</a><br />
+<a target="moduleFrame" href="toc-i2p.router-module.html">i2p.router</a><br />
+<a target="moduleFrame" href="toc-i2p.select-module.html">i2p.select</a><br />
+<a target="moduleFrame" href="toc-i2p.SimpleHTTPServer-module.html">i2p.SimpleHTTPServer</a><br />
+<a target="moduleFrame" href="toc-i2p.socket-module.html">i2p.socket</a><br />
+<a target="moduleFrame" href="toc-i2p.SocketServer-module.html">i2p.SocketServer</a><br />
+<a target="moduleFrame" href="toc-i2p.tunnel-module.html">i2p.tunnel</a><br />
+
+<br /><hr>
+<font size="-2">[<a href="../private/toc.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font>
+</body>
+</html>
diff --git a/apps/sam/python/doc/epydoc/html/public/trees.html b/apps/sam/python/doc/epydoc/html/public/trees.html
new file mode 100644
index 0000000000..ee57f837d1
--- /dev/null
+++ b/apps/sam/python/doc/epydoc/html/public/trees.html
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Module and Class Hierarchies</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
+</head>
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Trees&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+    </td>
+    <td><table cellpadding="0" cellspacing="0">
+      <tr><td align="right"><font size="-2">[<a href="../private/trees.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
+      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="trees.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
+    </table></td>
+</tr></table>
+
+<!-- =========== START OF MODULE HIERARCHY =========== -->
+<h2>Module Hierarchy</h2>
+<ul>
+<li> <b><a href="i2p-module.html"><code>i2p</code></a></b>: <i>i2p -- I2P Python interface</i>
+  <ul>
+    <li> <b><a href="i2p.BaseHTTPServer-module.html"><code>BaseHTTPServer</code></a></b>: <i>Emulation of Python BaseHTTPServer module using I2P sockets.</i>
+    <li> <b><a href="i2p.CGIHTTPServer-module.html"><code>CGIHTTPServer</code></a></b>: <i>Emulation of Python CGIHTTPServer module using I2P sockets.</i>
+    <li> <b><a href="i2p.eep-module.html"><code>eep</code></a></b>: <i>Eeproxy access module</i>
+    <li> <b><a href="i2p.router-module.html"><code>router</code></a></b>: <i>Router control module</i>
+    <li> <b><a href="i2p.select-module.html"><code>select</code></a></b>: <i>I2P Python API - Emulation of Python select module.</i>
+    <li> <b><a href="i2p.SimpleHTTPServer-module.html"><code>SimpleHTTPServer</code></a></b>: <i>Emulation of Python SimpleHTTPServer module using I2P sockets.</i>
+    <li> <b><a href="i2p.socket-module.html"><code>socket</code></a></b>: <i>Emulation of Python socket module using SAM.</i>
+    <li> <b><a href="i2p.SocketServer-module.html"><code>SocketServer</code></a></b>: <i>Emulation of Python SocketServer module using I2P sockets.</i>
+    <li> <b><a href="i2p.tunnel-module.html"><code>tunnel</code></a></b>: <i>Exchange data between I2P and regular TCP sockets.</i>
+  </ul>
+</ul>
+
+<!-- =========== START OF CLASS HIERARCHY =========== -->
+<h2>Class Hierarchy</h2>
+<ul>
+  <li> <b><a href="SocketServer.BaseRequestHandler-class.html"><code>SocketServer.BaseRequestHandler</code></a></b>: <i>
+Base class for request handler classes.</i>
+    <ul>
+  <li> <b><a href="i2p.SocketServer.BaseRequestHandler-class.html"><code>i2p.SocketServer.BaseRequestHandler</code></a></b>
+  <li> <b><a href="SocketServer.DatagramRequestHandler-class.html"><code>SocketServer.DatagramRequestHandler</code></a></b>: <i>
+Define self.rfile and self.wfile for datagram sockets.</i>
+    <ul>
+  <li> <b><a href="i2p.SocketServer.DatagramRequestHandler-class.html"><code>i2p.SocketServer.DatagramRequestHandler</code></a></b>
+    </ul>
+  <li> <b><a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></b>: <i>
+Define self.rfile and self.wfile for stream sockets.</i>
+    <ul>
+  <li> <b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></b>: <i>
+HTTP request handler base class.</i>
+    <ul>
+  <li> <b><a href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>i2p.BaseHTTPServer.BaseHTTPRequestHandler</code></a></b>: <i>
+Same interface as Python class 
+BaseHTTPServer.BaseHTTPRequestHandler.</i>
+  <li> <b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></b>: <i>
+Simple HTTP request handler with GET and HEAD commands.</i>
+    <ul>
+  <li> <b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></b>: <i>
+Complete HTTP server with GET, HEAD and POST commands.</i>
+    <ul>
+  <li> <b><a href="i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>i2p.CGIHTTPServer.CGIHTTPRequestHandler</code></a></b>: <i>
+Same interface as Python class 
+CGIHTTPServer.CGIHTTPRequestHandler.</i>
+    </ul>
+  <li> <b><a href="i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>i2p.SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></b>: <i>
+Same interface as Python class 
+SimpleHTTPServer.SimpleHTTPRequestHandler.</i>
+    </ul>
+    </ul>
+  <li> <b><a href="i2p.SocketServer.StreamRequestHandler-class.html"><code>i2p.SocketServer.StreamRequestHandler</code></a></b>
+    <ul>
+  <li> <b><a href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>i2p.BaseHTTPServer.BaseHTTPRequestHandler</code></a></b>: <i>
+Same interface as Python class 
+BaseHTTPServer.BaseHTTPRequestHandler.</i>
+    </ul>
+    </ul>
+    </ul>
+    <ul>
+    </ul>
+  <li> <b><a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></b>: <i>
+Mix-in class to handle each request in a new process.</i>
+    <ul>
+  <li> <b><a href="i2p.SocketServer.ForkingMixIn-class.html"><code>i2p.SocketServer.ForkingMixIn</code></a></b>
+    <ul>
+  <li> <b><a href="i2p.SocketServer.ForkingTCPServer-class.html"><code>i2p.SocketServer.ForkingTCPServer</code></a></b>
+  <li> <b><a href="i2p.SocketServer.ForkingUDPServer-class.html"><code>i2p.SocketServer.ForkingUDPServer</code></a></b>
+    </ul>
+    </ul>
+  <li> <b><a href="SocketServer.ThreadingMixIn-class.html"><code>SocketServer.ThreadingMixIn</code></a></b>: <i>
+Mix-in class to handle each request in a new thread.</i>
+    <ul>
+  <li> <b><a href="i2p.SocketServer.ThreadingMixIn-class.html"><code>i2p.SocketServer.ThreadingMixIn</code></a></b>
+    <ul>
+  <li> <b><a href="i2p.SocketServer.ThreadingTCPServer-class.html"><code>i2p.SocketServer.ThreadingTCPServer</code></a></b>
+  <li> <b><a href="i2p.SocketServer.ThreadingUDPServer-class.html"><code>i2p.SocketServer.ThreadingUDPServer</code></a></b>
+    </ul>
+    </ul>
+  <li> <b><a href="exceptions.Exception-class.html"><code>exceptions.Exception</code></a></b>: <i>
+Common base class for all exceptions.</i>
+    <ul>
+    </ul>
+  <li> <b><a href="i2p.select.Poll-class.html"><code>i2p.select.Poll</code></a></b>: <i>
+Class implementing poll interface.</i>
+  <li> <b><a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></b>: <i>
+A socket object.</i>
+  <li> <b><a href="i2p.tunnel.Tunnel-class.html"><code>i2p.tunnel.Tunnel</code></a></b>
+    <ul>
+  <li> <b><a href="i2p.tunnel.TunnelClient-class.html"><code>i2p.tunnel.TunnelClient</code></a></b>
+  <li> <b><a href="i2p.tunnel.TunnelServer-class.html"><code>i2p.tunnel.TunnelServer</code></a></b>
+    </ul>
+  <li> <b><a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></b>: <i>
+Represents a single RFC 2822-compliant message.</i>
+    <ul>
+  <li> <b><a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></b>: <i>
+A derived class of rfc822.Message that knows about MIME headers and 
+contains some hooks for decoding encoded and multipart messages.</i>
+    </ul>
+</ul>
+
+<!-- =========== START OF NAVBAR =========== -->
+<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="center">
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+    <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
+    <td align="right"><a href="http://epydoc.sourceforge.net"
+                      ><font size="-2">http://epydoc.sf.net</font></a></td>
+  </tr>
+</table>
+</body>
+</html>
-- 
GitLab