var Message = require(__dirname + '/Message.js');
var Tag = require(__dirname + '/Tag.js');

var parse = require(__dirname + '/parser.js');

module.exports.parse = parse;
module.exports.Message = Message;
module.exports.Tag = Tag;
@@ -1,19 +1,18 @@
 var 
-Message
+Stream
  = requi
@@ -18,43 +18,66 @@
 ire(
-__dirname + '/Message.js
+'stream');%0Avar linewise = require('linewise
 ');%0A
+%0A
 var 
-Tag
+parser
  = r
@@ -87,27 +87,49 @@
 ire(
-__dirname + '/Tag.j
+'./parser');%0Avar utils = require('../util
 s');
@@ -138,116 +138,510 @@
 var 
-p
+P
 arse
+r
  = 
-require(__dirname + '/parser.js');%0A%0Amodule.exports.parse = parse;%0Amodule.exports.M
+function Parser() %7B%0A    this.writable = true;%0A    this.nlstream = linewise.getPerLineBuffer();%0A    this.nlstream.on('data', this.ondata.bind(this));%0A    this.nlstream.resume();%0A%7D;%0A%0Autils.inherit(Parser, Stream);%0A%0AParser.prototype.write = function write (data) %7B%0A    this.nlstream.write(data);%0A%7D;%0A%0AParser.prototype.ondata = function ondata (line) %7B%0A    var message = parser.parse(line);%0A%0A    this.emit('m
 essage
- = M
+', m
 essage
+)
 ;%0A
+%7D;%0A%0AParser.prototype.end = function end () %7B%0A    this.emit('end');%0A%7D;%0A%0A
 modu
@@ -654,15 +654,14 @@
 orts
-.Tag = Tag
+ = Parser
 ;

make a slate-irc-parser wrapper for compatibility