docs: function decompress(compressedSize, b) {
  	"use strict";
  	var n = 0,
  		r = 0,
  		f = 0,
  		s = 8,
  		p = s,
  		i = 0;
  	var dst = new Buffer(compressedSize);
  	var d = 12;
  	var aa = new Int32Array(256);
  	while (s < dst.length) {
  		if (!i) {
  			f = b[d++];
  			i = 1;
  		}
  		if (f & i) {
  			r = aa[b[d++]];
  			dst[s++] = dst[r++];
  			dst[s++] = dst[r++];
  			n = 0xff & b[d++];
  			for (var m = 0; m < n; m++) {
  				dst[s + m] = dst[r + m];
  			}
  		} else {
  			dst[s++] = b[d++];
  		}
  		while (p < (s - 1)) {
  			aa[dst[p] ^ dst[p + 1]] = p++;
  		}
  		if (f & i) {
  			p = (s += n);
  		}
  		i *= 2;
  		if (i === 256) {
  			i = 0;
  		}
  	}
  	return dst;
  }