summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/readable-stream/coverage
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/readable-stream/coverage')
-rw-r--r--deps/npm/node_modules/readable-stream/coverage/lcov-report/base.css212
-rw-r--r--deps/npm/node_modules/readable-stream/coverage/lcov-report/index.html93
-rw-r--r--deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_duplex.js.html287
-rw-r--r--deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_passthrough.js.html140
-rw-r--r--deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_readable.js.html2741
-rw-r--r--deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_transform.js.html602
-rw-r--r--deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_writable.js.html1640
-rw-r--r--deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/index.html145
-rw-r--r--deps/npm/node_modules/readable-stream/coverage/lcov-report/prettify.css1
-rw-r--r--deps/npm/node_modules/readable-stream/coverage/lcov-report/prettify.js1
-rw-r--r--deps/npm/node_modules/readable-stream/coverage/lcov-report/sort-arrow-sprite.pngbin0 -> 209 bytes
-rw-r--r--deps/npm/node_modules/readable-stream/coverage/lcov-report/sorter.js158
-rw-r--r--deps/npm/node_modules/readable-stream/coverage/lcov.info1642
13 files changed, 7662 insertions, 0 deletions
diff --git a/deps/npm/node_modules/readable-stream/coverage/lcov-report/base.css b/deps/npm/node_modules/readable-stream/coverage/lcov-report/base.css
new file mode 100644
index 0000000000..417c7adc95
--- /dev/null
+++ b/deps/npm/node_modules/readable-stream/coverage/lcov-report/base.css
@@ -0,0 +1,212 @@
+body, html {
+ margin:0; padding: 0;
+ height: 100%;
+}
+body {
+ font-family: Helvetica Neue, Helvetica, Arial;
+ font-size: 14px;
+ color:#333;
+}
+.small { font-size: 12px; }
+*, *:after, *:before {
+ -webkit-box-sizing:border-box;
+ -moz-box-sizing:border-box;
+ box-sizing:border-box;
+ }
+h1 { font-size: 20px; margin: 0;}
+h2 { font-size: 14px; }
+pre {
+ font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
+ margin: 0;
+ padding: 0;
+ -moz-tab-size: 2;
+ -o-tab-size: 2;
+ tab-size: 2;
+}
+a { color:#0074D9; text-decoration:none; }
+a:hover { text-decoration:underline; }
+.strong { font-weight: bold; }
+.space-top1 { padding: 10px 0 0 0; }
+.pad2y { padding: 20px 0; }
+.pad1y { padding: 10px 0; }
+.pad2x { padding: 0 20px; }
+.pad2 { padding: 20px; }
+.pad1 { padding: 10px; }
+.space-left2 { padding-left:55px; }
+.space-right2 { padding-right:20px; }
+.center { text-align:center; }
+.clearfix { display:block; }
+.clearfix:after {
+ content:'';
+ display:block;
+ height:0;
+ clear:both;
+ visibility:hidden;
+ }
+.fl { float: left; }
+@media only screen and (max-width:640px) {
+ .col3 { width:100%; max-width:100%; }
+ .hide-mobile { display:none!important; }
+}
+
+.quiet {
+ color: #7f7f7f;
+ color: rgba(0,0,0,0.5);
+}
+.quiet a { opacity: 0.7; }
+
+.fraction {
+ font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
+ font-size: 10px;
+ color: #555;
+ background: #E8E8E8;
+ padding: 4px 5px;
+ border-radius: 3px;
+ vertical-align: middle;
+}
+
+div.path a:link, div.path a:visited { color: #333; }
+table.coverage {
+ border-collapse: collapse;
+ margin: 10px 0 0 0;
+ padding: 0;
+}
+
+table.coverage td {
+ margin: 0;
+ padding: 0;
+ vertical-align: top;
+}
+table.coverage td.line-count {
+ text-align: right;
+ padding: 0 5px 0 20px;
+}
+table.coverage td.line-coverage {
+ text-align: right;
+ padding-right: 10px;
+ min-width:20px;
+}
+
+table.coverage td span.cline-any {
+ display: inline-block;
+ padding: 0 5px;
+ width: 100%;
+}
+.missing-if-branch {
+ display: inline-block;
+ margin-right: 5px;
+ border-radius: 3px;
+ position: relative;
+ padding: 0 4px;
+ background: #333;
+ color: yellow;
+}
+
+.skip-if-branch {
+ display: none;
+ margin-right: 10px;
+ position: relative;
+ padding: 0 4px;
+ background: #ccc;
+ color: white;
+}
+.missing-if-branch .typ, .skip-if-branch .typ {
+ color: inherit !important;
+}
+.coverage-summary {
+ border-collapse: collapse;
+ width: 100%;
+}
+.coverage-summary tr { border-bottom: 1px solid #bbb; }
+.keyline-all { border: 1px solid #ddd; }
+.coverage-summary td, .coverage-summary th { padding: 10px; }
+.coverage-summary tbody { border: 1px solid #bbb; }
+.coverage-summary td { border-right: 1px solid #bbb; }
+.coverage-summary td:last-child { border-right: none; }
+.coverage-summary th {
+ text-align: left;
+ font-weight: normal;
+ white-space: nowrap;
+}
+.coverage-summary th.file { border-right: none !important; }
+.coverage-summary th.pct { }
+.coverage-summary th.pic,
+.coverage-summary th.abs,
+.coverage-summary td.pct,
+.coverage-summary td.abs { text-align: right; }
+.coverage-summary td.file { white-space: nowrap; }
+.coverage-summary td.pic { min-width: 120px !important; }
+.coverage-summary tfoot td { }
+
+.coverage-summary .sorter {
+ height: 10px;
+ width: 7px;
+ display: inline-block;
+ margin-left: 0.5em;
+ background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
+}
+.coverage-summary .sorted .sorter {
+ background-position: 0 -20px;
+}
+.coverage-summary .sorted-desc .sorter {
+ background-position: 0 -10px;
+}
+.status-line { height: 10px; }
+/* dark red */
+.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
+.low .chart { border:1px solid #C21F39 }
+/* medium red */
+.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
+/* light red */
+.low, .cline-no { background:#FCE1E5 }
+/* light green */
+.high, .cline-yes { background:rgb(230,245,208) }
+/* medium green */
+.cstat-yes { background:rgb(161,215,106) }
+/* dark green */
+.status-line.high, .high .cover-fill { background:rgb(77,146,33) }
+.high .chart { border:1px solid rgb(77,146,33) }
+
+
+.medium .chart { border:1px solid #666; }
+.medium .cover-fill { background: #666; }
+
+.cbranch-no { background: yellow !important; color: #111; }
+
+.cstat-skip { background: #ddd; color: #111; }
+.fstat-skip { background: #ddd; color: #111 !important; }
+.cbranch-skip { background: #ddd !important; color: #111; }
+
+span.cline-neutral { background: #eaeaea; }
+.medium { background: #eaeaea; }
+
+.cover-fill, .cover-empty {
+ display:inline-block;
+ height: 12px;
+}
+.chart {
+ line-height: 0;
+}
+.cover-empty {
+ background: white;
+}
+.cover-full {
+ border-right: none !important;
+}
+pre.prettyprint {
+ border: none !important;
+ padding: 0 !important;
+ margin: 0 !important;
+}
+.com { color: #999 !important; }
+.ignore-none { color: #999; font-weight: normal; }
+
+.wrapper {
+ min-height: 100%;
+ height: auto !important;
+ height: 100%;
+ margin: 0 auto -48px;
+}
+.footer, .push {
+ height: 48px;
+}
diff --git a/deps/npm/node_modules/readable-stream/coverage/lcov-report/index.html b/deps/npm/node_modules/readable-stream/coverage/lcov-report/index.html
new file mode 100644
index 0000000000..a812194c17
--- /dev/null
+++ b/deps/npm/node_modules/readable-stream/coverage/lcov-report/index.html
@@ -0,0 +1,93 @@
+<!doctype html>
+<html lang="en">
+<head>
+ <title>Code coverage report for All files</title>
+ <meta charset="utf-8" />
+ <link rel="stylesheet" href="prettify.css" />
+ <link rel="stylesheet" href="base.css" />
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <style type='text/css'>
+ .coverage-summary .sorter {
+ background-image: url(sort-arrow-sprite.png);
+ }
+ </style>
+</head>
+<body>
+<div class='wrapper'>
+ <div class='pad1'>
+ <h1>
+ /
+ </h1>
+ <div class='clearfix'>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">90.63% </span>
+ <span class="quiet">Statements</span>
+ <span class='fraction'>851/939</span>
+ </div>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">87.94% </span>
+ <span class="quiet">Branches</span>
+ <span class='fraction'>496/564</span>
+ </div>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">86.54% </span>
+ <span class="quiet">Functions</span>
+ <span class='fraction'>90/104</span>
+ </div>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">92.73% </span>
+ <span class="quiet">Lines</span>
+ <span class='fraction'>765/825</span>
+ </div>
+ </div>
+ </div>
+ <div class='status-line high'></div>
+<div class="pad1">
+<table class="coverage-summary">
+<thead>
+<tr>
+ <th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
+ <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
+ <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
+ <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
+ <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
+ <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
+ <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
+ <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
+ <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
+ <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
+</tr>
+</thead>
+<tbody><tr>
+ <td class="file high" data-value="lib/"><a href="lib/index.html">lib/</a></td>
+ <td data-value="90.63" class="pic high"><div class="chart"><div class="cover-fill" style="width: 90%;"></div><div class="cover-empty" style="width:10%;"></div></div></td>
+ <td data-value="90.63" class="pct high">90.63%</td>
+ <td data-value="939" class="abs high">851/939</td>
+ <td data-value="87.94" class="pct high">87.94%</td>
+ <td data-value="564" class="abs high">496/564</td>
+ <td data-value="86.54" class="pct high">86.54%</td>
+ <td data-value="104" class="abs high">90/104</td>
+ <td data-value="92.73" class="pct high">92.73%</td>
+ <td data-value="825" class="abs high">765/825</td>
+ </tr>
+
+</tbody>
+</table>
+</div><div class='push'></div><!-- for sticky footer -->
+</div><!-- /wrapper -->
+<div class='footer quiet pad2 space-top1 center small'>
+ Code coverage
+ generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Wed May 18 2016 10:10:05 GMT-0400 (EDT)
+</div>
+</div>
+<script src="prettify.js"></script>
+<script>
+window.onload = function () {
+ if (typeof prettyPrint === 'function') {
+ prettyPrint();
+ }
+};
+</script>
+<script src="sorter.js"></script>
+</body>
+</html>
diff --git a/deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_duplex.js.html b/deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_duplex.js.html
new file mode 100644
index 0000000000..a3f1208b41
--- /dev/null
+++ b/deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_duplex.js.html
@@ -0,0 +1,287 @@
+<!doctype html>
+<html lang="en">
+<head>
+ <title>Code coverage report for lib/_stream_duplex.js</title>
+ <meta charset="utf-8" />
+ <link rel="stylesheet" href="../prettify.css" />
+ <link rel="stylesheet" href="../base.css" />
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <style type='text/css'>
+ .coverage-summary .sorter {
+ background-image: url(../sort-arrow-sprite.png);
+ }
+ </style>
+</head>
+<body>
+<div class='wrapper'>
+ <div class='pad1'>
+ <h1>
+ <a href="../index.html">all files</a> / <a href="index.html">lib/</a> _stream_duplex.js
+ </h1>
+ <div class='clearfix'>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">69.23% </span>
+ <span class="quiet">Statements</span>
+ <span class='fraction'>27/39</span>
+ </div>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">68.18% </span>
+ <span class="quiet">Branches</span>
+ <span class='fraction'>15/22</span>
+ </div>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">40% </span>
+ <span class="quiet">Functions</span>
+ <span class='fraction'>2/5</span>
+ </div>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">75.76% </span>
+ <span class="quiet">Lines</span>
+ <span class='fraction'>25/33</span>
+ </div>
+ </div>
+ </div>
+ <div class='status-line medium'></div>
+<pre><table class="coverage">
+<tr><td class="line-count quiet">1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75</td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">392×</span>
+<span class="cline-any cline-yes">392×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">25×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">25×</span>
+<span class="cline-any cline-yes">25×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">25×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">25×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">25×</span>
+<span class="cline-any cline-yes">25×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">25×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">18×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">// a duplex stream is just a stream that is both readable and writable.
+// Since JS doesn't have multiple prototypal inheritance, this class
+// prototypally inherits from Readable, and then parasitically from
+// Writable.
+&nbsp;
+'use strict';
+&nbsp;
+/*&lt;replacement&gt;*/
+&nbsp;
+var objectKeys = Object.keys || <span class="fstat-no" title="function not covered" ><span class="branch-1 cbranch-no" title="branch not covered" >function (obj) {</span></span>
+<span class="cstat-no" title="statement not covered" > var keys = [];</span>
+<span class="cstat-no" title="statement not covered" > for (var key in obj) {</span>
+<span class="cstat-no" title="statement not covered" > keys.push(key);</span>
+ }<span class="cstat-no" title="statement not covered" >return keys;</span>
+};
+/*&lt;/replacement&gt;*/
+&nbsp;
+module.exports = Duplex;
+&nbsp;
+/*&lt;replacement&gt;*/
+var processNextTick = require('process-nextick-args');
+/*&lt;/replacement&gt;*/
+&nbsp;
+/*&lt;replacement&gt;*/
+var util = require('core-util-is');
+util.inherits = require('inherits');
+/*&lt;/replacement&gt;*/
+&nbsp;
+var Readable = require('./_stream_readable');
+var Writable = require('./_stream_writable');
+&nbsp;
+util.inherits(Duplex, Readable);
+&nbsp;
+var keys = objectKeys(Writable.prototype);
+for (var v = 0; v &lt; keys.length; v++) {
+ var method = keys[v];
+ if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
+}
+&nbsp;
+function Duplex(options) {
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!(this instanceof Duplex)) <span class="cstat-no" title="statement not covered" >return new Duplex(options);</span>
+&nbsp;
+ Readable.call(this, options);
+ Writable.call(this, options);
+&nbsp;
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (options &amp;&amp; options.readable === false) <span class="cstat-no" title="statement not covered" >this.readable = false;</span>
+&nbsp;
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (options &amp;&amp; options.writable === false) <span class="cstat-no" title="statement not covered" >this.writable = false;</span>
+&nbsp;
+ this.allowHalfOpen = true;
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (options &amp;&amp; options.allowHalfOpen === false) <span class="cstat-no" title="statement not covered" >this.allowHalfOpen = false;</span>
+&nbsp;
+ this.once('end', onend);
+}
+&nbsp;
+// the no-half-open enforcer
+function onend() {
+ // if we allow half-open state, or if the writable side ended,
+ // then we're ok.
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (this.allowHalfOpen || <span class="branch-1 cbranch-no" title="branch not covered" >this._writableState.ended)</span> return;
+&nbsp;
+ // no more data can be written.
+ // But allow more writes to happen in this tick.
+<span class="cstat-no" title="statement not covered" > processNextTick(onEndNT, this);</span>
+}
+&nbsp;
+<span class="fstat-no" title="function not covered" >function onEndNT(self) {</span>
+<span class="cstat-no" title="statement not covered" > self.end();</span>
+}
+&nbsp;
+<span class="fstat-no" title="function not covered" >function forEach(xs, f) {</span>
+<span class="cstat-no" title="statement not covered" > for (var i = 0, l = xs.length; i &lt; l; i++) {</span>
+<span class="cstat-no" title="statement not covered" > f(xs[i], i);</span>
+ }
+}</pre></td></tr>
+</table></pre>
+<div class='push'></div><!-- for sticky footer -->
+</div><!-- /wrapper -->
+<div class='footer quiet pad2 space-top1 center small'>
+ Code coverage
+ generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Wed May 18 2016 10:10:05 GMT-0400 (EDT)
+</div>
+</div>
+<script src="../prettify.js"></script>
+<script>
+window.onload = function () {
+ if (typeof prettyPrint === 'function') {
+ prettyPrint();
+ }
+};
+</script>
+<script src="../sorter.js"></script>
+</body>
+</html>
diff --git a/deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_passthrough.js.html b/deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_passthrough.js.html
new file mode 100644
index 0000000000..3ca02ae767
--- /dev/null
+++ b/deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_passthrough.js.html
@@ -0,0 +1,140 @@
+<!doctype html>
+<html lang="en">
+<head>
+ <title>Code coverage report for lib/_stream_passthrough.js</title>
+ <meta charset="utf-8" />
+ <link rel="stylesheet" href="../prettify.css" />
+ <link rel="stylesheet" href="../base.css" />
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <style type='text/css'>
+ .coverage-summary .sorter {
+ background-image: url(../sort-arrow-sprite.png);
+ }
+ </style>
+</head>
+<body>
+<div class='wrapper'>
+ <div class='pad1'>
+ <h1>
+ <a href="../index.html">all files</a> / <a href="index.html">lib/</a> _stream_passthrough.js
+ </h1>
+ <div class='clearfix'>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">90.91% </span>
+ <span class="quiet">Statements</span>
+ <span class='fraction'>10/11</span>
+ </div>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">50% </span>
+ <span class="quiet">Branches</span>
+ <span class='fraction'>1/2</span>
+ </div>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">100% </span>
+ <span class="quiet">Functions</span>
+ <span class='fraction'>2/2</span>
+ </div>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">100% </span>
+ <span class="quiet">Lines</span>
+ <span class='fraction'>10/10</span>
+ </div>
+ </div>
+ </div>
+ <div class='status-line high'></div>
+<pre><table class="coverage">
+<tr><td class="line-count quiet">1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26</td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">8×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">8×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">59×</span>
+<span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">// a passthrough stream.
+// basically just the most minimal sort of Transform stream.
+// Every written chunk gets output as-is.
+&nbsp;
+'use strict';
+&nbsp;
+module.exports = PassThrough;
+&nbsp;
+var Transform = require('./_stream_transform');
+&nbsp;
+/*&lt;replacement&gt;*/
+var util = require('core-util-is');
+util.inherits = require('inherits');
+/*&lt;/replacement&gt;*/
+&nbsp;
+util.inherits(PassThrough, Transform);
+&nbsp;
+function PassThrough(options) {
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!(this instanceof PassThrough)) <span class="cstat-no" title="statement not covered" >return new PassThrough(options);</span>
+&nbsp;
+ Transform.call(this, options);
+}
+&nbsp;
+PassThrough.prototype._transform = function (chunk, encoding, cb) {
+ cb(null, chunk);
+};</pre></td></tr>
+</table></pre>
+<div class='push'></div><!-- for sticky footer -->
+</div><!-- /wrapper -->
+<div class='footer quiet pad2 space-top1 center small'>
+ Code coverage
+ generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Wed May 18 2016 10:10:05 GMT-0400 (EDT)
+</div>
+</div>
+<script src="../prettify.js"></script>
+<script>
+window.onload = function () {
+ if (typeof prettyPrint === 'function') {
+ prettyPrint();
+ }
+};
+</script>
+<script src="../sorter.js"></script>
+</body>
+</html>
diff --git a/deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_readable.js.html b/deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_readable.js.html
new file mode 100644
index 0000000000..fb9f1d0cbe
--- /dev/null
+++ b/deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_readable.js.html
@@ -0,0 +1,2741 @@
+<!doctype html>
+<html lang="en">
+<head>
+ <title>Code coverage report for lib/_stream_readable.js</title>
+ <meta charset="utf-8" />
+ <link rel="stylesheet" href="../prettify.css" />
+ <link rel="stylesheet" href="../base.css" />
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <style type='text/css'>
+ .coverage-summary .sorter {
+ background-image: url(../sort-arrow-sprite.png);
+ }
+ </style>
+</head>
+<body>
+<div class='wrapper'>
+ <div class='pad1'>
+ <h1>
+ <a href="../index.html">all files</a> / <a href="index.html">lib/</a> _stream_readable.js
+ </h1>
+ <div class='clearfix'>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">89.29% </span>
+ <span class="quiet">Statements</span>
+ <span class='fraction'>467/523</span>
+ </div>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">87.22% </span>
+ <span class="quiet">Branches</span>
+ <span class='fraction'>307/352</span>
+ </div>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">86.79% </span>
+ <span class="quiet">Functions</span>
+ <span class='fraction'>46/53</span>
+ </div>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">90.73% </span>
+ <span class="quiet">Lines</span>
+ <span class='fraction'>411/453</span>
+ </div>
+ </div>
+ </div>
+ <div class='status-line high'></div>
+<pre><table class="coverage">
+<tr><td class="line-count quiet">1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+845
+846
+847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
+858
+859
+860
+861
+862
+863
+864
+865
+866
+867
+868
+869
+870
+871
+872
+873
+874
+875
+876
+877
+878
+879
+880
+881
+882
+883
+884
+885
+886
+887
+888
+889
+890
+891
+892
+893</td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">269×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-yes">10×</span>
+<span class="cline-any cline-yes">10×</span>
+<span class="cline-any cline-yes">10×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">84×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">84×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">82×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">276927×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">276927×</span>
+<span class="cline-any cline-yes">37×</span>
+<span class="cline-any cline-yes">37×</span>
+<span class="cline-any cline-yes">10×</span>
+<span class="cline-any cline-yes">10×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">276927×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">41×</span>
+<span class="cline-any cline-yes">41×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">4×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">276968×</span>
+<span class="cline-any cline-yes">276968×</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-yes">276968×</span>
+<span class="cline-any cline-yes">67×</span>
+<span class="cline-any cline-yes">67×</span>
+<span class="cline-any cline-yes">276901×</span>
+<span class="cline-any cline-yes">276883×</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-yes">276882×</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">276881×</span>
+<span class="cline-any cline-yes">276881×</span>
+<span class="cline-any cline-yes">23×</span>
+<span class="cline-any cline-yes">23×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">276881×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">276881×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">276875×</span>
+<span class="cline-any cline-yes">108×</span>
+<span class="cline-any cline-yes">108×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">276767×</span>
+<span class="cline-any cline-yes">276767×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">276767×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">276881×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">18×</span>
+<span class="cline-any cline-yes">9×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">276966×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">276966×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">5×</span>
+<span class="cline-any cline-yes">5×</span>
+<span class="cline-any cline-yes">5×</span>
+<span class="cline-any cline-yes">5×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">4×</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">4×</span>
+<span class="cline-any cline-yes">4×</span>
+<span class="cline-any cline-yes">4×</span>
+<span class="cline-any cline-yes">4×</span>
+<span class="cline-any cline-yes">4×</span>
+<span class="cline-any cline-yes">4×</span>
+<span class="cline-any cline-yes">4×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">4×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">554235×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">553951×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">553860×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">421×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">553439×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">2087×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">2087×</span>
+<span class="cline-any cline-yes">1711×</span>
+<span class="cline-any cline-yes">1697×</span>
+<span class="cline-any cline-yes">1697×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">14×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">376×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">277657×</span>
+<span class="cline-any cline-yes">277657×</span>
+<span class="cline-any cline-yes">277657×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">277657×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">277657×</span>
+<span class="cline-any cline-yes">6×</span>
+<span class="cline-any cline-yes">6×</span>
+<span class="cline-any cline-yes">6×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">277651×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">277651×</span>
+<span class="cline-any cline-yes">279×</span>
+<span class="cline-any cline-yes">279×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">277372×</span>
+<span class="cline-any cline-yes">277372×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">277372×</span>
+<span class="cline-any cline-yes">277365×</span>
+<span class="cline-any cline-yes">277365×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">277372×</span>
+<span class="cline-any cline-yes">556×</span>
+<span class="cline-any cline-yes">556×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">277372×</span>
+<span class="cline-any cline-yes">276809×</span>
+<span class="cline-any cline-yes">276809×</span>
+<span class="cline-any cline-yes">276809×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">276809×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">276809×</span>
+<span class="cline-any cline-yes">276809×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">277372×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">277372×</span>
+<span class="cline-any cline-yes">277372×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">277372×</span>
+<span class="cline-any cline-yes">276627×</span>
+<span class="cline-any cline-yes">276627×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">277372×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">277372×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">277372×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">277372×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">277372×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">276968×</span>
+<span class="cline-any cline-yes">276968×</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">276968×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">67×</span>
+<span class="cline-any cline-yes">59×</span>
+<span class="cline-any cline-yes">14×</span>
+<span class="cline-any cline-yes">14×</span>
+<span class="cline-any cline-yes">4×</span>
+<span class="cline-any cline-yes">4×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">59×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">59×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">276722×</span>
+<span class="cline-any cline-yes">276722×</span>
+<span class="cline-any cline-yes">276722×</span>
+<span class="cline-any cline-yes">1123×</span>
+<span class="cline-any cline-yes">1123×</span>
+<span class="cline-any cline-yes">1123×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">1123×</span>
+<span class="cline-any cline-yes">1123×</span>
+<span class="cline-any cline-yes">1123×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">276881×</span>
+<span class="cline-any cline-yes">225×</span>
+<span class="cline-any cline-yes">225×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">225×</span>
+<span class="cline-any cline-yes">225×</span>
+<span class="cline-any cline-yes">275597×</span>
+<span class="cline-any cline-yes">275597×</span>
+<span class="cline-any cline-yes">275597×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">275571×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">225×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">37×</span>
+<span class="cline-any cline-yes">37×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">25×</span>
+<span class="cline-any cline-yes">25×</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">12×</span>
+<span class="cline-any cline-yes">12×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">395×</span>
+<span class="cline-any cline-yes">395×</span>
+<span class="cline-any cline-yes">395×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">264×</span>
+<span class="cline-any cline-yes">263×</span>
+<span class="cline-any cline-yes">263×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">264×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">5×</span>
+<span class="cline-any cline-yes">5×</span>
+<span class="cline-any cline-yes">5×</span>
+<span class="cline-any cline-yes">5×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">6×</span>
+<span class="cline-any cline-yes">6×</span>
+<span class="cline-any cline-yes">6×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">11×</span>
+<span class="cline-any cline-yes">11×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-yes">12×</span>
+<span class="cline-any cline-yes">12×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-yes">265×</span>
+<span class="cline-any cline-yes">265×</span>
+<span class="cline-any cline-yes">265×</span>
+<span class="cline-any cline-yes">265×</span>
+<span class="cline-any cline-yes">263×</span>
+<span class="cline-any cline-yes">263×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">27×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">27×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">226×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">226×</span>
+<span class="cline-any cline-yes">36×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">226×</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-yes">28×</span>
+<span class="cline-any cline-yes">28×</span>
+<span class="cline-any cline-yes">28×</span>
+<span class="cline-any cline-yes">28×</span>
+<span class="cline-any cline-yes">25×</span>
+<span class="cline-any cline-yes">3×</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">226×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">25×</span>
+<span class="cline-any cline-yes">25×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">57×</span>
+<span class="cline-any cline-yes">57×</span>
+<span class="cline-any cline-yes">56×</span>
+<span class="cline-any cline-yes">56×</span>
+<span class="cline-any cline-yes">56×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">57×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">56×</span>
+<span class="cline-any cline-yes">42×</span>
+<span class="cline-any cline-yes">42×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">42×</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-yes">38×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">42×</span>
+<span class="cline-any cline-yes">42×</span>
+<span class="cline-any cline-yes">42×</span>
+<span class="cline-any cline-yes">42×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">272×</span>
+<span class="cline-any cline-yes">272×</span>
+<span class="cline-any cline-yes">270×</span>
+<span class="cline-any cline-yes">270×</span>
+<span class="cline-any cline-yes">270×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">272×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">1428×</span>
+<span class="cline-any cline-yes">1428×</span>
+<span class="cline-any cline-yes">1428×</span>
+<span class="cline-any cline-yes">345×</span>
+<span class="cline-any cline-yes">395×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-yes">16×</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-yes">5×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">757×</span>
+<span class="cline-any cline-yes">757×</span>
+<span class="cline-any cline-yes">757×</span>
+<span class="cline-any cline-yes">757×</span>
+<span class="cline-any cline-yes">757×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">757×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">753×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">280×</span>
+<span class="cline-any cline-yes">280×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">434×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">114×</span>
+<span class="cline-any cline-yes">114×</span>
+<span class="cline-any cline-yes">114×</span>
+<span class="cline-any cline-yes">320×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">264×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">56×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">56×</span>
+<span class="cline-any cline-yes">56×</span>
+<span class="cline-any cline-yes">186×</span>
+<span class="cline-any cline-yes">186×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">186×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">186×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">186×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">753×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">316×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">316×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">316×</span>
+<span class="cline-any cline-yes">314×</span>
+<span class="cline-any cline-yes">314×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">314×</span>
+<span class="cline-any cline-yes">54×</span>
+<span class="cline-any cline-yes">54×</span>
+<span class="cline-any cline-yes">54×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-yes">5×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">2×</span>
+<span class="cline-any cline-yes">3×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">'use strict';
+&nbsp;
+module.exports = Readable;
+&nbsp;
+/*&lt;replacement&gt;*/
+var processNextTick = require('process-nextick-args');
+/*&lt;/replacement&gt;*/
+&nbsp;
+/*&lt;replacement&gt;*/
+var isArray = require('isarray');
+/*&lt;/replacement&gt;*/
+&nbsp;
+Readable.ReadableState = ReadableState;
+&nbsp;
+/*&lt;replacement&gt;*/
+var EE = require('events').EventEmitter;
+&nbsp;
+var EElistenerCount = function (emitter, type) {
+ return emitter.listeners(type).length;
+};
+/*&lt;/replacement&gt;*/
+&nbsp;
+/*&lt;replacement&gt;*/
+var Stream;
+(function () {
+ try {
+ Stream = require('st' + 'ream');
+ } catch (_) {} finally {
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!Stream) <span class="cstat-no" title="statement not covered" >Stream = require('events').EventEmitter;</span>
+ }
+})();
+/*&lt;/replacement&gt;*/
+&nbsp;
+var Buffer = require('buffer').Buffer;
+/*&lt;replacement&gt;*/
+var bufferShim = require('buffer-shims');
+/*&lt;/replacement&gt;*/
+&nbsp;
+/*&lt;replacement&gt;*/
+var util = require('core-util-is');
+util.inherits = require('inherits');
+/*&lt;/replacement&gt;*/
+&nbsp;
+/*&lt;replacement&gt;*/
+var debugUtil = require('util');
+var debug = void 0;
+<span class="missing-if-branch" title="else path not taken" >E</span>if (debugUtil &amp;&amp; debugUtil.debuglog) {
+ debug = debugUtil.debuglog('stream');
+} else {
+<span class="cstat-no" title="statement not covered" > debug = <span class="fstat-no" title="function not covered" >function () {</span>};</span>
+}
+/*&lt;/replacement&gt;*/
+&nbsp;
+var StringDecoder;
+&nbsp;
+util.inherits(Readable, Stream);
+&nbsp;
+var hasPrependListener = typeof EE.prototype.prependListener === 'function';
+&nbsp;
+function prependListener(emitter, event, fn) {
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (hasPrependListener) <span class="cstat-no" title="statement not covered" >return emitter.prependListener(event, fn);</span>
+&nbsp;
+ // This is a brutally ugly hack to make sure that our error handler
+ // is attached before any userland ones. NEVER DO THIS. This is here
+ // only because this code needs to continue to work with older versions
+ // of Node.js that do not include the prependListener() method. The goal
+ // is to eventually remove this hack.
+ if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else <span class="missing-if-branch" title="if path not taken" >I</span>if (isArray(emitter._events[event])) <span class="cstat-no" title="statement not covered" >emitter._events[event].unshift(fn);e</span>lse emitter._events[event] = [fn, emitter._events[event]];
+}
+&nbsp;
+var Duplex;
+function ReadableState(options, stream) {
+ Duplex = Duplex || <span class="branch-1 cbranch-no" title="branch not covered" >require('./_stream_duplex');</span>
+&nbsp;
+ options = options || {};
+&nbsp;
+ // object stream flag. Used to make read(n) ignore n and to
+ // make all the buffer merging and length checks go away
+ this.objectMode = !!options.objectMode;
+&nbsp;
+ if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.readableObjectMode;
+&nbsp;
+ // the point at which it stops calling _read() to fill the buffer
+ // Note: 0 is a valid value, means "don't call _read preemptively ever"
+ var hwm = options.highWaterMark;
+ var defaultHwm = this.objectMode ? 16 : 16 * 1024;
+ this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm;
+&nbsp;
+ // cast to ints.
+ this.highWaterMark = ~ ~this.highWaterMark;
+&nbsp;
+ this.buffer = [];
+ this.length = 0;
+ this.pipes = null;
+ this.pipesCount = 0;
+ this.flowing = null;
+ this.ended = false;
+ this.endEmitted = false;
+ this.reading = false;
+&nbsp;
+ // a flag to be able to tell if the onwrite cb is called immediately,
+ // or on a later tick. We set this to true at first, because any
+ // actions that shouldn't happen until "later" should generally also
+ // not happen before the first write call.
+ this.sync = true;
+&nbsp;
+ // whenever we return null, then we set a flag to say
+ // that we're awaiting a 'readable' event emission.
+ this.needReadable = false;
+ this.emittedReadable = false;
+ this.readableListening = false;
+ this.resumeScheduled = false;
+&nbsp;
+ // Crypto is kind of old and crusty. Historically, its default string
+ // encoding is 'binary' so we have to make this configurable.
+ // Everything else in the universe uses 'utf8', though.
+ this.defaultEncoding = options.defaultEncoding || 'utf8';
+&nbsp;
+ // when piping, we only care about 'readable' events that happen
+ // after read()ing all the bytes and not getting any pushback.
+ this.ranOut = false;
+&nbsp;
+ // the number of writers that are awaiting a drain event in .pipe()s
+ this.awaitDrain = 0;
+&nbsp;
+ // if true, a maybeReadMore has been scheduled
+ this.readingMore = false;
+&nbsp;
+ this.decoder = null;
+ this.encoding = null;
+ if (options.encoding) {
+ if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;
+ this.decoder = new StringDecoder(options.encoding);
+ this.encoding = options.encoding;
+ }
+}
+&nbsp;
+var Duplex;
+function Readable(options) {
+ Duplex = Duplex || require('./_stream_duplex');
+&nbsp;
+ if (!(this instanceof Readable)) return new Readable(options);
+&nbsp;
+ this._readableState = new ReadableState(options, this);
+&nbsp;
+ // legacy
+ this.readable = true;
+&nbsp;
+ if (options &amp;&amp; typeof options.read === 'function') this._read = options.read;
+&nbsp;
+ Stream.call(this);
+}
+&nbsp;
+// Manually shove something into the read() buffer.
+// This returns true if the highWaterMark has not been hit yet,
+// similar to how Writable.write() returns true if you should
+// write() some more.
+Readable.prototype.push = function (chunk, encoding) {
+ var state = this._readableState;
+&nbsp;
+ if (!state.objectMode &amp;&amp; typeof chunk === 'string') {
+ encoding = encoding || state.defaultEncoding;
+ if (encoding !== state.encoding) {
+ chunk = bufferShim.from(chunk, encoding);
+ encoding = '';
+ }
+ }
+&nbsp;
+ return readableAddChunk(this, state, chunk, encoding, false);
+};
+&nbsp;
+// Unshift should *always* be something directly out of read()
+Readable.prototype.unshift = function (chunk) {
+ var state = this._readableState;
+ return readableAddChunk(this, state, chunk, '', true);
+};
+&nbsp;
+Readable.prototype.isPaused = function () {
+ return this._readableState.flowing === false;
+};
+&nbsp;
+function readableAddChunk(stream, state, chunk, encoding, addToFront) {
+ var er = chunkInvalid(state, chunk);
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (er) {
+<span class="cstat-no" title="statement not covered" > stream.emit('error', er);</span>
+ } else if (chunk === null) {
+ state.reading = false;
+ onEofChunk(stream, state);
+ } else if (state.objectMode || chunk &amp;&amp; chunk.length &gt; 0) {
+ if (state.ended &amp;&amp; !addToFront) {
+ var e = new Error('stream.push() after EOF');
+ stream.emit('error', e);
+ } else if (state.endEmitted &amp;&amp; addToFront) {
+ var _e = new Error('stream.unshift() after end event');
+ stream.emit('error', _e);
+ } else {
+ var skipAdd;
+ if (state.decoder &amp;&amp; !addToFront &amp;&amp; !encoding) {
+ chunk = state.decoder.write(chunk);
+ skipAdd = !state.objectMode &amp;&amp; chunk.length === 0;
+ }
+&nbsp;
+ if (!addToFront) state.reading = false;
+&nbsp;
+ // Don't add to the buffer if we've decoded to an empty string chunk and
+ // we're not in object mode
+ if (!skipAdd) {
+ // if we want the data now, just emit it.
+ if (state.flowing &amp;&amp; state.length === 0 &amp;&amp; !state.sync) {
+ stream.emit('data', chunk);
+ stream.read(0);
+ } else {
+ // update the buffer info.
+ state.length += state.objectMode ? 1 : chunk.length;
+ if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);
+&nbsp;
+ if (state.needReadable) emitReadable(stream);
+ }
+ }
+&nbsp;
+ maybeReadMore(stream, state);
+ }
+ } else if (!addToFront) {
+ state.reading = false;
+ }
+&nbsp;
+ return needMoreData(state);
+}
+&nbsp;
+// if it's past the high water mark, we can push in some more.
+// Also, if we have no data yet, we can stand some
+// more bytes. This is to work around cases where hwm=0,
+// such as the repl. Also, if the push() triggered a
+// readable event, and the user called read(largeNumber) such that
+// needReadable was set, then we ought to push more, so that another
+// 'readable' event will be triggered.
+function needMoreData(state) {
+ return !state.ended &amp;&amp; (state.needReadable || state.length &lt; state.highWaterMark || state.length === 0);
+}
+&nbsp;
+// backwards compatibility.
+Readable.prototype.setEncoding = function (enc) {
+ if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;
+ this._readableState.decoder = new StringDecoder(enc);
+ this._readableState.encoding = enc;
+ return this;
+};
+&nbsp;
+// Don't raise the hwm &gt; 8MB
+var MAX_HWM = 0x800000;
+function computeNewHighWaterMark(n) {
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (n &gt;= MAX_HWM) {
+<span class="cstat-no" title="statement not covered" > n = MAX_HWM;</span>
+ } else {
+ // Get the next highest power of 2
+ n--;
+ n |= n &gt;&gt;&gt; 1;
+ n |= n &gt;&gt;&gt; 2;
+ n |= n &gt;&gt;&gt; 4;
+ n |= n &gt;&gt;&gt; 8;
+ n |= n &gt;&gt;&gt; 16;
+ n++;
+ }
+ return n;
+}
+&nbsp;
+function howMuchToRead(n, state) {
+ if (state.length === 0 &amp;&amp; state.ended) return 0;
+&nbsp;
+ if (state.objectMode) return n === 0 ? 0 : 1;
+&nbsp;
+ if (n === null || isNaN(n)) {
+ // only flow one buffer at a time
+ if (state.flowing &amp;&amp; state.buffer.length) return state.buffer[0].length;else return state.length;
+ }
+&nbsp;
+ if (n &lt;= 0) return 0;
+&nbsp;
+ // If we're asking for more than the target buffer level,
+ // then raise the water mark. Bump up to the next highest
+ // power of 2, to prevent increasing it excessively in tiny
+ // amounts.
+ if (n &gt; state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
+&nbsp;
+ // don't have that much. return null, unless we've ended.
+ if (n &gt; state.length) {
+ if (!state.ended) {
+ state.needReadable = true;
+ return 0;
+ } else {
+ return state.length;
+ }
+ }
+&nbsp;
+ return n;
+}
+&nbsp;
+// you can override either this method, or the async _read(n) below.
+Readable.prototype.read = function (n) {
+ debug('read', n);
+ var state = this._readableState;
+ var nOrig = n;
+&nbsp;
+ if (typeof n !== 'number' || n &gt; 0) state.emittedReadable = false;
+&nbsp;
+ // if we're doing read(0) to trigger a readable event, but we
+ // already have a bunch of data in the buffer, then just trigger
+ // the 'readable' event and move on.
+ if (n === 0 &amp;&amp; state.needReadable &amp;&amp; (state.length &gt;= state.highWaterMark || state.ended)) {
+ debug('read: emitReadable', state.length, state.ended);
+ if (state.length === 0 &amp;&amp; state.ended) endReadable(this);else emitReadable(this);
+ return null;
+ }
+&nbsp;
+ n = howMuchToRead(n, state);
+&nbsp;
+ // if we've ended, and we're now clear, then finish it up.
+ if (n === 0 &amp;&amp; state.ended) {
+ if (state.length === 0) endReadable(this);
+ return null;
+ }
+&nbsp;
+ // All the actual chunk generation logic needs to be
+ // *below* the call to _read. The reason is that in certain
+ // synthetic stream cases, such as passthrough streams, _read
+ // may be a completely synchronous operation which may change
+ // the state of the read buffer, providing enough data when
+ // before there was *not* enough.
+ //
+ // So, the steps are:
+ // 1. Figure out what the state of things will be after we do
+ // a read from the buffer.
+ //
+ // 2. If that resulting state will trigger a _read, then call _read.
+ // Note that this may be asynchronous, or synchronous. Yes, it is
+ // deeply ugly to write APIs this way, but that still doesn't mean
+ // that the Readable class should behave improperly, as streams are
+ // designed to be sync/async agnostic.
+ // Take note if the _read call is sync or async (ie, if the read call
+ // has returned yet), so that we know whether or not it's safe to emit
+ // 'readable' etc.
+ //
+ // 3. Actually pull the requested chunks out of the buffer and return.
+&nbsp;
+ // if we need a readable event, then we need to do some reading.
+ var doRead = state.needReadable;
+ debug('need readable', doRead);
+&nbsp;
+ // if we currently have less than the highWaterMark, then also read some
+ if (state.length === 0 || state.length - n &lt; state.highWaterMark) {
+ doRead = true;
+ debug('length less than watermark', doRead);
+ }
+&nbsp;
+ // however, if we've ended, then there's no point, and if we're already
+ // reading, then it's unnecessary.
+ if (state.ended || state.reading) {
+ doRead = false;
+ debug('reading or ended', doRead);
+ }
+&nbsp;
+ if (doRead) {
+ debug('do read');
+ state.reading = true;
+ state.sync = true;
+ // if the length is currently zero, then we *need* a readable event.
+ if (state.length === 0) state.needReadable = true;
+ // call internal read method
+ this._read(state.highWaterMark);
+ state.sync = false;
+ }
+&nbsp;
+ // If _read pushed data synchronously, then `reading` will be false,
+ // and we need to re-evaluate how much data we can return to the user.
+ if (doRead &amp;&amp; !state.reading) n = howMuchToRead(nOrig, state);
+&nbsp;
+ var ret;
+ if (n &gt; 0) ret = fromList(n, state);else ret = null;
+&nbsp;
+ if (ret === null) {
+ state.needReadable = true;
+ n = 0;
+ }
+&nbsp;
+ state.length -= n;
+&nbsp;
+ // If we have nothing in the buffer, then we want to know
+ // as soon as we *do* get something into the buffer.
+ if (state.length === 0 &amp;&amp; !state.ended) state.needReadable = true;
+&nbsp;
+ // If we tried to read() past the EOF, then emit end on the next tick.
+ if (nOrig !== n &amp;&amp; state.ended &amp;&amp; state.length === 0) endReadable(this);
+&nbsp;
+ if (ret !== null) this.emit('data', ret);
+&nbsp;
+ return ret;
+};
+&nbsp;
+function chunkInvalid(state, chunk) {
+ var er = null;
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!Buffer.isBuffer(chunk) &amp;&amp; typeof chunk !== 'string' &amp;&amp; chunk !== null &amp;&amp; chunk !== undefined &amp;&amp; !state.objectMode) {
+<span class="cstat-no" title="statement not covered" > er = new TypeError('Invalid non-string/buffer chunk');</span>
+ }
+ return er;
+}
+&nbsp;
+function onEofChunk(stream, state) {
+ if (state.ended) return;
+ if (state.decoder) {
+ var chunk = state.decoder.end();
+ if (chunk &amp;&amp; chunk.length) {
+ state.buffer.push(chunk);
+ state.length += state.objectMode ? <span class="branch-0 cbranch-no" title="branch not covered" >1 </span>: chunk.length;
+ }
+ }
+ state.ended = true;
+&nbsp;
+ // emit 'readable' now to make sure it gets picked up.
+ emitReadable(stream);
+}
+&nbsp;
+// Don't emit readable right away in sync mode, because this can trigger
+// another read() call =&gt; stack overflow. This way, it might trigger
+// a nextTick recursion warning, but that's not so bad.
+function emitReadable(stream) {
+ var state = stream._readableState;
+ state.needReadable = false;
+ if (!state.emittedReadable) {
+ debug('emitReadable', state.flowing);
+ state.emittedReadable = true;
+ if (state.sync) processNextTick(emitReadable_, stream);else emitReadable_(stream);
+ }
+}
+&nbsp;
+function emitReadable_(stream) {
+ debug('emit readable');
+ stream.emit('readable');
+ flow(stream);
+}
+&nbsp;
+// at this point, the user has presumably seen the 'readable' event,
+// and called read() to consume some data. that may have triggered
+// in turn another _read(n) call, in which case reading = true if
+// it's in progress.
+// However, if we're not ended, or reading, and the length &lt; hwm,
+// then go ahead and try to read some more preemptively.
+function maybeReadMore(stream, state) {
+ if (!state.readingMore) {
+ state.readingMore = true;
+ processNextTick(maybeReadMore_, stream, state);
+ }
+}
+&nbsp;
+function maybeReadMore_(stream, state) {
+ var len = state.length;
+ while (!state.reading &amp;&amp; !state.flowing &amp;&amp; !state.ended &amp;&amp; state.length &lt; state.highWaterMark) {
+ debug('maybeReadMore read 0');
+ stream.read(0);
+ if (len === state.length)
+ // didn't get any data, stop spinning.
+ break;else len = state.length;
+ }
+ state.readingMore = false;
+}
+&nbsp;
+// abstract method. to be overridden in specific implementation classes.
+// call cb(er, data) where data is &lt;= n in length.
+// for virtual (non-string, non-buffer) streams, "length" is somewhat
+// arbitrary, and perhaps not very meaningful.
+Readable.prototype._read = <span class="fstat-no" title="function not covered" >function (n) {</span>
+<span class="cstat-no" title="statement not covered" > this.emit('error', new Error('not implemented'));</span>
+};
+&nbsp;
+Readable.prototype.pipe = function (dest, pipeOpts) {
+ var src = this;
+ var state = this._readableState;
+&nbsp;
+ switch (state.pipesCount) {
+ case 0:
+ state.pipes = dest;
+ break;
+ case 1:
+ state.pipes = [state.pipes, dest];
+ break;
+<span class="branch-2 cbranch-no" title="branch not covered" > default:</span>
+<span class="cstat-no" title="statement not covered" > state.pipes.push(dest);</span>
+<span class="cstat-no" title="statement not covered" > break;</span>
+ }
+ state.pipesCount += 1;
+ debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);
+&nbsp;
+ var doEnd = (!pipeOpts || pipeOpts.end !== false) &amp;&amp; dest !== process.stdout &amp;&amp; dest !== process.stderr;
+&nbsp;
+ var endFn = doEnd ? onend : cleanup;
+ if (state.endEmitted) processNextTick(endFn);else src.once('end', endFn);
+&nbsp;
+ dest.on('unpipe', onunpipe);
+ function onunpipe(readable) {
+ debug('onunpipe');
+ if (readable === src) {
+ cleanup();
+ }
+ }
+&nbsp;
+ function onend() {
+ debug('onend');
+ dest.end();
+ }
+&nbsp;
+ // when the dest drains, it reduces the awaitDrain counter
+ // on the source. This would be more elegant with a .once()
+ // handler in flow(), but adding and removing repeatedly is
+ // too slow.
+ var ondrain = pipeOnDrain(src);
+ dest.on('drain', ondrain);
+&nbsp;
+ var cleanedUp = false;
+ function cleanup() {
+ debug('cleanup');
+ // cleanup event handlers once the pipe is broken
+ dest.removeListener('close', onclose);
+ dest.removeListener('finish', onfinish);
+ dest.removeListener('drain', ondrain);
+ dest.removeListener('error', onerror);
+ dest.removeListener('unpipe', onunpipe);
+ src.removeListener('end', onend);
+ src.removeListener('end', cleanup);
+ src.removeListener('data', ondata);
+&nbsp;
+ cleanedUp = true;
+&nbsp;
+ // if the reader is waiting for a drain event from this
+ // specific writer, then it would cause it to never start
+ // flowing again.
+ // So, if this is awaiting a drain, then we just call it now.
+ // If we don't know, then assume that we are waiting for one.
+ if (state.awaitDrain &amp;&amp; (!dest._writableState || dest._writableState.needDrain)) ondrain();
+ }
+&nbsp;
+ src.on('data', ondata);
+ function ondata(chunk) {
+ debug('ondata');
+ var ret = dest.write(chunk);
+ if (false === ret) {
+ // If the user unpiped during `dest.write()`, it is possible
+ // to get stuck in a permanently paused state if that write
+ // also returned false.
+ // =&gt; Check whether `dest` is still a piping destination.
+ if ((state.pipesCount === 1 &amp;&amp; state.pipes === dest || state.pipesCount &gt; 1 &amp;&amp; indexOf(state.pipes, dest) !== -1) &amp;&amp; !cleanedUp) {
+ debug('false write response, pause', src._readableState.awaitDrain);
+ src._readableState.awaitDrain++;
+ }
+ src.pause();
+ }
+ }
+&nbsp;
+ // if the dest has an error, then stop piping into it.
+ // however, don't suppress the throwing behavior for this.
+ function onerror(er) {
+ debug('onerror', er);
+ unpipe();
+ dest.removeListener('error', onerror);
+ if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);
+ }
+&nbsp;
+ // Make sure our error handler is attached before userland ones.
+ prependListener(dest, 'error', onerror);
+&nbsp;
+ // Both close and finish should trigger unpipe, but only once.
+<span class="fstat-no" title="function not covered" > function onclose() {</span>
+<span class="cstat-no" title="statement not covered" > dest.removeListener('finish', onfinish);</span>
+<span class="cstat-no" title="statement not covered" > unpipe();</span>
+ }
+ dest.once('close', onclose);
+ function onfinish() {
+ debug('onfinish');
+ dest.removeListener('close', onclose);
+ unpipe();
+ }
+ dest.once('finish', onfinish);
+&nbsp;
+ function unpipe() {
+ debug('unpipe');
+ src.unpipe(dest);
+ }
+&nbsp;
+ // tell the dest that it's being piped to
+ dest.emit('pipe', src);
+&nbsp;
+ // start the flow if it hasn't been started already.
+ if (!state.flowing) {
+ debug('pipe resume');
+ src.resume();
+ }
+&nbsp;
+ return dest;
+};
+&nbsp;
+function pipeOnDrain(src) {
+ return function () {
+ var state = src._readableState;
+ debug('pipeOnDrain', state.awaitDrain);
+ if (state.awaitDrain) state.awaitDrain--;
+ if (state.awaitDrain === 0 &amp;&amp; EElistenerCount(src, 'data')) {
+ state.flowing = true;
+ flow(src);
+ }
+ };
+}
+&nbsp;
+Readable.prototype.unpipe = function (dest) {
+ var state = this._readableState;
+&nbsp;
+ // if we're not piping anywhere, then do nothing.
+ if (state.pipesCount === 0) return this;
+&nbsp;
+ // just one destination. most common case.
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (state.pipesCount === 1) {
+ // passed in one, but it's not the right one.
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (dest &amp;&amp; dest !== state.pipes) <span class="cstat-no" title="statement not covered" >return this;</span>
+&nbsp;
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!dest) <span class="cstat-no" title="statement not covered" >dest = state.pipes;</span>
+&nbsp;
+ // got a match.
+ state.pipes = null;
+ state.pipesCount = 0;
+ state.flowing = false;
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (dest) dest.emit('unpipe', this);
+ return this;
+ }
+&nbsp;
+ // slow case. multiple pipe destinations.
+&nbsp;
+<span class="cstat-no" title="statement not covered" > if (!dest) {</span>
+ // remove all.
+<span class="cstat-no" title="statement not covered" > var dests = state.pipes;</span>
+<span class="cstat-no" title="statement not covered" > var len = state.pipesCount;</span>
+<span class="cstat-no" title="statement not covered" > state.pipes = null;</span>
+<span class="cstat-no" title="statement not covered" > state.pipesCount = 0;</span>
+<span class="cstat-no" title="statement not covered" > state.flowing = false;</span>
+&nbsp;
+<span class="cstat-no" title="statement not covered" > for (var _i = 0; _i &lt; len; _i++) {</span>
+<span class="cstat-no" title="statement not covered" > dests[_i].emit('unpipe', this);</span>
+ }<span class="cstat-no" title="statement not covered" >return this;</span>
+ }
+&nbsp;
+ // try to find the right one.
+<span class="cstat-no" title="statement not covered" > var i = indexOf(state.pipes, dest);</span>
+<span class="cstat-no" title="statement not covered" > if (i === -1) <span class="cstat-no" title="statement not covered" >return this;</span></span>
+&nbsp;
+<span class="cstat-no" title="statement not covered" > state.pipes.splice(i, 1);</span>
+<span class="cstat-no" title="statement not covered" > state.pipesCount -= 1;</span>
+<span class="cstat-no" title="statement not covered" > if (state.pipesCount === 1) <span class="cstat-no" title="statement not covered" >state.pipes = state.pipes[0];</span></span>
+&nbsp;
+<span class="cstat-no" title="statement not covered" > dest.emit('unpipe', this);</span>
+&nbsp;
+<span class="cstat-no" title="statement not covered" > return this;</span>
+};
+&nbsp;
+// set up data events if they are asked for
+// Ensure readable listeners eventually get something
+Readable.prototype.on = function (ev, fn) {
+ var res = Stream.prototype.on.call(this, ev, fn);
+&nbsp;
+ // If listening to data, and it has not explicitly been paused,
+ // then call resume to start the flow of data on the next tick.
+ if (ev === 'data' &amp;&amp; false !== this._readableState.flowing) {
+ this.resume();
+ }
+&nbsp;
+ if (ev === 'readable' &amp;&amp; !this._readableState.endEmitted) {
+ var state = this._readableState;
+ if (!state.readableListening) {
+ state.readableListening = true;
+ state.emittedReadable = false;
+ state.needReadable = true;
+ if (!state.reading) {
+ processNextTick(nReadingNextTick, this);
+ } else if (state.length) {
+ emitReadable(this, state);
+ }
+ }
+ }
+&nbsp;
+ return res;
+};
+Readable.prototype.addListener = Readable.prototype.on;
+&nbsp;
+function nReadingNextTick(self) {
+ debug('readable nexttick read 0');
+ self.read(0);
+}
+&nbsp;
+// pause() and resume() are remnants of the legacy readable stream API
+// If the user uses them, then switch into old mode.
+Readable.prototype.resume = function () {
+ var state = this._readableState;
+ if (!state.flowing) {
+ debug('resume');
+ state.flowing = true;
+ resume(this, state);
+ }
+ return this;
+};
+&nbsp;
+function resume(stream, state) {
+ if (!state.resumeScheduled) {
+ state.resumeScheduled = true;
+ processNextTick(resume_, stream, state);
+ }
+}
+&nbsp;
+function resume_(stream, state) {
+ if (!state.reading) {
+ debug('resume read 0');
+ stream.read(0);
+ }
+&nbsp;
+ state.resumeScheduled = false;
+ stream.emit('resume');
+ flow(stream);
+ if (state.flowing &amp;&amp; !state.reading) stream.read(0);
+}
+&nbsp;
+Readable.prototype.pause = function () {
+ debug('call pause flowing=%j', this._readableState.flowing);
+ if (false !== this._readableState.flowing) {
+ debug('pause');
+ this._readableState.flowing = false;
+ this.emit('pause');
+ }
+ return this;
+};
+&nbsp;
+function flow(stream) {
+ var state = stream._readableState;
+ debug('flow', state.flowing);
+ if (state.flowing) {
+ do {
+ var chunk = stream.read();
+ } while (null !== chunk &amp;&amp; state.flowing);
+ }
+}
+&nbsp;
+// wrap an old-style stream as the async data source.
+// This is *not* part of the readable stream interface.
+// It is an ugly unfortunate mess of history.
+Readable.prototype.wrap = function (stream) {
+ var state = this._readableState;
+ var paused = false;
+&nbsp;
+ var self = this;
+ stream.on('end', function () {
+ debug('wrapped end');
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (state.decoder &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >!state.ended)</span> {
+<span class="cstat-no" title="statement not covered" > var chunk = state.decoder.end();</span>
+<span class="cstat-no" title="statement not covered" > if (chunk &amp;&amp; chunk.length) <span class="cstat-no" title="statement not covered" >self.push(chunk);</span></span>
+ }
+&nbsp;
+ self.push(null);
+ });
+&nbsp;
+ stream.on('data', <span class="fstat-no" title="function not covered" >function (chunk) {</span>
+<span class="cstat-no" title="statement not covered" > debug('wrapped data');</span>
+<span class="cstat-no" title="statement not covered" > if (state.decoder) <span class="cstat-no" title="statement not covered" >chunk = state.decoder.write(chunk);</span></span>
+&nbsp;
+ // don't skip over falsy values in objectMode
+<span class="cstat-no" title="statement not covered" > if (state.objectMode &amp;&amp; (chunk === null || chunk === undefined)) <span class="cstat-no" title="statement not covered" >return;e</span>lse <span class="cstat-no" title="statement not covered" >if (!state.objectMode &amp;&amp; (!chunk || !chunk.length)) <span class="cstat-no" title="statement not covered" >return;</span></span></span>
+&nbsp;
+<span class="cstat-no" title="statement not covered" > var ret = self.push(chunk);</span>
+<span class="cstat-no" title="statement not covered" > if (!ret) {</span>
+<span class="cstat-no" title="statement not covered" > paused = true;</span>
+<span class="cstat-no" title="statement not covered" > stream.pause();</span>
+ }
+ });
+&nbsp;
+ // proxy all the other methods.
+ // important when wrapping filters and duplexes.
+ for (var i in stream) {
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this[i] === undefined &amp;&amp; typeof stream[i] === 'function') {
+<span class="cstat-no" title="statement not covered" > this[i] = <span class="fstat-no" title="function not covered" >function (method) {</span></span>
+<span class="cstat-no" title="statement not covered" > return <span class="fstat-no" title="function not covered" >function () {</span></span>
+<span class="cstat-no" title="statement not covered" > return stream[method].apply(stream, arguments);</span>
+ };
+ }(i);
+ }
+ }
+&nbsp;
+ // proxy certain important events.
+ var events = ['error', 'close', 'destroy', 'pause', 'resume'];
+ forEach(events, function (ev) {
+ stream.on(ev, self.emit.bind(self, ev));
+ });
+&nbsp;
+ // when we try to consume some more bytes, simply unpause the
+ // underlying stream.
+ self._read = <span class="fstat-no" title="function not covered" >function (n) {</span>
+<span class="cstat-no" title="statement not covered" > debug('wrapped _read', n);</span>
+<span class="cstat-no" title="statement not covered" > if (paused) {</span>
+<span class="cstat-no" title="statement not covered" > paused = false;</span>
+<span class="cstat-no" title="statement not covered" > stream.resume();</span>
+ }
+ };
+&nbsp;
+ return self;
+};
+&nbsp;
+// exposed for testing purposes only.
+Readable._fromList = fromList;
+&nbsp;
+// Pluck off n bytes from an array of buffers.
+// Length is the combined lengths of all the buffers in the list.
+function fromList(n, state) {
+ var list = state.buffer;
+ var length = state.length;
+ var stringMode = !!state.decoder;
+ var objectMode = !!state.objectMode;
+ var ret;
+&nbsp;
+ // nothing in the list, definitely empty.
+ if (list.length === 0) return null;
+&nbsp;
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (length === 0) <span class="cstat-no" title="statement not covered" >ret = null;e</span>lse if (objectMode) ret = list.shift();else if (!n || n &gt;= length) {
+ // read it all, truncate the array.
+ if (stringMode) ret = list.join('');else if (list.length === 1) ret = list[0];else ret = Buffer.concat(list, length);
+ list.length = 0;
+ } else {
+ // read just some of it.
+ if (n &lt; list[0].length) {
+ // just take a part of the first list item.
+ // slice is the same for buffers and strings.
+ var buf = list[0];
+ ret = buf.slice(0, n);
+ list[0] = buf.slice(n);
+ } else if (n === list[0].length) {
+ // first list is a perfect match
+ ret = list.shift();
+ } else {
+ // complex case.
+ // we have enough to cover it, but it spans past the first buffer.
+ if (stringMode) ret = '';else ret = bufferShim.allocUnsafe(n);
+&nbsp;
+ var c = 0;
+ for (var i = 0, l = list.length; i &lt; l &amp;&amp; c &lt; n; i++) {
+ var _buf = list[0];
+ var cpy = Math.min(n - c, _buf.length);
+&nbsp;
+ if (stringMode) ret += _buf.slice(0, cpy);else _buf.copy(ret, c, 0, cpy);
+&nbsp;
+ if (cpy &lt; _buf.length) list[0] = _buf.slice(cpy);else list.shift();
+&nbsp;
+ c += cpy;
+ }
+ }
+ }
+&nbsp;
+ return ret;
+}
+&nbsp;
+function endReadable(stream) {
+ var state = stream._readableState;
+&nbsp;
+ // If we get here before consuming all the bytes, then that is a
+ // bug in node. Should never happen.
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (state.length &gt; 0) <span class="cstat-no" title="statement not covered" >throw new Error('"endReadable()" called on non-empty stream');</span>
+&nbsp;
+ if (!state.endEmitted) {
+ state.ended = true;
+ processNextTick(endReadableNT, state, stream);
+ }
+}
+&nbsp;
+function endReadableNT(state, stream) {
+ // Check that we didn't get one last unshift.
+ if (!state.endEmitted &amp;&amp; state.length === 0) {
+ state.endEmitted = true;
+ stream.readable = false;
+ stream.emit('end');
+ }
+}
+&nbsp;
+function forEach(xs, f) {
+ for (var i = 0, l = xs.length; i &lt; l; i++) {
+ f(xs[i], i);
+ }
+}
+&nbsp;
+function indexOf(xs, x) {
+ for (var i = 0, l = xs.length; i &lt; l; i++) {
+ if (xs[i] === x) return i;
+ }
+<span class="cstat-no" title="statement not covered" > return -1;</span>
+}</pre></td></tr>
+</table></pre>
+<div class='push'></div><!-- for sticky footer -->
+</div><!-- /wrapper -->
+<div class='footer quiet pad2 space-top1 center small'>
+ Code coverage
+ generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Wed May 18 2016 10:10:05 GMT-0400 (EDT)
+</div>
+</div>
+<script src="../prettify.js"></script>
+<script>
+window.onload = function () {
+ if (typeof prettyPrint === 'function') {
+ prettyPrint();
+ }
+};
+</script>
+<script src="../sorter.js"></script>
+</body>
+</html>
diff --git a/deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_transform.js.html b/deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_transform.js.html
new file mode 100644
index 0000000000..3542da4f63
--- /dev/null
+++ b/deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_transform.js.html
@@ -0,0 +1,602 @@
+<!doctype html>
+<html lang="en">
+<head>
+ <title>Code coverage report for lib/_stream_transform.js</title>
+ <meta charset="utf-8" />
+ <link rel="stylesheet" href="../prettify.css" />
+ <link rel="stylesheet" href="../base.css" />
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <style type='text/css'>
+ .coverage-summary .sorter {
+ background-image: url(../sort-arrow-sprite.png);
+ }
+ </style>
+</head>
+<body>
+<div class='wrapper'>
+ <div class='pad1'>
+ <h1>
+ <a href="../index.html">all files</a> / <a href="index.html">lib/</a> _stream_transform.js
+ </h1>
+ <div class='clearfix'>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">92.11% </span>
+ <span class="quiet">Statements</span>
+ <span class='fraction'>70/76</span>
+ </div>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">84.21% </span>
+ <span class="quiet">Branches</span>
+ <span class='fraction'>32/38</span>
+ </div>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">90.91% </span>
+ <span class="quiet">Functions</span>
+ <span class='fraction'>10/11</span>
+ </div>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">98.48% </span>
+ <span class="quiet">Lines</span>
+ <span class='fraction'>65/66</span>
+ </div>
+ </div>
+ </div>
+ <div class='status-line high'></div>
+<pre><table class="coverage">
+<tr><td class="line-count quiet">1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180</td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-yes">116×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">116×</span>
+<span class="cline-any cline-yes">116×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">116×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">116×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">116×</span>
+<span class="cline-any cline-yes">116×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">116×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">116×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">116×</span>
+<span class="cline-any cline-yes">116×</span>
+<span class="cline-any cline-yes">116×</span>
+<span class="cline-any cline-yes">113×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-yes">13×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">13×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">24×</span>
+<span class="cline-any cline-yes">19×</span>
+<span class="cline-any cline-yes">2×</span>
+<span class="cline-any cline-yes">17×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">127×</span>
+<span class="cline-any cline-yes">127×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">117×</span>
+<span class="cline-any cline-yes">117×</span>
+<span class="cline-any cline-yes">117×</span>
+<span class="cline-any cline-yes">117×</span>
+<span class="cline-any cline-yes">117×</span>
+<span class="cline-any cline-yes">117×</span>
+<span class="cline-any cline-yes">117×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">310×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">310×</span>
+<span class="cline-any cline-yes">116×</span>
+<span class="cline-any cline-yes">116×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">194×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">19×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">19×</span>
+<span class="cline-any cline-yes">19×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">19×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">19×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">19×</span>
+<span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">// a transform stream is a readable/writable stream where you do
+// something with the data. Sometimes it's called a "filter",
+// but that's not a great name for it, since that implies a thing where
+// some bits pass through, and others are simply ignored. (That would
+// be a valid example of a transform, of course.)
+//
+// While the output is causally related to the input, it's not a
+// necessarily symmetric or synchronous transformation. For example,
+// a zlib stream might take multiple plain-text writes(), and then
+// emit a single compressed chunk some time in the future.
+//
+// Here's how this works:
+//
+// The Transform stream has all the aspects of the readable and writable
+// stream classes. When you write(chunk), that calls _write(chunk,cb)
+// internally, and returns false if there's a lot of pending writes
+// buffered up. When you call read(), that calls _read(n) until
+// there's enough pending readable data buffered up.
+//
+// In a transform stream, the written data is placed in a buffer. When
+// _read(n) is called, it transforms the queued up data, calling the
+// buffered _write cb's as it consumes chunks. If consuming a single
+// written chunk would result in multiple output chunks, then the first
+// outputted bit calls the readcb, and subsequent chunks just go into
+// the read buffer, and will cause it to emit 'readable' if necessary.
+//
+// This way, back-pressure is actually determined by the reading side,
+// since _read has to be called to start processing a new chunk. However,
+// a pathological inflate type of transform can cause excessive buffering
+// here. For example, imagine a stream where every byte of input is
+// interpreted as an integer from 0-255, and then results in that many
+// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in
+// 1kb of data being output. In this case, you could write a very small
+// amount of input, and end up with a very large amount of output. In
+// such a pathological inflating mechanism, there'd be no way to tell
+// the system to stop doing the transform. A single 4MB write could
+// cause the system to run out of memory.
+//
+// However, even in such a pathological case, only a single written chunk
+// would be consumed, and then the rest would wait (un-transformed) until
+// the results of the previous transformed chunk were consumed.
+&nbsp;
+'use strict';
+&nbsp;
+module.exports = Transform;
+&nbsp;
+var Duplex = require('./_stream_duplex');
+&nbsp;
+/*&lt;replacement&gt;*/
+var util = require('core-util-is');
+util.inherits = require('inherits');
+/*&lt;/replacement&gt;*/
+&nbsp;
+util.inherits(Transform, Duplex);
+&nbsp;
+function TransformState(stream) {
+ this.afterTransform = function (er, data) {
+ return afterTransform(stream, er, data);
+ };
+&nbsp;
+ this.needTransform = false;
+ this.transforming = false;
+ this.writecb = null;
+ this.writechunk = null;
+ this.writeencoding = null;
+}
+&nbsp;
+function afterTransform(stream, er, data) {
+ var ts = stream._transformState;
+ ts.transforming = false;
+&nbsp;
+ var cb = ts.writecb;
+&nbsp;
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!cb) <span class="cstat-no" title="statement not covered" >return stream.emit('error', new Error('no writecb in Transform class'));</span>
+&nbsp;
+ ts.writechunk = null;
+ ts.writecb = null;
+&nbsp;
+ if (data !== null &amp;&amp; data !== undefined) stream.push(data);
+&nbsp;
+ cb(er);
+&nbsp;
+ var rs = stream._readableState;
+ rs.reading = false;
+ if (rs.needReadable || rs.length &lt; rs.highWaterMark) {
+ stream._read(rs.highWaterMark);
+ }
+}
+&nbsp;
+function Transform(options) {
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!(this instanceof Transform)) <span class="cstat-no" title="statement not covered" >return new Transform(options);</span>
+&nbsp;
+ Duplex.call(this, options);
+&nbsp;
+ this._transformState = new TransformState(this);
+&nbsp;
+ // when the writable side finishes, then flush out anything remaining.
+ var stream = this;
+&nbsp;
+ // start out asking for a readable event once data is transformed.
+ this._readableState.needReadable = true;
+&nbsp;
+ // we have implemented the _read method, and done the other things
+ // that Readable wants before the first _read call, so unset the
+ // sync guard flag.
+ this._readableState.sync = false;
+&nbsp;
+ if (options) {
+ if (typeof options.transform === 'function') this._transform = options.transform;
+&nbsp;
+ if (typeof options.flush === 'function') this._flush = options.flush;
+ }
+&nbsp;
+ this.once('prefinish', function () {
+ if (typeof this._flush === 'function') this._flush(function (er) {
+ done(stream, er);
+ });else done(stream);
+ });
+}
+&nbsp;
+Transform.prototype.push = function (chunk, encoding) {
+ this._transformState.needTransform = false;
+ return Duplex.prototype.push.call(this, chunk, encoding);
+};
+&nbsp;
+// This is the part where you do stuff!
+// override this function in implementation classes.
+// 'chunk' is an input chunk.
+//
+// Call `push(newChunk)` to pass along transformed output
+// to the readable side. You may call 'push' zero or more times.
+//
+// Call `cb(err)` when you are done with this chunk. If you pass
+// an error, then that'll put the hurt on the whole operation. If you
+// never call cb(), then you'll never get another chunk.
+Transform.prototype._transform = <span class="fstat-no" title="function not covered" >function (chunk, encoding, cb) {</span>
+<span class="cstat-no" title="statement not covered" > throw new Error('Not implemented');</span>
+};
+&nbsp;
+Transform.prototype._write = function (chunk, encoding, cb) {
+ var ts = this._transformState;
+ ts.writecb = cb;
+ ts.writechunk = chunk;
+ ts.writeencoding = encoding;
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (!ts.transforming) {
+ var rs = this._readableState;
+ if (ts.needTransform || rs.needReadable || rs.length &lt; rs.highWaterMark) this._read(rs.highWaterMark);
+ }
+};
+&nbsp;
+// Doesn't matter what the args are here.
+// _transform does all the work.
+// That we got here means that the readable side wants more data.
+Transform.prototype._read = function (n) {
+ var ts = this._transformState;
+&nbsp;
+ if (ts.writechunk !== null &amp;&amp; ts.writecb &amp;&amp; !ts.transforming) {
+ ts.transforming = true;
+ this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
+ } else {
+ // mark that we need a transform, so that any data that comes in
+ // will get processed, now that we've asked for it.
+ ts.needTransform = true;
+ }
+};
+&nbsp;
+function done(stream, er) {
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (er) <span class="cstat-no" title="statement not covered" >return stream.emit('error', er);</span>
+&nbsp;
+ // if there's nothing in the write buffer, then that means
+ // that nothing more will ever be provided
+ var ws = stream._writableState;
+ var ts = stream._transformState;
+&nbsp;
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (ws.length) <span class="cstat-no" title="statement not covered" >throw new Error('Calling transform done when ws.length != 0');</span>
+&nbsp;
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (ts.transforming) <span class="cstat-no" title="statement not covered" >throw new Error('Calling transform done when still transforming');</span>
+&nbsp;
+ return stream.push(null);
+}</pre></td></tr>
+</table></pre>
+<div class='push'></div><!-- for sticky footer -->
+</div><!-- /wrapper -->
+<div class='footer quiet pad2 space-top1 center small'>
+ Code coverage
+ generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Wed May 18 2016 10:10:05 GMT-0400 (EDT)
+</div>
+</div>
+<script src="../prettify.js"></script>
+<script>
+window.onload = function () {
+ if (typeof prettyPrint === 'function') {
+ prettyPrint();
+ }
+};
+</script>
+<script src="../sorter.js"></script>
+</body>
+</html>
diff --git a/deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_writable.js.html b/deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_writable.js.html
new file mode 100644
index 0000000000..0b200c9e09
--- /dev/null
+++ b/deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_writable.js.html
@@ -0,0 +1,1640 @@
+<!doctype html>
+<html lang="en">
+<head>
+ <title>Code coverage report for lib/_stream_writable.js</title>
+ <meta charset="utf-8" />
+ <link rel="stylesheet" href="../prettify.css" />
+ <link rel="stylesheet" href="../base.css" />
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <style type='text/css'>
+ .coverage-summary .sorter {
+ background-image: url(../sort-arrow-sprite.png);
+ }
+ </style>
+</head>
+<body>
+<div class='wrapper'>
+ <div class='pad1'>
+ <h1>
+ <a href="../index.html">all files</a> / <a href="index.html">lib/</a> _stream_writable.js
+ </h1>
+ <div class='clearfix'>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">95.52% </span>
+ <span class="quiet">Statements</span>
+ <span class='fraction'>277/290</span>
+ </div>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">94% </span>
+ <span class="quiet">Branches</span>
+ <span class='fraction'>141/150</span>
+ </div>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">90.91% </span>
+ <span class="quiet">Functions</span>
+ <span class='fraction'>30/33</span>
+ </div>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">96.58% </span>
+ <span class="quiet">Lines</span>
+ <span class='fraction'>254/263</span>
+ </div>
+ </div>
+ </div>
+ <div class='status-line high'></div>
+<pre><table class="coverage">
+<tr><td class="line-count quiet">1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526</td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">2305×</span>
+<span class="cline-any cline-yes">2305×</span>
+<span class="cline-any cline-yes">2305×</span>
+<span class="cline-any cline-yes">2305×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-yes">4574×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-yes">5×</span>
+<span class="cline-any cline-yes">5×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">97×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">97×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-yes">50×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">50×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">96×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">4625×</span>
+<span class="cline-any cline-yes">4625×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">4625×</span>
+<span class="cline-any cline-yes">2×</span>
+<span class="cline-any cline-yes">4623×</span>
+<span class="cline-any cline-yes">2×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">4625×</span>
+<span class="cline-any cline-yes">4×</span>
+<span class="cline-any cline-yes">2×</span>
+<span class="cline-any cline-yes">2×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">4623×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">4626×</span>
+<span class="cline-any cline-yes">4626×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">4626×</span>
+<span class="cline-any cline-yes">59×</span>
+<span class="cline-any cline-yes">59×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">4626×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">4626×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">4626×</span>
+<span class="cline-any cline-yes">4621×</span>
+<span class="cline-any cline-yes">4621×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">4624×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">13×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">13×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">13×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">13×</span>
+<span class="cline-any cline-yes">13×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">13×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">3×</span>
+<span class="cline-any cline-yes">3×</span>
+<span class="cline-any cline-yes">2×</span>
+<span class="cline-any cline-yes">2×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">4621×</span>
+<span class="cline-any cline-yes">2273×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">4621×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">4621×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">4621×</span>
+<span class="cline-any cline-yes">4621×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">4621×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">4621×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">4621×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">4621×</span>
+<span class="cline-any cline-yes">2305×</span>
+<span class="cline-any cline-yes">2305×</span>
+<span class="cline-any cline-yes">2305×</span>
+<span class="cline-any cline-yes">2265×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">40×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">2305×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">2316×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">4621×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">4582×</span>
+<span class="cline-any cline-yes">4582×</span>
+<span class="cline-any cline-yes">4582×</span>
+<span class="cline-any cline-yes">4582×</span>
+<span class="cline-any cline-yes">4582×</span>
+<span class="cline-any cline-yes">4582×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">4574×</span>
+<span class="cline-any cline-yes">4574×</span>
+<span class="cline-any cline-yes">4574×</span>
+<span class="cline-any cline-yes">4574×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">4574×</span>
+<span class="cline-any cline-yes">4574×</span>
+<span class="cline-any cline-yes">4574×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">4574×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">4574×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">4574×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">4574×</span>
+<span class="cline-any cline-yes">2254×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">4574×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">2230×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">2344×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">4574×</span>
+<span class="cline-any cline-yes">4574×</span>
+<span class="cline-any cline-yes">4574×</span>
+<span class="cline-any cline-yes">4574×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">4557×</span>
+<span class="cline-any cline-yes">27×</span>
+<span class="cline-any cline-yes">27×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">2263×</span>
+<span class="cline-any cline-yes">2263×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">2263×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">9×</span>
+<span class="cline-any cline-yes">9×</span>
+<span class="cline-any cline-yes">9×</span>
+<span class="cline-any cline-yes">9×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">9×</span>
+<span class="cline-any cline-yes">9×</span>
+<span class="cline-any cline-yes">42×</span>
+<span class="cline-any cline-yes">42×</span>
+<span class="cline-any cline-yes">42×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">9×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">9×</span>
+<span class="cline-any cline-yes">9×</span>
+<span class="cline-any cline-yes">9×</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">9×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">2254×</span>
+<span class="cline-any cline-yes">2257×</span>
+<span class="cline-any cline-yes">2257×</span>
+<span class="cline-any cline-yes">2257×</span>
+<span class="cline-any cline-yes">2257×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">2257×</span>
+<span class="cline-any cline-yes">2257×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">2257×</span>
+<span class="cline-any cline-yes">2252×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">2254×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">2263×</span>
+<span class="cline-any cline-yes">2263×</span>
+<span class="cline-any cline-yes">2263×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">65×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">65×</span>
+<span class="cline-any cline-yes">11×</span>
+<span class="cline-any cline-yes">11×</span>
+<span class="cline-any cline-yes">11×</span>
+<span class="cline-any cline-yes">54×</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-yes">1×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">65×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">65×</span>
+<span class="cline-any cline-yes">5×</span>
+<span class="cline-any cline-yes">5×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">65×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">9209×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">125×</span>
+<span class="cline-any cline-yes">57×</span>
+<span class="cline-any cline-yes">57×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">4635×</span>
+<span class="cline-any cline-yes">4635×</span>
+<span class="cline-any cline-yes">125×</span>
+<span class="cline-any cline-yes">57×</span>
+<span class="cline-any cline-yes">57×</span>
+<span class="cline-any cline-yes">57×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">68×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">4635×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">61×</span>
+<span class="cline-any cline-yes">61×</span>
+<span class="cline-any cline-yes">61×</span>
+<span class="cline-any cline-yes">13×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">61×</span>
+<span class="cline-any cline-yes">61×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">49×</span>
+<span class="cline-any cline-yes">105×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">105×</span>
+<span class="cline-any cline-yes">105×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">105×</span>
+<span class="cline-any cline-yes">8×</span>
+<span class="cline-any cline-yes">8×</span>
+<span class="cline-any cline-yes">8×</span>
+<span class="cline-any cline-yes">40×</span>
+<span class="cline-any cline-yes">40×</span>
+<span class="cline-any cline-yes">40×</span>
+<span class="cline-any cline-yes">40×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-yes">8×</span>
+<span class="cline-any cline-yes">8×</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-no">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span>
+<span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">// A bit simpler than readable streams.
+// Implement an async ._write(chunk, encoding, cb), and it'll handle all
+// the drain event emission and buffering.
+&nbsp;
+'use strict';
+&nbsp;
+module.exports = Writable;
+&nbsp;
+/*&lt;replacement&gt;*/
+var processNextTick = require('process-nextick-args');
+/*&lt;/replacement&gt;*/
+&nbsp;
+/*&lt;replacement&gt;*/
+var asyncWrite = !process.browser &amp;&amp; ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) &gt; -1 ? <span class="branch-0 cbranch-no" title="branch not covered" >setImmediate </span>: processNextTick;
+/*&lt;/replacement&gt;*/
+&nbsp;
+Writable.WritableState = WritableState;
+&nbsp;
+/*&lt;replacement&gt;*/
+var util = require('core-util-is');
+util.inherits = require('inherits');
+/*&lt;/replacement&gt;*/
+&nbsp;
+/*&lt;replacement&gt;*/
+var internalUtil = {
+ deprecate: require('util-deprecate')
+};
+/*&lt;/replacement&gt;*/
+&nbsp;
+/*&lt;replacement&gt;*/
+var Stream;
+(function () {
+ try {
+ Stream = require('st' + 'ream');
+ } catch (_) {} finally {
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!Stream) <span class="cstat-no" title="statement not covered" >Stream = require('events').EventEmitter;</span>
+ }
+})();
+/*&lt;/replacement&gt;*/
+&nbsp;
+var Buffer = require('buffer').Buffer;
+/*&lt;replacement&gt;*/
+var bufferShim = require('buffer-shims');
+/*&lt;/replacement&gt;*/
+&nbsp;
+util.inherits(Writable, Stream);
+&nbsp;
+function nop() {}
+&nbsp;
+function WriteReq(chunk, encoding, cb) {
+ this.chunk = chunk;
+ this.encoding = encoding;
+ this.callback = cb;
+ this.next = null;
+}
+&nbsp;
+var Duplex;
+function WritableState(options, stream) {
+ Duplex = Duplex || <span class="branch-1 cbranch-no" title="branch not covered" >require('./_stream_duplex');</span>
+&nbsp;
+ options = options || {};
+&nbsp;
+ // object stream flag to indicate whether or not this stream
+ // contains buffers or objects.
+ this.objectMode = !!options.objectMode;
+&nbsp;
+ if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
+&nbsp;
+ // the point at which write() starts returning false
+ // Note: 0 is a valid value, means that we always return false if
+ // the entire buffer is not flushed immediately on write()
+ var hwm = options.highWaterMark;
+ var defaultHwm = this.objectMode ? 16 : 16 * 1024;
+ this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm;
+&nbsp;
+ // cast to ints.
+ this.highWaterMark = ~ ~this.highWaterMark;
+&nbsp;
+ this.needDrain = false;
+ // at the start of calling end()
+ this.ending = false;
+ // when end() has been called, and returned
+ this.ended = false;
+ // when 'finish' is emitted
+ this.finished = false;
+&nbsp;
+ // should we decode strings into buffers before passing to _write?
+ // this is here so that some node-core streams can optimize string
+ // handling at a lower level.
+ var noDecode = options.decodeStrings === false;
+ this.decodeStrings = !noDecode;
+&nbsp;
+ // Crypto is kind of old and crusty. Historically, its default string
+ // encoding is 'binary' so we have to make this configurable.
+ // Everything else in the universe uses 'utf8', though.
+ this.defaultEncoding = options.defaultEncoding || 'utf8';
+&nbsp;
+ // not an actual buffer we keep track of, but a measurement
+ // of how much we're waiting to get pushed to some underlying
+ // socket or file.
+ this.length = 0;
+&nbsp;
+ // a flag to see when we're in the middle of a write.
+ this.writing = false;
+&nbsp;
+ // when true all writes will be buffered until .uncork() call
+ this.corked = 0;
+&nbsp;
+ // a flag to be able to tell if the onwrite cb is called immediately,
+ // or on a later tick. We set this to true at first, because any
+ // actions that shouldn't happen until "later" should generally also
+ // not happen before the first write call.
+ this.sync = true;
+&nbsp;
+ // a flag to know if we're processing previously buffered items, which
+ // may call the _write() callback in the same tick, so that we don't
+ // end up in an overlapped onwrite situation.
+ this.bufferProcessing = false;
+&nbsp;
+ // the callback that's passed to _write(chunk,cb)
+ this.onwrite = function (er) {
+ onwrite(stream, er);
+ };
+&nbsp;
+ // the callback that the user supplies to write(chunk,encoding,cb)
+ this.writecb = null;
+&nbsp;
+ // the amount that is being written when _write is called.
+ this.writelen = 0;
+&nbsp;
+ this.bufferedRequest = null;
+ this.lastBufferedRequest = null;
+&nbsp;
+ // number of pending user-supplied write callbacks
+ // this must be 0 before 'finish' can be emitted
+ this.pendingcb = 0;
+&nbsp;
+ // emit prefinish if the only thing we're waiting for is _write cbs
+ // This is relevant for synchronous Transform streams
+ this.prefinished = false;
+&nbsp;
+ // True if the error was already emitted and should not be thrown again
+ this.errorEmitted = false;
+&nbsp;
+ // count buffered requests
+ this.bufferedRequestCount = 0;
+&nbsp;
+ // allocate the first CorkedRequest, there is always
+ // one allocated and free to use, and we maintain at most two
+ this.corkedRequestsFree = new CorkedRequest(this);
+}
+&nbsp;
+WritableState.prototype.getBuffer = function writableStateGetBuffer() {
+ var current = this.bufferedRequest;
+ var out = [];
+ while (current) {
+ out.push(current);
+ current = current.next;
+ }
+ return out;
+};
+&nbsp;
+(function () {
+ try {
+ Object.defineProperty(WritableState.prototype, 'buffer', {
+ get: internalUtil.deprecate(<span class="fstat-no" title="function not covered" >function () {</span>
+<span class="cstat-no" title="statement not covered" > return this.getBuffer();</span>
+ }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.')
+ });
+ } catch (_) {}
+})();
+&nbsp;
+var Duplex;
+function Writable(options) {
+ Duplex = Duplex || require('./_stream_duplex');
+&nbsp;
+ // Writable ctor is applied to Duplexes, though they're not
+ // instanceof Writable, they're instanceof Readable.
+ if (!(this instanceof Writable) &amp;&amp; !(this instanceof Duplex)) return new Writable(options);
+&nbsp;
+ this._writableState = new WritableState(options, this);
+&nbsp;
+ // legacy.
+ this.writable = true;
+&nbsp;
+ if (options) {
+ if (typeof options.write === 'function') this._write = options.write;
+&nbsp;
+ if (typeof options.writev === 'function') this._writev = options.writev;
+ }
+&nbsp;
+ Stream.call(this);
+}
+&nbsp;
+// Otherwise people can pipe Writable streams, which is just wrong.
+Writable.prototype.pipe = function () {
+ this.emit('error', new Error('Cannot pipe, not readable'));
+};
+&nbsp;
+function writeAfterEnd(stream, cb) {
+ var er = new Error('write after end');
+ // TODO: defer error events consistently everywhere, not just the cb
+ stream.emit('error', er);
+ processNextTick(cb, er);
+}
+&nbsp;
+// If we get something that is not a buffer, string, null, or undefined,
+// and we're not in objectMode, then that's an error.
+// Otherwise stream chunks are all considered to be of length=1, and the
+// watermarks determine how many objects to keep in the buffer, rather than
+// how many bytes or characters.
+function validChunk(stream, state, chunk, cb) {
+ var valid = true;
+ var er = false;
+ // Always throw error if a null is written
+ // if we are not in object mode then throw
+ // if it is not a buffer, string, or undefined.
+ if (chunk === null) {
+ er = new TypeError('May not write null values to stream');
+ } else if (!Buffer.isBuffer(chunk) &amp;&amp; typeof chunk !== 'string' &amp;&amp; chunk !== undefined &amp;&amp; !state.objectMode) {
+ er = new TypeError('Invalid non-string/buffer chunk');
+ }
+ if (er) {
+ stream.emit('error', er);
+ processNextTick(cb, er);
+ valid = false;
+ }
+ return valid;
+}
+&nbsp;
+Writable.prototype.write = function (chunk, encoding, cb) {
+ var state = this._writableState;
+ var ret = false;
+&nbsp;
+ if (typeof encoding === 'function') {
+ cb = encoding;
+ encoding = null;
+ }
+&nbsp;
+ if (Buffer.isBuffer(chunk)) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;
+&nbsp;
+ if (typeof cb !== 'function') cb = nop;
+&nbsp;
+ if (state.ended) writeAfterEnd(this, cb);else if (validChunk(this, state, chunk, cb)) {
+ state.pendingcb++;
+ ret = writeOrBuffer(this, state, chunk, encoding, cb);
+ }
+&nbsp;
+ return ret;
+};
+&nbsp;
+Writable.prototype.cork = function () {
+ var state = this._writableState;
+&nbsp;
+ state.corked++;
+};
+&nbsp;
+Writable.prototype.uncork = function () {
+ var state = this._writableState;
+&nbsp;
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (state.corked) {
+ state.corked--;
+&nbsp;
+ if (!state.writing &amp;&amp; !state.corked &amp;&amp; !state.finished &amp;&amp; !state.bufferProcessing &amp;&amp; state.bufferedRequest) clearBuffer(this, state);
+ }
+};
+&nbsp;
+Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
+ // node::ParseEncoding() requires lower case.
+ if (typeof encoding === 'string') encoding = encoding.toLowerCase();
+ if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) &gt; -1)) throw new TypeError('Unknown encoding: ' + encoding);
+ this._writableState.defaultEncoding = encoding;
+ return this;
+};
+&nbsp;
+function decodeChunk(state, chunk, encoding) {
+ if (!state.objectMode &amp;&amp; state.decodeStrings !== false &amp;&amp; typeof chunk === 'string') {
+ chunk = bufferShim.from(chunk, encoding);
+ }
+ return chunk;
+}
+&nbsp;
+// if we're already writing something, then just put this
+// in the queue, and wait our turn. Otherwise, call _write
+// If we return false, then we need a drain event, so set that flag.
+function writeOrBuffer(stream, state, chunk, encoding, cb) {
+ chunk = decodeChunk(state, chunk, encoding);
+&nbsp;
+ if (Buffer.isBuffer(chunk)) encoding = 'buffer';
+ var len = state.objectMode ? 1 : chunk.length;
+&nbsp;
+ state.length += len;
+&nbsp;
+ var ret = state.length &lt; state.highWaterMark;
+ // we must ensure that previous needDrain will not be reset to false.
+ if (!ret) state.needDrain = true;
+&nbsp;
+ if (state.writing || state.corked) {
+ var last = state.lastBufferedRequest;
+ state.lastBufferedRequest = new WriteReq(chunk, encoding, cb);
+ if (last) {
+ last.next = state.lastBufferedRequest;
+ } else {
+ state.bufferedRequest = state.lastBufferedRequest;
+ }
+ state.bufferedRequestCount += 1;
+ } else {
+ doWrite(stream, state, false, len, chunk, encoding, cb);
+ }
+&nbsp;
+ return ret;
+}
+&nbsp;
+function doWrite(stream, state, writev, len, chunk, encoding, cb) {
+ state.writelen = len;
+ state.writecb = cb;
+ state.writing = true;
+ state.sync = true;
+ if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);
+ state.sync = false;
+}
+&nbsp;
+<span class="fstat-no" title="function not covered" >function onwriteError(stream, state, sync, er, cb) {</span>
+<span class="cstat-no" title="statement not covered" > --state.pendingcb;</span>
+<span class="cstat-no" title="statement not covered" > if (sync) <span class="cstat-no" title="statement not covered" >processNextTick(cb, er);e</span>lse <span class="cstat-no" title="statement not covered" >cb(er);</span></span>
+&nbsp;
+<span class="cstat-no" title="statement not covered" > stream._writableState.errorEmitted = true;</span>
+<span class="cstat-no" title="statement not covered" > stream.emit('error', er);</span>
+}
+&nbsp;
+function onwriteStateUpdate(state) {
+ state.writing = false;
+ state.writecb = null;
+ state.length -= state.writelen;
+ state.writelen = 0;
+}
+&nbsp;
+function onwrite(stream, er) {
+ var state = stream._writableState;
+ var sync = state.sync;
+ var cb = state.writecb;
+&nbsp;
+ onwriteStateUpdate(state);
+&nbsp;
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (er) <span class="cstat-no" title="statement not covered" >onwriteError(stream, state, sync, er, cb);e</span>lse {
+ // Check if we're actually ready to finish, but don't emit yet
+ var finished = needFinish(state);
+&nbsp;
+ if (!finished &amp;&amp; !state.corked &amp;&amp; !state.bufferProcessing &amp;&amp; state.bufferedRequest) {
+ clearBuffer(stream, state);
+ }
+&nbsp;
+ if (sync) {
+ /*&lt;replacement&gt;*/
+ asyncWrite(afterWrite, stream, state, finished, cb);
+ /*&lt;/replacement&gt;*/
+ } else {
+ afterWrite(stream, state, finished, cb);
+ }
+ }
+}
+&nbsp;
+function afterWrite(stream, state, finished, cb) {
+ if (!finished) onwriteDrain(stream, state);
+ state.pendingcb--;
+ cb();
+ finishMaybe(stream, state);
+}
+&nbsp;
+// Must force callback to be called on nextTick, so that we don't
+// emit 'drain' before the write() consumer gets the 'false' return
+// value, and has a chance to attach a 'drain' listener.
+function onwriteDrain(stream, state) {
+ if (state.length === 0 &amp;&amp; state.needDrain) {
+ state.needDrain = false;
+ stream.emit('drain');
+ }
+}
+&nbsp;
+// if there's something in the buffer waiting, then process it
+function clearBuffer(stream, state) {
+ state.bufferProcessing = true;
+ var entry = state.bufferedRequest;
+&nbsp;
+ if (stream._writev &amp;&amp; entry &amp;&amp; entry.next) {
+ // Fast case, write everything using _writev()
+ var l = state.bufferedRequestCount;
+ var buffer = new Array(l);
+ var holder = state.corkedRequestsFree;
+ holder.entry = entry;
+&nbsp;
+ var count = 0;
+ while (entry) {
+ buffer[count] = entry;
+ entry = entry.next;
+ count += 1;
+ }
+&nbsp;
+ doWrite(stream, state, true, state.length, buffer, '', holder.finish);
+&nbsp;
+ // doWrite is almost always async, defer these to save a bit of time
+ // as the hot path ends with doWrite
+ state.pendingcb++;
+ state.lastBufferedRequest = null;
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (holder.next) {
+<span class="cstat-no" title="statement not covered" > state.corkedRequestsFree = holder.next;</span>
+<span class="cstat-no" title="statement not covered" > holder.next = null;</span>
+ } else {
+ state.corkedRequestsFree = new CorkedRequest(state);
+ }
+ } else {
+ // Slow case, write chunks one-by-one
+ while (entry) {
+ var chunk = entry.chunk;
+ var encoding = entry.encoding;
+ var cb = entry.callback;
+ var len = state.objectMode ? 1 : chunk.length;
+&nbsp;
+ doWrite(stream, state, false, len, chunk, encoding, cb);
+ entry = entry.next;
+ // if we didn't call the onwrite immediately, then
+ // it means that we need to wait until it does.
+ // also, that means that the chunk and cb are currently
+ // being processed, so move the buffer counter past them.
+ if (state.writing) {
+ break;
+ }
+ }
+&nbsp;
+ if (entry === null) state.lastBufferedRequest = null;
+ }
+&nbsp;
+ state.bufferedRequestCount = 0;
+ state.bufferedRequest = entry;
+ state.bufferProcessing = false;
+}
+&nbsp;
+Writable.prototype._write = <span class="fstat-no" title="function not covered" >function (chunk, encoding, cb) {</span>
+<span class="cstat-no" title="statement not covered" > cb(new Error('not implemented'));</span>
+};
+&nbsp;
+Writable.prototype._writev = null;
+&nbsp;
+Writable.prototype.end = function (chunk, encoding, cb) {
+ var state = this._writableState;
+&nbsp;
+ if (typeof chunk === 'function') {
+ cb = chunk;
+ chunk = null;
+ encoding = null;
+ } else if (typeof encoding === 'function') {
+ cb = encoding;
+ encoding = null;
+ }
+&nbsp;
+ if (chunk !== null &amp;&amp; chunk !== undefined) this.write(chunk, encoding);
+&nbsp;
+ // .end() fully uncorks
+ if (state.corked) {
+ state.corked = 1;
+ this.uncork();
+ }
+&nbsp;
+ // ignore unnecessary end() calls.
+ if (!state.ending &amp;&amp; !state.finished) endWritable(this, state, cb);
+};
+&nbsp;
+function needFinish(state) {
+ return state.ending &amp;&amp; state.length === 0 &amp;&amp; state.bufferedRequest === null &amp;&amp; !state.finished &amp;&amp; !state.writing;
+}
+&nbsp;
+function prefinish(stream, state) {
+ if (!state.prefinished) {
+ state.prefinished = true;
+ stream.emit('prefinish');
+ }
+}
+&nbsp;
+function finishMaybe(stream, state) {
+ var need = needFinish(state);
+ if (need) {
+ if (state.pendingcb === 0) {
+ prefinish(stream, state);
+ state.finished = true;
+ stream.emit('finish');
+ } else {
+ prefinish(stream, state);
+ }
+ }
+ return need;
+}
+&nbsp;
+function endWritable(stream, state, cb) {
+ state.ending = true;
+ finishMaybe(stream, state);
+ if (cb) {
+ if (state.finished) processNextTick(cb);else stream.once('finish', cb);
+ }
+ state.ended = true;
+ stream.writable = false;
+}
+&nbsp;
+// It seems a linked list but it is not
+// there will be only 2 of these for each stream
+function CorkedRequest(state) {
+ var _this = this;
+&nbsp;
+ this.next = null;
+ this.entry = null;
+&nbsp;
+ this.finish = function (err) {
+ var entry = _this.entry;
+ _this.entry = null;
+ while (entry) {
+ var cb = entry.callback;
+ state.pendingcb--;
+ cb(err);
+ entry = entry.next;
+ }
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (state.corkedRequestsFree) {
+ state.corkedRequestsFree.next = _this;
+ } else {
+<span class="cstat-no" title="statement not covered" > state.corkedRequestsFree = _this;</span>
+ }
+ };
+}</pre></td></tr>
+</table></pre>
+<div class='push'></div><!-- for sticky footer -->
+</div><!-- /wrapper -->
+<div class='footer quiet pad2 space-top1 center small'>
+ Code coverage
+ generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Wed May 18 2016 10:10:05 GMT-0400 (EDT)
+</div>
+</div>
+<script src="../prettify.js"></script>
+<script>
+window.onload = function () {
+ if (typeof prettyPrint === 'function') {
+ prettyPrint();
+ }
+};
+</script>
+<script src="../sorter.js"></script>
+</body>
+</html>
diff --git a/deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/index.html b/deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/index.html
new file mode 100644
index 0000000000..5240d877ea
--- /dev/null
+++ b/deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/index.html
@@ -0,0 +1,145 @@
+<!doctype html>
+<html lang="en">
+<head>
+ <title>Code coverage report for lib/</title>
+ <meta charset="utf-8" />
+ <link rel="stylesheet" href="../prettify.css" />
+ <link rel="stylesheet" href="../base.css" />
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <style type='text/css'>
+ .coverage-summary .sorter {
+ background-image: url(../sort-arrow-sprite.png);
+ }
+ </style>
+</head>
+<body>
+<div class='wrapper'>
+ <div class='pad1'>
+ <h1>
+ <a href="../index.html">all files</a> lib/
+ </h1>
+ <div class='clearfix'>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">90.63% </span>
+ <span class="quiet">Statements</span>
+ <span class='fraction'>851/939</span>
+ </div>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">87.94% </span>
+ <span class="quiet">Branches</span>
+ <span class='fraction'>496/564</span>
+ </div>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">86.54% </span>
+ <span class="quiet">Functions</span>
+ <span class='fraction'>90/104</span>
+ </div>
+ <div class='fl pad1y space-right2'>
+ <span class="strong">92.73% </span>
+ <span class="quiet">Lines</span>
+ <span class='fraction'>765/825</span>
+ </div>
+ </div>
+ </div>
+ <div class='status-line high'></div>
+<div class="pad1">
+<table class="coverage-summary">
+<thead>
+<tr>
+ <th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
+ <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
+ <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
+ <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
+ <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
+ <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
+ <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
+ <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
+ <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
+ <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
+</tr>
+</thead>
+<tbody><tr>
+ <td class="file medium" data-value="_stream_duplex.js"><a href="_stream_duplex.js.html">_stream_duplex.js</a></td>
+ <td data-value="69.23" class="pic medium"><div class="chart"><div class="cover-fill" style="width: 69%;"></div><div class="cover-empty" style="width:31%;"></div></div></td>
+ <td data-value="69.23" class="pct medium">69.23%</td>
+ <td data-value="39" class="abs medium">27/39</td>
+ <td data-value="68.18" class="pct medium">68.18%</td>
+ <td data-value="22" class="abs medium">15/22</td>
+ <td data-value="40" class="pct low">40%</td>
+ <td data-value="5" class="abs low">2/5</td>
+ <td data-value="75.76" class="pct medium">75.76%</td>
+ <td data-value="33" class="abs medium">25/33</td>
+ </tr>
+
+<tr>
+ <td class="file high" data-value="_stream_passthrough.js"><a href="_stream_passthrough.js.html">_stream_passthrough.js</a></td>
+ <td data-value="90.91" class="pic high"><div class="chart"><div class="cover-fill" style="width: 90%;"></div><div class="cover-empty" style="width:10%;"></div></div></td>
+ <td data-value="90.91" class="pct high">90.91%</td>
+ <td data-value="11" class="abs high">10/11</td>
+ <td data-value="50" class="pct medium">50%</td>
+ <td data-value="2" class="abs medium">1/2</td>
+ <td data-value="100" class="pct high">100%</td>
+ <td data-value="2" class="abs high">2/2</td>
+ <td data-value="100" class="pct high">100%</td>
+ <td data-value="10" class="abs high">10/10</td>
+ </tr>
+
+<tr>
+ <td class="file high" data-value="_stream_readable.js"><a href="_stream_readable.js.html">_stream_readable.js</a></td>
+ <td data-value="89.29" class="pic high"><div class="chart"><div class="cover-fill" style="width: 89%;"></div><div class="cover-empty" style="width:11%;"></div></div></td>
+ <td data-value="89.29" class="pct high">89.29%</td>
+ <td data-value="523" class="abs high">467/523</td>
+ <td data-value="87.22" class="pct high">87.22%</td>
+ <td data-value="352" class="abs high">307/352</td>
+ <td data-value="86.79" class="pct high">86.79%</td>
+ <td data-value="53" class="abs high">46/53</td>
+ <td data-value="90.73" class="pct high">90.73%</td>
+ <td data-value="453" class="abs high">411/453</td>
+ </tr>
+
+<tr>
+ <td class="file high" data-value="_stream_transform.js"><a href="_stream_transform.js.html">_stream_transform.js</a></td>
+ <td data-value="92.11" class="pic high"><div class="chart"><div class="cover-fill" style="width: 92%;"></div><div class="cover-empty" style="width:8%;"></div></div></td>
+ <td data-value="92.11" class="pct high">92.11%</td>
+ <td data-value="76" class="abs high">70/76</td>
+ <td data-value="84.21" class="pct high">84.21%</td>
+ <td data-value="38" class="abs high">32/38</td>
+ <td data-value="90.91" class="pct high">90.91%</td>
+ <td data-value="11" class="abs high">10/11</td>
+ <td data-value="98.48" class="pct high">98.48%</td>
+ <td data-value="66" class="abs high">65/66</td>
+ </tr>
+
+<tr>
+ <td class="file high" data-value="_stream_writable.js"><a href="_stream_writable.js.html">_stream_writable.js</a></td>
+ <td data-value="95.52" class="pic high"><div class="chart"><div class="cover-fill" style="width: 95%;"></div><div class="cover-empty" style="width:5%;"></div></div></td>
+ <td data-value="95.52" class="pct high">95.52%</td>
+ <td data-value="290" class="abs high">277/290</td>
+ <td data-value="94" class="pct high">94%</td>
+ <td data-value="150" class="abs high">141/150</td>
+ <td data-value="90.91" class="pct high">90.91%</td>
+ <td data-value="33" class="abs high">30/33</td>
+ <td data-value="96.58" class="pct high">96.58%</td>
+ <td data-value="263" class="abs high">254/263</td>
+ </tr>
+
+</tbody>
+</table>
+</div><div class='push'></div><!-- for sticky footer -->
+</div><!-- /wrapper -->
+<div class='footer quiet pad2 space-top1 center small'>
+ Code coverage
+ generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Wed May 18 2016 10:10:05 GMT-0400 (EDT)
+</div>
+</div>
+<script src="../prettify.js"></script>
+<script>
+window.onload = function () {
+ if (typeof prettyPrint === 'function') {
+ prettyPrint();
+ }
+};
+</script>
+<script src="../sorter.js"></script>
+</body>
+</html>
diff --git a/deps/npm/node_modules/readable-stream/coverage/lcov-report/prettify.css b/deps/npm/node_modules/readable-stream/coverage/lcov-report/prettify.css
new file mode 100644
index 0000000000..b317a7cda3
--- /dev/null
+++ b/deps/npm/node_modules/readable-stream/coverage/lcov-report/prettify.css
@@ -0,0 +1 @@
+.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
diff --git a/deps/npm/node_modules/readable-stream/coverage/lcov-report/prettify.js b/deps/npm/node_modules/readable-stream/coverage/lcov-report/prettify.js
new file mode 100644
index 0000000000..ef51e03866
--- /dev/null
+++ b/deps/npm/node_modules/readable-stream/coverage/lcov-report/prettify.js
@@ -0,0 +1 @@
+window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V<U;++V){var ae=Z[V];if(ae.ignoreCase){ac=true}else{if(/[a-z]/i.test(ae.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){S=true;ac=false;break}}}var Y={b:8,t:9,n:10,v:11,f:12,r:13};function ab(ah){var ag=ah.charCodeAt(0);if(ag!==92){return ag}var af=ah.charAt(1);ag=Y[af];if(ag){return ag}else{if("0"<=af&&af<="7"){return parseInt(ah.substring(1),8)}else{if(af==="u"||af==="x"){return parseInt(ah.substring(2),16)}else{return ah.charCodeAt(1)}}}}function T(af){if(af<32){return(af<16?"\\x0":"\\x")+af.toString(16)}var ag=String.fromCharCode(af);if(ag==="\\"||ag==="-"||ag==="["||ag==="]"){ag="\\"+ag}return ag}function X(am){var aq=am.substring(1,am.length-1).match(new RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g"));var ak=[];var af=[];var ao=aq[0]==="^";for(var ar=ao?1:0,aj=aq.length;ar<aj;++ar){var ah=aq[ar];if(/\\[bdsw]/i.test(ah)){ak.push(ah)}else{var ag=ab(ah);var al;if(ar+2<aj&&"-"===aq[ar+1]){al=ab(aq[ar+2]);ar+=2}else{al=ag}af.push([ag,al]);if(!(al<65||ag>122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;ar<af.length;++ar){var at=af[ar];if(at[0]<=ap[1]+1){ap[1]=Math.max(ap[1],at[1])}else{ai.push(ap=at)}}var an=["["];if(ao){an.push("^")}an.push.apply(an,ak);for(var ar=0;ar<ai.length;++ar){var at=ai[ar];an.push(T(at[0]));if(at[1]>at[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak<ah;++ak){var ag=aj[ak];if(ag==="("){++am}else{if("\\"===ag.charAt(0)){var af=+ag.substring(1);if(af&&af<=am){an[af]=-1}}}}for(var ak=1;ak<an.length;++ak){if(-1===an[ak]){an[ak]=++ad}}for(var ak=0,am=0;ak<ah;++ak){var ag=aj[ak];if(ag==="("){++am;if(an[am]===undefined){aj[ak]="(?:"}}else{if("\\"===ag.charAt(0)){var af=+ag.substring(1);if(af&&af<=am){aj[ak]="\\"+an[am]}}}}for(var ak=0,am=0;ak<ah;++ak){if("^"===aj[ak]&&"^"!==aj[ak+1]){aj[ak]=""}}if(al.ignoreCase&&S){for(var ak=0;ak<ah;++ak){var ag=aj[ak];var ai=ag.charAt(0);if(ag.length>=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V<U;++V){var ae=Z[V];if(ae.global||ae.multiline){throw new Error(""+ae)}aa.push("(?:"+W(ae)+")")}return new RegExp(aa.join("|"),ac?"gi":"g")}function a(V){var U=/(?:^|\s)nocode(?:\s|$)/;var X=[];var T=0;var Z=[];var W=0;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=document.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Y=S&&"pre"===S.substring(0,3);function aa(ab){switch(ab.nodeType){case 1:if(U.test(ab.className)){return}for(var ae=ab.firstChild;ae;ae=ae.nextSibling){aa(ae)}var ad=ab.nodeName;if("BR"===ad||"LI"===ad){X[W]="\n";Z[W<<1]=T++;Z[(W++<<1)|1]=ab}break;case 3:case 4:var ac=ab.nodeValue;if(ac.length){if(!Y){ac=ac.replace(/[ \t\r\n]+/g," ")}else{ac=ac.replace(/\r\n?/g,"\n")}X[W]=ac;Z[W<<1]=T;T+=ac.length;Z[(W++<<1)|1]=ab}break}}aa(V);return{sourceCode:X.join("").replace(/\n$/,""),spans:Z}}function B(S,U,W,T){if(!U){return}var V={sourceCode:U,basePos:S};W(V);T.push.apply(T,V.decorations)}var v=/\S/;function o(S){var V=undefined;for(var U=S.firstChild;U;U=U.nextSibling){var T=U.nodeType;V=(T===1)?(V?S:U):(T===3)?(v.test(U.nodeValue)?S:V):V}return V===S?undefined:V}function g(U,T){var S={};var V;(function(){var ad=U.concat(T);var ah=[];var ag={};for(var ab=0,Z=ad.length;ab<Z;++ab){var Y=ad[ab];var ac=Y[3];if(ac){for(var ae=ac.length;--ae>=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae<aq;++ae){var ag=an[ae];var ap=aj[ag];var ai=void 0;var am;if(typeof ap==="string"){am=false}else{var aa=S[ag.charAt(0)];if(aa){ai=ag.match(aa[1]);ap=aa[0]}else{for(var ao=0;ao<X;++ao){aa=T[ao];ai=ag.match(aa[1]);if(ai){ap=aa[0];break}}if(!ai){ap=F}}am=ap.length>=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y<W.length;++Y){ae(W[Y])}if(ag===(ag|0)){W[0].setAttribute("value",ag)}var aa=ac.createElement("OL");aa.className="linenums";var X=Math.max(0,((ag-1))|0)||0;for(var Y=0,T=W.length;Y<T;++Y){af=W[Y];af.className="L"+((Y+X)%10);if(!af.firstChild){af.appendChild(ac.createTextNode("\xA0"))}aa.appendChild(af)}V.appendChild(aa)}function D(ac){var aj=/\bMSIE\b/.test(navigator.userAgent);var am=/\n/g;var al=ac.sourceCode;var an=al.length;var V=0;var aa=ac.spans;var T=aa.length;var ah=0;var X=ac.decorations;var Y=X.length;var Z=0;X[Y]=an;var ar,aq;for(aq=ar=0;aq<Y;){if(X[aq]!==X[aq+2]){X[ar++]=X[aq++];X[ar++]=X[aq++]}else{aq+=2}}Y=ar;for(aq=ar=0;aq<Y;){var at=X[aq];var ab=X[aq+1];var W=aq+2;while(W+2<=Y&&X[W+1]===ab){W+=2}X[ar++]=at;X[ar++]=ab;aq=W}Y=X.length=ar;var ae=null;while(ah<T){var af=aa[ah];var S=aa[ah+2]||an;var ag=X[Z];var ap=X[Z+2]||an;var W=Math.min(S,ap);var ak=aa[ah+1];var U;if(ak.nodeType!==1&&(U=al.substring(V,W))){if(aj){U=U.replace(am,"\r")}ak.nodeValue=U;var ai=ak.ownerDocument;var ao=ai.createElement("SPAN");ao.className=X[Z+1];var ad=ak.parentNode;ad.replaceChild(ao,ak);ao.appendChild(ak);if(V<S){aa[ah+1]=ak=ai.createTextNode(al.substring(W,S));ad.insertBefore(ak,ao.nextSibling)}}V=W;if(V>=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*</.test(S)?"default-markup":"default-code"}return t[T]}c(K,["default-code"]);c(g([],[[F,/^[^<?]+/],[E,/^<!\w[^>]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa<ac.length;++aa){for(var Z=0,V=ac[aa].length;Z<V;++Z){T.push(ac[aa][Z])}}ac=null;var W=Date;if(!W.now){W={now:function(){return +(new Date)}}}var X=0;var S;var ab=/\blang(?:uage)?-([\w.]+)(?!\S)/;var ae=/\bprettyprint\b/;function U(){var ag=(window.PR_SHOULD_USE_CONTINUATION?W.now()+250:Infinity);for(;X<T.length&&W.now()<ag;X++){var aj=T[X];var ai=aj.className;if(ai.indexOf("prettyprint")>=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X<T.length){setTimeout(U,250)}else{if(ad){ad()}}}U()}window.prettyPrintOne=y;window.prettyPrint=b;window.PR={createSimpleLexer:g,registerLangHandler:c,sourceDecorator:i,PR_ATTRIB_NAME:P,PR_ATTRIB_VALUE:n,PR_COMMENT:j,PR_DECLARATION:E,PR_KEYWORD:z,PR_LITERAL:G,PR_NOCODE:N,PR_PLAIN:F,PR_PUNCTUATION:L,PR_SOURCE:J,PR_STRING:C,PR_TAG:m,PR_TYPE:O}})();PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_DECLARATION,/^<!\w[^>]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^<script\b[^>]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:<!--|-->)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]);
diff --git a/deps/npm/node_modules/readable-stream/coverage/lcov-report/sort-arrow-sprite.png b/deps/npm/node_modules/readable-stream/coverage/lcov-report/sort-arrow-sprite.png
new file mode 100644
index 0000000000..03f704a609
--- /dev/null
+++ b/deps/npm/node_modules/readable-stream/coverage/lcov-report/sort-arrow-sprite.png
Binary files differ
diff --git a/deps/npm/node_modules/readable-stream/coverage/lcov-report/sorter.js b/deps/npm/node_modules/readable-stream/coverage/lcov-report/sorter.js
new file mode 100644
index 0000000000..6c5034e403
--- /dev/null
+++ b/deps/npm/node_modules/readable-stream/coverage/lcov-report/sorter.js
@@ -0,0 +1,158 @@
+var addSorting = (function () {
+ "use strict";
+ var cols,
+ currentSort = {
+ index: 0,
+ desc: false
+ };
+
+ // returns the summary table element
+ function getTable() { return document.querySelector('.coverage-summary'); }
+ // returns the thead element of the summary table
+ function getTableHeader() { return getTable().querySelector('thead tr'); }
+ // returns the tbody element of the summary table
+ function getTableBody() { return getTable().querySelector('tbody'); }
+ // returns the th element for nth column
+ function getNthColumn(n) { return getTableHeader().querySelectorAll('th')[n]; }
+
+ // loads all columns
+ function loadColumns() {
+ var colNodes = getTableHeader().querySelectorAll('th'),
+ colNode,
+ cols = [],
+ col,
+ i;
+
+ for (i = 0; i < colNodes.length; i += 1) {
+ colNode = colNodes[i];
+ col = {
+ key: colNode.getAttribute('data-col'),
+ sortable: !colNode.getAttribute('data-nosort'),
+ type: colNode.getAttribute('data-type') || 'string'
+ };
+ cols.push(col);
+ if (col.sortable) {
+ col.defaultDescSort = col.type === 'number';
+ colNode.innerHTML = colNode.innerHTML + '<span class="sorter"></span>';
+ }
+ }
+ return cols;
+ }
+ // attaches a data attribute to every tr element with an object
+ // of data values keyed by column name
+ function loadRowData(tableRow) {
+ var tableCols = tableRow.querySelectorAll('td'),
+ colNode,
+ col,
+ data = {},
+ i,
+ val;
+ for (i = 0; i < tableCols.length; i += 1) {
+ colNode = tableCols[i];
+ col = cols[i];
+ val = colNode.getAttribute('data-value');
+ if (col.type === 'number') {
+ val = Number(val);
+ }
+ data[col.key] = val;
+ }
+ return data;
+ }
+ // loads all row data
+ function loadData() {
+ var rows = getTableBody().querySelectorAll('tr'),
+ i;
+
+ for (i = 0; i < rows.length; i += 1) {
+ rows[i].data = loadRowData(rows[i]);
+ }
+ }
+ // sorts the table using the data for the ith column
+ function sortByIndex(index, desc) {
+ var key = cols[index].key,
+ sorter = function (a, b) {
+ a = a.data[key];
+ b = b.data[key];
+ return a < b ? -1 : a > b ? 1 : 0;
+ },
+ finalSorter = sorter,
+ tableBody = document.querySelector('.coverage-summary tbody'),
+ rowNodes = tableBody.querySelectorAll('tr'),
+ rows = [],
+ i;
+
+ if (desc) {
+ finalSorter = function (a, b) {
+ return -1 * sorter(a, b);
+ };
+ }
+
+ for (i = 0; i < rowNodes.length; i += 1) {
+ rows.push(rowNodes[i]);
+ tableBody.removeChild(rowNodes[i]);
+ }
+
+ rows.sort(finalSorter);
+
+ for (i = 0; i < rows.length; i += 1) {
+ tableBody.appendChild(rows[i]);
+ }
+ }
+ // removes sort indicators for current column being sorted
+ function removeSortIndicators() {
+ var col = getNthColumn(currentSort.index),
+ cls = col.className;
+
+ cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, '');
+ col.className = cls;
+ }
+ // adds sort indicators for current column being sorted
+ function addSortIndicators() {
+ getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted';
+ }
+ // adds event listeners for all sorter widgets
+ function enableUI() {
+ var i,
+ el,
+ ithSorter = function ithSorter(i) {
+ var col = cols[i];
+
+ return function () {
+ var desc = col.defaultDescSort;
+
+ if (currentSort.index === i) {
+ desc = !currentSort.desc;
+ }
+ sortByIndex(i, desc);
+ removeSortIndicators();
+ currentSort.index = i;
+ currentSort.desc = desc;
+ addSortIndicators();
+ };
+ };
+ for (i =0 ; i < cols.length; i += 1) {
+ if (cols[i].sortable) {
+ // add the click event handler on the th so users
+ // dont have to click on those tiny arrows
+ el = getNthColumn(i).querySelector('.sorter').parentElement;
+ if (el.addEventListener) {
+ el.addEventListener('click', ithSorter(i));
+ } else {
+ el.attachEvent('onclick', ithSorter(i));
+ }
+ }
+ }
+ }
+ // adds sorting functionality to the UI
+ return function () {
+ if (!getTable()) {
+ return;
+ }
+ cols = loadColumns();
+ loadData(cols);
+ addSortIndicators();
+ enableUI();
+ };
+})();
+
+window.addEventListener('load', addSorting);
diff --git a/deps/npm/node_modules/readable-stream/coverage/lcov.info b/deps/npm/node_modules/readable-stream/coverage/lcov.info
new file mode 100644
index 0000000000..d0012ea3cb
--- /dev/null
+++ b/deps/npm/node_modules/readable-stream/coverage/lcov.info
@@ -0,0 +1,1642 @@
+TN:
+SF:/Users/cmetcalf/projects/readable-stream/lib/_stream_readable.js
+FN:18,(anonymous_1)
+FN:25,(anonymous_2)
+FN:50,(anonymous_3)
+FN:60,prependListener
+FN:72,ReadableState
+FN:139,Readable
+FN:158,(anonymous_7)
+FN:173,(anonymous_8)
+FN:178,(anonymous_9)
+FN:182,readableAddChunk
+FN:237,needMoreData
+FN:242,(anonymous_12)
+FN:251,computeNewHighWaterMark
+FN:267,howMuchToRead
+FN:299,(anonymous_15)
+FN:399,chunkInvalid
+FN:407,onEofChunk
+FN:425,emitReadable
+FN:435,emitReadable_
+FN:447,maybeReadMore
+FN:454,maybeReadMore_
+FN:470,(anonymous_22)
+FN:474,(anonymous_23)
+FN:498,onunpipe
+FN:505,onend
+FN:518,cleanup
+FN:541,ondata
+FN:559,onerror
+FN:570,onclose
+FN:575,onfinish
+FN:582,unpipe
+FN:599,pipeOnDrain
+FN:600,(anonymous_33)
+FN:611,(anonymous_34)
+FN:662,(anonymous_35)
+FN:689,nReadingNextTick
+FN:696,(anonymous_37)
+FN:706,resume
+FN:713,resume_
+FN:725,(anonymous_40)
+FN:735,flow
+FN:748,(anonymous_42)
+FN:753,(anonymous_43)
+FN:763,(anonymous_44)
+FN:781,(anonymous_45)
+FN:782,(anonymous_46)
+FN:791,(anonymous_47)
+FN:797,(anonymous_48)
+FN:813,fromList
+FN:860,endReadable
+FN:873,endReadableNT
+FN:882,forEach
+FN:888,indexOf
+FNF:53
+FNH:46
+FNDA:269,(anonymous_1)
+FNDA:49,(anonymous_2)
+FNDA:0,(anonymous_3)
+FNDA:38,prependListener
+FNDA:82,ReadableState
+FNDA:84,Readable
+FNDA:276927,(anonymous_7)
+FNDA:41,(anonymous_8)
+FNDA:4,(anonymous_9)
+FNDA:276968,readableAddChunk
+FNDA:276966,needMoreData
+FNDA:5,(anonymous_12)
+FNDA:4,computeNewHighWaterMark
+FNDA:554235,howMuchToRead
+FNDA:277657,(anonymous_15)
+FNDA:276968,chunkInvalid
+FNDA:67,onEofChunk
+FNDA:276722,emitReadable
+FNDA:1123,emitReadable_
+FNDA:276881,maybeReadMore
+FNDA:225,maybeReadMore_
+FNDA:0,(anonymous_22)
+FNDA:38,(anonymous_23)
+FNDA:25,onunpipe
+FNDA:12,onend
+FNDA:24,cleanup
+FNDA:395,ondata
+FNDA:5,onerror
+FNDA:0,onclose
+FNDA:6,onfinish
+FNDA:11,unpipe
+FNDA:38,pipeOnDrain
+FNDA:265,(anonymous_33)
+FNDA:27,(anonymous_34)
+FNDA:226,(anonymous_35)
+FNDA:25,nReadingNextTick
+FNDA:57,(anonymous_37)
+FNDA:56,resume
+FNDA:42,resume_
+FNDA:272,(anonymous_40)
+FNDA:1428,flow
+FNDA:1,(anonymous_42)
+FNDA:1,(anonymous_43)
+FNDA:0,(anonymous_44)
+FNDA:0,(anonymous_45)
+FNDA:0,(anonymous_46)
+FNDA:5,(anonymous_47)
+FNDA:0,(anonymous_48)
+FNDA:757,fromList
+FNDA:316,endReadable
+FNDA:314,endReadableNT
+FNDA:1,forEach
+FNDA:2,indexOf
+DA:3,49
+DA:6,49
+DA:10,49
+DA:13,49
+DA:16,49
+DA:18,49
+DA:19,269
+DA:24,49
+DA:25,49
+DA:26,49
+DA:27,49
+DA:29,49
+DA:34,49
+DA:36,49
+DA:40,49
+DA:41,49
+DA:45,49
+DA:46,49
+DA:47,49
+DA:48,49
+DA:50,0
+DA:54,49
+DA:56,49
+DA:58,49
+DA:60,49
+DA:61,38
+DA:68,38
+DA:71,49
+DA:72,49
+DA:73,82
+DA:75,82
+DA:79,82
+DA:81,82
+DA:85,82
+DA:86,82
+DA:87,82
+DA:90,82
+DA:92,82
+DA:93,82
+DA:94,82
+DA:95,82
+DA:96,82
+DA:97,82
+DA:98,82
+DA:99,82
+DA:105,82
+DA:109,82
+DA:110,82
+DA:111,82
+DA:112,82
+DA:117,82
+DA:121,82
+DA:124,82
+DA:127,82
+DA:129,82
+DA:130,82
+DA:131,82
+DA:132,10
+DA:133,10
+DA:134,10
+DA:138,49
+DA:139,49
+DA:140,84
+DA:142,84
+DA:144,82
+DA:147,82
+DA:149,82
+DA:151,82
+DA:158,49
+DA:159,276927
+DA:161,276927
+DA:162,37
+DA:163,37
+DA:164,10
+DA:165,10
+DA:169,276927
+DA:173,49
+DA:174,41
+DA:175,41
+DA:178,49
+DA:179,4
+DA:182,49
+DA:183,276968
+DA:184,276968
+DA:185,0
+DA:186,276968
+DA:187,67
+DA:188,67
+DA:189,276901
+DA:190,276883
+DA:191,1
+DA:192,1
+DA:193,276882
+DA:194,1
+DA:195,1
+DA:197,276881
+DA:198,276881
+DA:199,23
+DA:200,23
+DA:203,276881
+DA:207,276881
+DA:209,276875
+DA:210,108
+DA:211,108
+DA:214,276767
+DA:215,276767
+DA:217,276767
+DA:221,276881
+DA:223,18
+DA:224,9
+DA:227,276966
+DA:237,49
+DA:238,276966
+DA:242,49
+DA:243,5
+DA:244,5
+DA:245,5
+DA:246,5
+DA:250,49
+DA:251,49
+DA:252,4
+DA:253,0
+DA:256,4
+DA:257,4
+DA:258,4
+DA:259,4
+DA:260,4
+DA:261,4
+DA:262,4
+DA:264,4
+DA:267,49
+DA:268,554235
+DA:270,553951
+DA:272,553860
+DA:274,421
+DA:277,553439
+DA:283,2087
+DA:286,2087
+DA:287,1711
+DA:288,1697
+DA:289,1697
+DA:291,14
+DA:295,376
+DA:299,49
+DA:300,277657
+DA:301,277657
+DA:302,277657
+DA:304,277657
+DA:309,277657
+DA:310,6
+DA:311,6
+DA:312,6
+DA:315,277651
+DA:318,277651
+DA:319,279
+DA:320,279
+DA:346,277372
+DA:347,277372
+DA:350,277372
+DA:351,277365
+DA:352,277365
+DA:357,277372
+DA:358,556
+DA:359,556
+DA:362,277372
+DA:363,276809
+DA:364,276809
+DA:365,276809
+DA:367,276809
+DA:369,276809
+DA:370,276809
+DA:375,277372
+DA:377,277372
+DA:378,277372
+DA:380,277372
+DA:381,276627
+DA:382,276627
+DA:385,277372
+DA:389,277372
+DA:392,277372
+DA:394,277372
+DA:396,277372
+DA:399,49
+DA:400,276968
+DA:401,276968
+DA:402,0
+DA:404,276968
+DA:407,49
+DA:408,67
+DA:409,59
+DA:410,14
+DA:411,14
+DA:412,4
+DA:413,4
+DA:416,59
+DA:419,59
+DA:425,49
+DA:426,276722
+DA:427,276722
+DA:428,276722
+DA:429,1123
+DA:430,1123
+DA:431,1123
+DA:435,49
+DA:436,1123
+DA:437,1123
+DA:438,1123
+DA:447,49
+DA:448,276881
+DA:449,225
+DA:450,225
+DA:454,49
+DA:455,225
+DA:456,225
+DA:457,275597
+DA:458,275597
+DA:459,275597
+DA:461,275571
+DA:463,225
+DA:470,49
+DA:471,0
+DA:474,49
+DA:475,38
+DA:476,38
+DA:478,38
+DA:480,37
+DA:481,37
+DA:483,1
+DA:484,1
+DA:486,0
+DA:487,0
+DA:489,38
+DA:490,38
+DA:492,38
+DA:494,38
+DA:495,38
+DA:497,38
+DA:498,49
+DA:499,25
+DA:500,25
+DA:501,24
+DA:505,49
+DA:506,12
+DA:507,12
+DA:514,38
+DA:515,38
+DA:517,38
+DA:518,49
+DA:519,24
+DA:521,24
+DA:522,24
+DA:523,24
+DA:524,24
+DA:525,24
+DA:526,24
+DA:527,24
+DA:528,24
+DA:530,24
+DA:537,24
+DA:540,38
+DA:541,49
+DA:542,395
+DA:543,395
+DA:544,395
+DA:549,264
+DA:550,263
+DA:551,263
+DA:553,264
+DA:559,49
+DA:560,5
+DA:561,5
+DA:562,5
+DA:563,5
+DA:567,38
+DA:570,49
+DA:571,0
+DA:572,0
+DA:574,38
+DA:575,49
+DA:576,6
+DA:577,6
+DA:578,6
+DA:580,38
+DA:582,49
+DA:583,11
+DA:584,11
+DA:588,38
+DA:591,38
+DA:592,12
+DA:593,12
+DA:596,38
+DA:599,49
+DA:600,38
+DA:601,265
+DA:602,265
+DA:603,265
+DA:604,265
+DA:605,263
+DA:606,263
+DA:611,49
+DA:612,27
+DA:615,27
+DA:618,24
+DA:620,24
+DA:622,24
+DA:625,24
+DA:626,24
+DA:627,24
+DA:628,24
+DA:629,24
+DA:634,0
+DA:636,0
+DA:637,0
+DA:638,0
+DA:639,0
+DA:640,0
+DA:642,0
+DA:643,0
+DA:644,0
+DA:648,0
+DA:649,0
+DA:651,0
+DA:652,0
+DA:653,0
+DA:655,0
+DA:657,0
+DA:662,49
+DA:663,226
+DA:667,226
+DA:668,36
+DA:671,226
+DA:672,38
+DA:673,38
+DA:674,28
+DA:675,28
+DA:676,28
+DA:677,28
+DA:678,25
+DA:679,3
+DA:680,1
+DA:685,226
+DA:687,49
+DA:689,49
+DA:690,25
+DA:691,25
+DA:696,49
+DA:697,57
+DA:698,57
+DA:699,56
+DA:700,56
+DA:701,56
+DA:703,57
+DA:706,49
+DA:707,56
+DA:708,42
+DA:709,42
+DA:713,49
+DA:714,42
+DA:715,38
+DA:716,38
+DA:719,42
+DA:720,42
+DA:721,42
+DA:722,42
+DA:725,49
+DA:726,272
+DA:727,272
+DA:728,270
+DA:729,270
+DA:730,270
+DA:732,272
+DA:735,49
+DA:736,1428
+DA:737,1428
+DA:738,1428
+DA:739,345
+DA:740,395
+DA:748,49
+DA:749,1
+DA:750,1
+DA:752,1
+DA:753,1
+DA:754,1
+DA:755,1
+DA:756,0
+DA:757,0
+DA:760,1
+DA:763,1
+DA:764,0
+DA:765,0
+DA:768,0
+DA:770,0
+DA:771,0
+DA:772,0
+DA:773,0
+DA:779,1
+DA:780,16
+DA:781,0
+DA:782,0
+DA:783,0
+DA:790,1
+DA:791,1
+DA:792,5
+DA:797,1
+DA:798,0
+DA:799,0
+DA:800,0
+DA:801,0
+DA:805,1
+DA:809,49
+DA:813,49
+DA:814,757
+DA:815,757
+DA:816,757
+DA:817,757
+DA:818,757
+DA:821,757
+DA:823,753
+DA:825,280
+DA:826,280
+DA:829,434
+DA:832,114
+DA:833,114
+DA:834,114
+DA:835,320
+DA:837,264
+DA:841,56
+DA:843,56
+DA:844,56
+DA:845,186
+DA:846,186
+DA:848,186
+DA:850,186
+DA:852,186
+DA:857,753
+DA:860,49
+DA:861,316
+DA:865,316
+DA:867,316
+DA:868,314
+DA:869,314
+DA:873,49
+DA:875,314
+DA:876,54
+DA:877,54
+DA:878,54
+DA:882,49
+DA:883,1
+DA:884,5
+DA:888,49
+DA:889,2
+DA:890,3
+DA:892,0
+LF:453
+LH:411
+BRDA:29,1,0,0
+BRDA:29,1,1,49
+BRDA:47,2,0,49
+BRDA:47,2,1,0
+BRDA:47,3,0,49
+BRDA:47,3,1,49
+BRDA:61,4,0,0
+BRDA:61,4,1,38
+BRDA:68,5,0,33
+BRDA:68,5,1,5
+BRDA:68,6,0,38
+BRDA:68,6,1,38
+BRDA:68,7,0,0
+BRDA:68,7,1,5
+BRDA:73,8,0,82
+BRDA:73,8,1,0
+BRDA:75,9,0,82
+BRDA:75,9,1,40
+BRDA:81,10,0,25
+BRDA:81,10,1,57
+BRDA:81,11,0,25
+BRDA:81,11,1,17
+BRDA:86,12,0,19
+BRDA:86,12,1,63
+BRDA:87,13,0,15
+BRDA:87,13,1,67
+BRDA:87,14,0,82
+BRDA:87,14,1,67
+BRDA:117,15,0,82
+BRDA:117,15,1,82
+BRDA:131,16,0,10
+BRDA:131,16,1,72
+BRDA:132,17,0,6
+BRDA:132,17,1,4
+BRDA:140,18,0,84
+BRDA:140,18,1,39
+BRDA:142,19,0,2
+BRDA:142,19,1,82
+BRDA:149,20,0,1
+BRDA:149,20,1,81
+BRDA:149,21,0,82
+BRDA:149,21,1,42
+BRDA:161,22,0,37
+BRDA:161,22,1,276890
+BRDA:161,23,0,276927
+BRDA:161,23,1,276819
+BRDA:162,24,0,37
+BRDA:162,24,1,37
+BRDA:163,25,0,10
+BRDA:163,25,1,27
+BRDA:184,26,0,0
+BRDA:184,26,1,276968
+BRDA:186,27,0,67
+BRDA:186,27,1,276901
+BRDA:189,28,0,276883
+BRDA:189,28,1,18
+BRDA:189,29,0,276901
+BRDA:189,29,1,276810
+BRDA:189,29,2,276810
+BRDA:190,30,0,1
+BRDA:190,30,1,276882
+BRDA:190,31,0,276883
+BRDA:190,31,1,3
+BRDA:193,32,0,1
+BRDA:193,32,1,276881
+BRDA:193,33,0,276882
+BRDA:193,33,1,1
+BRDA:198,34,0,23
+BRDA:198,34,1,276858
+BRDA:198,35,0,276881
+BRDA:198,35,1,50
+BRDA:198,35,2,50
+BRDA:200,36,0,23
+BRDA:200,36,1,23
+BRDA:203,37,0,276850
+BRDA:203,37,1,31
+BRDA:207,38,0,276875
+BRDA:207,38,1,6
+BRDA:209,39,0,108
+BRDA:209,39,1,276767
+BRDA:209,40,0,276875
+BRDA:209,40,1,152
+BRDA:209,40,2,143
+BRDA:214,41,0,51
+BRDA:214,41,1,276716
+BRDA:215,42,0,31
+BRDA:215,42,1,276736
+BRDA:217,43,0,276660
+BRDA:217,43,1,107
+BRDA:223,44,0,9
+BRDA:223,44,1,9
+BRDA:238,45,0,276966
+BRDA:238,45,1,276896
+BRDA:238,45,2,276704
+BRDA:238,45,3,64
+BRDA:243,46,0,1
+BRDA:243,46,1,4
+BRDA:252,47,0,0
+BRDA:252,47,1,4
+BRDA:268,48,0,284
+BRDA:268,48,1,553951
+BRDA:268,49,0,554235
+BRDA:268,49,1,715
+BRDA:270,50,0,91
+BRDA:270,50,1,553860
+BRDA:270,51,0,46
+BRDA:270,51,1,45
+BRDA:272,52,0,421
+BRDA:272,52,1,553439
+BRDA:272,53,0,553860
+BRDA:272,53,1,553860
+BRDA:274,54,0,304
+BRDA:274,54,1,117
+BRDA:274,55,0,421
+BRDA:274,55,1,353
+BRDA:277,56,0,551352
+BRDA:277,56,1,2087
+BRDA:283,57,0,4
+BRDA:283,57,1,2083
+BRDA:286,58,0,1711
+BRDA:286,58,1,376
+BRDA:287,59,0,1697
+BRDA:287,59,1,14
+BRDA:304,60,0,1859
+BRDA:304,60,1,275798
+BRDA:304,61,0,277657
+BRDA:304,61,1,277162
+BRDA:309,62,0,6
+BRDA:309,62,1,277651
+BRDA:309,63,0,277657
+BRDA:309,63,1,275798
+BRDA:309,63,2,275735
+BRDA:309,63,3,275734
+BRDA:311,64,0,4
+BRDA:311,64,1,2
+BRDA:311,65,0,6
+BRDA:311,65,1,4
+BRDA:318,66,0,279
+BRDA:318,66,1,277372
+BRDA:318,67,0,277651
+BRDA:318,67,1,277088
+BRDA:319,68,0,277
+BRDA:319,68,1,2
+BRDA:350,69,0,277365
+BRDA:350,69,1,7
+BRDA:350,70,0,277372
+BRDA:350,70,1,276947
+BRDA:357,71,0,556
+BRDA:357,71,1,276816
+BRDA:357,72,0,277372
+BRDA:357,72,1,277056
+BRDA:362,73,0,276809
+BRDA:362,73,1,563
+BRDA:367,74,0,349
+BRDA:367,74,1,276460
+BRDA:375,75,0,276584
+BRDA:375,75,1,788
+BRDA:375,76,0,277372
+BRDA:375,76,1,276809
+BRDA:378,77,0,749
+BRDA:378,77,1,276623
+BRDA:380,78,0,276627
+BRDA:380,78,1,745
+BRDA:389,79,0,454
+BRDA:389,79,1,276918
+BRDA:389,80,0,277372
+BRDA:389,80,1,492
+BRDA:392,81,0,35
+BRDA:392,81,1,277337
+BRDA:392,82,0,277372
+BRDA:392,82,1,1242
+BRDA:392,82,2,307
+BRDA:394,83,0,745
+BRDA:394,83,1,276627
+BRDA:401,84,0,0
+BRDA:401,84,1,276968
+BRDA:401,85,0,276968
+BRDA:401,85,1,185
+BRDA:401,85,2,131
+BRDA:401,85,3,64
+BRDA:401,85,4,64
+BRDA:408,86,0,8
+BRDA:408,86,1,59
+BRDA:409,87,0,14
+BRDA:409,87,1,45
+BRDA:411,88,0,4
+BRDA:411,88,1,10
+BRDA:411,89,0,14
+BRDA:411,89,1,4
+BRDA:413,90,0,0
+BRDA:413,90,1,4
+BRDA:428,91,0,1123
+BRDA:428,91,1,275599
+BRDA:431,92,0,1003
+BRDA:431,92,1,120
+BRDA:448,93,0,225
+BRDA:448,93,1,276656
+BRDA:456,94,0,275796
+BRDA:456,94,1,275697
+BRDA:456,94,2,275647
+BRDA:456,94,3,275626
+BRDA:459,95,0,26
+BRDA:459,95,1,275571
+BRDA:478,96,0,37
+BRDA:478,96,1,1
+BRDA:478,96,2,0
+BRDA:492,97,0,38
+BRDA:492,97,1,1
+BRDA:492,97,2,37
+BRDA:492,97,3,36
+BRDA:494,98,0,36
+BRDA:494,98,1,2
+BRDA:495,99,0,1
+BRDA:495,99,1,37
+BRDA:500,100,0,24
+BRDA:500,100,1,1
+BRDA:537,101,0,1
+BRDA:537,101,1,23
+BRDA:537,102,0,24
+BRDA:537,102,1,1
+BRDA:537,102,2,1
+BRDA:544,103,0,264
+BRDA:544,103,1,131
+BRDA:549,104,0,263
+BRDA:549,104,1,1
+BRDA:549,105,0,264
+BRDA:549,105,1,262
+BRDA:549,105,2,3
+BRDA:549,105,3,2
+BRDA:549,105,4,263
+BRDA:563,106,0,2
+BRDA:563,106,1,3
+BRDA:591,107,0,12
+BRDA:591,107,1,26
+BRDA:603,108,0,261
+BRDA:603,108,1,4
+BRDA:604,109,0,263
+BRDA:604,109,1,2
+BRDA:604,110,0,265
+BRDA:604,110,1,264
+BRDA:615,111,0,3
+BRDA:615,111,1,24
+BRDA:618,112,0,24
+BRDA:618,112,1,0
+BRDA:620,113,0,0
+BRDA:620,113,1,24
+BRDA:620,114,0,24
+BRDA:620,114,1,24
+BRDA:622,115,0,0
+BRDA:622,115,1,24
+BRDA:628,116,0,24
+BRDA:628,116,1,0
+BRDA:634,117,0,0
+BRDA:634,117,1,0
+BRDA:649,118,0,0
+BRDA:649,118,1,0
+BRDA:653,119,0,0
+BRDA:653,119,1,0
+BRDA:667,120,0,36
+BRDA:667,120,1,190
+BRDA:667,121,0,226
+BRDA:667,121,1,48
+BRDA:671,122,0,38
+BRDA:671,122,1,188
+BRDA:671,123,0,226
+BRDA:671,123,1,38
+BRDA:673,124,0,28
+BRDA:673,124,1,10
+BRDA:677,125,0,25
+BRDA:677,125,1,3
+BRDA:679,126,0,1
+BRDA:679,126,1,2
+BRDA:698,127,0,56
+BRDA:698,127,1,1
+BRDA:707,128,0,42
+BRDA:707,128,1,14
+BRDA:714,129,0,38
+BRDA:714,129,1,4
+BRDA:722,130,0,12
+BRDA:722,130,1,30
+BRDA:722,131,0,42
+BRDA:722,131,1,27
+BRDA:727,132,0,270
+BRDA:727,132,1,2
+BRDA:738,133,0,345
+BRDA:738,133,1,1083
+BRDA:741,134,0,395
+BRDA:741,134,1,310
+BRDA:755,135,0,0
+BRDA:755,135,1,1
+BRDA:755,136,0,1
+BRDA:755,136,1,0
+BRDA:757,137,0,0
+BRDA:757,137,1,0
+BRDA:757,138,0,0
+BRDA:757,138,1,0
+BRDA:765,139,0,0
+BRDA:765,139,1,0
+BRDA:768,140,0,0
+BRDA:768,140,1,0
+BRDA:768,141,0,0
+BRDA:768,141,1,0
+BRDA:768,141,2,0
+BRDA:768,142,0,0
+BRDA:768,142,1,0
+BRDA:768,143,0,0
+BRDA:768,143,1,0
+BRDA:768,143,2,0
+BRDA:771,144,0,0
+BRDA:771,144,1,0
+BRDA:780,145,0,0
+BRDA:780,145,1,16
+BRDA:780,146,0,16
+BRDA:780,146,1,1
+BRDA:799,147,0,0
+BRDA:799,147,1,0
+BRDA:821,148,0,4
+BRDA:821,148,1,753
+BRDA:823,149,0,0
+BRDA:823,149,1,753
+BRDA:823,150,0,39
+BRDA:823,150,1,714
+BRDA:823,151,0,280
+BRDA:823,151,1,434
+BRDA:823,152,0,714
+BRDA:823,152,1,714
+BRDA:825,153,0,21
+BRDA:825,153,1,259
+BRDA:825,154,0,66
+BRDA:825,154,1,193
+BRDA:829,155,0,114
+BRDA:829,155,1,320
+BRDA:835,156,0,264
+BRDA:835,156,1,56
+BRDA:841,157,0,1
+BRDA:841,157,1,55
+BRDA:844,158,0,242
+BRDA:844,158,1,219
+BRDA:848,159,0,2
+BRDA:848,159,1,184
+BRDA:850,160,0,39
+BRDA:850,160,1,147
+BRDA:865,161,0,0
+BRDA:865,161,1,316
+BRDA:867,162,0,314
+BRDA:867,162,1,2
+BRDA:875,163,0,54
+BRDA:875,163,1,260
+BRDA:875,164,0,314
+BRDA:875,164,1,54
+BRDA:890,165,0,2
+BRDA:890,165,1,1
+BRF:352
+BRH:307
+end_of_record
+TN:
+SF:/Users/cmetcalf/projects/readable-stream/lib/_stream_writable.js
+FN:32,(anonymous_1)
+FN:48,nop
+FN:50,WriteReq
+FN:58,WritableState
+FN:121,(anonymous_5)
+FN:153,writableStateGetBuffer
+FN:163,(anonymous_7)
+FN:166,(anonymous_8)
+FN:174,Writable
+FN:196,(anonymous_10)
+FN:200,writeAfterEnd
+FN:212,validChunk
+FN:231,(anonymous_13)
+FN:252,(anonymous_14)
+FN:258,(anonymous_15)
+FN:268,setDefaultEncoding
+FN:276,decodeChunk
+FN:286,writeOrBuffer
+FN:314,doWrite
+FN:323,onwriteError
+FN:331,onwriteStateUpdate
+FN:338,onwrite
+FN:363,afterWrite
+FN:373,onwriteDrain
+FN:381,clearBuffer
+FN:438,(anonymous_26)
+FN:444,(anonymous_27)
+FN:468,needFinish
+FN:472,prefinish
+FN:479,finishMaybe
+FN:493,endWritable
+FN:505,CorkedRequest
+FN:511,(anonymous_33)
+FNF:33
+FNH:30
+FNDA:49,(anonymous_1)
+FNDA:2512,nop
+FNDA:2305,WriteReq
+FNDA:96,WritableState
+FNDA:4574,(anonymous_5)
+FNDA:1,writableStateGetBuffer
+FNDA:49,(anonymous_7)
+FNDA:0,(anonymous_8)
+FNDA:97,Writable
+FNDA:1,(anonymous_10)
+FNDA:1,writeAfterEnd
+FNDA:4625,validChunk
+FNDA:4626,(anonymous_13)
+FNDA:13,(anonymous_14)
+FNDA:13,(anonymous_15)
+FNDA:3,setDefaultEncoding
+FNDA:4621,decodeChunk
+FNDA:4621,writeOrBuffer
+FNDA:4582,doWrite
+FNDA:0,onwriteError
+FNDA:4574,onwriteStateUpdate
+FNDA:4574,onwrite
+FNDA:4574,afterWrite
+FNDA:4557,onwriteDrain
+FNDA:2263,clearBuffer
+FNDA:0,(anonymous_26)
+FNDA:65,(anonymous_27)
+FNDA:9209,needFinish
+FNDA:125,prefinish
+FNDA:4635,finishMaybe
+FNDA:61,endWritable
+FNDA:105,CorkedRequest
+FNDA:8,(anonymous_33)
+DA:7,49
+DA:10,49
+DA:14,49
+DA:17,49
+DA:20,49
+DA:21,49
+DA:25,49
+DA:31,49
+DA:32,49
+DA:33,49
+DA:34,49
+DA:36,49
+DA:41,49
+DA:43,49
+DA:46,49
+DA:48,49
+DA:50,49
+DA:51,2305
+DA:52,2305
+DA:53,2305
+DA:54,2305
+DA:57,49
+DA:58,49
+DA:59,96
+DA:61,96
+DA:65,96
+DA:67,96
+DA:72,96
+DA:73,96
+DA:74,96
+DA:77,96
+DA:79,96
+DA:81,96
+DA:83,96
+DA:85,96
+DA:90,96
+DA:91,96
+DA:96,96
+DA:101,96
+DA:104,96
+DA:107,96
+DA:113,96
+DA:118,96
+DA:121,96
+DA:122,4574
+DA:126,96
+DA:129,96
+DA:131,96
+DA:132,96
+DA:136,96
+DA:140,96
+DA:143,96
+DA:146,96
+DA:150,96
+DA:153,49
+DA:154,1
+DA:155,1
+DA:156,1
+DA:157,5
+DA:158,5
+DA:160,1
+DA:163,49
+DA:164,49
+DA:165,49
+DA:167,0
+DA:173,49
+DA:174,49
+DA:175,97
+DA:179,97
+DA:181,96
+DA:184,96
+DA:186,96
+DA:187,50
+DA:189,50
+DA:192,96
+DA:196,49
+DA:197,1
+DA:200,49
+DA:201,1
+DA:203,1
+DA:204,1
+DA:212,49
+DA:213,4625
+DA:214,4625
+DA:218,4625
+DA:219,2
+DA:220,4623
+DA:221,2
+DA:223,4625
+DA:224,4
+DA:225,2
+DA:226,2
+DA:228,4623
+DA:231,49
+DA:232,4626
+DA:233,4626
+DA:235,4626
+DA:236,59
+DA:237,59
+DA:240,4626
+DA:242,4626
+DA:244,4626
+DA:245,4621
+DA:246,4621
+DA:249,4624
+DA:252,49
+DA:253,13
+DA:255,13
+DA:258,49
+DA:259,13
+DA:261,13
+DA:262,13
+DA:264,13
+DA:268,49
+DA:270,3
+DA:271,3
+DA:272,2
+DA:273,2
+DA:276,49
+DA:277,4621
+DA:278,2273
+DA:280,4621
+DA:286,49
+DA:287,4621
+DA:289,4621
+DA:290,4621
+DA:292,4621
+DA:294,4621
+DA:296,4621
+DA:298,4621
+DA:299,2305
+DA:300,2305
+DA:301,2305
+DA:302,2265
+DA:304,40
+DA:306,2305
+DA:308,2316
+DA:311,4621
+DA:314,49
+DA:315,4582
+DA:316,4582
+DA:317,4582
+DA:318,4582
+DA:319,4582
+DA:320,4582
+DA:323,49
+DA:324,0
+DA:325,0
+DA:327,0
+DA:328,0
+DA:331,49
+DA:332,4574
+DA:333,4574
+DA:334,4574
+DA:335,4574
+DA:338,49
+DA:339,4574
+DA:340,4574
+DA:341,4574
+DA:343,4574
+DA:345,4574
+DA:347,4574
+DA:349,4574
+DA:350,2254
+DA:353,4574
+DA:355,2230
+DA:358,2344
+DA:363,49
+DA:364,4574
+DA:365,4574
+DA:366,4574
+DA:367,4574
+DA:373,49
+DA:374,4557
+DA:375,27
+DA:376,27
+DA:381,49
+DA:382,2263
+DA:383,2263
+DA:385,2263
+DA:387,9
+DA:388,9
+DA:389,9
+DA:390,9
+DA:392,9
+DA:393,9
+DA:394,42
+DA:395,42
+DA:396,42
+DA:399,9
+DA:403,9
+DA:404,9
+DA:405,9
+DA:406,0
+DA:407,0
+DA:409,9
+DA:413,2254
+DA:414,2257
+DA:415,2257
+DA:416,2257
+DA:417,2257
+DA:419,2257
+DA:420,2257
+DA:425,2257
+DA:426,2252
+DA:430,2254
+DA:433,2263
+DA:434,2263
+DA:435,2263
+DA:438,49
+DA:439,0
+DA:442,49
+DA:444,49
+DA:445,65
+DA:447,65
+DA:448,11
+DA:449,11
+DA:450,11
+DA:451,54
+DA:452,1
+DA:453,1
+DA:456,65
+DA:459,65
+DA:460,5
+DA:461,5
+DA:465,65
+DA:468,49
+DA:469,9209
+DA:472,49
+DA:473,125
+DA:474,57
+DA:475,57
+DA:479,49
+DA:480,4635
+DA:481,4635
+DA:482,125
+DA:483,57
+DA:484,57
+DA:485,57
+DA:487,68
+DA:490,4635
+DA:493,49
+DA:494,61
+DA:495,61
+DA:496,61
+DA:497,13
+DA:499,61
+DA:500,61
+DA:505,49
+DA:506,105
+DA:508,105
+DA:509,105
+DA:511,105
+DA:512,8
+DA:513,8
+DA:514,8
+DA:515,40
+DA:516,40
+DA:517,40
+DA:518,40
+DA:520,8
+DA:521,8
+DA:523,0
+LF:263
+LH:254
+BRDA:14,1,0,0
+BRDA:14,1,1,49
+BRDA:14,2,0,49
+BRDA:14,2,1,49
+BRDA:36,3,0,0
+BRDA:36,3,1,49
+BRDA:59,4,0,96
+BRDA:59,4,1,0
+BRDA:61,5,0,96
+BRDA:61,5,1,46
+BRDA:67,6,0,25
+BRDA:67,6,1,71
+BRDA:67,7,0,25
+BRDA:67,7,1,17
+BRDA:73,8,0,23
+BRDA:73,8,1,73
+BRDA:74,9,0,8
+BRDA:74,9,1,88
+BRDA:74,10,0,96
+BRDA:74,10,1,88
+BRDA:96,11,0,96
+BRDA:96,11,1,96
+BRDA:175,12,0,97
+BRDA:175,12,1,28
+BRDA:179,13,0,1
+BRDA:179,13,1,96
+BRDA:179,14,0,97
+BRDA:179,14,1,26
+BRDA:186,15,0,50
+BRDA:186,15,1,46
+BRDA:187,16,0,1
+BRDA:187,16,1,49
+BRDA:189,17,0,1
+BRDA:189,17,1,49
+BRDA:218,18,0,2
+BRDA:218,18,1,4623
+BRDA:220,19,0,2
+BRDA:220,19,1,4621
+BRDA:220,20,0,4623
+BRDA:220,20,1,2425
+BRDA:220,20,2,61
+BRDA:220,20,3,61
+BRDA:223,21,0,4
+BRDA:223,21,1,4621
+BRDA:235,22,0,59
+BRDA:235,22,1,4567
+BRDA:240,23,0,2198
+BRDA:240,23,1,2428
+BRDA:240,24,0,2301
+BRDA:240,24,1,127
+BRDA:242,25,0,2527
+BRDA:242,25,1,2099
+BRDA:244,26,0,1
+BRDA:244,26,1,4625
+BRDA:244,27,0,4621
+BRDA:244,27,1,2
+BRDA:261,28,0,13
+BRDA:261,28,1,0
+BRDA:264,29,0,9
+BRDA:264,29,1,4
+BRDA:264,30,0,13
+BRDA:264,30,1,13
+BRDA:264,30,2,9
+BRDA:264,30,3,9
+BRDA:264,30,4,9
+BRDA:270,31,0,2
+BRDA:270,31,1,1
+BRDA:271,32,0,1
+BRDA:271,32,1,2
+BRDA:277,33,0,2273
+BRDA:277,33,1,2348
+BRDA:277,34,0,4621
+BRDA:277,34,1,4547
+BRDA:277,34,2,4467
+BRDA:289,35,0,4471
+BRDA:289,35,1,150
+BRDA:290,36,0,74
+BRDA:290,36,1,4547
+BRDA:296,37,0,177
+BRDA:296,37,1,4444
+BRDA:298,38,0,2305
+BRDA:298,38,1,2316
+BRDA:298,39,0,4621
+BRDA:298,39,1,2358
+BRDA:301,40,0,2265
+BRDA:301,40,1,40
+BRDA:319,41,0,9
+BRDA:319,41,1,4573
+BRDA:325,42,0,0
+BRDA:325,42,1,0
+BRDA:345,43,0,0
+BRDA:345,43,1,4574
+BRDA:349,44,0,2254
+BRDA:349,44,1,2320
+BRDA:349,45,0,4574
+BRDA:349,45,1,4557
+BRDA:349,45,2,4557
+BRDA:349,45,3,4544
+BRDA:353,46,0,2230
+BRDA:353,46,1,2344
+BRDA:364,47,0,4557
+BRDA:364,47,1,17
+BRDA:374,48,0,27
+BRDA:374,48,1,4530
+BRDA:374,49,0,4557
+BRDA:374,49,1,2302
+BRDA:385,50,0,9
+BRDA:385,50,1,2254
+BRDA:385,51,0,2263
+BRDA:385,51,1,9
+BRDA:385,51,2,9
+BRDA:405,52,0,0
+BRDA:405,52,1,9
+BRDA:417,53,0,4
+BRDA:417,53,1,2253
+BRDA:425,54,0,2252
+BRDA:425,54,1,5
+BRDA:430,55,0,29
+BRDA:430,55,1,2225
+BRDA:447,56,0,11
+BRDA:447,56,1,54
+BRDA:451,57,0,1
+BRDA:451,57,1,53
+BRDA:456,58,0,10
+BRDA:456,58,1,55
+BRDA:456,59,0,65
+BRDA:456,59,1,54
+BRDA:459,60,0,5
+BRDA:459,60,1,60
+BRDA:465,61,0,61
+BRDA:465,61,1,4
+BRDA:465,62,0,65
+BRDA:465,62,1,61
+BRDA:469,63,0,9209
+BRDA:469,63,1,420
+BRDA:469,63,2,149
+BRDA:469,63,3,146
+BRDA:469,63,4,145
+BRDA:473,64,0,57
+BRDA:473,64,1,68
+BRDA:481,65,0,125
+BRDA:481,65,1,4510
+BRDA:482,66,0,57
+BRDA:482,66,1,68
+BRDA:496,67,0,13
+BRDA:496,67,1,48
+BRDA:497,68,0,1
+BRDA:497,68,1,12
+BRDA:520,69,0,8
+BRDA:520,69,1,0
+BRF:150
+BRH:141
+end_of_record
+TN:
+SF:/Users/cmetcalf/projects/readable-stream/lib/_stream_duplex.js
+FN:10,(anonymous_1)
+FN:40,Duplex
+FN:57,onend
+FN:67,onEndNT
+FN:71,forEach
+FNF:5
+FNH:2
+FNDA:0,(anonymous_1)
+FNDA:25,Duplex
+FNDA:18,onend
+FNDA:0,onEndNT
+FNDA:0,forEach
+DA:10,49
+DA:11,0
+DA:12,0
+DA:13,0
+DA:14,0
+DA:18,49
+DA:21,49
+DA:25,49
+DA:26,49
+DA:29,49
+DA:30,49
+DA:32,49
+DA:34,49
+DA:35,49
+DA:36,392
+DA:37,392
+DA:40,49
+DA:41,25
+DA:43,25
+DA:44,25
+DA:46,25
+DA:48,25
+DA:50,25
+DA:51,25
+DA:53,25
+DA:57,49
+DA:60,18
+DA:64,0
+DA:67,49
+DA:68,0
+DA:71,49
+DA:72,0
+DA:73,0
+LF:33
+LH:25
+BRDA:10,1,0,49
+BRDA:10,1,1,0
+BRDA:37,2,0,343
+BRDA:37,2,1,49
+BRDA:41,3,0,0
+BRDA:41,3,1,25
+BRDA:46,4,0,0
+BRDA:46,4,1,25
+BRDA:46,5,0,25
+BRDA:46,5,1,13
+BRDA:48,6,0,0
+BRDA:48,6,1,25
+BRDA:48,7,0,25
+BRDA:48,7,1,13
+BRDA:51,8,0,0
+BRDA:51,8,1,25
+BRDA:51,9,0,25
+BRDA:51,9,1,13
+BRDA:60,10,0,18
+BRDA:60,10,1,0
+BRDA:60,11,0,18
+BRDA:60,11,1,0
+BRF:22
+BRH:15
+end_of_record
+TN:
+SF:/Users/cmetcalf/projects/readable-stream/lib/_stream_transform.js
+FN:56,TransformState
+FN:57,(anonymous_2)
+FN:68,afterTransform
+FN:90,Transform
+FN:114,(anonymous_5)
+FN:115,(anonymous_6)
+FN:121,(anonymous_7)
+FN:136,(anonymous_8)
+FN:140,(anonymous_9)
+FN:154,(anonymous_10)
+FN:167,done
+FNF:11
+FNH:10
+FNDA:24,TransformState
+FNDA:116,(anonymous_2)
+FNDA:116,afterTransform
+FNDA:24,Transform
+FNDA:19,(anonymous_5)
+FNDA:2,(anonymous_6)
+FNDA:127,(anonymous_7)
+FNDA:0,(anonymous_8)
+FNDA:117,(anonymous_9)
+FNDA:310,(anonymous_10)
+FNDA:19,done
+DA:45,49
+DA:47,49
+DA:50,49
+DA:51,49
+DA:54,49
+DA:56,49
+DA:57,24
+DA:58,116
+DA:61,24
+DA:62,24
+DA:63,24
+DA:64,24
+DA:65,24
+DA:68,49
+DA:69,116
+DA:70,116
+DA:72,116
+DA:74,116
+DA:76,116
+DA:77,116
+DA:79,116
+DA:81,116
+DA:83,116
+DA:84,116
+DA:85,116
+DA:86,113
+DA:90,49
+DA:91,24
+DA:93,24
+DA:95,24
+DA:98,24
+DA:101,24
+DA:106,24
+DA:108,24
+DA:109,13
+DA:111,13
+DA:114,24
+DA:115,19
+DA:116,2
+DA:117,17
+DA:121,49
+DA:122,127
+DA:123,127
+DA:136,49
+DA:137,0
+DA:140,49
+DA:141,117
+DA:142,117
+DA:143,117
+DA:144,117
+DA:145,117
+DA:146,117
+DA:147,117
+DA:154,49
+DA:155,310
+DA:157,310
+DA:158,116
+DA:159,116
+DA:163,194
+DA:167,49
+DA:168,19
+DA:172,19
+DA:173,19
+DA:175,19
+DA:177,19
+DA:179,19
+LF:66
+LH:65
+BRDA:74,1,0,0
+BRDA:74,1,1,116
+BRDA:79,2,0,61
+BRDA:79,2,1,55
+BRDA:79,3,0,116
+BRDA:79,3,1,116
+BRDA:85,4,0,113
+BRDA:85,4,1,3
+BRDA:85,5,0,116
+BRDA:85,5,1,55
+BRDA:91,6,0,0
+BRDA:91,6,1,24
+BRDA:108,7,0,13
+BRDA:108,7,1,11
+BRDA:109,8,0,1
+BRDA:109,8,1,12
+BRDA:111,9,0,1
+BRDA:111,9,1,12
+BRDA:115,10,0,2
+BRDA:115,10,1,17
+BRDA:145,11,0,117
+BRDA:145,11,1,0
+BRDA:147,12,0,116
+BRDA:147,12,1,1
+BRDA:147,13,0,117
+BRDA:147,13,1,33
+BRDA:147,13,2,11
+BRDA:157,14,0,116
+BRDA:157,14,1,194
+BRDA:157,15,0,310
+BRDA:157,15,1,152
+BRDA:157,15,2,152
+BRDA:168,16,0,0
+BRDA:168,16,1,19
+BRDA:175,17,0,0
+BRDA:175,17,1,19
+BRDA:177,18,0,0
+BRDA:177,18,1,19
+BRF:38
+BRH:32
+end_of_record
+TN:
+SF:/Users/cmetcalf/projects/readable-stream/lib/_stream_passthrough.js
+FN:18,PassThrough
+FN:24,(anonymous_2)
+FNF:2
+FNH:2
+FNDA:8,PassThrough
+FNDA:59,(anonymous_2)
+DA:7,49
+DA:9,49
+DA:12,49
+DA:13,49
+DA:16,49
+DA:18,49
+DA:19,8
+DA:21,8
+DA:24,49
+DA:25,59
+LF:10
+LH:10
+BRDA:19,1,0,0
+BRDA:19,1,1,8
+BRF:2
+BRH:1
+end_of_record