diff --git a/README.md b/README.md index a34990c..58296c6 100644 --- a/README.md +++ b/README.md @@ -182,6 +182,9 @@ Coveralls page is [here](https://coveralls.io/r/davedoesdev/mqlobber). - [MQlobberClient.prototype.publish](#mqlobberclientprototypepublishtopic-options-cb) - [MQlobberClient.events.handshake](#mqlobberclienteventshandshakehandshake_data) - [MQlobberClient.events.backoff](#mqlobberclienteventsbackoff) +- [MQlobberClient.events.drain](#mqlobberclienteventsdrain) +- [MQlobberClient.events.full](#mqlobberclienteventsfull) +- [MQlobberClient.events.removed](#mqlobberclienteventsremovedduplex) - [MQlobberClient.events.error](#mqlobberclienteventserrorerr-obj) - [MQlobberClient.events.warning](#mqlobberclienteventswarningerr-obj) - [MQlobberServer](#mqlobberserverfsq-stream-options) @@ -194,6 +197,9 @@ Coveralls page is [here](https://coveralls.io/r/davedoesdev/mqlobber). - [MQlobberServer.events.message](#mqlobberservereventsmessagestream-info-multiplex-done) - [MQlobberServer.events.handshake](#mqlobberservereventshandshakehandshake_data-delay_handshake) - [MQlobberServer.events.backoff](#mqlobberservereventsbackoff) +- [MQlobberServer.events.drain](#mqlobberservereventsdrain) +- [MQlobberServer.events.full](#mqlobberservereventsfull) +- [MQlobberServer.events.removed](#mqlobberservereventsremovedduplex) - [MQlobberServer.events.ack](#mqlobberservereventsackinfo) - [MQlobberServer.events.error](#mqlobberservereventserrorerr-obj) - [MQlobberServer.events.warning](#mqlobberservereventswarningerr-obj) @@ -220,6 +226,11 @@ server). It also supports the following additional property: emit this as a [`handshake`](#mqlobberservereventshandshakehandshake_data-delay_handshake) event to its application. + +**Throws:** + +- `{Error}` If an error occurs before initiating the multiplex with the server. + Go: [TOC](#tableofcontents) @@ -265,6 +276,11 @@ the following arguments: - `{Object} err` If an error occurred then details of the error, otherwise `null`. + +**Throws:** + +- `{Error}` If an error occurs before sending the subscribe request to the server. + Go: [TOC](#tableofcontents) | [MQlobberClient.prototype](#toc_mqlobberclientprototype) ## MQlobberClient.prototype.unsubscribe([topic], [handler], [cb]) @@ -287,6 +303,11 @@ argument: - `{Object} err` If an error occurred then details of the error, otherwise `null`. + +**Throws:** + +- `{Error}` If an error occurs before sending the unsubscribe request to the server. + Go: [TOC](#tableofcontents) | [MQlobberClient.prototype](#toc_mqlobberclientprototype) ## MQlobberClient.prototype.publish(topic, [options], [cb]) @@ -318,6 +339,10 @@ argument: `{Writable}` Stream to which to [write](https://nodejs.org/dist/latest-v4.x/docs/api/stream.html#stream_writable_write_chunk_encoding_callback) the message's data. Make sure you [`end`](https://nodejs.org/dist/latest-v4.x/docs/api/stream.html#stream_writable_end_chunk_encoding_callback) it when you're done. +**Throws:** + +- `{Error}` If an error occurs before sending the publish request to the server. + Go: [TOC](#tableofcontents) | [MQlobberClient.prototype](#toc_mqlobberclientprototype) @@ -343,8 +368,35 @@ Emitted by a `MQlobberClient` object when it delays a request to the server because the connection is at full capacity. If you want to avoid buffering further requests, don't call [`subscribe`](#mqlobberclientprototypesubscribetopic-handler-cb), [`unsubscribe`](#mqlobberclientprototypeunsubscribetopic-handler-cb) or -[`publish`](http://localhost:6419/#mqlobberclientprototypepublishtopic-options-cb) until the connection `Duplex` emits a -[`drain`](https://nodejs.org/dist/latest-v4.x/docs/api/stream.html#stream_event_drain) event. +[`publish`](http://localhost:6419/#mqlobberclientprototypepublishtopic-options-cb) until a [`drain`](#mqlobberclienteventsdrain) event is emitted. + +Go: [TOC](#tableofcontents) | [MQlobberClient.events](#toc_mqlobberclientevents) + +## MQlobberClient.events.drain() + +> `drain` event + +Emitted by a `MQlobberClient` object when the multiplexing layer emits a [`drain`](https://github.com/davedoesdev/bpmux#bpmuxeventsdrain) event. + +Go: [TOC](#tableofcontents) | [MQlobberClient.events](#toc_mqlobberclientevents) + +## MQlobberClient.events.full() + +> `full` event + +Emitted by a `MQlobberClient` object when the multiplexing layer emits a [`full`](https://github.com/davedoesdev/bpmux#bpmuxeventsfull) event. + +Go: [TOC](#tableofcontents) | [MQlobberClient.events](#toc_mqlobberclientevents) + +## MQlobberClient.events.removed(duplex) + +> `removed` event + +Emitted by a `MQlobberClient` object when the multiplexing layer emits a [`removed`](https://github.com/davedoesdev/bpmux#bpmuxeventsremovedduplex) event. + +**Parameters:** + +- `{Duplex} duplex` The multiplexed stream which has closed. Go: [TOC](#tableofcontents) | [MQlobberClient.events](#toc_mqlobberclientevents) @@ -405,6 +457,9 @@ client). It also supports the following additional property: - `{Boolean} send_size` Whether to include message size in metadata sent to then client. Defaults to `false`. + - `{Boolean} defer_to_final_handler` If `true` then a message stream is only + considered finished when all `MQlobberServer` objects finish processing it. + Go: [TOC](#tableofcontents) @@ -634,19 +689,44 @@ Emitted by a `MQlobberServer` object when it delays a message to the client because the connection is at full capacity. If you want to avoid buffering further messages, use a `filter` function (see -`QlobberFSQ`'s [constructor](https://github.com/davedoesdev/qlobber-fsq#qlobberfsqoptions)) to prevent messages being sent until the connection `Duplex` emits a -[`drain`](https://nodejs.org/dist/latest-v4.x/docs/api/stream.html#stream_event_drain) event. In the `filter` function, a handler owned by a `MQlobberServer` -object will have a property named `mqlobber_server` set to the `MQlobberServer` -object. +`QlobberFSQ`'s [constructor](https://github.com/davedoesdev/qlobber-fsq#qlobberfsqoptions)) to prevent messages being sent until a [`drain`](#mqlobberservereventsdrain) event is emitted. In the `filter` function, a handler owned by a `MQlobberServer` object will have a property named `mqlobber_server` set to the `MQlobberServer` object. You can also use event listeners on [`subscribe_requested`](#mqlobberservereventssubscribe_requestedtopic-cb), [`unsubscribe_requested`](#mqlobberservereventsunsubscribe_requestedtopic-cb), [`unsubscribe_all_requested`](#mqlobberservereventsunsubscribe_all_requestedcb) and [`publish_requested`](#mqlobberservereventspublish_requestedtopic-stream-options-cb) to prevent responses being -sent to the client until the connection emits a `drain` event. +sent to the client a `drain` event is emitted. Depending on your application, you might also terminate the connection if it can't keep up. Go: [TOC](#tableofcontents) | [MQlobberServer.events](#toc_mqlobberserverevents) +## MQlobberServer.events.drain() + +> `drain` event + +Emitted by a `MQlobberServer` object when the multiplexing layer emits a [`drain`](https://github.com/davedoesdev/bpmux#bpmuxeventsdrain) event. + +Go: [TOC](#tableofcontents) | [MQlobberServer.events](#toc_mqlobberserverevents) + +## MQlobberServer.events.full() + +> `full` event + +Emitted by a `MQlobberServer` object when the multiplexing layer emits a [`full`](https://github.com/davedoesdev/bpmux#bpmuxeventsfull) event. + +Go: [TOC](#tableofcontents) | [MQlobberServer.events](#toc_mqlobberserverevents) + +## MQlobberServer.events.removed(duplex) + +> `removed` event + +Emitted by a `MQlobberServer` object when the multiplexing layer emits a [`removed`](https://github.com/davedoesdev/bpmux#bpmuxeventsremovedduplex) event. + +**Parameters:** + +- `{Duplex} duplex` The multiplexed stream which has closed. + +Go: [TOC](#tableofcontents) | [MQlobberServer.events](#toc_mqlobberserverevents) + ## MQlobberServer.events.ack(info) > `ack` event diff --git a/coverage/coverage.json b/coverage/coverage.json index 35a3b11..05a4ed9 100644 --- a/coverage/coverage.json +++ b/coverage/coverage.json @@ -1 +1 @@ -{"/home/david/mqlobber/index.js":{"path":"/home/david/mqlobber/index.js","s":{"1":1,"2":1},"b":{},"f":{},"fnMap":{},"statementMap":{"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":64}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":64}}},"branchMap":{}},"/home/david/mqlobber/lib/client.js":{"path":"/home/david/mqlobber/lib/client.js","s":{"1":1,"2":1,"3":1902,"4":1902,"5":1902,"6":1902,"7":1902,"8":1902,"9":1902,"10":1902,"11":1,"12":79,"13":1,"14":6028,"15":9,"16":1902,"17":1902,"18":58328,"19":58334,"20":58328,"21":6,"22":1902,"23":1902,"24":504718,"25":2,"26":1902,"27":1901,"28":1902,"29":1902,"30":1902,"31":1,"32":2,"33":1902,"34":1902,"35":1902,"36":1902,"37":1902,"38":1902,"39":440407,"40":1902,"41":498740,"42":1896,"43":1896,"44":496844,"45":56440,"46":1,"47":440414,"48":440404,"49":440404,"50":440404,"51":4,"52":440400,"53":440400,"54":440400,"55":440400,"56":440396,"57":440396,"58":2,"59":440394,"60":440398,"61":440396,"62":440396,"63":2,"64":440394,"65":440396,"66":440396,"67":440396,"68":16133,"69":1,"70":134236,"71":51488,"72":82748,"73":82748,"74":14,"75":82748,"76":16131,"77":16131,"78":16131,"79":82748,"80":440396,"81":440396,"82":3,"83":440393,"84":492003,"85":492003,"86":16131,"87":1,"88":1,"89":3612,"90":1,"91":3614,"92":3600,"93":3600,"94":3328,"95":3328,"96":3600,"97":3600,"98":3614,"99":3606,"100":3606,"101":3606,"102":8,"103":4,"104":3612,"105":2,"106":3610,"107":8,"108":3602,"109":1,"110":2,"111":3602,"112":3602,"113":3602,"114":3602,"115":3602,"116":3598,"117":3598,"118":2,"119":3596,"120":4,"121":3592,"122":1,"123":1706,"124":268,"125":268,"126":268,"127":1706,"128":1,"129":1708,"130":1698,"131":1698,"132":1698,"133":10,"134":6,"135":1706,"136":2,"137":1704,"138":270,"139":270,"140":266,"141":266,"142":270,"143":270,"144":2,"145":268,"146":1434,"147":1436,"148":1426,"149":1426,"150":272,"151":148,"152":124,"153":272,"154":262,"155":1426,"156":1436,"157":1434,"158":1434,"159":1164,"160":270,"161":538,"162":1,"163":2,"164":538,"165":538,"166":538,"167":538,"168":538,"169":534,"170":534,"171":2,"172":532,"173":6,"174":526,"175":1,"176":58282,"177":23604,"178":23604,"179":58282,"180":58282,"181":1,"182":64270,"183":50304,"184":50304,"185":50304,"186":13966,"187":5990,"188":58282,"189":2,"190":58280,"191":58280,"192":58280,"193":58280,"194":9114,"195":9114,"196":58280,"197":58280,"198":1,"199":2,"200":58280,"201":58280,"202":58280,"203":58280,"204":52292,"205":52292,"206":2,"207":52290,"208":10,"209":52280,"210":58280,"211":1},"b":{"1":[1902,1902],"2":[9,6019],"3":[58328,6],"4":[2,504716],"5":[1896,496844],"6":[56440,440404],"7":[4,440400],"8":[440396,4],"9":[2,440394],"10":[440396,2],"11":[2,440394],"12":[16133,424263],"13":[51488,82748],"14":[14,82734],"15":[16131,66617],"16":[13,16118],"17":[3,440393],"18":[16131,475872],"19":[3600,14],"20":[3328,272],"21":[3606,8],"22":[4,4],"23":[2,3610],"24":[8,3602],"25":[2,3596],"26":[4,3592],"27":[6,3586],"28":[268,1438],"29":[1698,10],"30":[6,4],"31":[2,1704],"32":[270,1434],"33":[266,4],"34":[2,268],"35":[1426,10],"36":[272,1154],"37":[148,124],"38":[262,10],"39":[1164,270],"40":[1434,280,126,118],"41":[2,532],"42":[6,526],"43":[2,524],"44":[23604,34678],"45":[58282,31578],"46":[50304,13966],"47":[5990,7976],"48":[2,58280],"49":[17592,40688],"50":[9114,49166],"51":[9114,49166],"52":[2,52290],"53":[10,52280],"54":[2,52278]},"f":{"1":1902,"2":79,"3":6028,"4":58328,"5":504718,"6":1901,"7":1902,"8":2,"9":1902,"10":440407,"11":498740,"12":440414,"13":134236,"14":3612,"15":3614,"16":2,"17":3598,"18":1706,"19":1708,"20":270,"21":1436,"22":2,"23":534,"24":58282,"25":64270,"26":2,"27":52292},"fnMap":{"1":{"name":"MQlobberClient","line":215,"loc":{"start":{"line":215,"column":0},"end":{"line":216,"column":0}}},"2":{"name":"error","line":229,"loc":{"start":{"line":229,"column":4},"end":{"line":230,"column":4}}},"3":{"name":"warning","line":235,"loc":{"start":{"line":235,"column":4},"end":{"line":236,"column":4}}},"4":{"name":"(anonymous_4)","line":245,"loc":{"start":{"line":245,"column":28},"end":{"line":246,"column":4}}},"5":{"name":"(anonymous_5)","line":260,"loc":{"start":{"line":260,"column":34},"end":{"line":261,"column":4}}},"6":{"name":"(anonymous_6)","line":268,"loc":{"start":{"line":268,"column":26},"end":{"line":269,"column":4}}},"7":{"name":"(anonymous_7)","line":273,"loc":{"start":{"line":273,"column":23},"end":{"line":274,"column":4}}},"8":{"name":"end","line":280,"loc":{"start":{"line":280,"column":4},"end":{"line":281,"column":4}}},"9":{"name":"(anonymous_9)","line":290,"loc":{"start":{"line":290,"column":17},"end":{"line":291,"column":4}}},"10":{"name":"(anonymous_10)","line":295,"loc":{"start":{"line":295,"column":34},"end":{"line":296,"column":4}}},"11":{"name":"(anonymous_11)","line":300,"loc":{"start":{"line":300,"column":29},"end":{"line":301,"column":4}}},"12":{"name":"dend","line":314,"loc":{"start":{"line":314,"column":8},"end":{"line":315,"column":8}}},"13":{"name":"done","line":372,"loc":{"start":{"line":372,"column":8},"end":{"line":373,"column":8}}},"14":{"name":"(anonymous_14)","line":456,"loc":{"start":{"line":456,"column":37},"end":{"line":457,"column":0}}},"15":{"name":"done","line":460,"loc":{"start":{"line":460,"column":4},"end":{"line":461,"column":4}}},"16":{"name":"end","line":504,"loc":{"start":{"line":504,"column":4},"end":{"line":505,"column":4}}},"17":{"name":"(anonymous_17)","line":514,"loc":{"start":{"line":514,"column":27},"end":{"line":515,"column":4}}},"18":{"name":"(anonymous_18)","line":552,"loc":{"start":{"line":552,"column":39},"end":{"line":553,"column":0}}},"19":{"name":"done2","line":563,"loc":{"start":{"line":563,"column":4},"end":{"line":564,"column":4}}},"20":{"name":"(anonymous_20)","line":584,"loc":{"start":{"line":584,"column":15},"end":{"line":585,"column":8}}},"21":{"name":"(anonymous_21)","line":604,"loc":{"start":{"line":604,"column":15},"end":{"line":605,"column":8}}},"22":{"name":"end","line":651,"loc":{"start":{"line":651,"column":4},"end":{"line":652,"column":4}}},"23":{"name":"(anonymous_23)","line":661,"loc":{"start":{"line":661,"column":27},"end":{"line":662,"column":4}}},"24":{"name":"(anonymous_24)","line":705,"loc":{"start":{"line":705,"column":35},"end":{"line":706,"column":0}}},"25":{"name":"done","line":717,"loc":{"start":{"line":717,"column":4},"end":{"line":718,"column":4}}},"26":{"name":"end","line":755,"loc":{"start":{"line":755,"column":4},"end":{"line":756,"column":4}}},"27":{"name":"(anonymous_27)","line":764,"loc":{"start":{"line":764,"column":27},"end":{"line":765,"column":4}}}},"statementMap":{"1":{"start":{"line":181,"column":0},"end":{"line":190,"column":38}},"2":{"start":{"line":215,"column":0},"end":{"line":411,"column":1}},"3":{"start":{"line":217,"column":4},"end":{"line":217,"column":28}},"4":{"start":{"line":219,"column":4},"end":{"line":219,"column":28}},"5":{"start":{"line":221,"column":4},"end":{"line":221,"column":28}},"6":{"start":{"line":222,"column":4},"end":{"line":222,"column":26}},"7":{"start":{"line":223,"column":4},"end":{"line":223,"column":46}},"8":{"start":{"line":224,"column":4},"end":{"line":224,"column":42}},"9":{"start":{"line":225,"column":4},"end":{"line":225,"column":23}},"10":{"start":{"line":227,"column":4},"end":{"line":227,"column":19}},"11":{"start":{"line":229,"column":4},"end":{"line":233,"column":5}},"12":{"start":{"line":232,"column":8},"end":{"line":232,"column":37}},"13":{"start":{"line":235,"column":4},"end":{"line":242,"column":5}},"14":{"start":{"line":238,"column":8},"end":{"line":241,"column":9}},"15":{"start":{"line":240,"column":12},"end":{"line":240,"column":31}},"16":{"start":{"line":243,"column":4},"end":{"line":243,"column":28}},"17":{"start":{"line":245,"column":4},"end":{"line":256,"column":6}},"18":{"start":{"line":247,"column":8},"end":{"line":255,"column":9}},"19":{"start":{"line":249,"column":12},"end":{"line":252,"column":13}},"20":{"start":{"line":251,"column":16},"end":{"line":251,"column":22}},"21":{"start":{"line":254,"column":12},"end":{"line":254,"column":61}},"22":{"start":{"line":258,"column":4},"end":{"line":258,"column":32}},"23":{"start":{"line":260,"column":4},"end":{"line":266,"column":7}},"24":{"start":{"line":262,"column":8},"end":{"line":265,"column":9}},"25":{"start":{"line":264,"column":12},"end":{"line":264,"column":32}},"26":{"start":{"line":268,"column":4},"end":{"line":271,"column":7}},"27":{"start":{"line":270,"column":8},"end":{"line":270,"column":25}},"28":{"start":{"line":273,"column":4},"end":{"line":276,"column":7}},"29":{"start":{"line":275,"column":8},"end":{"line":275,"column":25}},"30":{"start":{"line":278,"column":4},"end":{"line":278,"column":45}},"31":{"start":{"line":280,"column":4},"end":{"line":284,"column":5}},"32":{"start":{"line":283,"column":8},"end":{"line":283,"column":63}},"33":{"start":{"line":286,"column":4},"end":{"line":286,"column":26}},"34":{"start":{"line":287,"column":4},"end":{"line":287,"column":30}},"35":{"start":{"line":288,"column":4},"end":{"line":288,"column":49}},"36":{"start":{"line":290,"column":4},"end":{"line":293,"column":7}},"37":{"start":{"line":292,"column":8},"end":{"line":292,"column":21}},"38":{"start":{"line":295,"column":4},"end":{"line":298,"column":7}},"39":{"start":{"line":297,"column":8},"end":{"line":297,"column":34}},"40":{"start":{"line":300,"column":4},"end":{"line":410,"column":7}},"41":{"start":{"line":302,"column":8},"end":{"line":306,"column":9}},"42":{"start":{"line":304,"column":12},"end":{"line":304,"column":46}},"43":{"start":{"line":305,"column":12},"end":{"line":305,"column":48}},"44":{"start":{"line":308,"column":8},"end":{"line":312,"column":9}},"45":{"start":{"line":311,"column":12},"end":{"line":311,"column":19}},"46":{"start":{"line":314,"column":8},"end":{"line":318,"column":9}},"47":{"start":{"line":317,"column":12},"end":{"line":317,"column":23}},"48":{"start":{"line":322,"column":8},"end":{"line":322,"column":30}},"49":{"start":{"line":323,"column":8},"end":{"line":323,"column":32}},"50":{"start":{"line":325,"column":8},"end":{"line":328,"column":9}},"51":{"start":{"line":327,"column":12},"end":{"line":327,"column":70}},"52":{"start":{"line":330,"column":8},"end":{"line":333,"column":18}},"53":{"start":{"line":335,"column":8},"end":{"line":335,"column":36}},"54":{"start":{"line":336,"column":8},"end":{"line":336,"column":38}},"55":{"start":{"line":338,"column":8},"end":{"line":349,"column":9}},"56":{"start":{"line":340,"column":12},"end":{"line":340,"column":21}},"57":{"start":{"line":342,"column":12},"end":{"line":345,"column":13}},"58":{"start":{"line":344,"column":16},"end":{"line":344,"column":74}},"59":{"start":{"line":347,"column":12},"end":{"line":348,"column":61}},"60":{"start":{"line":351,"column":8},"end":{"line":362,"column":9}},"61":{"start":{"line":353,"column":12},"end":{"line":353,"column":21}},"62":{"start":{"line":355,"column":12},"end":{"line":358,"column":13}},"63":{"start":{"line":357,"column":16},"end":{"line":357,"column":74}},"64":{"start":{"line":360,"column":12},"end":{"line":361,"column":58}},"65":{"start":{"line":364,"column":8},"end":{"line":364,"column":49}},"66":{"start":{"line":366,"column":8},"end":{"line":366,"column":38}},"67":{"start":{"line":367,"column":8},"end":{"line":370,"column":9}},"68":{"start":{"line":369,"column":12},"end":{"line":369,"column":32}},"69":{"start":{"line":372,"column":8},"end":{"line":393,"column":9}},"70":{"start":{"line":374,"column":12},"end":{"line":377,"column":13}},"71":{"start":{"line":376,"column":16},"end":{"line":376,"column":23}},"72":{"start":{"line":378,"column":12},"end":{"line":378,"column":26}},"73":{"start":{"line":380,"column":12},"end":{"line":383,"column":13}},"74":{"start":{"line":382,"column":16},"end":{"line":382,"column":41}},"75":{"start":{"line":385,"column":12},"end":{"line":390,"column":13}},"76":{"start":{"line":387,"column":16},"end":{"line":387,"column":42}},"77":{"start":{"line":388,"column":16},"end":{"line":388,"column":46}},"78":{"start":{"line":389,"column":16},"end":{"line":389,"column":33}},"79":{"start":{"line":392,"column":12},"end":{"line":392,"column":24}},"80":{"start":{"line":395,"column":8},"end":{"line":395,"column":54}},"81":{"start":{"line":397,"column":8},"end":{"line":400,"column":9}},"82":{"start":{"line":399,"column":12},"end":{"line":399,"column":50}},"83":{"start":{"line":402,"column":8},"end":{"line":409,"column":9}},"84":{"start":{"line":404,"column":12},"end":{"line":404,"column":49}},"85":{"start":{"line":405,"column":12},"end":{"line":408,"column":13}},"86":{"start":{"line":407,"column":16},"end":{"line":407,"column":22}},"87":{"start":{"line":413,"column":0},"end":{"line":413,"column":44}},"88":{"start":{"line":456,"column":0},"end":{"line":530,"column":2}},"89":{"start":{"line":458,"column":4},"end":{"line":458,"column":27}},"90":{"start":{"line":460,"column":4},"end":{"line":486,"column":5}},"91":{"start":{"line":462,"column":8},"end":{"line":474,"column":9}},"92":{"start":{"line":464,"column":12},"end":{"line":464,"column":47}},"93":{"start":{"line":466,"column":12},"end":{"line":470,"column":13}},"94":{"start":{"line":468,"column":16},"end":{"line":468,"column":37}},"95":{"start":{"line":469,"column":16},"end":{"line":469,"column":46}},"96":{"start":{"line":472,"column":12},"end":{"line":472,"column":34}},"97":{"start":{"line":473,"column":12},"end":{"line":473,"column":45}},"98":{"start":{"line":476,"column":8},"end":{"line":485,"column":9}},"99":{"start":{"line":478,"column":12},"end":{"line":478,"column":25}},"100":{"start":{"line":479,"column":12},"end":{"line":479,"column":22}},"101":{"start":{"line":480,"column":12},"end":{"line":480,"column":35}},"102":{"start":{"line":482,"column":13},"end":{"line":485,"column":9}},"103":{"start":{"line":484,"column":12},"end":{"line":484,"column":43}},"104":{"start":{"line":488,"column":4},"end":{"line":491,"column":5}},"105":{"start":{"line":490,"column":8},"end":{"line":490,"column":43}},"106":{"start":{"line":493,"column":4},"end":{"line":496,"column":5}},"107":{"start":{"line":495,"column":8},"end":{"line":495,"column":22}},"108":{"start":{"line":498,"column":4},"end":{"line":502,"column":8}},"109":{"start":{"line":504,"column":4},"end":{"line":507,"column":5}},"110":{"start":{"line":506,"column":8},"end":{"line":506,"column":51}},"111":{"start":{"line":509,"column":4},"end":{"line":509,"column":26}},"112":{"start":{"line":510,"column":4},"end":{"line":510,"column":29}},"113":{"start":{"line":511,"column":4},"end":{"line":511,"column":49}},"114":{"start":{"line":512,"column":4},"end":{"line":512,"column":17}},"115":{"start":{"line":514,"column":4},"end":{"line":529,"column":7}},"116":{"start":{"line":516,"column":8},"end":{"line":516,"column":40}},"117":{"start":{"line":518,"column":8},"end":{"line":521,"column":9}},"118":{"start":{"line":520,"column":12},"end":{"line":520,"column":55}},"119":{"start":{"line":523,"column":8},"end":{"line":526,"column":9}},"120":{"start":{"line":525,"column":12},"end":{"line":525,"column":51}},"121":{"start":{"line":528,"column":8},"end":{"line":528,"column":66}},"122":{"start":{"line":552,"column":0},"end":{"line":677,"column":2}},"123":{"start":{"line":554,"column":4},"end":{"line":559,"column":5}},"124":{"start":{"line":556,"column":8},"end":{"line":556,"column":19}},"125":{"start":{"line":557,"column":8},"end":{"line":557,"column":26}},"126":{"start":{"line":558,"column":8},"end":{"line":558,"column":28}},"127":{"start":{"line":561,"column":4},"end":{"line":561,"column":40}},"128":{"start":{"line":563,"column":4},"end":{"line":575,"column":5}},"129":{"start":{"line":565,"column":8},"end":{"line":574,"column":9}},"130":{"start":{"line":567,"column":12},"end":{"line":567,"column":25}},"131":{"start":{"line":568,"column":12},"end":{"line":568,"column":22}},"132":{"start":{"line":569,"column":12},"end":{"line":569,"column":35}},"133":{"start":{"line":571,"column":13},"end":{"line":574,"column":9}},"134":{"start":{"line":573,"column":12},"end":{"line":573,"column":43}},"135":{"start":{"line":577,"column":4},"end":{"line":580,"column":5}},"136":{"start":{"line":579,"column":8},"end":{"line":579,"column":44}},"137":{"start":{"line":582,"column":4},"end":{"line":644,"column":5}},"138":{"start":{"line":584,"column":8},"end":{"line":593,"column":10}},"139":{"start":{"line":586,"column":12},"end":{"line":590,"column":13}},"140":{"start":{"line":588,"column":16},"end":{"line":588,"column":33}},"141":{"start":{"line":589,"column":16},"end":{"line":589,"column":37}},"142":{"start":{"line":592,"column":12},"end":{"line":592,"column":29}},"143":{"start":{"line":595,"column":8},"end":{"line":598,"column":9}},"144":{"start":{"line":597,"column":12},"end":{"line":597,"column":26}},"145":{"start":{"line":600,"column":8},"end":{"line":600,"column":51}},"146":{"start":{"line":604,"column":8},"end":{"line":631,"column":10}},"147":{"start":{"line":606,"column":12},"end":{"line":628,"column":13}},"148":{"start":{"line":608,"column":16},"end":{"line":608,"column":51}},"149":{"start":{"line":610,"column":16},"end":{"line":625,"column":17}},"150":{"start":{"line":612,"column":20},"end":{"line":619,"column":21}},"151":{"start":{"line":614,"column":24},"end":{"line":614,"column":41}},"152":{"start":{"line":618,"column":24},"end":{"line":618,"column":49}},"153":{"start":{"line":621,"column":20},"end":{"line":624,"column":21}},"154":{"start":{"line":623,"column":24},"end":{"line":623,"column":47}},"155":{"start":{"line":627,"column":16},"end":{"line":627,"column":52}},"156":{"start":{"line":630,"column":12},"end":{"line":630,"column":29}},"157":{"start":{"line":633,"column":8},"end":{"line":633,"column":44}},"158":{"start":{"line":635,"column":8},"end":{"line":640,"column":9}},"159":{"start":{"line":639,"column":12},"end":{"line":639,"column":26}},"160":{"start":{"line":642,"column":8},"end":{"line":643,"column":59}},"161":{"start":{"line":646,"column":4},"end":{"line":649,"column":8}},"162":{"start":{"line":651,"column":4},"end":{"line":654,"column":5}},"163":{"start":{"line":653,"column":8},"end":{"line":653,"column":51}},"164":{"start":{"line":656,"column":4},"end":{"line":656,"column":26}},"165":{"start":{"line":657,"column":4},"end":{"line":657,"column":29}},"166":{"start":{"line":658,"column":4},"end":{"line":658,"column":49}},"167":{"start":{"line":659,"column":4},"end":{"line":659,"column":17}},"168":{"start":{"line":661,"column":4},"end":{"line":676,"column":7}},"169":{"start":{"line":663,"column":8},"end":{"line":663,"column":40}},"170":{"start":{"line":665,"column":8},"end":{"line":668,"column":9}},"171":{"start":{"line":667,"column":12},"end":{"line":667,"column":55}},"172":{"start":{"line":670,"column":8},"end":{"line":673,"column":9}},"173":{"start":{"line":672,"column":12},"end":{"line":672,"column":51}},"174":{"start":{"line":675,"column":8},"end":{"line":675,"column":66}},"175":{"start":{"line":705,"column":0},"end":{"line":782,"column":2}},"176":{"start":{"line":707,"column":4},"end":{"line":711,"column":5}},"177":{"start":{"line":709,"column":8},"end":{"line":709,"column":21}},"178":{"start":{"line":710,"column":8},"end":{"line":710,"column":28}},"179":{"start":{"line":713,"column":4},"end":{"line":713,"column":28}},"180":{"start":{"line":715,"column":4},"end":{"line":715,"column":34}},"181":{"start":{"line":717,"column":4},"end":{"line":729,"column":5}},"182":{"start":{"line":719,"column":8},"end":{"line":728,"column":9}},"183":{"start":{"line":721,"column":12},"end":{"line":721,"column":25}},"184":{"start":{"line":722,"column":12},"end":{"line":722,"column":22}},"185":{"start":{"line":723,"column":12},"end":{"line":723,"column":35}},"186":{"start":{"line":725,"column":13},"end":{"line":728,"column":9}},"187":{"start":{"line":727,"column":12},"end":{"line":727,"column":43}},"188":{"start":{"line":731,"column":4},"end":{"line":734,"column":5}},"189":{"start":{"line":733,"column":8},"end":{"line":733,"column":43}},"190":{"start":{"line":736,"column":4},"end":{"line":736,"column":28}},"191":{"start":{"line":737,"column":4},"end":{"line":737,"column":41}},"192":{"start":{"line":738,"column":4},"end":{"line":740,"column":27}},"193":{"start":{"line":742,"column":4},"end":{"line":746,"column":5}},"194":{"start":{"line":744,"column":8},"end":{"line":744,"column":34}},"195":{"start":{"line":745,"column":8},"end":{"line":745,"column":53}},"196":{"start":{"line":748,"column":4},"end":{"line":748,"column":42}},"197":{"start":{"line":750,"column":4},"end":{"line":753,"column":8}},"198":{"start":{"line":755,"column":4},"end":{"line":758,"column":5}},"199":{"start":{"line":757,"column":8},"end":{"line":757,"column":51}},"200":{"start":{"line":760,"column":4},"end":{"line":760,"column":26}},"201":{"start":{"line":761,"column":4},"end":{"line":761,"column":29}},"202":{"start":{"line":762,"column":4},"end":{"line":762,"column":49}},"203":{"start":{"line":764,"column":4},"end":{"line":779,"column":7}},"204":{"start":{"line":766,"column":8},"end":{"line":766,"column":40}},"205":{"start":{"line":768,"column":8},"end":{"line":771,"column":9}},"206":{"start":{"line":770,"column":12},"end":{"line":770,"column":55}},"207":{"start":{"line":773,"column":8},"end":{"line":776,"column":9}},"208":{"start":{"line":775,"column":12},"end":{"line":775,"column":51}},"209":{"start":{"line":778,"column":8},"end":{"line":778,"column":66}},"210":{"start":{"line":781,"column":4},"end":{"line":781,"column":18}},"211":{"start":{"line":784,"column":0},"end":{"line":784,"column":40}}},"branchMap":{"1":{"line":219,"type":"binary-expr","locations":[{"start":{"line":219,"column":14},"end":{"line":219,"column":21}},{"start":{"line":219,"column":25},"end":{"line":219,"column":27}}]},"2":{"line":238,"type":"if","locations":[{"start":{"line":238,"column":8},"end":{"line":238,"column":8}},{"start":{"line":238,"column":8},"end":{"line":238,"column":8}}]},"3":{"line":249,"type":"if","locations":[{"start":{"line":249,"column":12},"end":{"line":249,"column":12}},{"start":{"line":249,"column":12},"end":{"line":249,"column":12}}]},"4":{"line":262,"type":"if","locations":[{"start":{"line":262,"column":8},"end":{"line":262,"column":8}},{"start":{"line":262,"column":8},"end":{"line":262,"column":8}}]},"5":{"line":302,"type":"if","locations":[{"start":{"line":302,"column":8},"end":{"line":302,"column":8}},{"start":{"line":302,"column":8},"end":{"line":302,"column":8}}]},"6":{"line":308,"type":"if","locations":[{"start":{"line":308,"column":8},"end":{"line":308,"column":8}},{"start":{"line":308,"column":8},"end":{"line":308,"column":8}}]},"7":{"line":325,"type":"if","locations":[{"start":{"line":325,"column":8},"end":{"line":325,"column":8}},{"start":{"line":325,"column":8},"end":{"line":325,"column":8}}]},"8":{"line":338,"type":"if","locations":[{"start":{"line":338,"column":8},"end":{"line":338,"column":8}},{"start":{"line":338,"column":8},"end":{"line":338,"column":8}}]},"9":{"line":342,"type":"if","locations":[{"start":{"line":342,"column":12},"end":{"line":342,"column":12}},{"start":{"line":342,"column":12},"end":{"line":342,"column":12}}]},"10":{"line":351,"type":"if","locations":[{"start":{"line":351,"column":8},"end":{"line":351,"column":8}},{"start":{"line":351,"column":8},"end":{"line":351,"column":8}}]},"11":{"line":355,"type":"if","locations":[{"start":{"line":355,"column":12},"end":{"line":355,"column":12}},{"start":{"line":355,"column":12},"end":{"line":355,"column":12}}]},"12":{"line":367,"type":"if","locations":[{"start":{"line":367,"column":8},"end":{"line":367,"column":8}},{"start":{"line":367,"column":8},"end":{"line":367,"column":8}}]},"13":{"line":374,"type":"if","locations":[{"start":{"line":374,"column":12},"end":{"line":374,"column":12}},{"start":{"line":374,"column":12},"end":{"line":374,"column":12}}]},"14":{"line":380,"type":"if","locations":[{"start":{"line":380,"column":12},"end":{"line":380,"column":12}},{"start":{"line":380,"column":12},"end":{"line":380,"column":12}}]},"15":{"line":385,"type":"if","locations":[{"start":{"line":385,"column":12},"end":{"line":385,"column":12}},{"start":{"line":385,"column":12},"end":{"line":385,"column":12}}]},"16":{"line":388,"type":"cond-expr","locations":[{"start":{"line":388,"column":39},"end":{"line":388,"column":40}},{"start":{"line":388,"column":43},"end":{"line":388,"column":44}}]},"17":{"line":397,"type":"if","locations":[{"start":{"line":397,"column":8},"end":{"line":397,"column":8}},{"start":{"line":397,"column":8},"end":{"line":397,"column":8}}]},"18":{"line":405,"type":"if","locations":[{"start":{"line":405,"column":12},"end":{"line":405,"column":12}},{"start":{"line":405,"column":12},"end":{"line":405,"column":12}}]},"19":{"line":462,"type":"if","locations":[{"start":{"line":462,"column":8},"end":{"line":462,"column":8}},{"start":{"line":462,"column":8},"end":{"line":462,"column":8}}]},"20":{"line":466,"type":"if","locations":[{"start":{"line":466,"column":12},"end":{"line":466,"column":12}},{"start":{"line":466,"column":12},"end":{"line":466,"column":12}}]},"21":{"line":476,"type":"if","locations":[{"start":{"line":476,"column":8},"end":{"line":476,"column":8}},{"start":{"line":476,"column":8},"end":{"line":476,"column":8}}]},"22":{"line":482,"type":"if","locations":[{"start":{"line":482,"column":13},"end":{"line":482,"column":13}},{"start":{"line":482,"column":13},"end":{"line":482,"column":13}}]},"23":{"line":488,"type":"if","locations":[{"start":{"line":488,"column":4},"end":{"line":488,"column":4}},{"start":{"line":488,"column":4},"end":{"line":488,"column":4}}]},"24":{"line":493,"type":"if","locations":[{"start":{"line":493,"column":4},"end":{"line":493,"column":4}},{"start":{"line":493,"column":4},"end":{"line":493,"column":4}}]},"25":{"line":518,"type":"if","locations":[{"start":{"line":518,"column":8},"end":{"line":518,"column":8}},{"start":{"line":518,"column":8},"end":{"line":518,"column":8}}]},"26":{"line":523,"type":"if","locations":[{"start":{"line":523,"column":8},"end":{"line":523,"column":8}},{"start":{"line":523,"column":8},"end":{"line":523,"column":8}}]},"27":{"line":528,"type":"cond-expr","locations":[{"start":{"line":528,"column":38},"end":{"line":528,"column":52}},{"start":{"line":528,"column":55},"end":{"line":528,"column":64}}]},"28":{"line":554,"type":"if","locations":[{"start":{"line":554,"column":4},"end":{"line":554,"column":4}},{"start":{"line":554,"column":4},"end":{"line":554,"column":4}}]},"29":{"line":565,"type":"if","locations":[{"start":{"line":565,"column":8},"end":{"line":565,"column":8}},{"start":{"line":565,"column":8},"end":{"line":565,"column":8}}]},"30":{"line":571,"type":"if","locations":[{"start":{"line":571,"column":13},"end":{"line":571,"column":13}},{"start":{"line":571,"column":13},"end":{"line":571,"column":13}}]},"31":{"line":577,"type":"if","locations":[{"start":{"line":577,"column":4},"end":{"line":577,"column":4}},{"start":{"line":577,"column":4},"end":{"line":577,"column":4}}]},"32":{"line":582,"type":"if","locations":[{"start":{"line":582,"column":4},"end":{"line":582,"column":4}},{"start":{"line":582,"column":4},"end":{"line":582,"column":4}}]},"33":{"line":586,"type":"if","locations":[{"start":{"line":586,"column":12},"end":{"line":586,"column":12}},{"start":{"line":586,"column":12},"end":{"line":586,"column":12}}]},"34":{"line":595,"type":"if","locations":[{"start":{"line":595,"column":8},"end":{"line":595,"column":8}},{"start":{"line":595,"column":8},"end":{"line":595,"column":8}}]},"35":{"line":606,"type":"if","locations":[{"start":{"line":606,"column":12},"end":{"line":606,"column":12}},{"start":{"line":606,"column":12},"end":{"line":606,"column":12}}]},"36":{"line":610,"type":"if","locations":[{"start":{"line":610,"column":16},"end":{"line":610,"column":16}},{"start":{"line":610,"column":16},"end":{"line":610,"column":16}}]},"37":{"line":612,"type":"if","locations":[{"start":{"line":612,"column":20},"end":{"line":612,"column":20}},{"start":{"line":612,"column":20},"end":{"line":612,"column":20}}]},"38":{"line":621,"type":"if","locations":[{"start":{"line":621,"column":20},"end":{"line":621,"column":20}},{"start":{"line":621,"column":20},"end":{"line":621,"column":20}}]},"39":{"line":635,"type":"if","locations":[{"start":{"line":635,"column":8},"end":{"line":635,"column":8}},{"start":{"line":635,"column":8},"end":{"line":635,"column":8}}]},"40":{"line":635,"type":"binary-expr","locations":[{"start":{"line":635,"column":12},"end":{"line":635,"column":21}},{"start":{"line":636,"column":14},"end":{"line":636,"column":35}},{"start":{"line":637,"column":15},"end":{"line":637,"column":32}},{"start":{"line":637,"column":37},"end":{"line":637,"column":59}}]},"41":{"line":665,"type":"if","locations":[{"start":{"line":665,"column":8},"end":{"line":665,"column":8}},{"start":{"line":665,"column":8},"end":{"line":665,"column":8}}]},"42":{"line":670,"type":"if","locations":[{"start":{"line":670,"column":8},"end":{"line":670,"column":8}},{"start":{"line":670,"column":8},"end":{"line":670,"column":8}}]},"43":{"line":675,"type":"cond-expr","locations":[{"start":{"line":675,"column":38},"end":{"line":675,"column":52}},{"start":{"line":675,"column":55},"end":{"line":675,"column":64}}]},"44":{"line":707,"type":"if","locations":[{"start":{"line":707,"column":4},"end":{"line":707,"column":4}},{"start":{"line":707,"column":4},"end":{"line":707,"column":4}}]},"45":{"line":713,"type":"binary-expr","locations":[{"start":{"line":713,"column":14},"end":{"line":713,"column":21}},{"start":{"line":713,"column":25},"end":{"line":713,"column":27}}]},"46":{"line":719,"type":"if","locations":[{"start":{"line":719,"column":8},"end":{"line":719,"column":8}},{"start":{"line":719,"column":8},"end":{"line":719,"column":8}}]},"47":{"line":725,"type":"if","locations":[{"start":{"line":725,"column":13},"end":{"line":725,"column":13}},{"start":{"line":725,"column":13},"end":{"line":725,"column":13}}]},"48":{"line":731,"type":"if","locations":[{"start":{"line":731,"column":4},"end":{"line":731,"column":4}},{"start":{"line":731,"column":4},"end":{"line":731,"column":4}}]},"49":{"line":738,"type":"cond-expr","locations":[{"start":{"line":738,"column":42},"end":{"line":738,"column":43}},{"start":{"line":738,"column":46},"end":{"line":738,"column":47}}]},"50":{"line":739,"type":"cond-expr","locations":[{"start":{"line":739,"column":40},"end":{"line":739,"column":41}},{"start":{"line":739,"column":44},"end":{"line":739,"column":45}}]},"51":{"line":742,"type":"if","locations":[{"start":{"line":742,"column":4},"end":{"line":742,"column":4}},{"start":{"line":742,"column":4},"end":{"line":742,"column":4}}]},"52":{"line":768,"type":"if","locations":[{"start":{"line":768,"column":8},"end":{"line":768,"column":8}},{"start":{"line":768,"column":8},"end":{"line":768,"column":8}}]},"53":{"line":773,"type":"if","locations":[{"start":{"line":773,"column":8},"end":{"line":773,"column":8}},{"start":{"line":773,"column":8},"end":{"line":773,"column":8}}]},"54":{"line":778,"type":"cond-expr","locations":[{"start":{"line":778,"column":38},"end":{"line":778,"column":52}},{"start":{"line":778,"column":55},"end":{"line":778,"column":64}}]}}},"/home/david/mqlobber/lib/server.js":{"path":"/home/david/mqlobber/lib/server.js","s":{"1":1,"2":1,"3":1900,"4":1900,"5":1900,"6":1900,"7":1900,"8":1900,"9":1900,"10":1,"11":4,"12":1,"13":26115,"14":89,"15":1900,"16":1900,"17":1,"18":549316,"19":2,"20":1900,"21":1900,"22":1900,"23":1900,"24":1900,"25":1900,"26":12029,"27":6023,"28":6004,"29":6004,"30":2,"31":2,"32":4,"33":2,"34":4,"35":2,"36":1900,"37":440406,"38":1,"39":440465,"40":82,"41":440465,"42":440406,"43":440406,"44":440465,"45":8,"46":2,"47":6,"48":440457,"49":440406,"50":440406,"51":440406,"52":424271,"53":440406,"54":440406,"55":440406,"56":440404,"57":440404,"58":440404,"59":440404,"60":440404,"61":440406,"62":440404,"63":440404,"64":440404,"65":440404,"66":440406,"67":1,"68":440398,"69":440396,"70":54,"71":440396,"72":440396,"73":440378,"74":440380,"75":440378,"76":2,"77":440396,"78":16135,"79":2,"80":16135,"81":16135,"82":16133,"83":16133,"84":2,"85":16131,"86":13,"87":16118,"88":16118,"89":16118,"90":440396,"91":440406,"92":440385,"93":440385,"94":2,"95":1900,"96":1900,"97":1,"98":2,"99":1900,"100":1900,"101":64328,"102":1900,"103":1898,"104":1898,"105":1898,"106":502818,"107":440392,"108":1,"109":68428,"110":62426,"111":62426,"112":62426,"113":62426,"114":1,"115":62422,"116":6018,"117":62422,"118":62422,"119":62422,"120":62422,"121":19972,"122":27944,"123":19972,"124":7972,"125":62426,"126":4,"127":62422,"128":62422,"129":3600,"130":3600,"131":3584,"132":3600,"133":270,"134":270,"135":258,"136":270,"137":266,"138":262,"139":266,"140":58284,"141":2,"142":58282,"143":58282,"144":58282,"145":9116,"146":9116,"147":2,"148":9114,"149":58280,"150":58280,"151":50300,"152":58280,"153":2,"154":2,"155":1898,"156":1,"157":1,"158":3610,"159":3600,"160":3600,"161":3610,"162":1,"163":3610,"164":3606,"165":4,"166":2,"167":3610,"168":3346,"169":3346,"170":3342,"171":3346,"172":264,"173":1,"174":2436,"175":266,"176":266,"177":2436,"178":1,"179":2436,"180":534,"181":1902,"182":2,"183":2436,"184":2168,"185":3082,"186":3082,"187":4,"188":3078,"189":3078,"190":5246,"191":3082,"192":2164,"193":2168,"194":268,"195":266,"196":266,"197":264,"198":266,"199":2,"200":1},"b":{"1":[1900,2],"2":[89,26026],"3":[2,549314],"4":[6023,6004,2],"5":[82,440383],"6":[440406,59],"7":[8,440457],"8":[440465,12],"9":[2,6],"10":[424271,16135],"11":[16135,424271],"12":[440404,2],"13":[9,440397],"14":[440404,2],"15":[440404,2],"16":[440404,2],"17":[440396,440396],"18":[440378,2],"19":[16135,424261],"20":[2,16131],"21":[13,16118],"22":[440385,21],"23":[440392,62426],"24":[6018,56404],"25":[6018,56404],"26":[10,62412],"27":[19972,7972],"28":[4,62422],"29":[3600,270,266,58284,2],"30":[3584,16],"31":[3600,3598],"32":[258,12],"33":[270,268],"34":[262,4],"35":[2,58282],"36":[9116,49166],"37":[2,9114],"38":[2,9112],"39":[50300,7980],"40":[58280,58278],"41":[3600,10],"42":[3606,4],"43":[2,2],"44":[3346,264],"45":[3610,3610],"46":[3342,4],"47":[266,2170],"48":[534,1902],"49":[2,1900],"50":[2168,268],"51":[4,3078],"52":[266,2],"53":[264,2]},"f":{"1":1900,"2":4,"3":26115,"4":549316,"5":1900,"6":12029,"7":440406,"8":440465,"9":440398,"10":54,"11":440378,"12":2,"13":16133,"14":2,"15":64328,"16":1898,"17":502818,"18":68428,"19":62422,"20":19972,"21":3610,"22":3610,"23":3346,"24":2436,"25":2436,"26":3082,"27":3082,"28":5246,"29":266},"fnMap":{"1":{"name":"MQlobberServer","line":43,"loc":{"start":{"line":43,"column":0},"end":{"line":44,"column":0}}},"2":{"name":"error","line":59,"loc":{"start":{"line":59,"column":4},"end":{"line":60,"column":4}}},"3":{"name":"warning","line":65,"loc":{"start":{"line":65,"column":4},"end":{"line":66,"column":4}}},"4":{"name":"handshake_sent","line":77,"loc":{"start":{"line":77,"column":4},"end":{"line":78,"column":4}}},"5":{"name":"(anonymous_5)","line":88,"loc":{"start":{"line":88,"column":26},"end":{"line":89,"column":4}}},"6":{"name":"(anonymous_6)","line":94,"loc":{"start":{"line":94,"column":23},"end":{"line":95,"column":4}}},"7":{"name":"(anonymous_7)","line":121,"loc":{"start":{"line":121,"column":19},"end":{"line":122,"column":4}}},"8":{"name":"cb","line":125,"loc":{"start":{"line":125,"column":8},"end":{"line":126,"column":8}}},"9":{"name":"multiplex","line":184,"loc":{"start":{"line":184,"column":8},"end":{"line":185,"column":8}}},"10":{"name":"(anonymous_10)","line":191,"loc":{"start":{"line":191,"column":31},"end":{"line":192,"column":12}}},"11":{"name":"(anonymous_11)","line":198,"loc":{"start":{"line":198,"column":34},"end":{"line":199,"column":12}}},"12":{"name":"(anonymous_12)","line":213,"loc":{"start":{"line":213,"column":26},"end":{"line":214,"column":16}}},"13":{"name":"(anonymous_13)","line":220,"loc":{"start":{"line":220,"column":39},"end":{"line":221,"column":16}}},"14":{"name":"end","line":260,"loc":{"start":{"line":260,"column":4},"end":{"line":261,"column":4}}},"15":{"name":"(anonymous_15)","line":268,"loc":{"start":{"line":268,"column":34},"end":{"line":269,"column":4}}},"16":{"name":"(anonymous_16)","line":273,"loc":{"start":{"line":273,"column":31},"end":{"line":274,"column":4}}},"17":{"name":"(anonymous_17)","line":279,"loc":{"start":{"line":279,"column":29},"end":{"line":280,"column":8}}},"18":{"name":"dend","line":287,"loc":{"start":{"line":287,"column":12},"end":{"line":288,"column":12}}},"19":{"name":"done","line":301,"loc":{"start":{"line":301,"column":12},"end":{"line":302,"column":12}}},"20":{"name":"(anonymous_20)","line":312,"loc":{"start":{"line":312,"column":38},"end":{"line":313,"column":16}}},"21":{"name":"(anonymous_21)","line":435,"loc":{"start":{"line":435,"column":37},"end":{"line":436,"column":0}}},"22":{"name":"cb2","line":445,"loc":{"start":{"line":445,"column":4},"end":{"line":446,"column":4}}},"23":{"name":"(anonymous_23)","line":459,"loc":{"start":{"line":459,"column":57},"end":{"line":460,"column":8}}},"24":{"name":"(anonymous_24)","line":485,"loc":{"start":{"line":485,"column":39},"end":{"line":486,"column":0}}},"25":{"name":"cb2","line":495,"loc":{"start":{"line":495,"column":4},"end":{"line":496,"column":4}}},"26":{"name":"(anonymous_26)","line":509,"loc":{"start":{"line":509,"column":20},"end":{"line":510,"column":8}}},"27":{"name":"(anonymous_27)","line":511,"loc":{"start":{"line":511,"column":48},"end":{"line":512,"column":12}}},"28":{"name":"(anonymous_28)","line":525,"loc":{"start":{"line":525,"column":15},"end":{"line":526,"column":8}}},"29":{"name":"(anonymous_29)","line":538,"loc":{"start":{"line":538,"column":50},"end":{"line":539,"column":8}}}},"statementMap":{"1":{"start":{"line":3,"column":0},"end":{"line":11,"column":38}},"2":{"start":{"line":43,"column":0},"end":{"line":405,"column":1}},"3":{"start":{"line":45,"column":4},"end":{"line":45,"column":28}},"4":{"start":{"line":47,"column":4},"end":{"line":47,"column":28}},"5":{"start":{"line":49,"column":4},"end":{"line":49,"column":19}},"6":{"start":{"line":50,"column":4},"end":{"line":50,"column":26}},"7":{"start":{"line":51,"column":4},"end":{"line":51,"column":23}},"8":{"start":{"line":52,"column":4},"end":{"line":55,"column":19}},"9":{"start":{"line":57,"column":4},"end":{"line":57,"column":19}},"10":{"start":{"line":59,"column":4},"end":{"line":63,"column":5}},"11":{"start":{"line":62,"column":8},"end":{"line":62,"column":37}},"12":{"start":{"line":65,"column":4},"end":{"line":72,"column":5}},"13":{"start":{"line":68,"column":8},"end":{"line":71,"column":9}},"14":{"start":{"line":70,"column":12},"end":{"line":70,"column":31}},"15":{"start":{"line":73,"column":4},"end":{"line":73,"column":28}},"16":{"start":{"line":75,"column":4},"end":{"line":75,"column":32}},"17":{"start":{"line":77,"column":4},"end":{"line":83,"column":5}},"18":{"start":{"line":79,"column":8},"end":{"line":82,"column":9}},"19":{"start":{"line":81,"column":12},"end":{"line":81,"column":32}},"20":{"start":{"line":85,"column":4},"end":{"line":85,"column":50}},"21":{"start":{"line":86,"column":4},"end":{"line":86,"column":54}},"22":{"start":{"line":88,"column":4},"end":{"line":92,"column":7}},"23":{"start":{"line":90,"column":8},"end":{"line":90,"column":26}},"24":{"start":{"line":91,"column":8},"end":{"line":91,"column":25}},"25":{"start":{"line":94,"column":4},"end":{"line":119,"column":6}},"26":{"start":{"line":98,"column":8},"end":{"line":118,"column":9}},"27":{"start":{"line":101,"column":16},"end":{"line":101,"column":22}},"28":{"start":{"line":104,"column":16},"end":{"line":104,"column":61}},"29":{"start":{"line":105,"column":16},"end":{"line":105,"column":22}},"30":{"start":{"line":108,"column":16},"end":{"line":108,"column":44}},"31":{"start":{"line":109,"column":16},"end":{"line":112,"column":17}},"32":{"start":{"line":111,"column":20},"end":{"line":111,"column":36}},"33":{"start":{"line":113,"column":16},"end":{"line":116,"column":17}},"34":{"start":{"line":115,"column":20},"end":{"line":115,"column":44}},"35":{"start":{"line":117,"column":16},"end":{"line":117,"column":22}},"36":{"start":{"line":121,"column":4},"end":{"line":255,"column":6}},"37":{"start":{"line":123,"column":8},"end":{"line":123,"column":27}},"38":{"start":{"line":125,"column":8},"end":{"line":145,"column":9}},"39":{"start":{"line":127,"column":12},"end":{"line":127,"column":38}},"40":{"start":{"line":127,"column":23},"end":{"line":127,"column":36}},"41":{"start":{"line":129,"column":12},"end":{"line":133,"column":13}},"42":{"start":{"line":131,"column":16},"end":{"line":131,"column":38}},"43":{"start":{"line":132,"column":16},"end":{"line":132,"column":30}},"44":{"start":{"line":135,"column":12},"end":{"line":142,"column":13}},"45":{"start":{"line":137,"column":16},"end":{"line":140,"column":17}},"46":{"start":{"line":139,"column":20},"end":{"line":139,"column":36}},"47":{"start":{"line":141,"column":16},"end":{"line":141,"column":23}},"48":{"start":{"line":144,"column":12},"end":{"line":144,"column":26}},"49":{"start":{"line":147,"column":8},"end":{"line":147,"column":34}},"50":{"start":{"line":148,"column":8},"end":{"line":148,"column":42}},"51":{"start":{"line":150,"column":8},"end":{"line":153,"column":9}},"52":{"start":{"line":152,"column":12},"end":{"line":152,"column":31}},"53":{"start":{"line":155,"column":8},"end":{"line":155,"column":41}},"54":{"start":{"line":157,"column":8},"end":{"line":161,"column":31}},"55":{"start":{"line":163,"column":8},"end":{"line":172,"column":9}},"56":{"start":{"line":165,"column":12},"end":{"line":165,"column":32}},"57":{"start":{"line":166,"column":12},"end":{"line":166,"column":58}},"58":{"start":{"line":169,"column":12},"end":{"line":169,"column":72}},"59":{"start":{"line":170,"column":12},"end":{"line":170,"column":60}},"60":{"start":{"line":171,"column":12},"end":{"line":171,"column":28}},"61":{"start":{"line":174,"column":8},"end":{"line":180,"column":9}},"62":{"start":{"line":176,"column":12},"end":{"line":176,"column":32}},"63":{"start":{"line":177,"column":12},"end":{"line":177,"column":74}},"64":{"start":{"line":178,"column":12},"end":{"line":178,"column":62}},"65":{"start":{"line":179,"column":12},"end":{"line":179,"column":28}},"66":{"start":{"line":182,"column":8},"end":{"line":182,"column":51}},"67":{"start":{"line":184,"column":8},"end":{"line":242,"column":9}},"68":{"start":{"line":186,"column":12},"end":{"line":189,"column":16}},"69":{"start":{"line":191,"column":12},"end":{"line":194,"column":15}},"70":{"start":{"line":193,"column":16},"end":{"line":193,"column":43}},"71":{"start":{"line":196,"column":12},"end":{"line":196,"column":47}},"72":{"start":{"line":198,"column":12},"end":{"line":209,"column":15}},"73":{"start":{"line":200,"column":16},"end":{"line":208,"column":17}},"74":{"start":{"line":202,"column":20},"end":{"line":205,"column":21}},"75":{"start":{"line":204,"column":24},"end":{"line":204,"column":30}},"76":{"start":{"line":207,"column":20},"end":{"line":207,"column":69}},"77":{"start":{"line":211,"column":12},"end":{"line":239,"column":13}},"78":{"start":{"line":213,"column":16},"end":{"line":216,"column":18}},"79":{"start":{"line":215,"column":20},"end":{"line":215,"column":61}},"80":{"start":{"line":218,"column":16},"end":{"line":218,"column":38}},"81":{"start":{"line":220,"column":16},"end":{"line":238,"column":19}},"82":{"start":{"line":222,"column":20},"end":{"line":222,"column":52}},"83":{"start":{"line":224,"column":20},"end":{"line":227,"column":21}},"84":{"start":{"line":226,"column":24},"end":{"line":226,"column":65}},"85":{"start":{"line":229,"column":20},"end":{"line":232,"column":21}},"86":{"start":{"line":231,"column":24},"end":{"line":231,"column":61}},"87":{"start":{"line":234,"column":20},"end":{"line":234,"column":45}},"88":{"start":{"line":235,"column":20},"end":{"line":235,"column":42}},"89":{"start":{"line":237,"column":20},"end":{"line":237,"column":25}},"90":{"start":{"line":241,"column":12},"end":{"line":241,"column":26}},"91":{"start":{"line":244,"column":8},"end":{"line":254,"column":9}},"92":{"start":{"line":246,"column":12},"end":{"line":253,"column":13}},"93":{"start":{"line":248,"column":16},"end":{"line":248,"column":39}},"94":{"start":{"line":252,"column":16},"end":{"line":252,"column":23}},"95":{"start":{"line":257,"column":4},"end":{"line":257,"column":38}},"96":{"start":{"line":258,"column":4},"end":{"line":258,"column":40}},"97":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"98":{"start":{"line":263,"column":8},"end":{"line":263,"column":63}},"99":{"start":{"line":266,"column":4},"end":{"line":266,"column":28}},"100":{"start":{"line":268,"column":4},"end":{"line":271,"column":7}},"101":{"start":{"line":270,"column":8},"end":{"line":270,"column":36}},"102":{"start":{"line":273,"column":4},"end":{"line":404,"column":7}},"103":{"start":{"line":275,"column":8},"end":{"line":275,"column":40}},"104":{"start":{"line":277,"column":8},"end":{"line":277,"column":21}},"105":{"start":{"line":279,"column":8},"end":{"line":401,"column":11}},"106":{"start":{"line":281,"column":12},"end":{"line":285,"column":13}},"107":{"start":{"line":284,"column":16},"end":{"line":284,"column":23}},"108":{"start":{"line":287,"column":12},"end":{"line":291,"column":13}},"109":{"start":{"line":290,"column":16},"end":{"line":290,"column":27}},"110":{"start":{"line":295,"column":12},"end":{"line":295,"column":35}},"111":{"start":{"line":296,"column":12},"end":{"line":296,"column":37}},"112":{"start":{"line":297,"column":12},"end":{"line":297,"column":48}},"113":{"start":{"line":299,"column":12},"end":{"line":299,"column":36}},"114":{"start":{"line":301,"column":12},"end":{"line":324,"column":13}},"115":{"start":{"line":303,"column":16},"end":{"line":306,"column":17}},"116":{"start":{"line":305,"column":20},"end":{"line":305,"column":46}},"117":{"start":{"line":308,"column":16},"end":{"line":308,"column":42}},"118":{"start":{"line":309,"column":16},"end":{"line":309,"column":46}},"119":{"start":{"line":310,"column":16},"end":{"line":310,"column":88}},"120":{"start":{"line":312,"column":16},"end":{"line":323,"column":19}},"121":{"start":{"line":314,"column":20},"end":{"line":322,"column":21}},"122":{"start":{"line":316,"column":24},"end":{"line":319,"column":25}},"123":{"start":{"line":318,"column":28},"end":{"line":318,"column":34}},"124":{"start":{"line":321,"column":24},"end":{"line":321,"column":73}},"125":{"start":{"line":326,"column":12},"end":{"line":329,"column":13}},"126":{"start":{"line":328,"column":16},"end":{"line":328,"column":59}},"127":{"start":{"line":331,"column":12},"end":{"line":332,"column":22}},"128":{"start":{"line":334,"column":12},"end":{"line":400,"column":13}},"129":{"start":{"line":337,"column":20},"end":{"line":337,"column":54}},"130":{"start":{"line":338,"column":20},"end":{"line":342,"column":21}},"131":{"start":{"line":341,"column":24},"end":{"line":341,"column":51}},"132":{"start":{"line":343,"column":20},"end":{"line":343,"column":26}},"133":{"start":{"line":346,"column":20},"end":{"line":346,"column":54}},"134":{"start":{"line":347,"column":20},"end":{"line":351,"column":21}},"135":{"start":{"line":350,"column":24},"end":{"line":350,"column":53}},"136":{"start":{"line":352,"column":20},"end":{"line":352,"column":26}},"137":{"start":{"line":355,"column":20},"end":{"line":358,"column":21}},"138":{"start":{"line":357,"column":24},"end":{"line":357,"column":46}},"139":{"start":{"line":359,"column":20},"end":{"line":359,"column":26}},"140":{"start":{"line":362,"column":20},"end":{"line":365,"column":21}},"141":{"start":{"line":364,"column":24},"end":{"line":364,"column":67}},"142":{"start":{"line":367,"column":20},"end":{"line":369,"column":32}},"143":{"start":{"line":371,"column":20},"end":{"line":371,"column":51}},"144":{"start":{"line":373,"column":20},"end":{"line":385,"column":21}},"145":{"start":{"line":375,"column":24},"end":{"line":375,"column":33}},"146":{"start":{"line":377,"column":24},"end":{"line":380,"column":25}},"147":{"start":{"line":379,"column":28},"end":{"line":379,"column":71}},"148":{"start":{"line":382,"column":24},"end":{"line":384,"column":68}},"149":{"start":{"line":387,"column":20},"end":{"line":387,"column":56}},"150":{"start":{"line":389,"column":20},"end":{"line":393,"column":21}},"151":{"start":{"line":392,"column":24},"end":{"line":392,"column":75}},"152":{"start":{"line":395,"column":20},"end":{"line":395,"column":26}},"153":{"start":{"line":398,"column":20},"end":{"line":398,"column":61}},"154":{"start":{"line":399,"column":20},"end":{"line":399,"column":26}},"155":{"start":{"line":403,"column":8},"end":{"line":403,"column":44}},"156":{"start":{"line":407,"column":0},"end":{"line":407,"column":44}},"157":{"start":{"line":435,"column":0},"end":{"line":472,"column":2}},"158":{"start":{"line":437,"column":4},"end":{"line":441,"column":5}},"159":{"start":{"line":439,"column":8},"end":{"line":439,"column":21}},"160":{"start":{"line":440,"column":8},"end":{"line":440,"column":28}},"161":{"start":{"line":443,"column":4},"end":{"line":443,"column":19}},"162":{"start":{"line":445,"column":4},"end":{"line":455,"column":5}},"163":{"start":{"line":447,"column":8},"end":{"line":454,"column":9}},"164":{"start":{"line":449,"column":12},"end":{"line":449,"column":20}},"165":{"start":{"line":451,"column":13},"end":{"line":454,"column":9}},"166":{"start":{"line":453,"column":12},"end":{"line":453,"column":30}},"167":{"start":{"line":457,"column":4},"end":{"line":471,"column":5}},"168":{"start":{"line":459,"column":8},"end":{"line":466,"column":11}},"169":{"start":{"line":461,"column":12},"end":{"line":464,"column":13}},"170":{"start":{"line":463,"column":16},"end":{"line":463,"column":36}},"171":{"start":{"line":465,"column":12},"end":{"line":465,"column":21}},"172":{"start":{"line":470,"column":8},"end":{"line":470,"column":14}},"173":{"start":{"line":485,"column":0},"end":{"line":551,"column":2}},"174":{"start":{"line":487,"column":4},"end":{"line":491,"column":5}},"175":{"start":{"line":489,"column":8},"end":{"line":489,"column":19}},"176":{"start":{"line":490,"column":8},"end":{"line":490,"column":26}},"177":{"start":{"line":493,"column":4},"end":{"line":493,"column":19}},"178":{"start":{"line":495,"column":4},"end":{"line":505,"column":5}},"179":{"start":{"line":497,"column":8},"end":{"line":504,"column":9}},"180":{"start":{"line":499,"column":12},"end":{"line":499,"column":20}},"181":{"start":{"line":501,"column":13},"end":{"line":504,"column":9}},"182":{"start":{"line":503,"column":12},"end":{"line":503,"column":30}},"183":{"start":{"line":507,"column":4},"end":{"line":550,"column":5}},"184":{"start":{"line":509,"column":8},"end":{"line":532,"column":10}},"185":{"start":{"line":511,"column":12},"end":{"line":522,"column":15}},"186":{"start":{"line":513,"column":16},"end":{"line":521,"column":17}},"187":{"start":{"line":515,"column":20},"end":{"line":515,"column":29}},"188":{"start":{"line":519,"column":20},"end":{"line":519,"column":39}},"189":{"start":{"line":520,"column":20},"end":{"line":520,"column":43}},"190":{"start":{"line":527,"column":12},"end":{"line":530,"column":13}},"191":{"start":{"line":529,"column":16},"end":{"line":529,"column":32}},"192":{"start":{"line":531,"column":12},"end":{"line":531,"column":18}},"193":{"start":{"line":534,"column":8},"end":{"line":534,"column":15}},"194":{"start":{"line":536,"column":9},"end":{"line":550,"column":5}},"195":{"start":{"line":538,"column":8},"end":{"line":545,"column":11}},"196":{"start":{"line":540,"column":12},"end":{"line":543,"column":13}},"197":{"start":{"line":542,"column":16},"end":{"line":542,"column":39}},"198":{"start":{"line":544,"column":12},"end":{"line":544,"column":21}},"199":{"start":{"line":549,"column":8},"end":{"line":549,"column":14}},"200":{"start":{"line":553,"column":0},"end":{"line":553,"column":40}}},"branchMap":{"1":{"line":47,"type":"binary-expr","locations":[{"start":{"line":47,"column":14},"end":{"line":47,"column":21}},{"start":{"line":47,"column":25},"end":{"line":47,"column":27}}]},"2":{"line":68,"type":"if","locations":[{"start":{"line":68,"column":8},"end":{"line":68,"column":8}},{"start":{"line":68,"column":8},"end":{"line":68,"column":8}}]},"3":{"line":79,"type":"if","locations":[{"start":{"line":79,"column":8},"end":{"line":79,"column":8}},{"start":{"line":79,"column":8},"end":{"line":79,"column":8}}]},"4":{"line":98,"type":"switch","locations":[{"start":{"line":100,"column":12},"end":{"line":101,"column":22}},{"start":{"line":103,"column":12},"end":{"line":105,"column":22}},{"start":{"line":107,"column":12},"end":{"line":117,"column":22}}]},"5":{"line":127,"type":"if","locations":[{"start":{"line":127,"column":12},"end":{"line":127,"column":12}},{"start":{"line":127,"column":12},"end":{"line":127,"column":12}}]},"6":{"line":129,"type":"if","locations":[{"start":{"line":129,"column":12},"end":{"line":129,"column":12}},{"start":{"line":129,"column":12},"end":{"line":129,"column":12}}]},"7":{"line":135,"type":"if","locations":[{"start":{"line":135,"column":12},"end":{"line":135,"column":12}},{"start":{"line":135,"column":12},"end":{"line":135,"column":12}}]},"8":{"line":135,"type":"binary-expr","locations":[{"start":{"line":135,"column":16},"end":{"line":135,"column":46}},{"start":{"line":135,"column":51},"end":{"line":135,"column":71}}]},"9":{"line":137,"type":"if","locations":[{"start":{"line":137,"column":16},"end":{"line":137,"column":16}},{"start":{"line":137,"column":16},"end":{"line":137,"column":16}}]},"10":{"line":150,"type":"if","locations":[{"start":{"line":150,"column":8},"end":{"line":150,"column":8}},{"start":{"line":150,"column":8},"end":{"line":150,"column":8}}]},"11":{"line":157,"type":"cond-expr","locations":[{"start":{"line":157,"column":43},"end":{"line":157,"column":44}},{"start":{"line":157,"column":47},"end":{"line":157,"column":48}}]},"12":{"line":158,"type":"cond-expr","locations":[{"start":{"line":158,"column":53},"end":{"line":158,"column":54}},{"start":{"line":158,"column":57},"end":{"line":158,"column":58}}]},"13":{"line":159,"type":"cond-expr","locations":[{"start":{"line":159,"column":46},"end":{"line":159,"column":47}},{"start":{"line":159,"column":50},"end":{"line":159,"column":51}}]},"14":{"line":160,"type":"cond-expr","locations":[{"start":{"line":160,"column":50},"end":{"line":160,"column":51}},{"start":{"line":160,"column":54},"end":{"line":160,"column":55}}]},"15":{"line":163,"type":"if","locations":[{"start":{"line":163,"column":8},"end":{"line":163,"column":8}},{"start":{"line":163,"column":8},"end":{"line":163,"column":8}}]},"16":{"line":174,"type":"if","locations":[{"start":{"line":174,"column":8},"end":{"line":174,"column":8}},{"start":{"line":174,"column":8},"end":{"line":174,"column":8}}]},"17":{"line":196,"type":"binary-expr","locations":[{"start":{"line":196,"column":31},"end":{"line":196,"column":39}},{"start":{"line":196,"column":43},"end":{"line":196,"column":45}}]},"18":{"line":202,"type":"if","locations":[{"start":{"line":202,"column":20},"end":{"line":202,"column":20}},{"start":{"line":202,"column":20},"end":{"line":202,"column":20}}]},"19":{"line":211,"type":"if","locations":[{"start":{"line":211,"column":12},"end":{"line":211,"column":12}},{"start":{"line":211,"column":12},"end":{"line":211,"column":12}}]},"20":{"line":224,"type":"if","locations":[{"start":{"line":224,"column":20},"end":{"line":224,"column":20}},{"start":{"line":224,"column":20},"end":{"line":224,"column":20}}]},"21":{"line":229,"type":"if","locations":[{"start":{"line":229,"column":20},"end":{"line":229,"column":20}},{"start":{"line":229,"column":20},"end":{"line":229,"column":20}}]},"22":{"line":244,"type":"if","locations":[{"start":{"line":244,"column":8},"end":{"line":244,"column":8}},{"start":{"line":244,"column":8},"end":{"line":244,"column":8}}]},"23":{"line":281,"type":"if","locations":[{"start":{"line":281,"column":12},"end":{"line":281,"column":12}},{"start":{"line":281,"column":12},"end":{"line":281,"column":12}}]},"24":{"line":303,"type":"if","locations":[{"start":{"line":303,"column":16},"end":{"line":303,"column":16}},{"start":{"line":303,"column":16},"end":{"line":303,"column":16}}]},"25":{"line":309,"type":"cond-expr","locations":[{"start":{"line":309,"column":39},"end":{"line":309,"column":40}},{"start":{"line":309,"column":43},"end":{"line":309,"column":44}}]},"26":{"line":310,"type":"cond-expr","locations":[{"start":{"line":310,"column":50},"end":{"line":310,"column":78}},{"start":{"line":310,"column":81},"end":{"line":310,"column":86}}]},"27":{"line":316,"type":"if","locations":[{"start":{"line":316,"column":24},"end":{"line":316,"column":24}},{"start":{"line":316,"column":24},"end":{"line":316,"column":24}}]},"28":{"line":326,"type":"if","locations":[{"start":{"line":326,"column":12},"end":{"line":326,"column":12}},{"start":{"line":326,"column":12},"end":{"line":326,"column":12}}]},"29":{"line":334,"type":"switch","locations":[{"start":{"line":336,"column":16},"end":{"line":343,"column":26}},{"start":{"line":345,"column":16},"end":{"line":352,"column":26}},{"start":{"line":354,"column":16},"end":{"line":359,"column":26}},{"start":{"line":361,"column":16},"end":{"line":395,"column":26}},{"start":{"line":397,"column":16},"end":{"line":399,"column":26}}]},"30":{"line":338,"type":"if","locations":[{"start":{"line":338,"column":20},"end":{"line":338,"column":20}},{"start":{"line":338,"column":20},"end":{"line":338,"column":20}}]},"31":{"line":338,"type":"binary-expr","locations":[{"start":{"line":338,"column":24},"end":{"line":338,"column":73}},{"start":{"line":339,"column":24},"end":{"line":339,"column":69}}]},"32":{"line":347,"type":"if","locations":[{"start":{"line":347,"column":20},"end":{"line":347,"column":20}},{"start":{"line":347,"column":20},"end":{"line":347,"column":20}}]},"33":{"line":347,"type":"binary-expr","locations":[{"start":{"line":347,"column":24},"end":{"line":347,"column":75}},{"start":{"line":348,"column":24},"end":{"line":348,"column":71}}]},"34":{"line":355,"type":"if","locations":[{"start":{"line":355,"column":20},"end":{"line":355,"column":20}},{"start":{"line":355,"column":20},"end":{"line":355,"column":20}}]},"35":{"line":362,"type":"if","locations":[{"start":{"line":362,"column":20},"end":{"line":362,"column":20}},{"start":{"line":362,"column":20},"end":{"line":362,"column":20}}]},"36":{"line":373,"type":"if","locations":[{"start":{"line":373,"column":20},"end":{"line":373,"column":20}},{"start":{"line":373,"column":20},"end":{"line":373,"column":20}}]},"37":{"line":377,"type":"if","locations":[{"start":{"line":377,"column":24},"end":{"line":377,"column":24}},{"start":{"line":377,"column":24},"end":{"line":377,"column":24}}]},"38":{"line":383,"type":"cond-expr","locations":[{"start":{"line":383,"column":49},"end":{"line":383,"column":64}},{"start":{"line":383,"column":67},"end":{"line":383,"column":81}}]},"39":{"line":389,"type":"if","locations":[{"start":{"line":389,"column":20},"end":{"line":389,"column":20}},{"start":{"line":389,"column":20},"end":{"line":389,"column":20}}]},"40":{"line":389,"type":"binary-expr","locations":[{"start":{"line":389,"column":24},"end":{"line":389,"column":88}},{"start":{"line":390,"column":24},"end":{"line":390,"column":84}}]},"41":{"line":437,"type":"if","locations":[{"start":{"line":437,"column":4},"end":{"line":437,"column":4}},{"start":{"line":437,"column":4},"end":{"line":437,"column":4}}]},"42":{"line":447,"type":"if","locations":[{"start":{"line":447,"column":8},"end":{"line":447,"column":8}},{"start":{"line":447,"column":8},"end":{"line":447,"column":8}}]},"43":{"line":451,"type":"if","locations":[{"start":{"line":451,"column":13},"end":{"line":451,"column":13}},{"start":{"line":451,"column":13},"end":{"line":451,"column":13}}]},"44":{"line":457,"type":"if","locations":[{"start":{"line":457,"column":4},"end":{"line":457,"column":4}},{"start":{"line":457,"column":4},"end":{"line":457,"column":4}}]},"45":{"line":457,"type":"binary-expr","locations":[{"start":{"line":457,"column":8},"end":{"line":457,"column":19}},{"start":{"line":457,"column":23},"end":{"line":457,"column":44}}]},"46":{"line":461,"type":"if","locations":[{"start":{"line":461,"column":12},"end":{"line":461,"column":12}},{"start":{"line":461,"column":12},"end":{"line":461,"column":12}}]},"47":{"line":487,"type":"if","locations":[{"start":{"line":487,"column":4},"end":{"line":487,"column":4}},{"start":{"line":487,"column":4},"end":{"line":487,"column":4}}]},"48":{"line":497,"type":"if","locations":[{"start":{"line":497,"column":8},"end":{"line":497,"column":8}},{"start":{"line":497,"column":8},"end":{"line":497,"column":8}}]},"49":{"line":501,"type":"if","locations":[{"start":{"line":501,"column":13},"end":{"line":501,"column":13}},{"start":{"line":501,"column":13},"end":{"line":501,"column":13}}]},"50":{"line":507,"type":"if","locations":[{"start":{"line":507,"column":4},"end":{"line":507,"column":4}},{"start":{"line":507,"column":4},"end":{"line":507,"column":4}}]},"51":{"line":513,"type":"if","locations":[{"start":{"line":513,"column":16},"end":{"line":513,"column":16}},{"start":{"line":513,"column":16},"end":{"line":513,"column":16}}]},"52":{"line":536,"type":"if","locations":[{"start":{"line":536,"column":9},"end":{"line":536,"column":9}},{"start":{"line":536,"column":9},"end":{"line":536,"column":9}}]},"53":{"line":540,"type":"if","locations":[{"start":{"line":540,"column":12},"end":{"line":540,"column":12}},{"start":{"line":540,"column":12},"end":{"line":540,"column":12}}]}}}} \ No newline at end of file +{"/home/david/mqlobber/index.js":{"path":"/home/david/mqlobber/index.js","s":{"1":1,"2":1},"b":{},"f":{},"fnMap":{},"statementMap":{"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":64}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":64}}},"branchMap":{}},"/home/david/mqlobber/lib/client.js":{"path":"/home/david/mqlobber/lib/client.js","s":{"1":1,"2":1,"3":1904,"4":1904,"5":1904,"6":1904,"7":1904,"8":1904,"9":1904,"10":1904,"11":1,"12":61,"13":1,"14":12018,"15":9,"16":1904,"17":1904,"18":58352,"19":58358,"20":58352,"21":6,"22":1904,"23":1,"24":520892,"25":2,"26":1904,"27":1904,"28":1904,"29":33,"30":1904,"31":2,"32":1904,"33":498760,"34":1904,"35":1903,"36":1904,"37":1904,"38":1904,"39":1,"40":2,"41":1904,"42":1904,"43":1904,"44":1904,"45":1904,"46":1904,"47":440427,"48":1904,"49":498784,"50":1898,"51":1898,"52":496886,"53":56462,"54":1,"55":440434,"56":440424,"57":440424,"58":440424,"59":4,"60":440420,"61":440420,"62":440420,"63":440420,"64":440416,"65":440416,"66":2,"67":440414,"68":440418,"69":440416,"70":440416,"71":2,"72":440414,"73":440416,"74":440416,"75":440416,"76":16133,"77":1,"78":134236,"79":51488,"80":82748,"81":82748,"82":14,"83":82748,"84":16131,"85":16131,"86":16131,"87":82748,"88":440416,"89":440416,"90":3,"91":440413,"92":492023,"93":492023,"94":16131,"95":1,"96":1,"97":3614,"98":1,"99":3616,"100":3602,"101":3602,"102":3330,"103":3330,"104":3602,"105":3602,"106":3616,"107":3606,"108":3606,"109":3606,"110":10,"111":6,"112":3614,"113":2,"114":3612,"115":8,"116":3604,"117":1,"118":2,"119":3604,"120":3604,"121":3604,"122":3604,"123":3604,"124":3600,"125":3600,"126":2,"127":3598,"128":4,"129":3594,"130":1,"131":1706,"132":268,"133":268,"134":268,"135":1706,"136":1,"137":1708,"138":1696,"139":1696,"140":1696,"141":12,"142":8,"143":1706,"144":2,"145":1704,"146":270,"147":272,"148":266,"149":266,"150":272,"151":270,"152":2,"153":268,"154":1434,"155":1436,"156":1426,"157":1426,"158":272,"159":148,"160":124,"161":272,"162":262,"163":1426,"164":1436,"165":1434,"166":1434,"167":1164,"168":270,"169":538,"170":1,"171":2,"172":538,"173":538,"174":538,"175":538,"176":538,"177":534,"178":534,"179":2,"180":532,"181":6,"182":526,"183":1,"184":58304,"185":23626,"186":23626,"187":58304,"188":58304,"189":1,"190":70274,"191":50322,"192":50322,"193":50322,"194":19952,"195":11976,"196":58304,"197":2,"198":58302,"199":58302,"200":58302,"201":58302,"202":9114,"203":9114,"204":58302,"205":58302,"206":1,"207":2,"208":58300,"209":58300,"210":58300,"211":58300,"212":52312,"213":52312,"214":2,"215":52310,"216":10,"217":52300,"218":58300,"219":1},"b":{"1":[1904,1902],"2":[9,12009],"3":[58352,6],"4":[2,520890],"5":[1898,496886],"6":[56462,440424],"7":[4,440420],"8":[440416,4],"9":[2,440414],"10":[440416,2],"11":[2,440414],"12":[16133,424283],"13":[51488,82748],"14":[14,82734],"15":[16131,66617],"16":[13,16118],"17":[3,440413],"18":[16131,475892],"19":[3602,14],"20":[3330,272],"21":[3606,10],"22":[6,4],"23":[2,3612],"24":[8,3604],"25":[2,3598],"26":[4,3594],"27":[6,3588],"28":[268,1438],"29":[1696,12],"30":[8,4],"31":[2,1704],"32":[270,1434],"33":[266,6],"34":[2,268],"35":[1426,10],"36":[272,1154],"37":[148,124],"38":[262,10],"39":[1164,270],"40":[1434,280,126,118],"41":[2,532],"42":[6,526],"43":[2,524],"44":[23626,34678],"45":[58304,31600],"46":[50322,19952],"47":[11976,7976],"48":[2,58302],"49":[17592,40710],"50":[9114,49188],"51":[9114,49188],"52":[2,52310],"53":[10,52300],"54":[2,52298]},"f":{"1":1904,"2":61,"3":12018,"4":58352,"5":520892,"6":33,"7":2,"8":498760,"9":1903,"10":1904,"11":2,"12":1904,"13":440427,"14":498784,"15":440434,"16":134236,"17":3614,"18":3616,"19":2,"20":3600,"21":1706,"22":1708,"23":272,"24":1436,"25":2,"26":534,"27":58304,"28":70274,"29":2,"30":52312},"fnMap":{"1":{"name":"MQlobberClient","line":217,"loc":{"start":{"line":217,"column":0},"end":{"line":218,"column":0}}},"2":{"name":"error","line":231,"loc":{"start":{"line":231,"column":4},"end":{"line":232,"column":4}}},"3":{"name":"warning","line":237,"loc":{"start":{"line":237,"column":4},"end":{"line":238,"column":4}}},"4":{"name":"(anonymous_4)","line":247,"loc":{"start":{"line":247,"column":28},"end":{"line":248,"column":4}}},"5":{"name":"handshake_sent","line":262,"loc":{"start":{"line":262,"column":4},"end":{"line":263,"column":4}}},"6":{"name":"(anonymous_6)","line":273,"loc":{"start":{"line":273,"column":25},"end":{"line":274,"column":4}}},"7":{"name":"(anonymous_7)","line":278,"loc":{"start":{"line":278,"column":24},"end":{"line":279,"column":4}}},"8":{"name":"(anonymous_8)","line":283,"loc":{"start":{"line":283,"column":27},"end":{"line":284,"column":4}}},"9":{"name":"(anonymous_9)","line":288,"loc":{"start":{"line":288,"column":26},"end":{"line":289,"column":4}}},"10":{"name":"(anonymous_10)","line":293,"loc":{"start":{"line":293,"column":23},"end":{"line":294,"column":4}}},"11":{"name":"end","line":300,"loc":{"start":{"line":300,"column":4},"end":{"line":301,"column":4}}},"12":{"name":"(anonymous_12)","line":310,"loc":{"start":{"line":310,"column":17},"end":{"line":311,"column":4}}},"13":{"name":"(anonymous_13)","line":315,"loc":{"start":{"line":315,"column":34},"end":{"line":316,"column":4}}},"14":{"name":"(anonymous_14)","line":320,"loc":{"start":{"line":320,"column":29},"end":{"line":321,"column":4}}},"15":{"name":"dend","line":334,"loc":{"start":{"line":334,"column":8},"end":{"line":335,"column":8}}},"16":{"name":"done","line":392,"loc":{"start":{"line":392,"column":8},"end":{"line":393,"column":8}}},"17":{"name":"(anonymous_17)","line":478,"loc":{"start":{"line":478,"column":37},"end":{"line":479,"column":0}}},"18":{"name":"done","line":482,"loc":{"start":{"line":482,"column":4},"end":{"line":483,"column":4}}},"19":{"name":"end","line":526,"loc":{"start":{"line":526,"column":4},"end":{"line":527,"column":4}}},"20":{"name":"(anonymous_20)","line":536,"loc":{"start":{"line":536,"column":27},"end":{"line":537,"column":4}}},"21":{"name":"(anonymous_21)","line":576,"loc":{"start":{"line":576,"column":39},"end":{"line":577,"column":0}}},"22":{"name":"done2","line":587,"loc":{"start":{"line":587,"column":4},"end":{"line":588,"column":4}}},"23":{"name":"(anonymous_23)","line":608,"loc":{"start":{"line":608,"column":15},"end":{"line":609,"column":8}}},"24":{"name":"(anonymous_24)","line":628,"loc":{"start":{"line":628,"column":15},"end":{"line":629,"column":8}}},"25":{"name":"end","line":675,"loc":{"start":{"line":675,"column":4},"end":{"line":676,"column":4}}},"26":{"name":"(anonymous_26)","line":685,"loc":{"start":{"line":685,"column":27},"end":{"line":686,"column":4}}},"27":{"name":"(anonymous_27)","line":731,"loc":{"start":{"line":731,"column":35},"end":{"line":732,"column":0}}},"28":{"name":"done","line":743,"loc":{"start":{"line":743,"column":4},"end":{"line":744,"column":4}}},"29":{"name":"end","line":781,"loc":{"start":{"line":781,"column":4},"end":{"line":782,"column":4}}},"30":{"name":"(anonymous_30)","line":790,"loc":{"start":{"line":790,"column":27},"end":{"line":791,"column":4}}}},"statementMap":{"1":{"start":{"line":181,"column":0},"end":{"line":190,"column":38}},"2":{"start":{"line":217,"column":0},"end":{"line":431,"column":1}},"3":{"start":{"line":219,"column":4},"end":{"line":219,"column":28}},"4":{"start":{"line":221,"column":4},"end":{"line":221,"column":28}},"5":{"start":{"line":223,"column":4},"end":{"line":223,"column":28}},"6":{"start":{"line":224,"column":4},"end":{"line":224,"column":26}},"7":{"start":{"line":225,"column":4},"end":{"line":225,"column":46}},"8":{"start":{"line":226,"column":4},"end":{"line":226,"column":42}},"9":{"start":{"line":227,"column":4},"end":{"line":227,"column":23}},"10":{"start":{"line":229,"column":4},"end":{"line":229,"column":19}},"11":{"start":{"line":231,"column":4},"end":{"line":235,"column":5}},"12":{"start":{"line":234,"column":8},"end":{"line":234,"column":37}},"13":{"start":{"line":237,"column":4},"end":{"line":244,"column":5}},"14":{"start":{"line":240,"column":8},"end":{"line":243,"column":9}},"15":{"start":{"line":242,"column":12},"end":{"line":242,"column":31}},"16":{"start":{"line":245,"column":4},"end":{"line":245,"column":28}},"17":{"start":{"line":247,"column":4},"end":{"line":258,"column":6}},"18":{"start":{"line":249,"column":8},"end":{"line":257,"column":9}},"19":{"start":{"line":251,"column":12},"end":{"line":254,"column":13}},"20":{"start":{"line":253,"column":16},"end":{"line":253,"column":22}},"21":{"start":{"line":256,"column":12},"end":{"line":256,"column":61}},"22":{"start":{"line":260,"column":4},"end":{"line":260,"column":32}},"23":{"start":{"line":262,"column":4},"end":{"line":268,"column":5}},"24":{"start":{"line":264,"column":8},"end":{"line":267,"column":9}},"25":{"start":{"line":266,"column":12},"end":{"line":266,"column":32}},"26":{"start":{"line":270,"column":4},"end":{"line":270,"column":50}},"27":{"start":{"line":271,"column":4},"end":{"line":271,"column":54}},"28":{"start":{"line":273,"column":4},"end":{"line":276,"column":7}},"29":{"start":{"line":275,"column":8},"end":{"line":275,"column":26}},"30":{"start":{"line":278,"column":4},"end":{"line":281,"column":7}},"31":{"start":{"line":280,"column":8},"end":{"line":280,"column":25}},"32":{"start":{"line":283,"column":4},"end":{"line":286,"column":7}},"33":{"start":{"line":285,"column":8},"end":{"line":285,"column":36}},"34":{"start":{"line":288,"column":4},"end":{"line":291,"column":7}},"35":{"start":{"line":290,"column":8},"end":{"line":290,"column":25}},"36":{"start":{"line":293,"column":4},"end":{"line":296,"column":7}},"37":{"start":{"line":295,"column":8},"end":{"line":295,"column":25}},"38":{"start":{"line":298,"column":4},"end":{"line":298,"column":45}},"39":{"start":{"line":300,"column":4},"end":{"line":304,"column":5}},"40":{"start":{"line":303,"column":8},"end":{"line":303,"column":63}},"41":{"start":{"line":306,"column":4},"end":{"line":306,"column":26}},"42":{"start":{"line":307,"column":4},"end":{"line":307,"column":30}},"43":{"start":{"line":308,"column":4},"end":{"line":308,"column":49}},"44":{"start":{"line":310,"column":4},"end":{"line":313,"column":7}},"45":{"start":{"line":312,"column":8},"end":{"line":312,"column":21}},"46":{"start":{"line":315,"column":4},"end":{"line":318,"column":7}},"47":{"start":{"line":317,"column":8},"end":{"line":317,"column":34}},"48":{"start":{"line":320,"column":4},"end":{"line":430,"column":7}},"49":{"start":{"line":322,"column":8},"end":{"line":326,"column":9}},"50":{"start":{"line":324,"column":12},"end":{"line":324,"column":46}},"51":{"start":{"line":325,"column":12},"end":{"line":325,"column":48}},"52":{"start":{"line":328,"column":8},"end":{"line":332,"column":9}},"53":{"start":{"line":331,"column":12},"end":{"line":331,"column":19}},"54":{"start":{"line":334,"column":8},"end":{"line":338,"column":9}},"55":{"start":{"line":337,"column":12},"end":{"line":337,"column":23}},"56":{"start":{"line":342,"column":8},"end":{"line":342,"column":30}},"57":{"start":{"line":343,"column":8},"end":{"line":343,"column":32}},"58":{"start":{"line":345,"column":8},"end":{"line":348,"column":9}},"59":{"start":{"line":347,"column":12},"end":{"line":347,"column":70}},"60":{"start":{"line":350,"column":8},"end":{"line":353,"column":18}},"61":{"start":{"line":355,"column":8},"end":{"line":355,"column":36}},"62":{"start":{"line":356,"column":8},"end":{"line":356,"column":38}},"63":{"start":{"line":358,"column":8},"end":{"line":369,"column":9}},"64":{"start":{"line":360,"column":12},"end":{"line":360,"column":21}},"65":{"start":{"line":362,"column":12},"end":{"line":365,"column":13}},"66":{"start":{"line":364,"column":16},"end":{"line":364,"column":74}},"67":{"start":{"line":367,"column":12},"end":{"line":368,"column":61}},"68":{"start":{"line":371,"column":8},"end":{"line":382,"column":9}},"69":{"start":{"line":373,"column":12},"end":{"line":373,"column":21}},"70":{"start":{"line":375,"column":12},"end":{"line":378,"column":13}},"71":{"start":{"line":377,"column":16},"end":{"line":377,"column":74}},"72":{"start":{"line":380,"column":12},"end":{"line":381,"column":58}},"73":{"start":{"line":384,"column":8},"end":{"line":384,"column":49}},"74":{"start":{"line":386,"column":8},"end":{"line":386,"column":38}},"75":{"start":{"line":387,"column":8},"end":{"line":390,"column":9}},"76":{"start":{"line":389,"column":12},"end":{"line":389,"column":32}},"77":{"start":{"line":392,"column":8},"end":{"line":413,"column":9}},"78":{"start":{"line":394,"column":12},"end":{"line":397,"column":13}},"79":{"start":{"line":396,"column":16},"end":{"line":396,"column":23}},"80":{"start":{"line":398,"column":12},"end":{"line":398,"column":26}},"81":{"start":{"line":400,"column":12},"end":{"line":403,"column":13}},"82":{"start":{"line":402,"column":16},"end":{"line":402,"column":41}},"83":{"start":{"line":405,"column":12},"end":{"line":410,"column":13}},"84":{"start":{"line":407,"column":16},"end":{"line":407,"column":42}},"85":{"start":{"line":408,"column":16},"end":{"line":408,"column":46}},"86":{"start":{"line":409,"column":16},"end":{"line":409,"column":33}},"87":{"start":{"line":412,"column":12},"end":{"line":412,"column":24}},"88":{"start":{"line":415,"column":8},"end":{"line":415,"column":54}},"89":{"start":{"line":417,"column":8},"end":{"line":420,"column":9}},"90":{"start":{"line":419,"column":12},"end":{"line":419,"column":50}},"91":{"start":{"line":422,"column":8},"end":{"line":429,"column":9}},"92":{"start":{"line":424,"column":12},"end":{"line":424,"column":49}},"93":{"start":{"line":425,"column":12},"end":{"line":428,"column":13}},"94":{"start":{"line":427,"column":16},"end":{"line":427,"column":22}},"95":{"start":{"line":433,"column":0},"end":{"line":433,"column":44}},"96":{"start":{"line":478,"column":0},"end":{"line":552,"column":2}},"97":{"start":{"line":480,"column":4},"end":{"line":480,"column":27}},"98":{"start":{"line":482,"column":4},"end":{"line":508,"column":5}},"99":{"start":{"line":484,"column":8},"end":{"line":496,"column":9}},"100":{"start":{"line":486,"column":12},"end":{"line":486,"column":47}},"101":{"start":{"line":488,"column":12},"end":{"line":492,"column":13}},"102":{"start":{"line":490,"column":16},"end":{"line":490,"column":37}},"103":{"start":{"line":491,"column":16},"end":{"line":491,"column":46}},"104":{"start":{"line":494,"column":12},"end":{"line":494,"column":34}},"105":{"start":{"line":495,"column":12},"end":{"line":495,"column":45}},"106":{"start":{"line":498,"column":8},"end":{"line":507,"column":9}},"107":{"start":{"line":500,"column":12},"end":{"line":500,"column":25}},"108":{"start":{"line":501,"column":12},"end":{"line":501,"column":22}},"109":{"start":{"line":502,"column":12},"end":{"line":502,"column":35}},"110":{"start":{"line":504,"column":13},"end":{"line":507,"column":9}},"111":{"start":{"line":506,"column":12},"end":{"line":506,"column":43}},"112":{"start":{"line":510,"column":4},"end":{"line":513,"column":5}},"113":{"start":{"line":512,"column":8},"end":{"line":512,"column":36}},"114":{"start":{"line":515,"column":4},"end":{"line":518,"column":5}},"115":{"start":{"line":517,"column":8},"end":{"line":517,"column":22}},"116":{"start":{"line":520,"column":4},"end":{"line":524,"column":8}},"117":{"start":{"line":526,"column":4},"end":{"line":529,"column":5}},"118":{"start":{"line":528,"column":8},"end":{"line":528,"column":51}},"119":{"start":{"line":531,"column":4},"end":{"line":531,"column":26}},"120":{"start":{"line":532,"column":4},"end":{"line":532,"column":29}},"121":{"start":{"line":533,"column":4},"end":{"line":533,"column":49}},"122":{"start":{"line":534,"column":4},"end":{"line":534,"column":17}},"123":{"start":{"line":536,"column":4},"end":{"line":551,"column":7}},"124":{"start":{"line":538,"column":8},"end":{"line":538,"column":40}},"125":{"start":{"line":540,"column":8},"end":{"line":543,"column":9}},"126":{"start":{"line":542,"column":12},"end":{"line":542,"column":55}},"127":{"start":{"line":545,"column":8},"end":{"line":548,"column":9}},"128":{"start":{"line":547,"column":12},"end":{"line":547,"column":51}},"129":{"start":{"line":550,"column":8},"end":{"line":550,"column":66}},"130":{"start":{"line":576,"column":0},"end":{"line":701,"column":2}},"131":{"start":{"line":578,"column":4},"end":{"line":583,"column":5}},"132":{"start":{"line":580,"column":8},"end":{"line":580,"column":19}},"133":{"start":{"line":581,"column":8},"end":{"line":581,"column":26}},"134":{"start":{"line":582,"column":8},"end":{"line":582,"column":28}},"135":{"start":{"line":585,"column":4},"end":{"line":585,"column":40}},"136":{"start":{"line":587,"column":4},"end":{"line":599,"column":5}},"137":{"start":{"line":589,"column":8},"end":{"line":598,"column":9}},"138":{"start":{"line":591,"column":12},"end":{"line":591,"column":25}},"139":{"start":{"line":592,"column":12},"end":{"line":592,"column":22}},"140":{"start":{"line":593,"column":12},"end":{"line":593,"column":35}},"141":{"start":{"line":595,"column":13},"end":{"line":598,"column":9}},"142":{"start":{"line":597,"column":12},"end":{"line":597,"column":43}},"143":{"start":{"line":601,"column":4},"end":{"line":604,"column":5}},"144":{"start":{"line":603,"column":8},"end":{"line":603,"column":36}},"145":{"start":{"line":606,"column":4},"end":{"line":668,"column":5}},"146":{"start":{"line":608,"column":8},"end":{"line":617,"column":10}},"147":{"start":{"line":610,"column":12},"end":{"line":614,"column":13}},"148":{"start":{"line":612,"column":16},"end":{"line":612,"column":33}},"149":{"start":{"line":613,"column":16},"end":{"line":613,"column":37}},"150":{"start":{"line":616,"column":12},"end":{"line":616,"column":29}},"151":{"start":{"line":619,"column":8},"end":{"line":622,"column":9}},"152":{"start":{"line":621,"column":12},"end":{"line":621,"column":26}},"153":{"start":{"line":624,"column":8},"end":{"line":624,"column":51}},"154":{"start":{"line":628,"column":8},"end":{"line":655,"column":10}},"155":{"start":{"line":630,"column":12},"end":{"line":652,"column":13}},"156":{"start":{"line":632,"column":16},"end":{"line":632,"column":51}},"157":{"start":{"line":634,"column":16},"end":{"line":649,"column":17}},"158":{"start":{"line":636,"column":20},"end":{"line":643,"column":21}},"159":{"start":{"line":638,"column":24},"end":{"line":638,"column":41}},"160":{"start":{"line":642,"column":24},"end":{"line":642,"column":49}},"161":{"start":{"line":645,"column":20},"end":{"line":648,"column":21}},"162":{"start":{"line":647,"column":24},"end":{"line":647,"column":47}},"163":{"start":{"line":651,"column":16},"end":{"line":651,"column":52}},"164":{"start":{"line":654,"column":12},"end":{"line":654,"column":29}},"165":{"start":{"line":657,"column":8},"end":{"line":657,"column":44}},"166":{"start":{"line":659,"column":8},"end":{"line":664,"column":9}},"167":{"start":{"line":663,"column":12},"end":{"line":663,"column":26}},"168":{"start":{"line":666,"column":8},"end":{"line":667,"column":59}},"169":{"start":{"line":670,"column":4},"end":{"line":673,"column":8}},"170":{"start":{"line":675,"column":4},"end":{"line":678,"column":5}},"171":{"start":{"line":677,"column":8},"end":{"line":677,"column":51}},"172":{"start":{"line":680,"column":4},"end":{"line":680,"column":26}},"173":{"start":{"line":681,"column":4},"end":{"line":681,"column":29}},"174":{"start":{"line":682,"column":4},"end":{"line":682,"column":49}},"175":{"start":{"line":683,"column":4},"end":{"line":683,"column":17}},"176":{"start":{"line":685,"column":4},"end":{"line":700,"column":7}},"177":{"start":{"line":687,"column":8},"end":{"line":687,"column":40}},"178":{"start":{"line":689,"column":8},"end":{"line":692,"column":9}},"179":{"start":{"line":691,"column":12},"end":{"line":691,"column":55}},"180":{"start":{"line":694,"column":8},"end":{"line":697,"column":9}},"181":{"start":{"line":696,"column":12},"end":{"line":696,"column":51}},"182":{"start":{"line":699,"column":8},"end":{"line":699,"column":66}},"183":{"start":{"line":731,"column":0},"end":{"line":808,"column":2}},"184":{"start":{"line":733,"column":4},"end":{"line":737,"column":5}},"185":{"start":{"line":735,"column":8},"end":{"line":735,"column":21}},"186":{"start":{"line":736,"column":8},"end":{"line":736,"column":28}},"187":{"start":{"line":739,"column":4},"end":{"line":739,"column":28}},"188":{"start":{"line":741,"column":4},"end":{"line":741,"column":34}},"189":{"start":{"line":743,"column":4},"end":{"line":755,"column":5}},"190":{"start":{"line":745,"column":8},"end":{"line":754,"column":9}},"191":{"start":{"line":747,"column":12},"end":{"line":747,"column":25}},"192":{"start":{"line":748,"column":12},"end":{"line":748,"column":22}},"193":{"start":{"line":749,"column":12},"end":{"line":749,"column":35}},"194":{"start":{"line":751,"column":13},"end":{"line":754,"column":9}},"195":{"start":{"line":753,"column":12},"end":{"line":753,"column":43}},"196":{"start":{"line":757,"column":4},"end":{"line":760,"column":5}},"197":{"start":{"line":759,"column":8},"end":{"line":759,"column":36}},"198":{"start":{"line":762,"column":4},"end":{"line":762,"column":28}},"199":{"start":{"line":763,"column":4},"end":{"line":763,"column":41}},"200":{"start":{"line":764,"column":4},"end":{"line":766,"column":27}},"201":{"start":{"line":768,"column":4},"end":{"line":772,"column":5}},"202":{"start":{"line":770,"column":8},"end":{"line":770,"column":34}},"203":{"start":{"line":771,"column":8},"end":{"line":771,"column":53}},"204":{"start":{"line":774,"column":4},"end":{"line":774,"column":42}},"205":{"start":{"line":776,"column":4},"end":{"line":779,"column":8}},"206":{"start":{"line":781,"column":4},"end":{"line":784,"column":5}},"207":{"start":{"line":783,"column":8},"end":{"line":783,"column":51}},"208":{"start":{"line":786,"column":4},"end":{"line":786,"column":26}},"209":{"start":{"line":787,"column":4},"end":{"line":787,"column":29}},"210":{"start":{"line":788,"column":4},"end":{"line":788,"column":49}},"211":{"start":{"line":790,"column":4},"end":{"line":805,"column":7}},"212":{"start":{"line":792,"column":8},"end":{"line":792,"column":40}},"213":{"start":{"line":794,"column":8},"end":{"line":797,"column":9}},"214":{"start":{"line":796,"column":12},"end":{"line":796,"column":55}},"215":{"start":{"line":799,"column":8},"end":{"line":802,"column":9}},"216":{"start":{"line":801,"column":12},"end":{"line":801,"column":51}},"217":{"start":{"line":804,"column":8},"end":{"line":804,"column":66}},"218":{"start":{"line":807,"column":4},"end":{"line":807,"column":18}},"219":{"start":{"line":810,"column":0},"end":{"line":810,"column":40}}},"branchMap":{"1":{"line":221,"type":"binary-expr","locations":[{"start":{"line":221,"column":14},"end":{"line":221,"column":21}},{"start":{"line":221,"column":25},"end":{"line":221,"column":27}}]},"2":{"line":240,"type":"if","locations":[{"start":{"line":240,"column":8},"end":{"line":240,"column":8}},{"start":{"line":240,"column":8},"end":{"line":240,"column":8}}]},"3":{"line":251,"type":"if","locations":[{"start":{"line":251,"column":12},"end":{"line":251,"column":12}},{"start":{"line":251,"column":12},"end":{"line":251,"column":12}}]},"4":{"line":264,"type":"if","locations":[{"start":{"line":264,"column":8},"end":{"line":264,"column":8}},{"start":{"line":264,"column":8},"end":{"line":264,"column":8}}]},"5":{"line":322,"type":"if","locations":[{"start":{"line":322,"column":8},"end":{"line":322,"column":8}},{"start":{"line":322,"column":8},"end":{"line":322,"column":8}}]},"6":{"line":328,"type":"if","locations":[{"start":{"line":328,"column":8},"end":{"line":328,"column":8}},{"start":{"line":328,"column":8},"end":{"line":328,"column":8}}]},"7":{"line":345,"type":"if","locations":[{"start":{"line":345,"column":8},"end":{"line":345,"column":8}},{"start":{"line":345,"column":8},"end":{"line":345,"column":8}}]},"8":{"line":358,"type":"if","locations":[{"start":{"line":358,"column":8},"end":{"line":358,"column":8}},{"start":{"line":358,"column":8},"end":{"line":358,"column":8}}]},"9":{"line":362,"type":"if","locations":[{"start":{"line":362,"column":12},"end":{"line":362,"column":12}},{"start":{"line":362,"column":12},"end":{"line":362,"column":12}}]},"10":{"line":371,"type":"if","locations":[{"start":{"line":371,"column":8},"end":{"line":371,"column":8}},{"start":{"line":371,"column":8},"end":{"line":371,"column":8}}]},"11":{"line":375,"type":"if","locations":[{"start":{"line":375,"column":12},"end":{"line":375,"column":12}},{"start":{"line":375,"column":12},"end":{"line":375,"column":12}}]},"12":{"line":387,"type":"if","locations":[{"start":{"line":387,"column":8},"end":{"line":387,"column":8}},{"start":{"line":387,"column":8},"end":{"line":387,"column":8}}]},"13":{"line":394,"type":"if","locations":[{"start":{"line":394,"column":12},"end":{"line":394,"column":12}},{"start":{"line":394,"column":12},"end":{"line":394,"column":12}}]},"14":{"line":400,"type":"if","locations":[{"start":{"line":400,"column":12},"end":{"line":400,"column":12}},{"start":{"line":400,"column":12},"end":{"line":400,"column":12}}]},"15":{"line":405,"type":"if","locations":[{"start":{"line":405,"column":12},"end":{"line":405,"column":12}},{"start":{"line":405,"column":12},"end":{"line":405,"column":12}}]},"16":{"line":408,"type":"cond-expr","locations":[{"start":{"line":408,"column":39},"end":{"line":408,"column":40}},{"start":{"line":408,"column":43},"end":{"line":408,"column":44}}]},"17":{"line":417,"type":"if","locations":[{"start":{"line":417,"column":8},"end":{"line":417,"column":8}},{"start":{"line":417,"column":8},"end":{"line":417,"column":8}}]},"18":{"line":425,"type":"if","locations":[{"start":{"line":425,"column":12},"end":{"line":425,"column":12}},{"start":{"line":425,"column":12},"end":{"line":425,"column":12}}]},"19":{"line":484,"type":"if","locations":[{"start":{"line":484,"column":8},"end":{"line":484,"column":8}},{"start":{"line":484,"column":8},"end":{"line":484,"column":8}}]},"20":{"line":488,"type":"if","locations":[{"start":{"line":488,"column":12},"end":{"line":488,"column":12}},{"start":{"line":488,"column":12},"end":{"line":488,"column":12}}]},"21":{"line":498,"type":"if","locations":[{"start":{"line":498,"column":8},"end":{"line":498,"column":8}},{"start":{"line":498,"column":8},"end":{"line":498,"column":8}}]},"22":{"line":504,"type":"if","locations":[{"start":{"line":504,"column":13},"end":{"line":504,"column":13}},{"start":{"line":504,"column":13},"end":{"line":504,"column":13}}]},"23":{"line":510,"type":"if","locations":[{"start":{"line":510,"column":4},"end":{"line":510,"column":4}},{"start":{"line":510,"column":4},"end":{"line":510,"column":4}}]},"24":{"line":515,"type":"if","locations":[{"start":{"line":515,"column":4},"end":{"line":515,"column":4}},{"start":{"line":515,"column":4},"end":{"line":515,"column":4}}]},"25":{"line":540,"type":"if","locations":[{"start":{"line":540,"column":8},"end":{"line":540,"column":8}},{"start":{"line":540,"column":8},"end":{"line":540,"column":8}}]},"26":{"line":545,"type":"if","locations":[{"start":{"line":545,"column":8},"end":{"line":545,"column":8}},{"start":{"line":545,"column":8},"end":{"line":545,"column":8}}]},"27":{"line":550,"type":"cond-expr","locations":[{"start":{"line":550,"column":38},"end":{"line":550,"column":52}},{"start":{"line":550,"column":55},"end":{"line":550,"column":64}}]},"28":{"line":578,"type":"if","locations":[{"start":{"line":578,"column":4},"end":{"line":578,"column":4}},{"start":{"line":578,"column":4},"end":{"line":578,"column":4}}]},"29":{"line":589,"type":"if","locations":[{"start":{"line":589,"column":8},"end":{"line":589,"column":8}},{"start":{"line":589,"column":8},"end":{"line":589,"column":8}}]},"30":{"line":595,"type":"if","locations":[{"start":{"line":595,"column":13},"end":{"line":595,"column":13}},{"start":{"line":595,"column":13},"end":{"line":595,"column":13}}]},"31":{"line":601,"type":"if","locations":[{"start":{"line":601,"column":4},"end":{"line":601,"column":4}},{"start":{"line":601,"column":4},"end":{"line":601,"column":4}}]},"32":{"line":606,"type":"if","locations":[{"start":{"line":606,"column":4},"end":{"line":606,"column":4}},{"start":{"line":606,"column":4},"end":{"line":606,"column":4}}]},"33":{"line":610,"type":"if","locations":[{"start":{"line":610,"column":12},"end":{"line":610,"column":12}},{"start":{"line":610,"column":12},"end":{"line":610,"column":12}}]},"34":{"line":619,"type":"if","locations":[{"start":{"line":619,"column":8},"end":{"line":619,"column":8}},{"start":{"line":619,"column":8},"end":{"line":619,"column":8}}]},"35":{"line":630,"type":"if","locations":[{"start":{"line":630,"column":12},"end":{"line":630,"column":12}},{"start":{"line":630,"column":12},"end":{"line":630,"column":12}}]},"36":{"line":634,"type":"if","locations":[{"start":{"line":634,"column":16},"end":{"line":634,"column":16}},{"start":{"line":634,"column":16},"end":{"line":634,"column":16}}]},"37":{"line":636,"type":"if","locations":[{"start":{"line":636,"column":20},"end":{"line":636,"column":20}},{"start":{"line":636,"column":20},"end":{"line":636,"column":20}}]},"38":{"line":645,"type":"if","locations":[{"start":{"line":645,"column":20},"end":{"line":645,"column":20}},{"start":{"line":645,"column":20},"end":{"line":645,"column":20}}]},"39":{"line":659,"type":"if","locations":[{"start":{"line":659,"column":8},"end":{"line":659,"column":8}},{"start":{"line":659,"column":8},"end":{"line":659,"column":8}}]},"40":{"line":659,"type":"binary-expr","locations":[{"start":{"line":659,"column":12},"end":{"line":659,"column":21}},{"start":{"line":660,"column":14},"end":{"line":660,"column":35}},{"start":{"line":661,"column":15},"end":{"line":661,"column":32}},{"start":{"line":661,"column":37},"end":{"line":661,"column":59}}]},"41":{"line":689,"type":"if","locations":[{"start":{"line":689,"column":8},"end":{"line":689,"column":8}},{"start":{"line":689,"column":8},"end":{"line":689,"column":8}}]},"42":{"line":694,"type":"if","locations":[{"start":{"line":694,"column":8},"end":{"line":694,"column":8}},{"start":{"line":694,"column":8},"end":{"line":694,"column":8}}]},"43":{"line":699,"type":"cond-expr","locations":[{"start":{"line":699,"column":38},"end":{"line":699,"column":52}},{"start":{"line":699,"column":55},"end":{"line":699,"column":64}}]},"44":{"line":733,"type":"if","locations":[{"start":{"line":733,"column":4},"end":{"line":733,"column":4}},{"start":{"line":733,"column":4},"end":{"line":733,"column":4}}]},"45":{"line":739,"type":"binary-expr","locations":[{"start":{"line":739,"column":14},"end":{"line":739,"column":21}},{"start":{"line":739,"column":25},"end":{"line":739,"column":27}}]},"46":{"line":745,"type":"if","locations":[{"start":{"line":745,"column":8},"end":{"line":745,"column":8}},{"start":{"line":745,"column":8},"end":{"line":745,"column":8}}]},"47":{"line":751,"type":"if","locations":[{"start":{"line":751,"column":13},"end":{"line":751,"column":13}},{"start":{"line":751,"column":13},"end":{"line":751,"column":13}}]},"48":{"line":757,"type":"if","locations":[{"start":{"line":757,"column":4},"end":{"line":757,"column":4}},{"start":{"line":757,"column":4},"end":{"line":757,"column":4}}]},"49":{"line":764,"type":"cond-expr","locations":[{"start":{"line":764,"column":42},"end":{"line":764,"column":43}},{"start":{"line":764,"column":46},"end":{"line":764,"column":47}}]},"50":{"line":765,"type":"cond-expr","locations":[{"start":{"line":765,"column":40},"end":{"line":765,"column":41}},{"start":{"line":765,"column":44},"end":{"line":765,"column":45}}]},"51":{"line":768,"type":"if","locations":[{"start":{"line":768,"column":4},"end":{"line":768,"column":4}},{"start":{"line":768,"column":4},"end":{"line":768,"column":4}}]},"52":{"line":794,"type":"if","locations":[{"start":{"line":794,"column":8},"end":{"line":794,"column":8}},{"start":{"line":794,"column":8},"end":{"line":794,"column":8}}]},"53":{"line":799,"type":"if","locations":[{"start":{"line":799,"column":8},"end":{"line":799,"column":8}},{"start":{"line":799,"column":8},"end":{"line":799,"column":8}}]},"54":{"line":804,"type":"cond-expr","locations":[{"start":{"line":804,"column":38},"end":{"line":804,"column":52}},{"start":{"line":804,"column":55},"end":{"line":804,"column":64}}]}}},"/home/david/mqlobber/lib/server.js":{"path":"/home/david/mqlobber/lib/server.js","s":{"1":1,"2":1,"3":1902,"4":1902,"5":1902,"6":1902,"7":1902,"8":1902,"9":1902,"10":1,"11":4,"12":1,"13":23351,"14":89,"15":1902,"16":1902,"17":1,"18":548470,"19":2,"20":1902,"21":1902,"22":1902,"23":54,"24":1902,"25":2,"26":1902,"27":498768,"28":1902,"29":1902,"30":1902,"31":1902,"32":10209,"33":5113,"34":5094,"35":5094,"36":2,"37":2,"38":4,"39":2,"40":4,"41":2,"42":1902,"43":440426,"44":1,"45":440455,"46":52,"47":440455,"48":440426,"49":440426,"50":440455,"51":8,"52":2,"53":6,"54":440447,"55":440426,"56":440426,"57":440426,"58":424291,"59":440426,"60":440426,"61":440426,"62":440424,"63":440424,"64":440424,"65":440424,"66":440424,"67":440426,"68":440424,"69":440424,"70":440424,"71":440424,"72":440426,"73":1,"74":440418,"75":440416,"76":24,"77":440416,"78":440416,"79":440418,"80":440420,"81":440418,"82":2,"83":440416,"84":16135,"85":2,"86":16135,"87":16135,"88":16133,"89":16133,"90":2,"91":16131,"92":13,"93":16118,"94":16118,"95":16118,"96":440416,"97":440426,"98":440405,"99":440405,"100":2,"101":1902,"102":1902,"103":1,"104":2,"105":1902,"106":1902,"107":63440,"108":1902,"109":1900,"110":1900,"111":1900,"112":501960,"113":440422,"114":1,"115":66630,"116":61538,"117":61538,"118":61538,"119":61538,"120":1,"121":61534,"122":5108,"123":61534,"124":61534,"125":61534,"126":61534,"127":19974,"128":27946,"129":19974,"130":7972,"131":61538,"132":4,"133":61534,"134":61534,"135":3602,"136":3602,"137":3586,"138":3602,"139":270,"140":270,"141":258,"142":270,"143":266,"144":262,"145":266,"146":57394,"147":2,"148":57392,"149":57392,"150":57392,"151":9116,"152":9116,"153":2,"154":9114,"155":57390,"156":57390,"157":49410,"158":57390,"159":2,"160":2,"161":1900,"162":1,"163":1,"164":3612,"165":3602,"166":3602,"167":3612,"168":1,"169":3612,"170":3608,"171":4,"172":2,"173":3612,"174":3348,"175":3348,"176":3344,"177":3348,"178":264,"179":1,"180":2438,"181":266,"182":266,"183":2438,"184":1,"185":2438,"186":534,"187":1904,"188":2,"189":2438,"190":2170,"191":3084,"192":3084,"193":4,"194":3080,"195":3080,"196":5250,"197":3084,"198":2166,"199":2170,"200":268,"201":266,"202":266,"203":264,"204":266,"205":2,"206":1},"b":{"1":[1902,2],"2":[89,23262],"3":[2,548468],"4":[5113,5094,2],"5":[52,440403],"6":[440426,29],"7":[8,440447],"8":[440455,12],"9":[2,6],"10":[424291,16135],"11":[16135,424291],"12":[440424,2],"13":[9,440417],"14":[440424,2],"15":[440424,2],"16":[440424,2],"17":[440416,440416],"18":[440418,2],"19":[16135,424281],"20":[2,16131],"21":[13,16118],"22":[440405,21],"23":[440422,61538],"24":[5108,56426],"25":[5108,56426],"26":[10,61524],"27":[19974,7972],"28":[4,61534],"29":[3602,270,266,57394,2],"30":[3586,16],"31":[3602,3600],"32":[258,12],"33":[270,268],"34":[262,4],"35":[2,57392],"36":[9116,48276],"37":[2,9114],"38":[2,9112],"39":[49410,7980],"40":[57390,57388],"41":[3602,10],"42":[3608,4],"43":[2,2],"44":[3348,264],"45":[3612,3612],"46":[3344,4],"47":[266,2172],"48":[534,1904],"49":[2,1902],"50":[2170,268],"51":[4,3080],"52":[266,2],"53":[264,2]},"f":{"1":1902,"2":4,"3":23351,"4":548470,"5":54,"6":2,"7":498768,"8":1902,"9":10209,"10":440426,"11":440455,"12":440418,"13":24,"14":440418,"15":2,"16":16133,"17":2,"18":63440,"19":1900,"20":501960,"21":66630,"22":61534,"23":19974,"24":3612,"25":3612,"26":3348,"27":2438,"28":2438,"29":3084,"30":3084,"31":5250,"32":266},"fnMap":{"1":{"name":"MQlobberServer","line":43,"loc":{"start":{"line":43,"column":0},"end":{"line":44,"column":0}}},"2":{"name":"error","line":59,"loc":{"start":{"line":59,"column":4},"end":{"line":60,"column":4}}},"3":{"name":"warning","line":65,"loc":{"start":{"line":65,"column":4},"end":{"line":66,"column":4}}},"4":{"name":"handshake_sent","line":77,"loc":{"start":{"line":77,"column":4},"end":{"line":78,"column":4}}},"5":{"name":"(anonymous_5)","line":88,"loc":{"start":{"line":88,"column":25},"end":{"line":89,"column":4}}},"6":{"name":"(anonymous_6)","line":93,"loc":{"start":{"line":93,"column":24},"end":{"line":94,"column":4}}},"7":{"name":"(anonymous_7)","line":98,"loc":{"start":{"line":98,"column":27},"end":{"line":99,"column":4}}},"8":{"name":"(anonymous_8)","line":103,"loc":{"start":{"line":103,"column":26},"end":{"line":104,"column":4}}},"9":{"name":"(anonymous_9)","line":109,"loc":{"start":{"line":109,"column":23},"end":{"line":110,"column":4}}},"10":{"name":"(anonymous_10)","line":136,"loc":{"start":{"line":136,"column":19},"end":{"line":137,"column":4}}},"11":{"name":"cb","line":140,"loc":{"start":{"line":140,"column":8},"end":{"line":141,"column":8}}},"12":{"name":"multiplex","line":199,"loc":{"start":{"line":199,"column":8},"end":{"line":200,"column":8}}},"13":{"name":"(anonymous_13)","line":206,"loc":{"start":{"line":206,"column":31},"end":{"line":207,"column":12}}},"14":{"name":"(anonymous_14)","line":213,"loc":{"start":{"line":213,"column":34},"end":{"line":214,"column":12}}},"15":{"name":"(anonymous_15)","line":228,"loc":{"start":{"line":228,"column":26},"end":{"line":229,"column":16}}},"16":{"name":"(anonymous_16)","line":235,"loc":{"start":{"line":235,"column":39},"end":{"line":236,"column":16}}},"17":{"name":"end","line":275,"loc":{"start":{"line":275,"column":4},"end":{"line":276,"column":4}}},"18":{"name":"(anonymous_18)","line":283,"loc":{"start":{"line":283,"column":34},"end":{"line":284,"column":4}}},"19":{"name":"(anonymous_19)","line":288,"loc":{"start":{"line":288,"column":31},"end":{"line":289,"column":4}}},"20":{"name":"(anonymous_20)","line":294,"loc":{"start":{"line":294,"column":29},"end":{"line":295,"column":8}}},"21":{"name":"dend","line":302,"loc":{"start":{"line":302,"column":12},"end":{"line":303,"column":12}}},"22":{"name":"done","line":316,"loc":{"start":{"line":316,"column":12},"end":{"line":317,"column":12}}},"23":{"name":"(anonymous_23)","line":327,"loc":{"start":{"line":327,"column":38},"end":{"line":328,"column":16}}},"24":{"name":"(anonymous_24)","line":450,"loc":{"start":{"line":450,"column":37},"end":{"line":451,"column":0}}},"25":{"name":"cb2","line":460,"loc":{"start":{"line":460,"column":4},"end":{"line":461,"column":4}}},"26":{"name":"(anonymous_26)","line":474,"loc":{"start":{"line":474,"column":57},"end":{"line":475,"column":8}}},"27":{"name":"(anonymous_27)","line":500,"loc":{"start":{"line":500,"column":39},"end":{"line":501,"column":0}}},"28":{"name":"cb2","line":510,"loc":{"start":{"line":510,"column":4},"end":{"line":511,"column":4}}},"29":{"name":"(anonymous_29)","line":524,"loc":{"start":{"line":524,"column":20},"end":{"line":525,"column":8}}},"30":{"name":"(anonymous_30)","line":526,"loc":{"start":{"line":526,"column":48},"end":{"line":527,"column":12}}},"31":{"name":"(anonymous_31)","line":540,"loc":{"start":{"line":540,"column":15},"end":{"line":541,"column":8}}},"32":{"name":"(anonymous_32)","line":553,"loc":{"start":{"line":553,"column":50},"end":{"line":554,"column":8}}}},"statementMap":{"1":{"start":{"line":3,"column":0},"end":{"line":11,"column":38}},"2":{"start":{"line":43,"column":0},"end":{"line":420,"column":1}},"3":{"start":{"line":45,"column":4},"end":{"line":45,"column":28}},"4":{"start":{"line":47,"column":4},"end":{"line":47,"column":28}},"5":{"start":{"line":49,"column":4},"end":{"line":49,"column":19}},"6":{"start":{"line":50,"column":4},"end":{"line":50,"column":26}},"7":{"start":{"line":51,"column":4},"end":{"line":51,"column":23}},"8":{"start":{"line":52,"column":4},"end":{"line":55,"column":19}},"9":{"start":{"line":57,"column":4},"end":{"line":57,"column":19}},"10":{"start":{"line":59,"column":4},"end":{"line":63,"column":5}},"11":{"start":{"line":62,"column":8},"end":{"line":62,"column":37}},"12":{"start":{"line":65,"column":4},"end":{"line":72,"column":5}},"13":{"start":{"line":68,"column":8},"end":{"line":71,"column":9}},"14":{"start":{"line":70,"column":12},"end":{"line":70,"column":31}},"15":{"start":{"line":73,"column":4},"end":{"line":73,"column":28}},"16":{"start":{"line":75,"column":4},"end":{"line":75,"column":32}},"17":{"start":{"line":77,"column":4},"end":{"line":83,"column":5}},"18":{"start":{"line":79,"column":8},"end":{"line":82,"column":9}},"19":{"start":{"line":81,"column":12},"end":{"line":81,"column":32}},"20":{"start":{"line":85,"column":4},"end":{"line":85,"column":50}},"21":{"start":{"line":86,"column":4},"end":{"line":86,"column":54}},"22":{"start":{"line":88,"column":4},"end":{"line":91,"column":7}},"23":{"start":{"line":90,"column":8},"end":{"line":90,"column":26}},"24":{"start":{"line":93,"column":4},"end":{"line":96,"column":7}},"25":{"start":{"line":95,"column":8},"end":{"line":95,"column":25}},"26":{"start":{"line":98,"column":4},"end":{"line":101,"column":7}},"27":{"start":{"line":100,"column":8},"end":{"line":100,"column":36}},"28":{"start":{"line":103,"column":4},"end":{"line":107,"column":7}},"29":{"start":{"line":105,"column":8},"end":{"line":105,"column":26}},"30":{"start":{"line":106,"column":8},"end":{"line":106,"column":25}},"31":{"start":{"line":109,"column":4},"end":{"line":134,"column":6}},"32":{"start":{"line":113,"column":8},"end":{"line":133,"column":9}},"33":{"start":{"line":116,"column":16},"end":{"line":116,"column":22}},"34":{"start":{"line":119,"column":16},"end":{"line":119,"column":61}},"35":{"start":{"line":120,"column":16},"end":{"line":120,"column":22}},"36":{"start":{"line":123,"column":16},"end":{"line":123,"column":44}},"37":{"start":{"line":124,"column":16},"end":{"line":127,"column":17}},"38":{"start":{"line":126,"column":20},"end":{"line":126,"column":36}},"39":{"start":{"line":128,"column":16},"end":{"line":131,"column":17}},"40":{"start":{"line":130,"column":20},"end":{"line":130,"column":44}},"41":{"start":{"line":132,"column":16},"end":{"line":132,"column":22}},"42":{"start":{"line":136,"column":4},"end":{"line":270,"column":6}},"43":{"start":{"line":138,"column":8},"end":{"line":138,"column":27}},"44":{"start":{"line":140,"column":8},"end":{"line":160,"column":9}},"45":{"start":{"line":142,"column":12},"end":{"line":142,"column":38}},"46":{"start":{"line":142,"column":23},"end":{"line":142,"column":36}},"47":{"start":{"line":144,"column":12},"end":{"line":148,"column":13}},"48":{"start":{"line":146,"column":16},"end":{"line":146,"column":38}},"49":{"start":{"line":147,"column":16},"end":{"line":147,"column":30}},"50":{"start":{"line":150,"column":12},"end":{"line":157,"column":13}},"51":{"start":{"line":152,"column":16},"end":{"line":155,"column":17}},"52":{"start":{"line":154,"column":20},"end":{"line":154,"column":36}},"53":{"start":{"line":156,"column":16},"end":{"line":156,"column":23}},"54":{"start":{"line":159,"column":12},"end":{"line":159,"column":26}},"55":{"start":{"line":162,"column":8},"end":{"line":162,"column":34}},"56":{"start":{"line":163,"column":8},"end":{"line":163,"column":42}},"57":{"start":{"line":165,"column":8},"end":{"line":168,"column":9}},"58":{"start":{"line":167,"column":12},"end":{"line":167,"column":31}},"59":{"start":{"line":170,"column":8},"end":{"line":170,"column":41}},"60":{"start":{"line":172,"column":8},"end":{"line":176,"column":31}},"61":{"start":{"line":178,"column":8},"end":{"line":187,"column":9}},"62":{"start":{"line":180,"column":12},"end":{"line":180,"column":32}},"63":{"start":{"line":181,"column":12},"end":{"line":181,"column":58}},"64":{"start":{"line":184,"column":12},"end":{"line":184,"column":72}},"65":{"start":{"line":185,"column":12},"end":{"line":185,"column":60}},"66":{"start":{"line":186,"column":12},"end":{"line":186,"column":28}},"67":{"start":{"line":189,"column":8},"end":{"line":195,"column":9}},"68":{"start":{"line":191,"column":12},"end":{"line":191,"column":32}},"69":{"start":{"line":192,"column":12},"end":{"line":192,"column":74}},"70":{"start":{"line":193,"column":12},"end":{"line":193,"column":62}},"71":{"start":{"line":194,"column":12},"end":{"line":194,"column":28}},"72":{"start":{"line":197,"column":8},"end":{"line":197,"column":51}},"73":{"start":{"line":199,"column":8},"end":{"line":257,"column":9}},"74":{"start":{"line":201,"column":12},"end":{"line":204,"column":16}},"75":{"start":{"line":206,"column":12},"end":{"line":209,"column":15}},"76":{"start":{"line":208,"column":16},"end":{"line":208,"column":43}},"77":{"start":{"line":211,"column":12},"end":{"line":211,"column":47}},"78":{"start":{"line":213,"column":12},"end":{"line":224,"column":15}},"79":{"start":{"line":215,"column":16},"end":{"line":223,"column":17}},"80":{"start":{"line":217,"column":20},"end":{"line":220,"column":21}},"81":{"start":{"line":219,"column":24},"end":{"line":219,"column":30}},"82":{"start":{"line":222,"column":20},"end":{"line":222,"column":69}},"83":{"start":{"line":226,"column":12},"end":{"line":254,"column":13}},"84":{"start":{"line":228,"column":16},"end":{"line":231,"column":18}},"85":{"start":{"line":230,"column":20},"end":{"line":230,"column":61}},"86":{"start":{"line":233,"column":16},"end":{"line":233,"column":38}},"87":{"start":{"line":235,"column":16},"end":{"line":253,"column":19}},"88":{"start":{"line":237,"column":20},"end":{"line":237,"column":52}},"89":{"start":{"line":239,"column":20},"end":{"line":242,"column":21}},"90":{"start":{"line":241,"column":24},"end":{"line":241,"column":65}},"91":{"start":{"line":244,"column":20},"end":{"line":247,"column":21}},"92":{"start":{"line":246,"column":24},"end":{"line":246,"column":61}},"93":{"start":{"line":249,"column":20},"end":{"line":249,"column":45}},"94":{"start":{"line":250,"column":20},"end":{"line":250,"column":42}},"95":{"start":{"line":252,"column":20},"end":{"line":252,"column":25}},"96":{"start":{"line":256,"column":12},"end":{"line":256,"column":26}},"97":{"start":{"line":259,"column":8},"end":{"line":269,"column":9}},"98":{"start":{"line":261,"column":12},"end":{"line":268,"column":13}},"99":{"start":{"line":263,"column":16},"end":{"line":263,"column":39}},"100":{"start":{"line":267,"column":16},"end":{"line":267,"column":23}},"101":{"start":{"line":272,"column":4},"end":{"line":272,"column":38}},"102":{"start":{"line":273,"column":4},"end":{"line":273,"column":40}},"103":{"start":{"line":275,"column":4},"end":{"line":279,"column":5}},"104":{"start":{"line":278,"column":8},"end":{"line":278,"column":63}},"105":{"start":{"line":281,"column":4},"end":{"line":281,"column":28}},"106":{"start":{"line":283,"column":4},"end":{"line":286,"column":7}},"107":{"start":{"line":285,"column":8},"end":{"line":285,"column":36}},"108":{"start":{"line":288,"column":4},"end":{"line":419,"column":7}},"109":{"start":{"line":290,"column":8},"end":{"line":290,"column":40}},"110":{"start":{"line":292,"column":8},"end":{"line":292,"column":21}},"111":{"start":{"line":294,"column":8},"end":{"line":416,"column":11}},"112":{"start":{"line":296,"column":12},"end":{"line":300,"column":13}},"113":{"start":{"line":299,"column":16},"end":{"line":299,"column":23}},"114":{"start":{"line":302,"column":12},"end":{"line":306,"column":13}},"115":{"start":{"line":305,"column":16},"end":{"line":305,"column":27}},"116":{"start":{"line":310,"column":12},"end":{"line":310,"column":35}},"117":{"start":{"line":311,"column":12},"end":{"line":311,"column":37}},"118":{"start":{"line":312,"column":12},"end":{"line":312,"column":48}},"119":{"start":{"line":314,"column":12},"end":{"line":314,"column":36}},"120":{"start":{"line":316,"column":12},"end":{"line":339,"column":13}},"121":{"start":{"line":318,"column":16},"end":{"line":321,"column":17}},"122":{"start":{"line":320,"column":20},"end":{"line":320,"column":46}},"123":{"start":{"line":323,"column":16},"end":{"line":323,"column":42}},"124":{"start":{"line":324,"column":16},"end":{"line":324,"column":46}},"125":{"start":{"line":325,"column":16},"end":{"line":325,"column":88}},"126":{"start":{"line":327,"column":16},"end":{"line":338,"column":19}},"127":{"start":{"line":329,"column":20},"end":{"line":337,"column":21}},"128":{"start":{"line":331,"column":24},"end":{"line":334,"column":25}},"129":{"start":{"line":333,"column":28},"end":{"line":333,"column":34}},"130":{"start":{"line":336,"column":24},"end":{"line":336,"column":73}},"131":{"start":{"line":341,"column":12},"end":{"line":344,"column":13}},"132":{"start":{"line":343,"column":16},"end":{"line":343,"column":59}},"133":{"start":{"line":346,"column":12},"end":{"line":347,"column":22}},"134":{"start":{"line":349,"column":12},"end":{"line":415,"column":13}},"135":{"start":{"line":352,"column":20},"end":{"line":352,"column":54}},"136":{"start":{"line":353,"column":20},"end":{"line":357,"column":21}},"137":{"start":{"line":356,"column":24},"end":{"line":356,"column":51}},"138":{"start":{"line":358,"column":20},"end":{"line":358,"column":26}},"139":{"start":{"line":361,"column":20},"end":{"line":361,"column":54}},"140":{"start":{"line":362,"column":20},"end":{"line":366,"column":21}},"141":{"start":{"line":365,"column":24},"end":{"line":365,"column":53}},"142":{"start":{"line":367,"column":20},"end":{"line":367,"column":26}},"143":{"start":{"line":370,"column":20},"end":{"line":373,"column":21}},"144":{"start":{"line":372,"column":24},"end":{"line":372,"column":46}},"145":{"start":{"line":374,"column":20},"end":{"line":374,"column":26}},"146":{"start":{"line":377,"column":20},"end":{"line":380,"column":21}},"147":{"start":{"line":379,"column":24},"end":{"line":379,"column":67}},"148":{"start":{"line":382,"column":20},"end":{"line":384,"column":32}},"149":{"start":{"line":386,"column":20},"end":{"line":386,"column":51}},"150":{"start":{"line":388,"column":20},"end":{"line":400,"column":21}},"151":{"start":{"line":390,"column":24},"end":{"line":390,"column":33}},"152":{"start":{"line":392,"column":24},"end":{"line":395,"column":25}},"153":{"start":{"line":394,"column":28},"end":{"line":394,"column":71}},"154":{"start":{"line":397,"column":24},"end":{"line":399,"column":68}},"155":{"start":{"line":402,"column":20},"end":{"line":402,"column":56}},"156":{"start":{"line":404,"column":20},"end":{"line":408,"column":21}},"157":{"start":{"line":407,"column":24},"end":{"line":407,"column":75}},"158":{"start":{"line":410,"column":20},"end":{"line":410,"column":26}},"159":{"start":{"line":413,"column":20},"end":{"line":413,"column":61}},"160":{"start":{"line":414,"column":20},"end":{"line":414,"column":26}},"161":{"start":{"line":418,"column":8},"end":{"line":418,"column":44}},"162":{"start":{"line":422,"column":0},"end":{"line":422,"column":44}},"163":{"start":{"line":450,"column":0},"end":{"line":487,"column":2}},"164":{"start":{"line":452,"column":4},"end":{"line":456,"column":5}},"165":{"start":{"line":454,"column":8},"end":{"line":454,"column":21}},"166":{"start":{"line":455,"column":8},"end":{"line":455,"column":28}},"167":{"start":{"line":458,"column":4},"end":{"line":458,"column":19}},"168":{"start":{"line":460,"column":4},"end":{"line":470,"column":5}},"169":{"start":{"line":462,"column":8},"end":{"line":469,"column":9}},"170":{"start":{"line":464,"column":12},"end":{"line":464,"column":20}},"171":{"start":{"line":466,"column":13},"end":{"line":469,"column":9}},"172":{"start":{"line":468,"column":12},"end":{"line":468,"column":30}},"173":{"start":{"line":472,"column":4},"end":{"line":486,"column":5}},"174":{"start":{"line":474,"column":8},"end":{"line":481,"column":11}},"175":{"start":{"line":476,"column":12},"end":{"line":479,"column":13}},"176":{"start":{"line":478,"column":16},"end":{"line":478,"column":36}},"177":{"start":{"line":480,"column":12},"end":{"line":480,"column":21}},"178":{"start":{"line":485,"column":8},"end":{"line":485,"column":14}},"179":{"start":{"line":500,"column":0},"end":{"line":566,"column":2}},"180":{"start":{"line":502,"column":4},"end":{"line":506,"column":5}},"181":{"start":{"line":504,"column":8},"end":{"line":504,"column":19}},"182":{"start":{"line":505,"column":8},"end":{"line":505,"column":26}},"183":{"start":{"line":508,"column":4},"end":{"line":508,"column":19}},"184":{"start":{"line":510,"column":4},"end":{"line":520,"column":5}},"185":{"start":{"line":512,"column":8},"end":{"line":519,"column":9}},"186":{"start":{"line":514,"column":12},"end":{"line":514,"column":20}},"187":{"start":{"line":516,"column":13},"end":{"line":519,"column":9}},"188":{"start":{"line":518,"column":12},"end":{"line":518,"column":30}},"189":{"start":{"line":522,"column":4},"end":{"line":565,"column":5}},"190":{"start":{"line":524,"column":8},"end":{"line":547,"column":10}},"191":{"start":{"line":526,"column":12},"end":{"line":537,"column":15}},"192":{"start":{"line":528,"column":16},"end":{"line":536,"column":17}},"193":{"start":{"line":530,"column":20},"end":{"line":530,"column":29}},"194":{"start":{"line":534,"column":20},"end":{"line":534,"column":39}},"195":{"start":{"line":535,"column":20},"end":{"line":535,"column":43}},"196":{"start":{"line":542,"column":12},"end":{"line":545,"column":13}},"197":{"start":{"line":544,"column":16},"end":{"line":544,"column":32}},"198":{"start":{"line":546,"column":12},"end":{"line":546,"column":18}},"199":{"start":{"line":549,"column":8},"end":{"line":549,"column":15}},"200":{"start":{"line":551,"column":9},"end":{"line":565,"column":5}},"201":{"start":{"line":553,"column":8},"end":{"line":560,"column":11}},"202":{"start":{"line":555,"column":12},"end":{"line":558,"column":13}},"203":{"start":{"line":557,"column":16},"end":{"line":557,"column":39}},"204":{"start":{"line":559,"column":12},"end":{"line":559,"column":21}},"205":{"start":{"line":564,"column":8},"end":{"line":564,"column":14}},"206":{"start":{"line":568,"column":0},"end":{"line":568,"column":40}}},"branchMap":{"1":{"line":47,"type":"binary-expr","locations":[{"start":{"line":47,"column":14},"end":{"line":47,"column":21}},{"start":{"line":47,"column":25},"end":{"line":47,"column":27}}]},"2":{"line":68,"type":"if","locations":[{"start":{"line":68,"column":8},"end":{"line":68,"column":8}},{"start":{"line":68,"column":8},"end":{"line":68,"column":8}}]},"3":{"line":79,"type":"if","locations":[{"start":{"line":79,"column":8},"end":{"line":79,"column":8}},{"start":{"line":79,"column":8},"end":{"line":79,"column":8}}]},"4":{"line":113,"type":"switch","locations":[{"start":{"line":115,"column":12},"end":{"line":116,"column":22}},{"start":{"line":118,"column":12},"end":{"line":120,"column":22}},{"start":{"line":122,"column":12},"end":{"line":132,"column":22}}]},"5":{"line":142,"type":"if","locations":[{"start":{"line":142,"column":12},"end":{"line":142,"column":12}},{"start":{"line":142,"column":12},"end":{"line":142,"column":12}}]},"6":{"line":144,"type":"if","locations":[{"start":{"line":144,"column":12},"end":{"line":144,"column":12}},{"start":{"line":144,"column":12},"end":{"line":144,"column":12}}]},"7":{"line":150,"type":"if","locations":[{"start":{"line":150,"column":12},"end":{"line":150,"column":12}},{"start":{"line":150,"column":12},"end":{"line":150,"column":12}}]},"8":{"line":150,"type":"binary-expr","locations":[{"start":{"line":150,"column":16},"end":{"line":150,"column":46}},{"start":{"line":150,"column":51},"end":{"line":150,"column":71}}]},"9":{"line":152,"type":"if","locations":[{"start":{"line":152,"column":16},"end":{"line":152,"column":16}},{"start":{"line":152,"column":16},"end":{"line":152,"column":16}}]},"10":{"line":165,"type":"if","locations":[{"start":{"line":165,"column":8},"end":{"line":165,"column":8}},{"start":{"line":165,"column":8},"end":{"line":165,"column":8}}]},"11":{"line":172,"type":"cond-expr","locations":[{"start":{"line":172,"column":43},"end":{"line":172,"column":44}},{"start":{"line":172,"column":47},"end":{"line":172,"column":48}}]},"12":{"line":173,"type":"cond-expr","locations":[{"start":{"line":173,"column":53},"end":{"line":173,"column":54}},{"start":{"line":173,"column":57},"end":{"line":173,"column":58}}]},"13":{"line":174,"type":"cond-expr","locations":[{"start":{"line":174,"column":46},"end":{"line":174,"column":47}},{"start":{"line":174,"column":50},"end":{"line":174,"column":51}}]},"14":{"line":175,"type":"cond-expr","locations":[{"start":{"line":175,"column":50},"end":{"line":175,"column":51}},{"start":{"line":175,"column":54},"end":{"line":175,"column":55}}]},"15":{"line":178,"type":"if","locations":[{"start":{"line":178,"column":8},"end":{"line":178,"column":8}},{"start":{"line":178,"column":8},"end":{"line":178,"column":8}}]},"16":{"line":189,"type":"if","locations":[{"start":{"line":189,"column":8},"end":{"line":189,"column":8}},{"start":{"line":189,"column":8},"end":{"line":189,"column":8}}]},"17":{"line":211,"type":"binary-expr","locations":[{"start":{"line":211,"column":31},"end":{"line":211,"column":39}},{"start":{"line":211,"column":43},"end":{"line":211,"column":45}}]},"18":{"line":217,"type":"if","locations":[{"start":{"line":217,"column":20},"end":{"line":217,"column":20}},{"start":{"line":217,"column":20},"end":{"line":217,"column":20}}]},"19":{"line":226,"type":"if","locations":[{"start":{"line":226,"column":12},"end":{"line":226,"column":12}},{"start":{"line":226,"column":12},"end":{"line":226,"column":12}}]},"20":{"line":239,"type":"if","locations":[{"start":{"line":239,"column":20},"end":{"line":239,"column":20}},{"start":{"line":239,"column":20},"end":{"line":239,"column":20}}]},"21":{"line":244,"type":"if","locations":[{"start":{"line":244,"column":20},"end":{"line":244,"column":20}},{"start":{"line":244,"column":20},"end":{"line":244,"column":20}}]},"22":{"line":259,"type":"if","locations":[{"start":{"line":259,"column":8},"end":{"line":259,"column":8}},{"start":{"line":259,"column":8},"end":{"line":259,"column":8}}]},"23":{"line":296,"type":"if","locations":[{"start":{"line":296,"column":12},"end":{"line":296,"column":12}},{"start":{"line":296,"column":12},"end":{"line":296,"column":12}}]},"24":{"line":318,"type":"if","locations":[{"start":{"line":318,"column":16},"end":{"line":318,"column":16}},{"start":{"line":318,"column":16},"end":{"line":318,"column":16}}]},"25":{"line":324,"type":"cond-expr","locations":[{"start":{"line":324,"column":39},"end":{"line":324,"column":40}},{"start":{"line":324,"column":43},"end":{"line":324,"column":44}}]},"26":{"line":325,"type":"cond-expr","locations":[{"start":{"line":325,"column":50},"end":{"line":325,"column":78}},{"start":{"line":325,"column":81},"end":{"line":325,"column":86}}]},"27":{"line":331,"type":"if","locations":[{"start":{"line":331,"column":24},"end":{"line":331,"column":24}},{"start":{"line":331,"column":24},"end":{"line":331,"column":24}}]},"28":{"line":341,"type":"if","locations":[{"start":{"line":341,"column":12},"end":{"line":341,"column":12}},{"start":{"line":341,"column":12},"end":{"line":341,"column":12}}]},"29":{"line":349,"type":"switch","locations":[{"start":{"line":351,"column":16},"end":{"line":358,"column":26}},{"start":{"line":360,"column":16},"end":{"line":367,"column":26}},{"start":{"line":369,"column":16},"end":{"line":374,"column":26}},{"start":{"line":376,"column":16},"end":{"line":410,"column":26}},{"start":{"line":412,"column":16},"end":{"line":414,"column":26}}]},"30":{"line":353,"type":"if","locations":[{"start":{"line":353,"column":20},"end":{"line":353,"column":20}},{"start":{"line":353,"column":20},"end":{"line":353,"column":20}}]},"31":{"line":353,"type":"binary-expr","locations":[{"start":{"line":353,"column":24},"end":{"line":353,"column":73}},{"start":{"line":354,"column":24},"end":{"line":354,"column":69}}]},"32":{"line":362,"type":"if","locations":[{"start":{"line":362,"column":20},"end":{"line":362,"column":20}},{"start":{"line":362,"column":20},"end":{"line":362,"column":20}}]},"33":{"line":362,"type":"binary-expr","locations":[{"start":{"line":362,"column":24},"end":{"line":362,"column":75}},{"start":{"line":363,"column":24},"end":{"line":363,"column":71}}]},"34":{"line":370,"type":"if","locations":[{"start":{"line":370,"column":20},"end":{"line":370,"column":20}},{"start":{"line":370,"column":20},"end":{"line":370,"column":20}}]},"35":{"line":377,"type":"if","locations":[{"start":{"line":377,"column":20},"end":{"line":377,"column":20}},{"start":{"line":377,"column":20},"end":{"line":377,"column":20}}]},"36":{"line":388,"type":"if","locations":[{"start":{"line":388,"column":20},"end":{"line":388,"column":20}},{"start":{"line":388,"column":20},"end":{"line":388,"column":20}}]},"37":{"line":392,"type":"if","locations":[{"start":{"line":392,"column":24},"end":{"line":392,"column":24}},{"start":{"line":392,"column":24},"end":{"line":392,"column":24}}]},"38":{"line":398,"type":"cond-expr","locations":[{"start":{"line":398,"column":49},"end":{"line":398,"column":64}},{"start":{"line":398,"column":67},"end":{"line":398,"column":81}}]},"39":{"line":404,"type":"if","locations":[{"start":{"line":404,"column":20},"end":{"line":404,"column":20}},{"start":{"line":404,"column":20},"end":{"line":404,"column":20}}]},"40":{"line":404,"type":"binary-expr","locations":[{"start":{"line":404,"column":24},"end":{"line":404,"column":88}},{"start":{"line":405,"column":24},"end":{"line":405,"column":84}}]},"41":{"line":452,"type":"if","locations":[{"start":{"line":452,"column":4},"end":{"line":452,"column":4}},{"start":{"line":452,"column":4},"end":{"line":452,"column":4}}]},"42":{"line":462,"type":"if","locations":[{"start":{"line":462,"column":8},"end":{"line":462,"column":8}},{"start":{"line":462,"column":8},"end":{"line":462,"column":8}}]},"43":{"line":466,"type":"if","locations":[{"start":{"line":466,"column":13},"end":{"line":466,"column":13}},{"start":{"line":466,"column":13},"end":{"line":466,"column":13}}]},"44":{"line":472,"type":"if","locations":[{"start":{"line":472,"column":4},"end":{"line":472,"column":4}},{"start":{"line":472,"column":4},"end":{"line":472,"column":4}}]},"45":{"line":472,"type":"binary-expr","locations":[{"start":{"line":472,"column":8},"end":{"line":472,"column":19}},{"start":{"line":472,"column":23},"end":{"line":472,"column":44}}]},"46":{"line":476,"type":"if","locations":[{"start":{"line":476,"column":12},"end":{"line":476,"column":12}},{"start":{"line":476,"column":12},"end":{"line":476,"column":12}}]},"47":{"line":502,"type":"if","locations":[{"start":{"line":502,"column":4},"end":{"line":502,"column":4}},{"start":{"line":502,"column":4},"end":{"line":502,"column":4}}]},"48":{"line":512,"type":"if","locations":[{"start":{"line":512,"column":8},"end":{"line":512,"column":8}},{"start":{"line":512,"column":8},"end":{"line":512,"column":8}}]},"49":{"line":516,"type":"if","locations":[{"start":{"line":516,"column":13},"end":{"line":516,"column":13}},{"start":{"line":516,"column":13},"end":{"line":516,"column":13}}]},"50":{"line":522,"type":"if","locations":[{"start":{"line":522,"column":4},"end":{"line":522,"column":4}},{"start":{"line":522,"column":4},"end":{"line":522,"column":4}}]},"51":{"line":528,"type":"if","locations":[{"start":{"line":528,"column":16},"end":{"line":528,"column":16}},{"start":{"line":528,"column":16},"end":{"line":528,"column":16}}]},"52":{"line":551,"type":"if","locations":[{"start":{"line":551,"column":9},"end":{"line":551,"column":9}},{"start":{"line":551,"column":9},"end":{"line":551,"column":9}}]},"53":{"line":555,"type":"if","locations":[{"start":{"line":555,"column":12},"end":{"line":555,"column":12}},{"start":{"line":555,"column":12},"end":{"line":555,"column":12}}]}}}} \ No newline at end of file diff --git a/coverage/lcov-report/index.html b/coverage/lcov-report/index.html index 5505118..0f3774d 100644 --- a/coverage/lcov-report/index.html +++ b/coverage/lcov-report/index.html @@ -22,7 +22,7 @@

100% Statements - 413/413 + 427/427
100% @@ -32,12 +32,12 @@

100% Functions - 56/56 + 62/62
100% Lines - 412/412 + 426/426

@@ -75,13 +75,13 @@

mqlobber/lib/
100% - 411/411 + 425/425 100% 220/220 100% - 56/56 + 62/62 100% - 410/410 + 424/424 @@ -90,7 +90,7 @@

diff --git a/coverage/lcov-report/mqlobber/index.html b/coverage/lcov-report/mqlobber/index.html index a96d5cc..b39474b 100644 --- a/coverage/lcov-report/mqlobber/index.html +++ b/coverage/lcov-report/mqlobber/index.html @@ -77,7 +77,7 @@

diff --git a/coverage/lcov-report/mqlobber/index.js.html b/coverage/lcov-report/mqlobber/index.js.html index c201968..edd43d2 100644 --- a/coverage/lcov-report/mqlobber/index.js.html +++ b/coverage/lcov-report/mqlobber/index.js.html @@ -61,7 +61,7 @@

diff --git a/coverage/lcov-report/mqlobber/lib/client.js.html b/coverage/lcov-report/mqlobber/lib/client.js.html index b100422..ac2730f 100644 --- a/coverage/lcov-report/mqlobber/lib/client.js.html +++ b/coverage/lcov-report/mqlobber/lib/client.js.html @@ -22,7 +22,7 @@

100% Statements - 211/211 + 219/219
100% @@ -32,12 +32,12 @@

100% Functions - 27/27 + 30/30
100% Lines - 211/211 + 219/219

@@ -827,7 +827,33 @@

782 783 784 -785  +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        @@ -1041,70 +1067,90 @@

      +  +    -1902× +1904×   -1902× +1904×   -1902× -1902× -1902× -1902× -1902× +1904× +1904× +1904× +1904× +1904×   -1902× +1904×       -79× +61×         -6028× +12018×       -1902× +1904×   -1902× +1904×   -58328× +58352×   -58334× +58358×   -58328× +58352×           -1902× +1904×   -1902× +   -504718× +520892×         -1902× +1904× +1904× +  +1904× +  +33× +  +  +1904× +  + +    -1901× +1904×   +498760×   -1902×   -1902× +1904×   +1903×   -1902× +  +1904× +  +1904× +  +  +1904×     @@ -1112,88 +1158,88 @@

    -1902× -1902× -1902× +1904× +1904× +1904×   -1902× +1904×   -1902× +1904×     -1902× +1904×   -440407× +440427×     -1902× +1904×   -498740× +498784×   -1896× -1896× +1898× +1898×     -496844× +496886×     -56440× +56462×         -440414× +440434×         -440404× -440404× +440424× +440424×   -440404× +440424×       -440400× +440420×         -440400× -440400× +440420× +440420×   -440400× +440420×   -440396× +440416×   -440396× +440416×       -440394× +440414×       -440398× +440418×   -440396× +440416×   -440396× +440416×       -440394× +440414×       -440396× +440416×   -440396× -440396× +440416× +440416×   16133×   @@ -1221,17 +1267,17 @@

82748×     -440396× +440416×   -440396× +440416×       -440393× +440413×   -492003× -492003× +492023× +492023×   16131×   @@ -1282,49 +1328,51 @@

      -   -3612×     3614×   -3600× +   -3600× +3616×   -3328× -3328× +3602×   +3602×   -3600× -3600× +3330× +3330×     -3614× +3602× +3602× +  +  +3616×   3606× 3606× 3606×   - +10×   - +       -3612× +3614×       -3610× +3612×       -3602× +3604×       @@ -1335,26 +1383,28 @@

    -3602× -3602× -3602× -3602× +3604× +3604× +3604× +3604×   -3602× +3604×   -3598× +3600×   -3598× +3600×       -3596× +3598×       -3592× +3594× +  +        @@ -1393,13 +1443,13 @@

  1708×   -1698× -1698× -1698× +1696× +1696× +1696×   -10× +12×   - +       @@ -1412,13 +1462,13 @@

  270×   -270× +272×   266× 266×     -270× +272×     270× @@ -1531,52 +1581,54 @@

      +  +    -58282× +58304×   -23604× -23604× +23626× +23626×     -58282× +58304×   -58282× +58304×     -64270× +70274×   -50304× -50304× -50304× +50322× +50322× +50322×   -13966× +19952×   -5990× +11976×       -58282× +58304×       -58280× -58280× -58280× +58302× +58302× +58302×       -58280× +58302×   9114× 9114×     -58280× +58302×   -58280× +58302×       @@ -1586,28 +1638,28 @@

    -58280× -58280× -58280× +58300× +58300× +58300×   -58280× +58300×   -52292× +52312×   -52292× +52312×       -52290× +52310×   10×     -52280× +52300×     -58280× +58300×     @@ -1824,6 +1876,8 @@

the server. The server-side [`MQlobberServer`](#mqlobberserverfsq-stream-options) object will emit this as a [`handshake`](#mqlobberservereventshandshakehandshake_data-delay_handshake) event to its application. +  +@throws {Error} If an error occurs before initiating the multiplex with the server. */ function MQlobberClient(stream, options) { @@ -1870,12 +1924,30 @@

  this.mux.on('error', error);   - this.mux.on('handshake_sent', function (duplex, complete) + function handshake_sent(duplex, complete) { if (!complete) { ths.emit('backoff'); } + } +  + this.mux.on('handshake_sent', handshake_sent); + this.mux.on('pre_handshake_sent', handshake_sent); +  + this.mux.on('drain', function () + { + ths.emit('drain'); + }); +  + this.mux.on('full', function () + { + ths.emit('full'); + }); +  + this.mux.on('removed', function (duplex) + { + ths.emit('removed', duplex); });   this.mux.on('finish', function () @@ -2065,6 +2137,8 @@

registered with the server. This will be passed the following argument:   - `{Object} err` If an error occurred then details of the error, otherwise `null`. +  +@throws {Error} If an error occurs before sending the subscribe request to the server. */ MQlobberClient.prototype.subscribe = function (topic, handler, cb) { @@ -2100,7 +2174,7 @@

  if (this._done) { - return done(new Error('finished')); + throw new Error('finished'); }   if (this.subs.has(topic)) @@ -2161,6 +2235,8 @@

argument:   - `{Object} err` If an error occurred then details of the error, otherwise `null`. +  +@throws {Error} If an error occurs before sending the unsubscribe request to the server. */ MQlobberClient.prototype.unsubscribe = function (topic, handler, cb) { @@ -2189,7 +2265,7 @@

  if (this._done) { - return done2(new Error('finished')); + throw new Error('finished'); }   if (topic === undefined) @@ -2314,6 +2390,8 @@

- `{Object} err` If an error occurred then details of the error, otherwise `null`.   @return {Writable} Stream to which to [write](https://nodejs.org/dist/latest-v4.x/docs/api/stream.html#stream_writable_write_chunk_encoding_callback) the message's data. Make sure you [`end`](https://nodejs.org/dist/latest-v4.x/docs/api/stream.html#stream_writable_end_chunk_encoding_callback) it when you're done. +  +@throws {Error} If an error occurs before sending the publish request to the server. */ MQlobberClient.prototype.publish = function (topic, options, cb) { @@ -2343,7 +2421,7 @@

  if (this._done) { - return done(new Error('finished')); + throw new Error('finished'); }   hdata = [new Buffer(2)]; @@ -2401,7 +2479,7 @@

diff --git a/coverage/lcov-report/mqlobber/lib/index.html b/coverage/lcov-report/mqlobber/lib/index.html index 4ee5d72..c86ff75 100644 --- a/coverage/lcov-report/mqlobber/lib/index.html +++ b/coverage/lcov-report/mqlobber/lib/index.html @@ -22,7 +22,7 @@

100% Statements - 411/411 + 425/425
100% @@ -32,12 +32,12 @@

100% Functions - 56/56 + 62/62
100% Lines - 410/410 + 424/424

@@ -62,26 +62,26 @@

client.js
100% - 211/211 + 219/219 100% 110/110 100% - 27/27 + 30/30 100% - 211/211 + 219/219 server.js
100% - 200/200 + 206/206 100% 110/110 100% - 29/29 + 32/32 100% - 199/199 + 205/205 @@ -90,7 +90,7 @@

diff --git a/coverage/lcov-report/mqlobber/lib/server.js.html b/coverage/lcov-report/mqlobber/lib/server.js.html index 48c3125..6dfac17 100644 --- a/coverage/lcov-report/mqlobber/lib/server.js.html +++ b/coverage/lcov-report/mqlobber/lib/server.js.html @@ -22,7 +22,7 @@

100% Statements - 200/200 + 206/206
100% @@ -32,12 +32,12 @@

100% Functions - 29/29 + 32/32
100% Lines - 199/199 + 205/205

@@ -596,7 +596,22 @@

551 552 553 -554  +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569      @@ -640,19 +655,19 @@

    -1900× +1902×   -1900× +1902×   -1900× -1900× -1900× -1900× +1902× +1902× +1902× +1902×         -1900× +1902×     @@ -663,44 +678,59 @@

    -26115× +23351×   89×     -1900× +1902×   -1900× +1902×     -549316× +548470×         -1900× -1900× +1902× +1902×   -1900× +1902×   -1900× -1900× +54×     -1900× +1902×   +     -12029× +1902×   +498768×   -6023×   +1902×   -6004× -6004× +1902× +1902× +  +  +1902× +  +  +  +10209× +  +  +5113× +  +  +5094× +5094×     @@ -716,21 +746,21 @@

      -1900× +1902×   -440406× +440426×     -440465× +440455×   -440465× +440455×   -440406× -440406× +440426× +440426×     -440465× +440455×     @@ -739,74 +769,74 @@

    -440457× +440447×     -440406× -440406× +440426× +440426×   -440406× +440426×   -424271× +424291×     -440406× +440426×   -440406× +440426×           -440406× +440426×   -440404× -440404× +440424× +440424×     -440404× -440404× -440404× +440424× +440424× +440424×     -440406× +440426×   -440404× -440404× -440404× -440404× +440424× +440424× +440424× +440424×     -440406× +440426×     -440398× +440418×         -440396× +440416×   -54× +24×     -440396× +440416×   -440396× +440416×   -440378× +440418×   -440380× +440420×   -440378× +440418×           -440396× +440416×   16135×   @@ -836,14 +866,14 @@

      -440396× +440416×     -440406× +440426×   -440385× +440405×   -440385× +440405×       @@ -852,8 +882,8 @@

      -1900× -1900× +1902× +1902×     @@ -861,59 +891,59 @@

    -1900× +1902×   -1900× +1902×   -64328× +63440×     -1900× +1902×   -1898× +1900×   -1898× +1900×   -1898× +1900×   -502818× +501960×     -440392× +440422×         -68428× +66630×         -62426× -62426× -62426× +61538× +61538× +61538×   -62426× +61538×     -62422× +61534×   -6018× +5108×     -62422× -62422× -62422× +61534× +61534× +61534×   -62422× +61534×   -19972× +19974×   -27944× +27946×   -19972× +19974×     7972× @@ -921,24 +951,24 @@

      -62426× +61538×       -62422× +61534×     -62422× +61534×     -3600× -3600× +3602× +3602×     -3584× +3586×   -3600× +3602×     270× @@ -957,18 +987,18 @@

266×     -58284× +57394×       -58282× +57392×       -58282× +57392×   -58282× +57392×   9116×   @@ -982,15 +1012,15 @@

      -58280× +57390×   -58280× +57390×     -50300× +49410×     -58280× +57390×     @@ -998,7 +1028,7 @@

      -1898× +1900×       @@ -1032,19 +1062,19 @@

    -3610× +3612×   -3600× -3600× +3602× +3602×     -3610× +3612×     -3610× +3612×   -3606× +3608×     @@ -1052,15 +1082,15 @@

      -3610× +3612×   -3346× +3348×   -3346× +3348×   -3342× +3344×   -3346× +3348×       @@ -1082,54 +1112,54 @@

    -2436× +2438×   266× 266×     -2436× +2438×     -2436× +2438×   534×   -1902× +1904×         -2436× +2438×   -2168× +2170×   -3082× +3084×   -3082× +3084×         -3078× -3078× +3080× +3080×             -5246× +5250×   -3082× +3084×   -2164× +2166×     -2168× +2170×   268×   @@ -1235,6 +1265,21 @@

  this.mux.on('handshake_sent', handshake_sent); this.mux.on('pre_handshake_sent', handshake_sent); +  + this.mux.on('drain', function () + { + ths.emit('drain'); + }); +  + this.mux.on('full', function () + { + ths.emit('full'); + }); +  + this.mux.on('removed', function (duplex) + { + ths.emit('removed', duplex); + });   this.mux.on('finish', function () { @@ -1708,7 +1753,7 @@

diff --git a/coverage/lcov.info b/coverage/lcov.info index bff92ef..9216df2 100644 --- a/coverage/lcov.info +++ b/coverage/lcov.info @@ -11,385 +11,399 @@ BRH:0 end_of_record TN: SF:/home/david/mqlobber/lib/client.js -FN:215,MQlobberClient -FN:229,error -FN:235,warning -FN:245,(anonymous_4) -FN:260,(anonymous_5) -FN:268,(anonymous_6) -FN:273,(anonymous_7) -FN:280,end -FN:290,(anonymous_9) -FN:295,(anonymous_10) -FN:300,(anonymous_11) -FN:314,dend -FN:372,done -FN:456,(anonymous_14) -FN:460,done -FN:504,end -FN:514,(anonymous_17) -FN:552,(anonymous_18) -FN:563,done2 -FN:584,(anonymous_20) -FN:604,(anonymous_21) -FN:651,end -FN:661,(anonymous_23) -FN:705,(anonymous_24) -FN:717,done -FN:755,end -FN:764,(anonymous_27) -FNF:27 -FNH:27 -FNDA:1902,MQlobberClient -FNDA:79,error -FNDA:6028,warning -FNDA:58328,(anonymous_4) -FNDA:504718,(anonymous_5) -FNDA:1901,(anonymous_6) -FNDA:1902,(anonymous_7) +FN:217,MQlobberClient +FN:231,error +FN:237,warning +FN:247,(anonymous_4) +FN:262,handshake_sent +FN:273,(anonymous_6) +FN:278,(anonymous_7) +FN:283,(anonymous_8) +FN:288,(anonymous_9) +FN:293,(anonymous_10) +FN:300,end +FN:310,(anonymous_12) +FN:315,(anonymous_13) +FN:320,(anonymous_14) +FN:334,dend +FN:392,done +FN:478,(anonymous_17) +FN:482,done +FN:526,end +FN:536,(anonymous_20) +FN:576,(anonymous_21) +FN:587,done2 +FN:608,(anonymous_23) +FN:628,(anonymous_24) +FN:675,end +FN:685,(anonymous_26) +FN:731,(anonymous_27) +FN:743,done +FN:781,end +FN:790,(anonymous_30) +FNF:30 +FNH:30 +FNDA:1904,MQlobberClient +FNDA:61,error +FNDA:12018,warning +FNDA:58352,(anonymous_4) +FNDA:520892,handshake_sent +FNDA:33,(anonymous_6) +FNDA:2,(anonymous_7) +FNDA:498760,(anonymous_8) +FNDA:1903,(anonymous_9) +FNDA:1904,(anonymous_10) FNDA:2,end -FNDA:1902,(anonymous_9) -FNDA:440407,(anonymous_10) -FNDA:498740,(anonymous_11) -FNDA:440414,dend +FNDA:1904,(anonymous_12) +FNDA:440427,(anonymous_13) +FNDA:498784,(anonymous_14) +FNDA:440434,dend FNDA:134236,done -FNDA:3612,(anonymous_14) -FNDA:3614,done +FNDA:3614,(anonymous_17) +FNDA:3616,done FNDA:2,end -FNDA:3598,(anonymous_17) -FNDA:1706,(anonymous_18) +FNDA:3600,(anonymous_20) +FNDA:1706,(anonymous_21) FNDA:1708,done2 -FNDA:270,(anonymous_20) -FNDA:1436,(anonymous_21) +FNDA:272,(anonymous_23) +FNDA:1436,(anonymous_24) FNDA:2,end -FNDA:534,(anonymous_23) -FNDA:58282,(anonymous_24) -FNDA:64270,done +FNDA:534,(anonymous_26) +FNDA:58304,(anonymous_27) +FNDA:70274,done FNDA:2,end -FNDA:52292,(anonymous_27) +FNDA:52312,(anonymous_30) DA:181,1 -DA:215,1 -DA:217,1902 -DA:219,1902 -DA:221,1902 -DA:222,1902 -DA:223,1902 -DA:224,1902 -DA:225,1902 -DA:227,1902 -DA:229,1 -DA:232,79 -DA:235,1 -DA:238,6028 -DA:240,9 -DA:243,1902 -DA:245,1902 -DA:247,58328 -DA:249,58334 -DA:251,58328 -DA:254,6 -DA:258,1902 -DA:260,1902 -DA:262,504718 -DA:264,2 -DA:268,1902 -DA:270,1901 -DA:273,1902 -DA:275,1902 -DA:278,1902 -DA:280,1 -DA:283,2 -DA:286,1902 -DA:287,1902 -DA:288,1902 -DA:290,1902 -DA:292,1902 -DA:295,1902 -DA:297,440407 -DA:300,1902 -DA:302,498740 -DA:304,1896 -DA:305,1896 -DA:308,496844 -DA:311,56440 -DA:314,1 -DA:317,440414 -DA:322,440404 -DA:323,440404 -DA:325,440404 -DA:327,4 -DA:330,440400 -DA:335,440400 -DA:336,440400 -DA:338,440400 -DA:340,440396 -DA:342,440396 -DA:344,2 -DA:347,440394 -DA:351,440398 -DA:353,440396 -DA:355,440396 -DA:357,2 -DA:360,440394 -DA:364,440396 -DA:366,440396 -DA:367,440396 -DA:369,16133 -DA:372,1 -DA:374,134236 -DA:376,51488 -DA:378,82748 -DA:380,82748 -DA:382,14 -DA:385,82748 -DA:387,16131 -DA:388,16131 -DA:389,16131 -DA:392,82748 -DA:395,440396 -DA:397,440396 -DA:399,3 -DA:402,440393 -DA:404,492003 -DA:405,492003 +DA:217,1 +DA:219,1904 +DA:221,1904 +DA:223,1904 +DA:224,1904 +DA:225,1904 +DA:226,1904 +DA:227,1904 +DA:229,1904 +DA:231,1 +DA:234,61 +DA:237,1 +DA:240,12018 +DA:242,9 +DA:245,1904 +DA:247,1904 +DA:249,58352 +DA:251,58358 +DA:253,58352 +DA:256,6 +DA:260,1904 +DA:262,1 +DA:264,520892 +DA:266,2 +DA:270,1904 +DA:271,1904 +DA:273,1904 +DA:275,33 +DA:278,1904 +DA:280,2 +DA:283,1904 +DA:285,498760 +DA:288,1904 +DA:290,1903 +DA:293,1904 +DA:295,1904 +DA:298,1904 +DA:300,1 +DA:303,2 +DA:306,1904 +DA:307,1904 +DA:308,1904 +DA:310,1904 +DA:312,1904 +DA:315,1904 +DA:317,440427 +DA:320,1904 +DA:322,498784 +DA:324,1898 +DA:325,1898 +DA:328,496886 +DA:331,56462 +DA:334,1 +DA:337,440434 +DA:342,440424 +DA:343,440424 +DA:345,440424 +DA:347,4 +DA:350,440420 +DA:355,440420 +DA:356,440420 +DA:358,440420 +DA:360,440416 +DA:362,440416 +DA:364,2 +DA:367,440414 +DA:371,440418 +DA:373,440416 +DA:375,440416 +DA:377,2 +DA:380,440414 +DA:384,440416 +DA:386,440416 +DA:387,440416 +DA:389,16133 +DA:392,1 +DA:394,134236 +DA:396,51488 +DA:398,82748 +DA:400,82748 +DA:402,14 +DA:405,82748 DA:407,16131 -DA:413,1 -DA:456,1 -DA:458,3612 -DA:460,1 -DA:462,3614 -DA:464,3600 -DA:466,3600 -DA:468,3328 -DA:469,3328 -DA:472,3600 -DA:473,3600 -DA:476,3614 -DA:478,3606 -DA:479,3606 -DA:480,3606 -DA:482,8 -DA:484,4 -DA:488,3612 -DA:490,2 -DA:493,3610 -DA:495,8 -DA:498,3602 -DA:504,1 -DA:506,2 -DA:509,3602 -DA:510,3602 -DA:511,3602 -DA:512,3602 -DA:514,3602 -DA:516,3598 -DA:518,3598 -DA:520,2 -DA:523,3596 -DA:525,4 -DA:528,3592 -DA:552,1 -DA:554,1706 -DA:556,268 -DA:557,268 -DA:558,268 -DA:561,1706 -DA:563,1 -DA:565,1708 -DA:567,1698 -DA:568,1698 -DA:569,1698 -DA:571,10 -DA:573,6 -DA:577,1706 -DA:579,2 -DA:582,1704 -DA:584,270 -DA:586,270 -DA:588,266 -DA:589,266 -DA:592,270 -DA:595,270 -DA:597,2 -DA:600,268 -DA:604,1434 -DA:606,1436 -DA:608,1426 -DA:610,1426 -DA:612,272 -DA:614,148 -DA:618,124 -DA:621,272 -DA:623,262 -DA:627,1426 +DA:408,16131 +DA:409,16131 +DA:412,82748 +DA:415,440416 +DA:417,440416 +DA:419,3 +DA:422,440413 +DA:424,492023 +DA:425,492023 +DA:427,16131 +DA:433,1 +DA:478,1 +DA:480,3614 +DA:482,1 +DA:484,3616 +DA:486,3602 +DA:488,3602 +DA:490,3330 +DA:491,3330 +DA:494,3602 +DA:495,3602 +DA:498,3616 +DA:500,3606 +DA:501,3606 +DA:502,3606 +DA:504,10 +DA:506,6 +DA:510,3614 +DA:512,2 +DA:515,3612 +DA:517,8 +DA:520,3604 +DA:526,1 +DA:528,2 +DA:531,3604 +DA:532,3604 +DA:533,3604 +DA:534,3604 +DA:536,3604 +DA:538,3600 +DA:540,3600 +DA:542,2 +DA:545,3598 +DA:547,4 +DA:550,3594 +DA:576,1 +DA:578,1706 +DA:580,268 +DA:581,268 +DA:582,268 +DA:585,1706 +DA:587,1 +DA:589,1708 +DA:591,1696 +DA:592,1696 +DA:593,1696 +DA:595,12 +DA:597,8 +DA:601,1706 +DA:603,2 +DA:606,1704 +DA:608,270 +DA:610,272 +DA:612,266 +DA:613,266 +DA:616,272 +DA:619,270 +DA:621,2 +DA:624,268 +DA:628,1434 DA:630,1436 -DA:633,1434 -DA:635,1434 -DA:639,1164 -DA:642,270 -DA:646,538 -DA:651,1 -DA:653,2 -DA:656,538 -DA:657,538 -DA:658,538 -DA:659,538 -DA:661,538 -DA:663,534 -DA:665,534 -DA:667,2 -DA:670,532 -DA:672,6 -DA:675,526 -DA:705,1 -DA:707,58282 -DA:709,23604 -DA:710,23604 -DA:713,58282 -DA:715,58282 -DA:717,1 -DA:719,64270 -DA:721,50304 -DA:722,50304 -DA:723,50304 -DA:725,13966 -DA:727,5990 -DA:731,58282 -DA:733,2 -DA:736,58280 -DA:737,58280 -DA:738,58280 -DA:742,58280 -DA:744,9114 -DA:745,9114 -DA:748,58280 -DA:750,58280 -DA:755,1 -DA:757,2 -DA:760,58280 -DA:761,58280 -DA:762,58280 -DA:764,58280 -DA:766,52292 -DA:768,52292 -DA:770,2 -DA:773,52290 -DA:775,10 -DA:778,52280 -DA:781,58280 -DA:784,1 -LF:211 -LH:211 -BRDA:219,1,0,1902 -BRDA:219,1,1,1902 -BRDA:238,2,0,9 -BRDA:238,2,1,6019 -BRDA:249,3,0,58328 -BRDA:249,3,1,6 -BRDA:262,4,0,2 -BRDA:262,4,1,504716 -BRDA:302,5,0,1896 -BRDA:302,5,1,496844 -BRDA:308,6,0,56440 -BRDA:308,6,1,440404 -BRDA:325,7,0,4 -BRDA:325,7,1,440400 -BRDA:338,8,0,440396 -BRDA:338,8,1,4 -BRDA:342,9,0,2 -BRDA:342,9,1,440394 -BRDA:351,10,0,440396 -BRDA:351,10,1,2 -BRDA:355,11,0,2 -BRDA:355,11,1,440394 -BRDA:367,12,0,16133 -BRDA:367,12,1,424263 -BRDA:374,13,0,51488 -BRDA:374,13,1,82748 -BRDA:380,14,0,14 -BRDA:380,14,1,82734 -BRDA:385,15,0,16131 -BRDA:385,15,1,66617 -BRDA:388,16,0,13 -BRDA:388,16,1,16118 -BRDA:397,17,0,3 -BRDA:397,17,1,440393 -BRDA:405,18,0,16131 -BRDA:405,18,1,475872 -BRDA:462,19,0,3600 -BRDA:462,19,1,14 -BRDA:466,20,0,3328 -BRDA:466,20,1,272 -BRDA:476,21,0,3606 -BRDA:476,21,1,8 -BRDA:482,22,0,4 -BRDA:482,22,1,4 -BRDA:488,23,0,2 -BRDA:488,23,1,3610 -BRDA:493,24,0,8 -BRDA:493,24,1,3602 -BRDA:518,25,0,2 -BRDA:518,25,1,3596 -BRDA:523,26,0,4 -BRDA:523,26,1,3592 -BRDA:528,27,0,6 -BRDA:528,27,1,3586 -BRDA:554,28,0,268 -BRDA:554,28,1,1438 -BRDA:565,29,0,1698 -BRDA:565,29,1,10 -BRDA:571,30,0,6 -BRDA:571,30,1,4 -BRDA:577,31,0,2 -BRDA:577,31,1,1704 -BRDA:582,32,0,270 -BRDA:582,32,1,1434 -BRDA:586,33,0,266 -BRDA:586,33,1,4 -BRDA:595,34,0,2 -BRDA:595,34,1,268 -BRDA:606,35,0,1426 -BRDA:606,35,1,10 -BRDA:610,36,0,272 -BRDA:610,36,1,1154 -BRDA:612,37,0,148 -BRDA:612,37,1,124 -BRDA:621,38,0,262 -BRDA:621,38,1,10 -BRDA:635,39,0,1164 -BRDA:635,39,1,270 -BRDA:635,40,0,1434 -BRDA:635,40,1,280 -BRDA:635,40,2,126 -BRDA:635,40,3,118 -BRDA:665,41,0,2 -BRDA:665,41,1,532 -BRDA:670,42,0,6 -BRDA:670,42,1,526 -BRDA:675,43,0,2 -BRDA:675,43,1,524 -BRDA:707,44,0,23604 -BRDA:707,44,1,34678 -BRDA:713,45,0,58282 -BRDA:713,45,1,31578 -BRDA:719,46,0,50304 -BRDA:719,46,1,13966 -BRDA:725,47,0,5990 -BRDA:725,47,1,7976 -BRDA:731,48,0,2 -BRDA:731,48,1,58280 -BRDA:738,49,0,17592 -BRDA:738,49,1,40688 -BRDA:739,50,0,9114 -BRDA:739,50,1,49166 -BRDA:742,51,0,9114 -BRDA:742,51,1,49166 -BRDA:768,52,0,2 -BRDA:768,52,1,52290 -BRDA:773,53,0,10 -BRDA:773,53,1,52280 -BRDA:778,54,0,2 -BRDA:778,54,1,52278 +DA:632,1426 +DA:634,1426 +DA:636,272 +DA:638,148 +DA:642,124 +DA:645,272 +DA:647,262 +DA:651,1426 +DA:654,1436 +DA:657,1434 +DA:659,1434 +DA:663,1164 +DA:666,270 +DA:670,538 +DA:675,1 +DA:677,2 +DA:680,538 +DA:681,538 +DA:682,538 +DA:683,538 +DA:685,538 +DA:687,534 +DA:689,534 +DA:691,2 +DA:694,532 +DA:696,6 +DA:699,526 +DA:731,1 +DA:733,58304 +DA:735,23626 +DA:736,23626 +DA:739,58304 +DA:741,58304 +DA:743,1 +DA:745,70274 +DA:747,50322 +DA:748,50322 +DA:749,50322 +DA:751,19952 +DA:753,11976 +DA:757,58304 +DA:759,2 +DA:762,58302 +DA:763,58302 +DA:764,58302 +DA:768,58302 +DA:770,9114 +DA:771,9114 +DA:774,58302 +DA:776,58302 +DA:781,1 +DA:783,2 +DA:786,58300 +DA:787,58300 +DA:788,58300 +DA:790,58300 +DA:792,52312 +DA:794,52312 +DA:796,2 +DA:799,52310 +DA:801,10 +DA:804,52300 +DA:807,58300 +DA:810,1 +LF:219 +LH:219 +BRDA:221,1,0,1904 +BRDA:221,1,1,1902 +BRDA:240,2,0,9 +BRDA:240,2,1,12009 +BRDA:251,3,0,58352 +BRDA:251,3,1,6 +BRDA:264,4,0,2 +BRDA:264,4,1,520890 +BRDA:322,5,0,1898 +BRDA:322,5,1,496886 +BRDA:328,6,0,56462 +BRDA:328,6,1,440424 +BRDA:345,7,0,4 +BRDA:345,7,1,440420 +BRDA:358,8,0,440416 +BRDA:358,8,1,4 +BRDA:362,9,0,2 +BRDA:362,9,1,440414 +BRDA:371,10,0,440416 +BRDA:371,10,1,2 +BRDA:375,11,0,2 +BRDA:375,11,1,440414 +BRDA:387,12,0,16133 +BRDA:387,12,1,424283 +BRDA:394,13,0,51488 +BRDA:394,13,1,82748 +BRDA:400,14,0,14 +BRDA:400,14,1,82734 +BRDA:405,15,0,16131 +BRDA:405,15,1,66617 +BRDA:408,16,0,13 +BRDA:408,16,1,16118 +BRDA:417,17,0,3 +BRDA:417,17,1,440413 +BRDA:425,18,0,16131 +BRDA:425,18,1,475892 +BRDA:484,19,0,3602 +BRDA:484,19,1,14 +BRDA:488,20,0,3330 +BRDA:488,20,1,272 +BRDA:498,21,0,3606 +BRDA:498,21,1,10 +BRDA:504,22,0,6 +BRDA:504,22,1,4 +BRDA:510,23,0,2 +BRDA:510,23,1,3612 +BRDA:515,24,0,8 +BRDA:515,24,1,3604 +BRDA:540,25,0,2 +BRDA:540,25,1,3598 +BRDA:545,26,0,4 +BRDA:545,26,1,3594 +BRDA:550,27,0,6 +BRDA:550,27,1,3588 +BRDA:578,28,0,268 +BRDA:578,28,1,1438 +BRDA:589,29,0,1696 +BRDA:589,29,1,12 +BRDA:595,30,0,8 +BRDA:595,30,1,4 +BRDA:601,31,0,2 +BRDA:601,31,1,1704 +BRDA:606,32,0,270 +BRDA:606,32,1,1434 +BRDA:610,33,0,266 +BRDA:610,33,1,6 +BRDA:619,34,0,2 +BRDA:619,34,1,268 +BRDA:630,35,0,1426 +BRDA:630,35,1,10 +BRDA:634,36,0,272 +BRDA:634,36,1,1154 +BRDA:636,37,0,148 +BRDA:636,37,1,124 +BRDA:645,38,0,262 +BRDA:645,38,1,10 +BRDA:659,39,0,1164 +BRDA:659,39,1,270 +BRDA:659,40,0,1434 +BRDA:659,40,1,280 +BRDA:659,40,2,126 +BRDA:659,40,3,118 +BRDA:689,41,0,2 +BRDA:689,41,1,532 +BRDA:694,42,0,6 +BRDA:694,42,1,526 +BRDA:699,43,0,2 +BRDA:699,43,1,524 +BRDA:733,44,0,23626 +BRDA:733,44,1,34678 +BRDA:739,45,0,58304 +BRDA:739,45,1,31600 +BRDA:745,46,0,50322 +BRDA:745,46,1,19952 +BRDA:751,47,0,11976 +BRDA:751,47,1,7976 +BRDA:757,48,0,2 +BRDA:757,48,1,58302 +BRDA:764,49,0,17592 +BRDA:764,49,1,40710 +BRDA:765,50,0,9114 +BRDA:765,50,1,49188 +BRDA:768,51,0,9114 +BRDA:768,51,1,49188 +BRDA:794,52,0,2 +BRDA:794,52,1,52310 +BRDA:799,53,0,10 +BRDA:799,53,1,52300 +BRDA:804,54,0,2 +BRDA:804,54,1,52298 BRF:110 BRH:110 end_of_record @@ -400,372 +414,384 @@ FN:59,error FN:65,warning FN:77,handshake_sent FN:88,(anonymous_5) -FN:94,(anonymous_6) -FN:121,(anonymous_7) -FN:125,cb -FN:184,multiplex -FN:191,(anonymous_10) -FN:198,(anonymous_11) -FN:213,(anonymous_12) -FN:220,(anonymous_13) -FN:260,end -FN:268,(anonymous_15) -FN:273,(anonymous_16) -FN:279,(anonymous_17) -FN:287,dend -FN:301,done -FN:312,(anonymous_20) -FN:435,(anonymous_21) -FN:445,cb2 -FN:459,(anonymous_23) -FN:485,(anonymous_24) -FN:495,cb2 -FN:509,(anonymous_26) -FN:511,(anonymous_27) -FN:525,(anonymous_28) -FN:538,(anonymous_29) -FNF:29 -FNH:29 -FNDA:1900,MQlobberServer +FN:93,(anonymous_6) +FN:98,(anonymous_7) +FN:103,(anonymous_8) +FN:109,(anonymous_9) +FN:136,(anonymous_10) +FN:140,cb +FN:199,multiplex +FN:206,(anonymous_13) +FN:213,(anonymous_14) +FN:228,(anonymous_15) +FN:235,(anonymous_16) +FN:275,end +FN:283,(anonymous_18) +FN:288,(anonymous_19) +FN:294,(anonymous_20) +FN:302,dend +FN:316,done +FN:327,(anonymous_23) +FN:450,(anonymous_24) +FN:460,cb2 +FN:474,(anonymous_26) +FN:500,(anonymous_27) +FN:510,cb2 +FN:524,(anonymous_29) +FN:526,(anonymous_30) +FN:540,(anonymous_31) +FN:553,(anonymous_32) +FNF:32 +FNH:32 +FNDA:1902,MQlobberServer FNDA:4,error -FNDA:26115,warning -FNDA:549316,handshake_sent -FNDA:1900,(anonymous_5) -FNDA:12029,(anonymous_6) -FNDA:440406,(anonymous_7) -FNDA:440465,cb -FNDA:440398,multiplex -FNDA:54,(anonymous_10) -FNDA:440378,(anonymous_11) -FNDA:2,(anonymous_12) -FNDA:16133,(anonymous_13) +FNDA:23351,warning +FNDA:548470,handshake_sent +FNDA:54,(anonymous_5) +FNDA:2,(anonymous_6) +FNDA:498768,(anonymous_7) +FNDA:1902,(anonymous_8) +FNDA:10209,(anonymous_9) +FNDA:440426,(anonymous_10) +FNDA:440455,cb +FNDA:440418,multiplex +FNDA:24,(anonymous_13) +FNDA:440418,(anonymous_14) +FNDA:2,(anonymous_15) +FNDA:16133,(anonymous_16) FNDA:2,end -FNDA:64328,(anonymous_15) -FNDA:1898,(anonymous_16) -FNDA:502818,(anonymous_17) -FNDA:68428,dend -FNDA:62422,done -FNDA:19972,(anonymous_20) -FNDA:3610,(anonymous_21) -FNDA:3610,cb2 -FNDA:3346,(anonymous_23) -FNDA:2436,(anonymous_24) -FNDA:2436,cb2 -FNDA:3082,(anonymous_26) -FNDA:3082,(anonymous_27) -FNDA:5246,(anonymous_28) -FNDA:266,(anonymous_29) +FNDA:63440,(anonymous_18) +FNDA:1900,(anonymous_19) +FNDA:501960,(anonymous_20) +FNDA:66630,dend +FNDA:61534,done +FNDA:19974,(anonymous_23) +FNDA:3612,(anonymous_24) +FNDA:3612,cb2 +FNDA:3348,(anonymous_26) +FNDA:2438,(anonymous_27) +FNDA:2438,cb2 +FNDA:3084,(anonymous_29) +FNDA:3084,(anonymous_30) +FNDA:5250,(anonymous_31) +FNDA:266,(anonymous_32) DA:3,1 DA:43,1 -DA:45,1900 -DA:47,1900 -DA:49,1900 -DA:50,1900 -DA:51,1900 -DA:52,1900 -DA:57,1900 +DA:45,1902 +DA:47,1902 +DA:49,1902 +DA:50,1902 +DA:51,1902 +DA:52,1902 +DA:57,1902 DA:59,1 DA:62,4 DA:65,1 -DA:68,26115 +DA:68,23351 DA:70,89 -DA:73,1900 -DA:75,1900 +DA:73,1902 +DA:75,1902 DA:77,1 -DA:79,549316 +DA:79,548470 DA:81,2 -DA:85,1900 -DA:86,1900 -DA:88,1900 -DA:90,1900 -DA:91,1900 -DA:94,1900 -DA:98,12029 -DA:101,6023 -DA:104,6004 -DA:105,6004 -DA:108,2 -DA:109,2 -DA:111,4 -DA:113,2 -DA:115,4 -DA:117,2 -DA:121,1900 -DA:123,440406 -DA:125,1 -DA:127,440465 -DA:129,440465 -DA:131,440406 -DA:132,440406 -DA:135,440465 -DA:137,8 -DA:139,2 -DA:141,6 -DA:144,440457 -DA:147,440406 -DA:148,440406 -DA:150,440406 -DA:152,424271 -DA:155,440406 -DA:157,440406 -DA:163,440406 -DA:165,440404 -DA:166,440404 -DA:169,440404 -DA:170,440404 -DA:171,440404 -DA:174,440406 -DA:176,440404 -DA:177,440404 -DA:178,440404 -DA:179,440404 -DA:182,440406 -DA:184,1 -DA:186,440398 -DA:191,440396 -DA:193,54 -DA:196,440396 -DA:198,440396 -DA:200,440378 -DA:202,440380 -DA:204,440378 -DA:207,2 -DA:211,440396 -DA:213,16135 -DA:215,2 -DA:218,16135 -DA:220,16135 -DA:222,16133 -DA:224,16133 -DA:226,2 -DA:229,16131 -DA:231,13 -DA:234,16118 -DA:235,16118 -DA:237,16118 -DA:241,440396 -DA:244,440406 -DA:246,440385 -DA:248,440385 -DA:252,2 -DA:257,1900 -DA:258,1900 -DA:260,1 -DA:263,2 -DA:266,1900 -DA:268,1900 -DA:270,64328 -DA:273,1900 -DA:275,1898 -DA:277,1898 -DA:279,1898 -DA:281,502818 -DA:284,440392 -DA:287,1 -DA:290,68428 -DA:295,62426 -DA:296,62426 -DA:297,62426 -DA:299,62426 -DA:301,1 -DA:303,62422 -DA:305,6018 -DA:308,62422 -DA:309,62422 -DA:310,62422 -DA:312,62422 -DA:314,19972 -DA:316,27944 -DA:318,19972 -DA:321,7972 -DA:326,62426 -DA:328,4 -DA:331,62422 -DA:334,62422 -DA:337,3600 -DA:338,3600 -DA:341,3584 -DA:343,3600 -DA:346,270 -DA:347,270 -DA:350,258 -DA:352,270 -DA:355,266 -DA:357,262 -DA:359,266 -DA:362,58284 -DA:364,2 -DA:367,58282 -DA:371,58282 -DA:373,58282 -DA:375,9116 -DA:377,9116 +DA:85,1902 +DA:86,1902 +DA:88,1902 +DA:90,54 +DA:93,1902 +DA:95,2 +DA:98,1902 +DA:100,498768 +DA:103,1902 +DA:105,1902 +DA:106,1902 +DA:109,1902 +DA:113,10209 +DA:116,5113 +DA:119,5094 +DA:120,5094 +DA:123,2 +DA:124,2 +DA:126,4 +DA:128,2 +DA:130,4 +DA:132,2 +DA:136,1902 +DA:138,440426 +DA:140,1 +DA:142,440455 +DA:144,440455 +DA:146,440426 +DA:147,440426 +DA:150,440455 +DA:152,8 +DA:154,2 +DA:156,6 +DA:159,440447 +DA:162,440426 +DA:163,440426 +DA:165,440426 +DA:167,424291 +DA:170,440426 +DA:172,440426 +DA:178,440426 +DA:180,440424 +DA:181,440424 +DA:184,440424 +DA:185,440424 +DA:186,440424 +DA:189,440426 +DA:191,440424 +DA:192,440424 +DA:193,440424 +DA:194,440424 +DA:197,440426 +DA:199,1 +DA:201,440418 +DA:206,440416 +DA:208,24 +DA:211,440416 +DA:213,440416 +DA:215,440418 +DA:217,440420 +DA:219,440418 +DA:222,2 +DA:226,440416 +DA:228,16135 +DA:230,2 +DA:233,16135 +DA:235,16135 +DA:237,16133 +DA:239,16133 +DA:241,2 +DA:244,16131 +DA:246,13 +DA:249,16118 +DA:250,16118 +DA:252,16118 +DA:256,440416 +DA:259,440426 +DA:261,440405 +DA:263,440405 +DA:267,2 +DA:272,1902 +DA:273,1902 +DA:275,1 +DA:278,2 +DA:281,1902 +DA:283,1902 +DA:285,63440 +DA:288,1902 +DA:290,1900 +DA:292,1900 +DA:294,1900 +DA:296,501960 +DA:299,440422 +DA:302,1 +DA:305,66630 +DA:310,61538 +DA:311,61538 +DA:312,61538 +DA:314,61538 +DA:316,1 +DA:318,61534 +DA:320,5108 +DA:323,61534 +DA:324,61534 +DA:325,61534 +DA:327,61534 +DA:329,19974 +DA:331,27946 +DA:333,19974 +DA:336,7972 +DA:341,61538 +DA:343,4 +DA:346,61534 +DA:349,61534 +DA:352,3602 +DA:353,3602 +DA:356,3586 +DA:358,3602 +DA:361,270 +DA:362,270 +DA:365,258 +DA:367,270 +DA:370,266 +DA:372,262 +DA:374,266 +DA:377,57394 DA:379,2 -DA:382,9114 -DA:387,58280 -DA:389,58280 -DA:392,50300 -DA:395,58280 -DA:398,2 -DA:399,2 -DA:403,1898 -DA:407,1 -DA:435,1 -DA:437,3610 -DA:439,3600 -DA:440,3600 -DA:443,3610 -DA:445,1 -DA:447,3610 -DA:449,3606 -DA:451,4 -DA:453,2 -DA:457,3610 -DA:459,3346 -DA:461,3346 -DA:463,3342 -DA:465,3346 -DA:470,264 -DA:485,1 -DA:487,2436 -DA:489,266 -DA:490,266 -DA:493,2436 -DA:495,1 -DA:497,2436 -DA:499,534 -DA:501,1902 -DA:503,2 -DA:507,2436 -DA:509,2168 -DA:511,3082 -DA:513,3082 -DA:515,4 -DA:519,3078 -DA:520,3078 -DA:527,5246 -DA:529,3082 -DA:531,2164 -DA:534,2168 -DA:536,268 -DA:538,266 -DA:540,266 -DA:542,264 -DA:544,266 -DA:549,2 -DA:553,1 -LF:199 -LH:199 -BRDA:47,1,0,1900 +DA:382,57392 +DA:386,57392 +DA:388,57392 +DA:390,9116 +DA:392,9116 +DA:394,2 +DA:397,9114 +DA:402,57390 +DA:404,57390 +DA:407,49410 +DA:410,57390 +DA:413,2 +DA:414,2 +DA:418,1900 +DA:422,1 +DA:450,1 +DA:452,3612 +DA:454,3602 +DA:455,3602 +DA:458,3612 +DA:460,1 +DA:462,3612 +DA:464,3608 +DA:466,4 +DA:468,2 +DA:472,3612 +DA:474,3348 +DA:476,3348 +DA:478,3344 +DA:480,3348 +DA:485,264 +DA:500,1 +DA:502,2438 +DA:504,266 +DA:505,266 +DA:508,2438 +DA:510,1 +DA:512,2438 +DA:514,534 +DA:516,1904 +DA:518,2 +DA:522,2438 +DA:524,2170 +DA:526,3084 +DA:528,3084 +DA:530,4 +DA:534,3080 +DA:535,3080 +DA:542,5250 +DA:544,3084 +DA:546,2166 +DA:549,2170 +DA:551,268 +DA:553,266 +DA:555,266 +DA:557,264 +DA:559,266 +DA:564,2 +DA:568,1 +LF:205 +LH:205 +BRDA:47,1,0,1902 BRDA:47,1,1,2 BRDA:68,2,0,89 -BRDA:68,2,1,26026 +BRDA:68,2,1,23262 BRDA:79,3,0,2 -BRDA:79,3,1,549314 -BRDA:98,4,0,6023 -BRDA:98,4,1,6004 -BRDA:98,4,2,2 -BRDA:127,5,0,82 -BRDA:127,5,1,440383 -BRDA:129,6,0,440406 -BRDA:129,6,1,59 -BRDA:135,7,0,8 -BRDA:135,7,1,440457 -BRDA:135,8,0,440465 -BRDA:135,8,1,12 -BRDA:137,9,0,2 -BRDA:137,9,1,6 -BRDA:150,10,0,424271 -BRDA:150,10,1,16135 -BRDA:157,11,0,16135 -BRDA:157,11,1,424271 -BRDA:158,12,0,440404 -BRDA:158,12,1,2 -BRDA:159,13,0,9 -BRDA:159,13,1,440397 -BRDA:160,14,0,440404 -BRDA:160,14,1,2 -BRDA:163,15,0,440404 -BRDA:163,15,1,2 -BRDA:174,16,0,440404 -BRDA:174,16,1,2 -BRDA:196,17,0,440396 -BRDA:196,17,1,440396 -BRDA:202,18,0,440378 -BRDA:202,18,1,2 -BRDA:211,19,0,16135 -BRDA:211,19,1,424261 -BRDA:224,20,0,2 -BRDA:224,20,1,16131 -BRDA:229,21,0,13 -BRDA:229,21,1,16118 -BRDA:244,22,0,440385 -BRDA:244,22,1,21 -BRDA:281,23,0,440392 -BRDA:281,23,1,62426 -BRDA:303,24,0,6018 -BRDA:303,24,1,56404 -BRDA:309,25,0,6018 -BRDA:309,25,1,56404 -BRDA:310,26,0,10 -BRDA:310,26,1,62412 -BRDA:316,27,0,19972 -BRDA:316,27,1,7972 -BRDA:326,28,0,4 -BRDA:326,28,1,62422 -BRDA:334,29,0,3600 -BRDA:334,29,1,270 -BRDA:334,29,2,266 -BRDA:334,29,3,58284 -BRDA:334,29,4,2 -BRDA:338,30,0,3584 -BRDA:338,30,1,16 -BRDA:338,31,0,3600 -BRDA:338,31,1,3598 -BRDA:347,32,0,258 -BRDA:347,32,1,12 -BRDA:347,33,0,270 -BRDA:347,33,1,268 -BRDA:355,34,0,262 -BRDA:355,34,1,4 -BRDA:362,35,0,2 -BRDA:362,35,1,58282 -BRDA:373,36,0,9116 -BRDA:373,36,1,49166 -BRDA:377,37,0,2 -BRDA:377,37,1,9114 -BRDA:383,38,0,2 -BRDA:383,38,1,9112 -BRDA:389,39,0,50300 -BRDA:389,39,1,7980 -BRDA:389,40,0,58280 -BRDA:389,40,1,58278 -BRDA:437,41,0,3600 -BRDA:437,41,1,10 -BRDA:447,42,0,3606 -BRDA:447,42,1,4 -BRDA:451,43,0,2 -BRDA:451,43,1,2 -BRDA:457,44,0,3346 -BRDA:457,44,1,264 -BRDA:457,45,0,3610 -BRDA:457,45,1,3610 -BRDA:461,46,0,3342 -BRDA:461,46,1,4 -BRDA:487,47,0,266 -BRDA:487,47,1,2170 -BRDA:497,48,0,534 -BRDA:497,48,1,1902 -BRDA:501,49,0,2 -BRDA:501,49,1,1900 -BRDA:507,50,0,2168 -BRDA:507,50,1,268 -BRDA:513,51,0,4 -BRDA:513,51,1,3078 -BRDA:536,52,0,266 -BRDA:536,52,1,2 -BRDA:540,53,0,264 -BRDA:540,53,1,2 +BRDA:79,3,1,548468 +BRDA:113,4,0,5113 +BRDA:113,4,1,5094 +BRDA:113,4,2,2 +BRDA:142,5,0,52 +BRDA:142,5,1,440403 +BRDA:144,6,0,440426 +BRDA:144,6,1,29 +BRDA:150,7,0,8 +BRDA:150,7,1,440447 +BRDA:150,8,0,440455 +BRDA:150,8,1,12 +BRDA:152,9,0,2 +BRDA:152,9,1,6 +BRDA:165,10,0,424291 +BRDA:165,10,1,16135 +BRDA:172,11,0,16135 +BRDA:172,11,1,424291 +BRDA:173,12,0,440424 +BRDA:173,12,1,2 +BRDA:174,13,0,9 +BRDA:174,13,1,440417 +BRDA:175,14,0,440424 +BRDA:175,14,1,2 +BRDA:178,15,0,440424 +BRDA:178,15,1,2 +BRDA:189,16,0,440424 +BRDA:189,16,1,2 +BRDA:211,17,0,440416 +BRDA:211,17,1,440416 +BRDA:217,18,0,440418 +BRDA:217,18,1,2 +BRDA:226,19,0,16135 +BRDA:226,19,1,424281 +BRDA:239,20,0,2 +BRDA:239,20,1,16131 +BRDA:244,21,0,13 +BRDA:244,21,1,16118 +BRDA:259,22,0,440405 +BRDA:259,22,1,21 +BRDA:296,23,0,440422 +BRDA:296,23,1,61538 +BRDA:318,24,0,5108 +BRDA:318,24,1,56426 +BRDA:324,25,0,5108 +BRDA:324,25,1,56426 +BRDA:325,26,0,10 +BRDA:325,26,1,61524 +BRDA:331,27,0,19974 +BRDA:331,27,1,7972 +BRDA:341,28,0,4 +BRDA:341,28,1,61534 +BRDA:349,29,0,3602 +BRDA:349,29,1,270 +BRDA:349,29,2,266 +BRDA:349,29,3,57394 +BRDA:349,29,4,2 +BRDA:353,30,0,3586 +BRDA:353,30,1,16 +BRDA:353,31,0,3602 +BRDA:353,31,1,3600 +BRDA:362,32,0,258 +BRDA:362,32,1,12 +BRDA:362,33,0,270 +BRDA:362,33,1,268 +BRDA:370,34,0,262 +BRDA:370,34,1,4 +BRDA:377,35,0,2 +BRDA:377,35,1,57392 +BRDA:388,36,0,9116 +BRDA:388,36,1,48276 +BRDA:392,37,0,2 +BRDA:392,37,1,9114 +BRDA:398,38,0,2 +BRDA:398,38,1,9112 +BRDA:404,39,0,49410 +BRDA:404,39,1,7980 +BRDA:404,40,0,57390 +BRDA:404,40,1,57388 +BRDA:452,41,0,3602 +BRDA:452,41,1,10 +BRDA:462,42,0,3608 +BRDA:462,42,1,4 +BRDA:466,43,0,2 +BRDA:466,43,1,2 +BRDA:472,44,0,3348 +BRDA:472,44,1,264 +BRDA:472,45,0,3612 +BRDA:472,45,1,3612 +BRDA:476,46,0,3344 +BRDA:476,46,1,4 +BRDA:502,47,0,266 +BRDA:502,47,1,2172 +BRDA:512,48,0,534 +BRDA:512,48,1,1904 +BRDA:516,49,0,2 +BRDA:516,49,1,1902 +BRDA:522,50,0,2170 +BRDA:522,50,1,268 +BRDA:528,51,0,4 +BRDA:528,51,1,3080 +BRDA:551,52,0,266 +BRDA:551,52,1,2 +BRDA:555,53,0,264 +BRDA:555,53,1,2 BRF:110 BRH:110 end_of_record diff --git a/lib/client.js b/lib/client.js index a43f374..dc9ce02 100644 --- a/lib/client.js +++ b/lib/client.js @@ -211,6 +211,8 @@ server). It also supports the following additional property: the server. The server-side [`MQlobberServer`](#mqlobberserverfsq-stream-options) object will emit this as a [`handshake`](#mqlobberservereventshandshakehandshake_data-delay_handshake) event to its application. + +@throws {Error} If an error occurs before initiating the multiplex with the server. */ function MQlobberClient(stream, options) { @@ -257,12 +259,30 @@ function MQlobberClient(stream, options) this.mux.on('error', error); - this.mux.on('handshake_sent', function (duplex, complete) + function handshake_sent(duplex, complete) { if (!complete) { ths.emit('backoff'); } + } + + this.mux.on('handshake_sent', handshake_sent); + this.mux.on('pre_handshake_sent', handshake_sent); + + this.mux.on('drain', function () + { + ths.emit('drain'); + }); + + this.mux.on('full', function () + { + ths.emit('full'); + }); + + this.mux.on('removed', function (duplex) + { + ths.emit('removed', duplex); }); this.mux.on('finish', function () @@ -452,6 +472,8 @@ the following arguments: registered with the server. This will be passed the following argument: - `{Object} err` If an error occurred then details of the error, otherwise `null`. + +@throws {Error} If an error occurs before sending the subscribe request to the server. */ MQlobberClient.prototype.subscribe = function (topic, handler, cb) { @@ -487,7 +509,7 @@ MQlobberClient.prototype.subscribe = function (topic, handler, cb) if (this._done) { - return done(new Error('finished')); + throw new Error('finished'); } if (this.subs.has(topic)) @@ -548,6 +570,8 @@ unsubscribed from `topic` on the server. This will be passed the following argument: - `{Object} err` If an error occurred then details of the error, otherwise `null`. + +@throws {Error} If an error occurs before sending the unsubscribe request to the server. */ MQlobberClient.prototype.unsubscribe = function (topic, handler, cb) { @@ -576,7 +600,7 @@ MQlobberClient.prototype.unsubscribe = function (topic, handler, cb) if (this._done) { - return done2(new Error('finished')); + throw new Error('finished'); } if (topic === undefined) @@ -701,6 +725,8 @@ the message. This will be passed the following argument: - `{Object} err` If an error occurred then details of the error, otherwise `null`. @return {Writable} Stream to which to [write](https://nodejs.org/dist/latest-v4.x/docs/api/stream.html#stream_writable_write_chunk_encoding_callback) the message's data. Make sure you [`end`](https://nodejs.org/dist/latest-v4.x/docs/api/stream.html#stream_writable_end_chunk_encoding_callback) it when you're done. + +@throws {Error} If an error occurs before sending the publish request to the server. */ MQlobberClient.prototype.publish = function (topic, options, cb) { @@ -730,7 +756,7 @@ MQlobberClient.prototype.publish = function (topic, options, cb) if (this._done) { - return done(new Error('finished')); + throw new Error('finished'); } hdata = [new Buffer(2)]; diff --git a/lib/client_events_doc.js b/lib/client_events_doc.js index 01c9d5b..604526e 100644 --- a/lib/client_events_doc.js +++ b/lib/client_events_doc.js @@ -16,11 +16,33 @@ Emitted by a `MQlobberClient` object when it delays a request to the server because the connection is at full capacity. If you want to avoid buffering further requests, don't call [`subscribe`](#mqlobberclientprototypesubscribetopic-handler-cb), [`unsubscribe`](#mqlobberclientprototypeunsubscribetopic-handler-cb) or -[`publish`](http://localhost:6419/#mqlobberclientprototypepublishtopic-options-cb) until the connection `Duplex` emits a -[`drain`](https://nodejs.org/dist/latest-v4.x/docs/api/stream.html#stream_event_drain) event. +[`publish`](http://localhost:6419/#mqlobberclientprototypepublishtopic-options-cb) until a [`drain`](#mqlobberclienteventsdrain) event is emitted. */ MQlobberClient.events.backoff = function () {}; +/** +`drain` event + +Emitted by a `MQlobberClient` object when the multiplexing layer emits a [`drain`](https://github.com/davedoesdev/bpmux#bpmuxeventsdrain) event. +*/ +MQlobberClient.events.drain = function () {}; + +/** +`full` event + +Emitted by a `MQlobberClient` object when the multiplexing layer emits a [`full`](https://github.com/davedoesdev/bpmux#bpmuxeventsfull) event. +*/ +MQlobberClient.events.full = function () {}; + +/** +`removed` event + +Emitted by a `MQlobberClient` object when the multiplexing layer emits a [`removed`](https://github.com/davedoesdev/bpmux#bpmuxeventsremovedduplex) event. + +@param {Duplex} duplex The multiplexed stream which has closed. +*/ +MQlobberClient.events.removed = function (duplex) {}; + /** `error` event diff --git a/lib/server.js b/lib/server.js index 5644b7c..2fbb81e 100644 --- a/lib/server.js +++ b/lib/server.js @@ -85,6 +85,21 @@ function MQlobberServer(fsq, stream, options) this.mux.on('handshake_sent', handshake_sent); this.mux.on('pre_handshake_sent', handshake_sent); + this.mux.on('drain', function () + { + ths.emit('drain'); + }); + + this.mux.on('full', function () + { + ths.emit('full'); + }); + + this.mux.on('removed', function (duplex) + { + ths.emit('removed', duplex); + }); + this.mux.on('finish', function () { ths.unsubscribe(); diff --git a/lib/server_events_doc.js b/lib/server_events_doc.js index 880fb19..6af4cde 100644 --- a/lib/server_events_doc.js +++ b/lib/server_events_doc.js @@ -175,19 +175,39 @@ Emitted by a `MQlobberServer` object when it delays a message to the client because the connection is at full capacity. If you want to avoid buffering further messages, use a `filter` function (see -`QlobberFSQ`'s [constructor](https://github.com/davedoesdev/qlobber-fsq#qlobberfsqoptions)) to prevent messages being sent until the connection `Duplex` emits a -[`drain`](https://nodejs.org/dist/latest-v4.x/docs/api/stream.html#stream_event_drain) event. In the `filter` function, a handler owned by a `MQlobberServer` -object will have a property named `mqlobber_server` set to the `MQlobberServer` -object. +`QlobberFSQ`'s [constructor](https://github.com/davedoesdev/qlobber-fsq#qlobberfsqoptions)) to prevent messages being sent until a [`drain`](#mqlobberservereventsdrain) event is emitted. In the `filter` function, a handler owned by a `MQlobberServer` object will have a property named `mqlobber_server` set to the `MQlobberServer` object. You can also use event listeners on [`subscribe_requested`](#mqlobberservereventssubscribe_requestedtopic-cb), [`unsubscribe_requested`](#mqlobberservereventsunsubscribe_requestedtopic-cb), [`unsubscribe_all_requested`](#mqlobberservereventsunsubscribe_all_requestedcb) and [`publish_requested`](#mqlobberservereventspublish_requestedtopic-stream-options-cb) to prevent responses being -sent to the client until the connection emits a `drain` event. +sent to the client a `drain` event is emitted. Depending on your application, you might also terminate the connection if it can't keep up. */ MQlobberServer.events.backoff = function () {}; +/** +`drain` event + +Emitted by a `MQlobberServer` object when the multiplexing layer emits a [`drain`](https://github.com/davedoesdev/bpmux#bpmuxeventsdrain) event. +*/ +MQlobberServer.events.drain = function () {}; + +/** +`full` event + +Emitted by a `MQlobberServer` object when the multiplexing layer emits a [`full`](https://github.com/davedoesdev/bpmux#bpmuxeventsfull) event. +*/ +MQlobberServer.events.full = function () {}; + +/** +`removed` event + +Emitted by a `MQlobberServer` object when the multiplexing layer emits a [`removed`](https://github.com/davedoesdev/bpmux#bpmuxeventsremovedduplex) event. + +@param {Duplex} duplex The multiplexed stream which has closed. +*/ +MQlobberServer.events.removed = function (duplex) {}; + /** `ack` event diff --git a/package.json b/package.json index 3cf731a..6624e60 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mqlobber", "description": "Streaming message queue with pub-sub, work queues, wildcards and back-pressure. Just Node and a filesystem required.", - "version": "3.5.1", + "version": "4.0.0", "homepage": "https://github.com/davedoesdev/mqlobber", "author": { "name": "David Halls", @@ -34,7 +34,7 @@ "back-pressure" ], "dependencies": { - "bpmux": "~3.3.0", + "bpmux": "~3.4.0", "qlobber": "~0.7.0", "object.assign": "~4.0.4" }, diff --git a/test/runner.js b/test/runner.js index c393981..cb800ff 100644 --- a/test/runner.js +++ b/test/runner.js @@ -90,7 +90,9 @@ describe(type, function () { connect_and_accept(function (cs, ss) { - var cmq = new MQlobberClient(cs), + var cmq = new MQlobberClient(cs, + options ? options.mqclient_options : + options), smq = new MQlobberServer(fsq, ss, options === null ? options : util._extend( @@ -769,22 +771,34 @@ describe(type, function () { end(function () { - mqs[0].client.subscribe('foo', function () + expect(function () { - cb(new Error('should not be called')); - }, function (err) + mqs[0].client.subscribe('foo', function () + { + cb(new Error('should not be called')); + }, function () + { + cb(new Error('should not be called')); + }); + }).to.throw('finished'); + + expect(function () { - expect(err.message).to.equal('finished'); - mqs[0].client.unsubscribe(function (err) + mqs[0].client.unsubscribe(function () { - expect(err.message).to.equal('finished'); - mqs[0].client.publish('foo', function (err) - { - expect(err.message).to.equal('finished'); - cb(); - }).end('bar'); + cb(new Error('should not be called')); }); - }); + }).to.throw('finished'); + + expect(function () + { + mqs[0].client.publish('foo', function () + { + cb(new Error('should not be called')); + }); + }).to.throw('finished'); + + cb(); }); }); @@ -993,8 +1007,39 @@ describe(type, function () }); }); - with_mqs(1, 'should emit warning if max number of multiplexed streams', function (mqs, cb) + with_mqs(1, 'server should emit warning if max number of multiplexed streams', function (mqs, cb) { + var full = false, + streams = [], + read = 0, + removed = 0; + + function check3() + { + if ((read === 10) && (removed === 11)) // 1 for subscribe + { + cb(); + } + } + + function check2(v) + { + expect(v.toString()).to.equal('bar'); + read += 1; + check3(); + } + + function check() + { + if (full && (streams.length === 10)) + { + for (var s of streams) + { + read_all(s, check2); + } + } + } + mqs[0].client.on('error', function (err) { expect(err.message).to.be.oneOf( @@ -1006,6 +1051,7 @@ describe(type, function () mqs[0].server.once('warning', function (err) { + expect(full).to.equal(true); expect(err.message).to.equal('full'); mqs[0].server.once('warning', function (err) @@ -1019,13 +1065,27 @@ describe(type, function () 'carrier stream finished before duplex finished' ]); }); + + check(); }); + }); - cb(); + mqs[0].server.on('full', function () + { + full = true; }); - mqs[0].client.subscribe('foo', function () + mqs[0].server.on('removed', function (duplex) { + removed += 1; + check3(); + }); + + mqs[0].client.subscribe('foo', function (s, info) + { + expect(info.topic).to.equal('foo'); + streams.push(s); + check(); }, function (err) { if (err) { return cb(err); } @@ -1036,7 +1096,86 @@ describe(type, function () }); }, it, { max_open: 10 }); - with_mqs(1, 'should emit full event when client handshakes are backed up', function (mqs, cb, end) + with_mqs(1, 'client should emit warning if max number of multiplexed streams', function (mqs, cb) + { + var full = 0, + published = 0, + messages = 0, + removed = 0; + + function check() + { + expect(full).to.equal(1); + + if ((published === 10) && + (messages === 10) && + (removed === 21)) // 1 for subscribe request, + // 10 for publish requests, + // 10 for messages + { + cb(); + } + } + + function onpub(err) + { + if (err) { return cb(err); } + published += 1; + check(); + } + + mqs[0].client.on('full', function () + { + full += 1; + }); + + mqs[0].client.on('removed', function () + { + removed += 1; + }); + + mqs[0].client.subscribe('foo', function (s, info) + { + expect(info.topic).to.equal('foo'); + read_all(s, function (v) + { + expect(v.toString()).to.equal('bar'); + messages += 1; + check(); + }); + }, function (err) + { + if (err) { return cb(err); } + setTimeout(function () + { + var streams = [], s; + + for (var i = 0; i < 10; i += 1) + { + s = mqs[0].client.publish('foo', onpub); + streams.push(s); + s.write('bar'); + } + + expect(function () + { + mqs[0].client.publish('foo', function () + { + cb(new Error('should not be called')); + }); + }).to.throw('full'); + + expect(full).to.equal(1); + + for (s of streams) + { + s.end(); + } + }, 500); + }); + }, it, { mqclient_options: { max_open: 10 } }); + + with_mqs(1, 'should emit backoff event when client handshakes are backed up', function (mqs, cb, end) { var orig_write = mqs[0].client_stream._write, the_chunk, @@ -1045,10 +1184,11 @@ describe(type, function () count_complete = 0, count_incomplete = 0, count_pub_error = 0, + count_pub_stream_error = 0, count_sub_error = 0, count_unsub_error = 0, ended = false, - full_called = false; + backoff_called = false; /* var orig_error = console.error; console.error = function () @@ -1063,7 +1203,15 @@ describe(type, function () */ mqs[0].client.on('warning', function (err) { - expect(err.message).to.equal('carrier stream ended before end message received'); + expect(err.message).to.be.oneOf([ + 'carrier stream finished before duplex finished', + 'carrier stream ended before end message received' + ]); + }); + + mqs[0].client.on('error', function (err) + { + expect(err.message).to.equal('write after end'); }); mqs[0].server.on('warning', function (err) @@ -1084,12 +1232,14 @@ describe(type, function () { if (ended && count_pub_error === 2993 && + count_pub_stream_error === 2993 && count_sub_error === 1 && count_unsub_error === 1) { cb(); } else if (count_pub_error > 2993 || + count_pub_stream_error > 2993 || count_sub_error > 1 || count_unsub_error > 1) { @@ -1110,7 +1260,16 @@ describe(type, function () { expect(count_complete).to.equal(2992); expect(count_incomplete).to.equal(0); // only counted below - full_called = true; + backoff_called = true; + }); + + mqs[0].client.on('drain', function () + { + end(function () + { + ended = true; + check_end(); + }); }); function sent(complete) @@ -1127,17 +1286,17 @@ describe(type, function () { expect(count_complete).to.equal(2992); expect(count_incomplete).to.equal(1); - expect(full_called).to.equal(true); + expect(backoff_called).to.equal(true); mqs[0].client.subscribe('foo', function () {}, function (err) { - expect(err.message).to.equal('carrier stream ended before end message received'); + expect(err.message).to.equal('write after end'); count_sub_error += 1; check_end(); }); mqs[0].client.subs.set('foo', new Set([function () {}])); mqs[0].client.unsubscribe(function (err) { - expect(err.message).to.equal('carrier stream ended before end message received'); + expect(err.message).to.equal('write after end'); count_unsub_error += 1; check_end(); }); @@ -1146,11 +1305,6 @@ describe(type, function () if (err) { return cb(err); } mqs[0].client_stream._write = orig_write; mqs[0].client_stream._write(the_chunk, the_encoding, the_callback); - end(function () - { - ended = true; - check_end(); - }); }); } else if ((count_complete + count_incomplete) > 2993) @@ -1161,15 +1315,32 @@ describe(type, function () function onpub(err) { - expect(err.message).to.equal('carrier stream finished before duplex finished'); + expect(err.message).to.equal('write after end'); count_pub_error += 1; check_end(); } + function onerror(err) + { + if (err.message === 'write after end') + { + count_pub_stream_error += 1; + check_end(); + } + else + { + expect(err.message).to.be.oneOf([ + 'carrier stream finished before duplex finished', + 'carrier stream ended before end message received' + ]); + } + } + for (var i=0; i < 2993; i += 1) { var duplex = mqs[0].client.publish('foo', onpub); duplex.on('handshake_sent', sent); + duplex.on('error', onerror); duplex.end('bar'); } }); @@ -1443,7 +1614,7 @@ describe(type, function () }); }, it, { sinon: true }); - with_mqs(1, 'should emit full event when server handshakes are backed up', function (mqs, cb) + with_mqs(1, 'should emit backoff event when server handshakes are backed up', function (mqs, cb) { var orig_write = mqs[0].server_stream._write, the_chunk, @@ -1451,7 +1622,7 @@ describe(type, function () the_callback, count_complete = 0, count_incomplete = 0, - full_called = false; + backoff_called = false; mqs[0].server.on('warning', function (err) { @@ -1471,9 +1642,11 @@ describe(type, function () { expect(count_complete).to.equal(3980); expect(count_incomplete).to.equal(0); // only counted below - full_called = true; + backoff_called = true; }); + mqs[0].server.on('drain', cb); + function sent(complete) { if (complete) @@ -1488,10 +1661,9 @@ describe(type, function () { expect(count_complete).to.equal(3980); expect(count_incomplete).to.equal(1); - expect(full_called).to.equal(true); + expect(backoff_called).to.equal(true); mqs[0].server_stream._write = orig_write; mqs[0].server_stream._write(the_chunk, the_encoding, the_callback); - cb(); } }